/* ============================================================
   IMS - Diagnóstico Empresarial Sistólica
   Página premium · sem preços · linguagem institucional
   Reaproveita tokens de home.css
   ============================================================ */

/* Tokens locais - paleta da marca */
.page-ims{
  --ims-deep:     #02131D;   /* azul escuro institucional */
  --ims-deep-2:   #04253a;
  --ims-royal:    #0b3b6c;   /* azul royal */
  --ims-royal-2:  #0d4783;
  --ims-navy:     #08355c;
  --ims-gold:     #cda55e;   /* dourado queimado */
  --ims-gold-strong: #b88c3e;
  --ims-gold-light: #e0bb73;
  --ims-cream:    #faf6ec;
  --ims-line-light: rgba(8, 53, 92, 0.10);
  --ims-line-deep: rgba(205, 165, 94, 0.22);
  --ims-line-deep-strong: rgba(205, 165, 94, 0.45);
  --ims-ink-1:    #0e1b25;
  --ims-ink-2:    #2c2620;
  --ims-ink-3:    #4a4640;
  --ims-ink-soft: rgba(255,255,255,.78);
  --ims-radius:   2px;
  background: #fff;
}

/* ---------- Reveal-on-scroll ---------- */
.page-ims [data-ims-reveal]{
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.95s cubic-bezier(.2,.7,.2,1), transform 0.95s cubic-bezier(.2,.7,.2,1);
  transition-delay: var(--reveal-delay, 0ms);
  will-change: opacity, transform;
}
.page-ims [data-ims-reveal].is-revealed{
  opacity: 1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce){
  .page-ims [data-ims-reveal]{ opacity:1; transform:none; transition:none; }
}

/* ---------- Section helpers ---------- */
.page-ims .ims-section{
  padding: clamp(72px, 9vw, 128px) 0;
  position: relative;
  overflow: hidden;
}
.page-ims .ims-section--tight{ padding: clamp(48px, 6vw, 80px) 0; }
.page-ims .ims-bg-white{ background: #fff; color: var(--ims-ink-1); }
.page-ims .ims-bg-royal{
  background:
    linear-gradient(180deg, var(--ims-royal) 0%, var(--ims-royal-2) 100%);
  color: #fff;
}
.page-ims .ims-bg-deep{
  background:
    linear-gradient(180deg, var(--ims-deep) 0%, var(--ims-deep-2) 60%, var(--ims-deep) 100%);
  color: #fff;
}
.page-ims .ims-bg-royal,
.page-ims .ims-bg-deep{
  --ims-ink-1: #fff;
}

/* subtle texture/glow on the dark sections */
.page-ims .ims-section__halo{
  position: absolute; inset: 0;
  background:
    radial-gradient(circle at 12% -10%, rgba(205,165,94,.14), transparent 55%),
    radial-gradient(circle at 88% 110%, rgba(205,165,94,.08), transparent 55%);
  pointer-events: none;
}

/* ---------- Typography ---------- */
.page-ims .ims-kicker{
  font-family: var(--font-body, 'Baskervville', Georgia, serif);
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--ims-gold-strong);
  font-weight: 600;
  margin: 0 0 18px;
}
.page-ims .ims-kicker--gold{ color: var(--ims-gold); }
.page-ims .ims-title{
  font-family: var(--font-title, 'Classical Garamond', 'EB Garamond', Garamond, serif);
  font-weight: 400;                  /* sem negrito */
  font-size: clamp(30px, 4.2vw, 56px);
  line-height: 1.08;
  letter-spacing: -.012em;
  color: var(--ims-ink-1);
  margin: 0 0 22px;
  text-wrap: balance;
}
.page-ims .ims-title em{
  font-style: italic;
  color: var(--ims-gold);
  font-weight: 400;
}
.page-ims .ims-bg-white .ims-title em{ color: var(--ims-gold-strong); }
.page-ims .ims-title--inverse{ color: #fff; }
.page-ims .ims-lead{
  font-family: var(--font-body, 'Baskervville', Georgia, serif);
  font-size: clamp(16px, 1.15vw, 19px);
  line-height: 1.7;
  color: var(--ims-ink-3);
  max-width: 780px;
  margin: 0;
}
.page-ims .ims-lead--inverse{ color: rgba(255,255,255,.82); }
.page-ims .ims-head{ max-width: 920px; margin-bottom: 56px; }
.page-ims .ims-head--center{ margin-left: auto; margin-right: auto; text-align: center; }
.page-ims .ims-head--center .ims-lead{ margin-left: auto; margin-right: auto; }

/* ---------- Buttons override (variant tweaks) ---------- */
.page-ims .ims-btn-ghost-dark{
  color: var(--ims-ink-1);
  border-color: rgba(8,27,53,.25);
  background: transparent;
}
.page-ims .ims-btn-ghost-dark:hover{
  background: rgba(8,27,53,.05);
  border-color: var(--ims-navy);
}

/* ============================================================
   1) HERO
   ============================================================ */
.page-ims .ims-hero{
  position: relative;
  padding: clamp(110px, 12vw, 180px) 0 clamp(80px, 9vw, 130px);
  overflow: hidden;
  background: #fff;
}
.ims-hero__bg{
  position:absolute; inset:0;
  pointer-events:none;
}
.ims-hero__grid{
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(8, 53, 92, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(8, 53, 92, 0.05) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: radial-gradient(ellipse at 70% 30%, rgba(0,0,0,.5), transparent 65%);
}
.ims-hero__glow{
  position:absolute; inset:0;
  background: radial-gradient(circle at 78% 35%, rgba(205,165,94,.18), transparent 55%);
}
.ims-hero__inner{
  position: relative; z-index: 2;
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: clamp(40px, 5vw, 84px);
  align-items: center;
}
.ims-hero__title{
  font-family: var(--font-title, 'Classical Garamond', 'EB Garamond', Garamond, serif);
  font-weight: 400;
  font-size: clamp(34px, 5.4vw, 68px);
  line-height: 1.05;
  letter-spacing: -.018em;
  color: var(--ims-ink-1);
  margin: 0 0 22px;
  text-wrap: balance;
}
.ims-hero__title em{ color: var(--ims-gold-strong); font-style: italic; font-weight: 400; }
.ims-hero__sub{
  font-family: var(--font-body, serif);
  font-size: clamp(17px, 1.3vw, 21px);
  line-height: 1.6;
  color: var(--ims-ink-2);
  margin: 0 0 18px;
  max-width: 620px;
}
.ims-hero__support{
  font-family: var(--font-body, serif);
  font-size: clamp(14.5px, 1.05vw, 16.5px);
  line-height: 1.7;
  color: var(--ims-ink-3);
  margin: 0 0 32px;
  max-width: 620px;
  padding-left: 18px;
  border-left: 2px solid var(--ims-gold);
}
.ims-hero__actions{
  display: flex; gap: 14px; flex-wrap: wrap;
}
.ims-hero__chips{
  list-style: none; padding: 0; margin: 32px 0 0;
  display: flex; gap: 10px; flex-wrap: wrap;
}
.ims-hero__chips li{
  font-family: var(--font-body, serif);
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--ims-gold-strong);
  padding: 8px 14px;
  border: 1px solid var(--ims-line-deep);
  border-radius: 999px;
}

/* PAINEL DIAGNÓSTICO */
.ims-panel{
  position: relative;
  background: linear-gradient(180deg, var(--ims-deep) 0%, #04253a 100%);
  color: #fff;
  border-radius: 4px;
  padding: clamp(22px, 2.4vw, 32px);
  box-shadow:
    0 30px 60px -30px rgba(2, 19, 29, .6),
    0 0 0 1px rgba(205, 165, 94, .15);
  overflow: hidden;
}
.ims-panel::before{
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(rgba(205,165,94,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(205,165,94,.04) 1px, transparent 1px);
  background-size: 32px 32px;
  mask-image: radial-gradient(ellipse at center, rgba(0,0,0,.6), transparent 80%);
  pointer-events: none;
}
.ims-panel__head{
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 18px;
  position: relative;
}
.ims-panel__brand{
  display:flex; align-items:center; gap:10px;
  font-family: var(--font-body, serif);
  font-size: 12.5px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--ims-gold);
}
.ims-panel__dot{
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--ims-gold);
  box-shadow: 0 0 0 4px rgba(205,165,94,.18);
  animation: imsBlink 2.2s ease-in-out infinite;
}
@keyframes imsBlink{
  0%, 100%{ opacity:1; box-shadow: 0 0 0 4px rgba(205,165,94,.18); }
  50%{ opacity:.55; box-shadow: 0 0 0 8px rgba(205,165,94,.04); }
}
.ims-panel__pill{
  font-family: var(--font-body, serif);
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(255,255,255,.72);
  border: 1px solid rgba(205,165,94,.32);
  padding: 4px 10px;
  border-radius: 999px;
}

/* radar */
.ims-panel__radar{
  position: relative;
  aspect-ratio: 1 / 1;
  max-width: 360px;
  margin: 4px auto 18px;
}
.ims-radar{ width: 100%; height: 100%; display:block; }
.ims-radar__ring{
  fill: none;
  stroke: rgba(205,165,94,.22);
  stroke-width: 1;
}
.ims-radar__axes line{
  stroke: rgba(205,165,94,.18);
  stroke-width: 1;
}
.ims-radar__shape{
  fill: url(#imsRadarFill);
  stroke: var(--ims-gold);
  stroke-width: 1.4;
  stroke-linejoin: round;
  filter: drop-shadow(0 6px 16px rgba(205,165,94,.28));
  transform-origin: center;
  animation: imsRadarSweep 14s ease-in-out infinite alternate;
}
@keyframes imsRadarSweep{
  0%   { transform: rotate(-2deg) scale(.98); }
  100% { transform: rotate(2deg)  scale(1.02); }
}
.ims-radar__dots circle{
  fill: var(--ims-gold-light);
  filter: drop-shadow(0 0 4px rgba(205,165,94,.55));
}
.ims-radar__pulse{
  position: absolute; inset: 0;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(205,165,94,.18) 0%, transparent 60%);
  animation: imsPulse 3.5s ease-out infinite;
  pointer-events:none;
}
@keyframes imsPulse{
  0%   { opacity: 0; transform: scale(.7); }
  60%  { opacity: .6; }
  100% { opacity: 0; transform: scale(1); }
}

/* indicators */
.ims-panel__indicators{
  display: grid; gap: 12px;
  margin-bottom: 14px;
}
.ims-panel__indicator{
  display:grid;
  grid-template-columns: 110px 1fr;
  align-items: center;
  gap: 14px;
}
.ims-panel__indicator-label{
  font-family: var(--font-body, serif);
  font-size: 12.5px;
  color: rgba(255,255,255,.86);
  letter-spacing: .04em;
}
.ims-panel__bar{
  height: 6px;
  background: rgba(255,255,255,.08);
  border-radius: 999px;
  overflow: hidden;
  position: relative;
}
.ims-panel__bar i{
  display:block;
  height:100%; width: 0;
  background: linear-gradient(90deg, var(--ims-gold), var(--ims-gold-light));
  border-radius: 999px;
  animation: imsBarGrow 1.6s cubic-bezier(.2,.7,.2,1) forwards;
}
.ims-panel__bar--mid i{ background: linear-gradient(90deg, #a78641, #d9b870); }
.ims-panel__bar--warn i{ background: linear-gradient(90deg, #c1450a, #e7a14b); }
@keyframes imsBarGrow{
  to { width: var(--w, 50%); }
}
.ims-panel__foot{
  display:flex; align-items:center; justify-content:space-between;
  margin-top: 8px;
  padding-top: 14px;
  border-top: 1px dashed rgba(205,165,94,.18);
  font-family: var(--font-body, serif);
  font-size: 11.5px;
  letter-spacing: .08em;
  color: rgba(255,255,255,.6);
  text-transform: uppercase;
}
.ims-panel__live{
  display:inline-flex; align-items:center; gap:8px;
}
.ims-panel__live span{
  width:7px; height:7px; border-radius:50%;
  background: var(--ims-gold);
  animation: imsBlink 1.6s ease-in-out infinite;
}

@media (max-width: 980px){
  .ims-hero__inner{ grid-template-columns: 1fr; }
  .ims-panel{ max-width: 540px; margin: 0 auto; }
}

/* ============================================================
   2) DOR (royal blue) - pain cards
   ============================================================ */
.ims-pain-grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin-top: 16px;
}
.ims-pain{
  position: relative;
  padding: 28px 26px 30px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: var(--ims-radius);
  color: #fff;
  transition: transform .45s ease, background .35s ease, border-color .35s ease, box-shadow .45s ease;
}
.ims-pain::after{
  content:""; position:absolute; left:0; top:0; bottom:0; width:2px;
  background: var(--ims-gold);
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform .55s cubic-bezier(.2,.7,.2,1);
}
.ims-pain:hover{
  background: rgba(255,255,255,.08);
  border-color: rgba(205, 165, 94, .4);
  transform: translateY(-4px);
  box-shadow: 0 24px 50px -32px rgba(0,0,0,.7);
}
.ims-pain:hover::after{ transform: scaleY(1); transform-origin: top; }
.ims-pain__bullet{
  display:inline-flex; align-items:center; justify-content:center;
  width: 40px; height: 40px;
  border-radius: 50%;
  background: rgba(205,165,94,.12);
  color: var(--ims-gold);
  margin-bottom: 16px;
}
.ims-pain h3{
  font-family: var(--font-title, serif);
  font-weight: 400;
  font-size: clamp(18px, 1.35vw, 21px);
  line-height: 1.2;
  color: #fff;
  margin: 0 0 10px;
}
.ims-pain p{
  font-family: var(--font-body, serif);
  font-size: 14.5px;
  line-height: 1.55;
  color: rgba(255,255,255,.78);
  margin: 0;
}
@media (max-width: 1100px){
  .ims-pain-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px){
  .ims-pain-grid{ grid-template-columns: 1fr; }
}

/* ============================================================
   3) CONCEITO - Mandala (white)
   ============================================================ */
.ims-mandala{
  position: relative;
  margin: 60px auto 0;
  width: min(720px, 100%);
  aspect-ratio: 1 / 1;
}
.ims-mandala__connector{
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  stroke: var(--ims-line-deep-strong);
  fill: none;
  opacity: .35;
}
.ims-mandala__core{
  position: absolute; left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  width: 32%; aspect-ratio: 1/1;
  border-radius: 50%;
  background:
    radial-gradient(circle at 35% 30%, rgba(205,165,94,.85), rgba(205,165,94,.3) 60%, rgba(255,255,255,0) 75%),
    linear-gradient(135deg, var(--ims-deep), var(--ims-deep-2));
  color: #fff;
  display: grid; place-content: center; text-align: center;
  box-shadow:
    0 0 0 6px rgba(205, 165, 94, .12),
    0 30px 60px -20px rgba(2, 19, 29, .5);
  z-index: 2;
}
.ims-mandala__core-label{
  display: block;
  font-family: var(--font-title, serif);
  font-size: clamp(28px, 4.5vw, 44px);
  letter-spacing: .1em;
  font-weight: 400;
  color: var(--ims-gold);
}
.ims-mandala__core-sub{
  display: block;
  font-family: var(--font-body, serif);
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(255,255,255,.7);
  margin-top: 4px;
}

.ims-dim{
  --ang: 0deg;
  --radius: 41%;
  position: absolute;
  left: 50%; top: 50%;
  transform:
    translate(-50%, -50%)
    rotate(var(--ang))
    translateY(calc(-1 * var(--radius)))
    rotate(calc(-1 * var(--ang)));
  width: 156px;
  background: #fff;
  border: 1px solid var(--ims-line-light);
  border-radius: var(--ims-radius);
  padding: 14px 14px 14px;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 6px 20px -10px rgba(8, 53, 92, 0.18);
  transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease, background .35s ease;
  z-index: 3;
  font: inherit; color: inherit;
}
.ims-dim:hover,
.ims-dim:focus-visible{
  border-color: var(--ims-gold);
  box-shadow: 0 14px 30px -10px rgba(205, 165, 94, .45);
  background: linear-gradient(180deg, #fff, var(--ims-cream));
  outline: none;
}
.ims-dim__num{
  display:block;
  font-family: var(--font-title, serif);
  font-size: 13px;
  letter-spacing: .14em;
  color: var(--ims-gold-strong);
  margin-bottom: 4px;
}
.ims-dim__label{
  display:block;
  font-family: var(--font-title, serif);
  font-weight: 400;
  font-size: 16px;
  color: var(--ims-ink-1);
  line-height: 1.2;
}
.ims-dim__hint{
  display: block;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  font-family: var(--font-body, serif);
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--ims-ink-3);
  transition: max-height .35s ease, opacity .25s ease, margin-top .25s ease;
}
.ims-dim:hover .ims-dim__hint,
.ims-dim:focus-visible .ims-dim__hint{
  max-height: 96px;
  opacity: 1;
  margin-top: 8px;
}
.ims-concept__foot{
  text-align: center;
  margin: 40px auto 0;
  font-family: var(--font-body, serif);
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ims-ink-3);
}

/* responsive - collapses orbit to grid */
@media (max-width: 900px){
  .ims-mandala{ aspect-ratio: auto; height: auto; }
  .ims-mandala__connector{ display: none; }
  .ims-mandala__core{
    position: relative; left: auto; top: auto;
    transform: none;
    width: 70%; aspect-ratio: 1/1;
    margin: 0 auto 28px;
  }
  .ims-dim{
    position: relative; left: auto; top: auto;
    transform: none;
    width: 100%;
    margin-bottom: 10px;
  }
  .ims-dim__hint{ max-height: 96px; opacity: 1; margin-top: 6px; }
}

/* ============================================================
   4) METODOLOGIA - vertical timeline (dark)
   ============================================================ */
.ims-method{
  list-style:none; padding:0; margin: 0 auto;
  max-width: 1000px;
  position: relative;
  display: grid;
  gap: 28px;
}
.ims-method::before{
  content:"";
  position:absolute;
  left: 36px; top: 30px; bottom: 30px;
  width: 1px;
  background: linear-gradient(180deg, var(--ims-line-deep) 0%, var(--ims-gold) 50%, var(--ims-line-deep) 100%);
}
.ims-method__step{
  position: relative;
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 24px;
  padding: 20px 22px 22px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(205,165,94,.18);
  border-radius: var(--ims-radius);
  transition: background .35s ease, border-color .35s ease, transform .4s ease;
}
.ims-method__step:hover{
  background: rgba(255,255,255,.07);
  border-color: rgba(205,165,94,.4);
  transform: translateX(4px);
}
.ims-method__step--final{
  border-color: rgba(205,165,94,.55);
  background: linear-gradient(180deg, rgba(205,165,94,.10), rgba(205,165,94,.02));
}
.ims-method__num{
  position: relative;
  width: 72px; height: 72px;
  border-radius: 50%;
  background: linear-gradient(180deg, var(--ims-deep-2), var(--ims-deep));
  border: 1px solid var(--ims-gold);
  display:grid; place-content:center;
  font-family: var(--font-title, serif);
  font-size: 24px;
  color: var(--ims-gold);
  z-index: 2;
}
.ims-method__rule{
  position:absolute;
  left: 118px;
  top: 50%;
  height: 1px;
  width: 0;
  background: linear-gradient(90deg, var(--ims-gold), transparent);
  opacity: .4;
  transform: translateY(-50%);
}
.ims-method__step:hover .ims-method__rule{ width: 64px; }
.ims-method__step h3{
  font-family: var(--font-title, serif);
  font-weight: 400;
  font-size: clamp(20px, 1.5vw, 24px);
  margin: 8px 0 8px;
  color: #fff;
}
.ims-method__step p{
  font-family: var(--font-body, serif);
  font-size: 15.5px;
  line-height: 1.65;
  color: rgba(255,255,255,.8);
  margin: 0;
}
@media (max-width: 640px){
  .ims-method::before{ left: 20px; }
  .ims-method__step{ grid-template-columns: 56px 1fr; gap: 14px; padding: 16px 16px 18px; }
  .ims-method__num{ width: 48px; height: 48px; font-size: 17px; }
}

/* ============================================================
   5) ENTREGÁVEIS (white) - bordered cards
   ============================================================ */
.ims-deliverables{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-top: 16px;
}
.ims-deliverable{
  background: #fff;
  border: 1px solid var(--ims-line-light);
  border-radius: var(--ims-radius);
  padding: 26px 24px 28px;
  position: relative;
  transition: border-color .3s ease, transform .35s ease, box-shadow .35s ease;
}
.ims-deliverable::before{
  content:"";
  position:absolute; left:0; right:0; top:0; height:2px;
  background: linear-gradient(90deg, var(--ims-gold) 0%, var(--ims-gold-light) 50%, transparent 100%);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .45s cubic-bezier(.2,.7,.2,1);
}
.ims-deliverable:hover{
  border-color: var(--ims-line-deep-strong);
  transform: translateY(-3px);
  box-shadow: 0 22px 40px -28px rgba(8, 53, 92, .35);
}
.ims-deliverable:hover::before{ transform: scaleX(1); }
.ims-deliverable__num{
  display: block;
  font-family: var(--font-title, serif);
  font-size: 13px;
  letter-spacing: .14em;
  color: var(--ims-gold-strong);
  margin-bottom: 12px;
}
.ims-deliverable h3{
  font-family: var(--font-title, serif);
  font-weight: 400;
  font-size: 19px;
  line-height: 1.25;
  color: var(--ims-ink-1);
  margin: 0 0 10px;
}
.ims-deliverable p{
  font-family: var(--font-body, serif);
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--ims-ink-3);
  margin: 0;
}
@media (max-width: 1100px){
  .ims-deliverables{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px){
  .ims-deliverables{ grid-template-columns: 1fr; }
}

/* ============================================================
   6) PAINEL INTERATIVO - tabs (royal)
   ============================================================ */
.ims-board{
  margin-top: 16px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(205,165,94,.22);
  border-radius: 4px;
  backdrop-filter: blur(4px);
  overflow: hidden;
}
.ims-board__tabs{
  display: flex;
  gap: 0;
  border-bottom: 1px solid var(--ims-line-deep);
  background: rgba(2,19,29,.25);
  overflow-x: auto;
  scrollbar-width: none;
}
.ims-board__tabs::-webkit-scrollbar{ display:none; }
.ims-board__tab{
  flex: 1;
  min-width: 130px;
  padding: 16px 18px;
  background: transparent;
  border: 0;
  cursor: pointer;
  color: rgba(255,255,255,.65);
  font-family: var(--font-body, serif);
  font-size: 13.5px;
  letter-spacing: .12em;
  text-transform: uppercase;
  position: relative;
  transition: color .25s ease, background .25s ease;
}
.ims-board__tab::after{
  content:""; position:absolute; left: 20%; right: 20%; bottom: -1px; height: 2px;
  background: var(--ims-gold);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .35s cubic-bezier(.2,.7,.2,1);
}
.ims-board__tab:hover{ color: rgba(255,255,255,.9); }
.ims-board__tab.is-active{
  color: var(--ims-gold);
  background: rgba(205,165,94,.06);
}
.ims-board__tab.is-active::after{ transform: scaleX(1); }

.ims-board__body{
  position: relative;
}
.ims-board__pane{
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: clamp(24px, 3vw, 48px);
  padding: clamp(24px, 3vw, 40px);
  animation: imsFade .45s ease both;
}
@keyframes imsFade{
  from{ opacity: 0; transform: translateY(8px); }
  to  { opacity: 1; transform: translateY(0); }
}
.ims-board__overline{
  font-family: var(--font-body, serif);
  font-size: 11.5px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--ims-gold);
  margin: 0 0 12px;
}
.ims-board__lead{
  font-family: var(--font-title, serif);
  font-weight: 400;
  font-size: clamp(22px, 2.2vw, 30px);
  line-height: 1.2;
  color: #fff;
  margin: 0 0 22px;
}
.ims-board__bars{
  list-style:none; padding: 0; margin: 0;
  display: grid; gap: 16px;
}
.ims-board__bars li{
  display:grid;
  grid-template-columns: 1fr 2fr 80px;
  gap: 16px;
  align-items: center;
  padding-bottom: 14px;
  border-bottom: 1px dashed rgba(205,165,94,.16);
  font-family: var(--font-body, serif);
  font-size: 14px;
  color: rgba(255,255,255,.86);
}
.ims-board__bars li b{
  font-family: var(--font-body, serif);
  font-weight: 600;
  font-size: 10.5px;
  letter-spacing: .18em;
  text-transform: uppercase;
  text-align: right;
  color: rgba(255,255,255,.6);
}
.ims-bar{
  height: 6px;
  background: rgba(255,255,255,.08);
  border-radius: 999px;
  overflow: hidden;
  position: relative;
}
.ims-bar i{
  display:block; height:100%; width: 0;
  background: linear-gradient(90deg, var(--ims-gold), var(--ims-gold-light));
  border-radius: 999px;
  animation: imsBarGrow 1.3s cubic-bezier(.2,.7,.2,1) forwards;
}
.ims-bar--mid i{ background: linear-gradient(90deg, #a78641, #d9b870); }
.ims-bar--warn i{ background: linear-gradient(90deg, #c1450a, #e7a14b); }

.ims-board__right{ display:grid; gap: 14px; align-content: start; }
.ims-risk{
  background: rgba(2,19,29,.45);
  border: 1px solid rgba(205,165,94,.2);
  padding: 18px 20px 18px;
  border-radius: 2px;
}
.ims-risk__sev{
  display: inline-block;
  font-family: var(--font-body, serif);
  font-size: 10.5px;
  letter-spacing: .2em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 999px;
  margin-bottom: 10px;
}
.ims-risk__sev--warn{ color: #ffd4a9; background: rgba(193, 69, 10, .25); }
.ims-risk__sev--mid{ color: #e6c79a; background: rgba(205, 165, 94, .18); }
.ims-risk h4{
  font-family: var(--font-title, serif);
  font-weight: 400;
  font-size: 18px;
  line-height: 1.25;
  color: #fff;
  margin: 0 0 8px;
}
.ims-risk p{
  font-family: var(--font-body, serif);
  font-size: 14px;
  line-height: 1.55;
  color: rgba(255,255,255,.78);
  margin: 0;
}
@media (max-width: 880px){
  .ims-board__pane{ grid-template-columns: 1fr; }
  .ims-board__bars li{ grid-template-columns: 1fr 2fr; }
  .ims-board__bars li b{ display:none; }
}

/* ============================================================
   7) ANTES x DEPOIS (white)
   ============================================================ */
.ims-compare{
  display: grid;
  grid-template-columns: 1fr 80px 1fr;
  align-items: stretch;
  gap: 18px;
  margin-top: 16px;
}
.ims-compare__col{
  padding: 32px 30px 34px;
  background: var(--ims-cream);
  border: 1px solid var(--ims-line-light);
  border-radius: var(--ims-radius);
}
.ims-compare__col--after{
  background: linear-gradient(180deg, var(--ims-deep) 0%, var(--ims-deep-2) 100%);
  color: #fff;
  border-color: var(--ims-gold);
}
.ims-compare__col header{
  margin-bottom: 22px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--ims-line-light);
}
.ims-compare__col--after header{ border-bottom-color: rgba(205,165,94,.22); }
.ims-compare__col header span{
  display:block;
  font-family: var(--font-body, serif);
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--ims-gold-strong);
  margin-bottom: 8px;
}
.ims-compare__col--after header span{ color: var(--ims-gold); }
.ims-compare__col h3{
  font-family: var(--font-title, serif);
  font-weight: 400;
  font-size: clamp(20px, 1.7vw, 26px);
  line-height: 1.2;
  margin: 0;
  color: var(--ims-ink-1);
}
.ims-compare__col--after h3{ color: #fff; }
.ims-compare__col ul{
  list-style: none; padding: 0; margin: 0;
}
.ims-compare__col li{
  padding: 12px 0 12px 22px;
  border-bottom: 1px dashed rgba(102,74,30,.12);
  position: relative;
  font-family: var(--font-body, serif);
  font-size: 15.5px;
  line-height: 1.5;
  color: var(--ims-ink-2);
}
.ims-compare__col--after li{
  color: rgba(255,255,255,.86);
  border-bottom-color: rgba(255,255,255,.06);
}
.ims-compare__col li::before{
  content: "";
  position: absolute; left: 0; top: 12px;
  color: var(--ims-gold-strong);
}
.ims-compare__col--after li::before{ color: var(--ims-gold); }
.ims-compare__col li:last-child{ border-bottom: 0; }

.ims-compare__arrow{
  display: grid; place-content: center;
  color: var(--ims-gold-strong);
  align-self: center;
}
.ims-compare__arrow svg{ display:block; }
@media (max-width: 880px){
  .ims-compare{ grid-template-columns: 1fr; gap: 12px; }
  .ims-compare__arrow{ transform: rotate(90deg); margin: 4px 0; }
}

/* ============================================================
   8) PARA QUEM É (dark blue)
   ============================================================ */
.ims-audience{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-top: 16px;
}
.ims-audience__card{
  position: relative;
  padding: 28px 26px 28px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(205,165,94,.22);
  border-radius: var(--ims-radius);
  transition: background .3s ease, border-color .3s ease, transform .4s ease;
}
.ims-audience__card::before{
  content:""; position:absolute; left:0; right:0; bottom:0; height:1px;
  background: var(--ims-gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .5s cubic-bezier(.2,.7,.2,1);
}
.ims-audience__card:hover{
  background: rgba(205,165,94,.06);
  border-color: rgba(205,165,94,.5);
  transform: translateY(-3px);
}
.ims-audience__card:hover::before{ transform: scaleX(1); }
.ims-audience__card h3{
  font-family: var(--font-title, serif);
  font-weight: 400;
  font-size: 19px;
  line-height: 1.25;
  color: #fff;
  margin: 0 0 10px;
}
.ims-audience__card p{
  font-family: var(--font-body, serif);
  font-size: 14px;
  line-height: 1.55;
  color: rgba(255,255,255,.78);
  margin: 0;
}
@media (max-width: 1100px){ .ims-audience{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px){ .ims-audience{ grid-template-columns: 1fr; } }

/* ============================================================
   9a) AUTORIDADE (white)
   ============================================================ */
.ims-auth{
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: clamp(40px, 5vw, 80px);
  align-items: start;
}
.ims-auth__copy p{
  font-family: var(--font-body, serif);
  font-size: clamp(15.5px, 1.1vw, 17.5px);
  line-height: 1.7;
  color: var(--ims-ink-2);
  margin: 0 0 18px;
}
.ims-auth__chips{
  list-style: none; padding: 0;
  margin: 22px 0;
  display: flex; gap: 10px; flex-wrap: wrap;
}
.ims-auth__chips li{
  font-family: var(--font-body, serif);
  font-size: 12.5px;
  letter-spacing: .08em;
  color: var(--ims-ink-1);
  padding: 8px 14px;
  background: var(--ims-cream);
  border: 1px solid var(--ims-line-deep);
  border-radius: 999px;
}
.ims-auth__panel{
  background: linear-gradient(180deg, var(--ims-deep) 0%, var(--ims-deep-2) 100%);
  border: 1px solid var(--ims-line-deep-strong);
  border-radius: 4px;
  padding: clamp(26px, 3vw, 36px);
  color: #fff;
  box-shadow: 0 30px 60px -32px rgba(2, 19, 29, .55);
}
.ims-auth__panel-head{
  display:flex; align-items:center; gap:10px;
  font-family: var(--font-body, serif);
  font-size: 11.5px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--ims-gold);
  margin-bottom: 22px;
}
.ims-auth__panel-dot{
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--ims-gold);
  box-shadow: 0 0 0 4px rgba(205,165,94,.18);
}
.ims-auth__panel-list{
  list-style: none; padding: 0; margin: 0;
  display: grid; gap: 18px;
}
.ims-auth__panel-list li{
  padding-bottom: 18px;
  border-bottom: 1px dashed rgba(205,165,94,.16);
}
.ims-auth__panel-list li:last-child{ border-bottom: 0; padding-bottom: 0; }
.ims-auth__panel-list span{
  display: block;
  font-family: var(--font-title, serif);
  font-size: 17px;
  font-weight: 400;
  color: #fff;
  margin-bottom: 4px;
}
.ims-auth__panel-list p{
  font-family: var(--font-body, serif);
  font-size: 14px;
  line-height: 1.55;
  color: rgba(255,255,255,.78);
  margin: 0;
}
@media (max-width: 900px){
  .ims-auth{ grid-template-columns: 1fr; }
}

/* ============================================================
   9b) FAQ - borrow .faq-item, but tighten
   ============================================================ */
.ims-faq{
  max-width: 920px;
  margin: 24px auto 0;
  background: #fff;
  border: 1px solid var(--ims-line-light);
  border-radius: 4px;
  overflow: hidden;
}
.ims-faq .faq-item + .faq-item{ border-top: 1px solid var(--ims-line-light); }
.ims-faq .faq-question{
  width: 100%;
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px;
  background: #fff;
  border: 0;
  padding: 22px 28px;
  text-align: left;
  font-family: var(--font-body, serif);
  font-size: 16px;
  color: var(--ims-ink-1);
  cursor: pointer;
}
.ims-faq .faq-question:hover{ background: #fafaf7; }
.ims-faq .faq-icon{
  color: var(--ims-gold-strong);
  font-size: 12px;
  transition: transform .3s ease;
}
.ims-faq .faq-item.is-open .faq-icon{ transform: rotate(180deg); }
.ims-faq .faq-answer{
  padding: 0 28px;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height .4s ease, opacity .25s ease, padding-bottom .3s ease;
}
.ims-faq .faq-item.is-open .faq-answer{
  max-height: 320px;
  opacity: 1;
  padding-bottom: 24px;
}
.ims-faq .faq-answer p{
  font-family: var(--font-body, serif);
  font-size: 14.5px;
  line-height: 1.65;
  color: var(--ims-ink-3);
  margin: 0;
}

/* ============================================================
   10) CTA + FORMULÁRIO (royal blue)
   ============================================================ */
.ims-form-shell{
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: clamp(40px, 5vw, 72px);
  background: rgba(2, 19, 29, .35);
  border: 1px solid rgba(205,165,94,.32);
  border-radius: 4px;
  padding: clamp(40px, 5vw, 72px);
  backdrop-filter: blur(4px);
  position: relative;
}
.ims-form-shell::before,
.ims-form-shell::after{
  content:"";
  position:absolute;
  width: 30px; height: 30px;
  border: 1px solid var(--ims-gold);
}
.ims-form-shell::before{ top:-1px; left:-1px; border-right:0; border-bottom:0; }
.ims-form-shell::after{ right:-1px; bottom:-1px; border-left:0; border-top:0; }

.ims-form-shell__copy h2.ims-title{ color: #fff; }
.ims-form-shell__bullets{
  list-style: none; padding: 0;
  margin: 24px 0 0;
  display: grid; gap: 12px;
}
.ims-form-shell__bullets li{
  display: flex; align-items: center; gap: 12px;
  font-family: var(--font-body, serif);
  font-size: 14.5px;
  color: rgba(255,255,255,.85);
  letter-spacing: .02em;
}
.ims-form-shell__bullets span{
  width: 10px; height: 10px; border-radius: 50%;
  background: var(--ims-gold);
  box-shadow: 0 0 0 4px rgba(205,165,94,.18);
}

.ims-form{
  display: grid; gap: 14px;
}
.ims-form__row{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.ims-form__row--2{ grid-template-columns: 1fr 1fr; }
.ims-form__row--phone{
  grid-template-columns: minmax(150px, 1.2fr) 80px 1fr;
}
.ims-field{
  display: grid; gap: 6px;
  font-family: var(--font-body, serif);
}
.ims-field > span{
  font-size: 11.5px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--ims-gold);
  font-weight: 600;
}
.ims-form input,
.ims-form select,
.ims-form textarea{
  background: rgba(0,0,0,.25);
  border: 1px solid rgba(205,165,94,.25);
  color: #fff;
  font-family: var(--font-body, serif);
  font-size: 15px;
  padding: 13px 14px;
  border-radius: 2px;
  width: 100%;
  transition: border-color .25s ease, background .25s ease, box-shadow .25s ease;
}
.ims-form input::placeholder,
.ims-form textarea::placeholder{
  color: rgba(255,255,255,.4);
}
.ims-form input:focus,
.ims-form select:focus,
.ims-form textarea:focus{
  outline: none;
  border-color: var(--ims-gold);
  background: rgba(0,0,0,.4);
  box-shadow: 0 0 0 3px rgba(205,165,94,.18);
}
.ims-form select.ims-field__select,
.ims-form .ims-field--phone-country select{
  appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none'><path d='M1 1L5 5L9 1' stroke='%23cda55e' stroke-width='1.4'/></svg>");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 38px;
}
.ims-form select option{ color:#fff; background: var(--ims-deep); }
.ims-form textarea{ resize: vertical; min-height: 100px; }
.ims-form input[readonly]{
  background: rgba(0,0,0,.15);
  color: rgba(255,255,255,.7);
  cursor: default;
}
.ims-form__legal{
  font-family: var(--font-body, serif);
  font-size: 12.5px;
  line-height: 1.55;
  color: rgba(255,255,255,.7);
  margin: 6px 0 0;
}
.ims-form__legal a{
  color: var(--ims-gold);
  border-bottom: 1px solid rgba(205,165,94,.4);
}
.ims-form__legal a:hover{ color: var(--ims-gold-light); }
.ims-form__submit{
  margin-top: 8px;
  min-width: 240px;
  justify-self: start;
}
.ims-form__success{
  margin-top: 18px;
  padding: 18px 22px;
  border: 1px solid var(--ims-gold);
  background: rgba(205,165,94,.08);
  display: flex; flex-direction: column; gap: 6px;
  border-radius: 2px;
}
.ims-form__success strong{
  font-family: var(--font-title, serif);
  font-size: 17px;
  color: var(--ims-gold-light);
  font-weight: 400;
}
.ims-form__success span{
  font-family: var(--font-body, serif);
  font-size: 14px;
  color: rgba(255,255,255,.85);
}

@media (max-width: 980px){
  .ims-form-shell{ grid-template-columns: 1fr; }
  .ims-form__row,
  .ims-form__row--2{ grid-template-columns: 1fr; }
  .ims-form__row--phone{ grid-template-columns: 1fr 80px 1fr; }
}
@media (max-width: 560px){
  .ims-form__row--phone{ grid-template-columns: 1fr; }
}

/* mega-menu current state */
.page-ims .mega-menu__card--current .mega-menu__title{ color: var(--ims-gold-strong); }
.page-ims .mega-menu__card--current{
  background: linear-gradient(180deg, rgba(205,165,94,.12), rgba(205,165,94,.02));
  border: 1px solid var(--ims-line-deep-strong);
  pointer-events: none;
}


/* ============================================================
   IMS - Ajustes finais da versão refeita
   Mantém o formulário/cabeçalho do site atual e eleva o corpo premium.
   ============================================================ */

.ims-page .site-nav__link.active { color: var(--ims-gold, #cda55e); }

.page-ims .ims-hero--dark{
  min-height: calc(100vh - 82px);
  display: flex;
  align-items: center;
  padding: clamp(96px, 10vw, 150px) 0 clamp(72px, 8vw, 118px);
  background:
    linear-gradient(90deg, rgba(2,19,29,.98) 0%, rgba(2,19,29,.92) 42%, rgba(2,19,29,.66) 68%, rgba(2,19,29,.38) 100%),
    url('../assets/ims/banner-ims-desktop.png') center center / cover no-repeat,
    linear-gradient(135deg, var(--ims-deep), var(--ims-royal));
  color: #fff;
}
.page-ims .ims-hero--dark .ims-hero__bg{ opacity: 1; }
.page-ims .ims-hero--dark .ims-hero__grid{
  mask-image: none;
  background-image:
    linear-gradient(rgba(205,165,94,.075) 1px, transparent 1px),
    linear-gradient(90deg, rgba(205,165,94,.055) 1px, transparent 1px);
  background-size: 72px 72px;
  opacity: .42;
}
.page-ims .ims-hero--dark .ims-hero__glow{
  background:
    radial-gradient(circle at 78% 28%, rgba(205,165,94,.28), transparent 36%),
    radial-gradient(circle at 12% 80%, rgba(13,71,131,.30), transparent 42%);
}
.page-ims .ims-hero--dark .ims-hero__title,
.page-ims .ims-hero--dark .ims-hero__sub,
.page-ims .ims-hero--dark .ims-hero__support{ color:#fff; }
.page-ims .ims-hero--dark .ims-hero__sub{ color: rgba(255,255,255,.88); }
.page-ims .ims-hero--dark .ims-hero__support{ color: rgba(255,255,255,.76); border-left-color: var(--ims-gold); }
.page-ims .ims-hero--dark .ims-kicker{ color: var(--ims-gold); }
.page-ims .ims-hero--dark .ims-btn-ghost-dark{
  color: #fff;
  border-color: rgba(205,165,94,.48);
  background: rgba(255,255,255,.035);
  backdrop-filter: blur(10px);
}
.page-ims .ims-hero--dark .ims-btn-ghost-dark:hover{
  background: rgba(205,165,94,.10);
  border-color: var(--ims-gold);
}
.page-ims .ims-hero--dark .ims-hero__chips li{
  color: rgba(255,255,255,.82);
  border-color: rgba(205,165,94,.34);
  background: rgba(255,255,255,.035);
}
.page-ims .ims-hero--dark .ims-panel{
  border-radius: 22px;
  background:
    linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.035)),
    rgba(2,19,29,.76);
  backdrop-filter: blur(18px);
  box-shadow: 0 38px 90px -36px rgba(0,0,0,.85), 0 0 0 1px rgba(205,165,94,.24);
}

/* Níveis de profundidade */
.page-ims .ims-levels{ padding-top: clamp(78px, 8vw, 122px); }
.page-ims .ims-level-grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin-top: 18px;
}
.page-ims .ims-level-card{
  position: relative;
  min-height: 430px;
  display: flex;
  flex-direction: column;
  padding: 28px 24px 26px;
  border-radius: 22px;
  border: 1px solid rgba(205,165,94,.22);
  background:
    linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.035)),
    rgba(255,255,255,.035);
  color: #fff;
  overflow: hidden;
  transition: transform .35s ease, border-color .35s ease, background .35s ease;
}
.page-ims .ims-level-card::before{
  content:"";
  position:absolute;
  inset: 0 0 auto 0;
  height: 132px;
  background:
    radial-gradient(circle at 20% 0%, rgba(205,165,94,.36), transparent 38%),
    linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size: auto, 42px 42px, 42px 42px;
  opacity: .86;
}
.page-ims .ims-level-card:hover{
  transform: translateY(-5px);
  border-color: rgba(205,165,94,.58);
  background: rgba(255,255,255,.075);
}
.page-ims .ims-level-card--prime{
  border-color: rgba(205,165,94,.62);
  background:
    linear-gradient(145deg, rgba(205,165,94,.16), rgba(255,255,255,.035)),
    rgba(255,255,255,.05);
}
.page-ims .ims-level-card__eyebrow,
.page-ims .ims-level-card strong,
.page-ims .ims-level-card h3,
.page-ims .ims-level-card p,
.page-ims .ims-level-card ul{ position: relative; z-index: 1; }
.page-ims .ims-level-card__eyebrow{
  display:block;
  font-family: var(--font-body, serif);
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--ims-gold);
  margin-bottom: 18px;
}
.page-ims .ims-level-card strong{
  display:block;
  font-family: var(--font-title, serif);
  font-size: clamp(48px, 5vw, 76px);
  line-height: .9;
  color: #fff;
  font-weight: 400;
  margin-bottom: 26px;
}
.page-ims .ims-level-card h3{
  font-family: var(--font-title, serif);
  font-size: clamp(20px, 1.6vw, 25px);
  line-height: 1.12;
  color: #fff;
  margin: 0 0 12px;
}
.page-ims .ims-level-card p{
  font-family: var(--font-body, serif);
  font-size: 14.5px;
  line-height: 1.62;
  color: rgba(255,255,255,.76);
  margin: 0 0 18px;
}
.page-ims .ims-level-card ul{
  list-style:none;
  display:grid;
  gap: 8px;
  margin: auto 0 0;
  padding: 18px 0 0;
  border-top: 1px dashed rgba(205,165,94,.22);
}
.page-ims .ims-level-card li{
  position: relative;
  padding-left: 18px;
  font-family: var(--font-body, serif);
  color: rgba(255,255,255,.84);
  font-size: 13.5px;
  line-height: 1.45;
}
.page-ims .ims-level-card li::before{
  content:"";
  position:absolute;
  left:0;
  top:.62em;
  width:6px;
  height:6px;
  border-radius:50%;
  background: var(--ims-gold);
}
@media (max-width: 1120px){ .page-ims .ims-level-grid{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px){ .page-ims .ims-level-grid{ grid-template-columns: 1fr; } }

/* Responsividade fina do hero */
@media (max-width: 720px){
  .page-ims .ims-hero--dark{
    background:
      linear-gradient(180deg, rgba(2,19,29,.97) 0%, rgba(2,19,29,.88) 100%),
      url('../assets/ims/banner-ims-mobile.png') center top / cover no-repeat,
      linear-gradient(135deg, var(--ims-deep), var(--ims-royal));
  }
  .page-ims .ims-hero__actions{ align-items: stretch; }
  .page-ims .ims-hero__actions .btn{ width:100%; text-align:center; justify-content:center; }
  .page-ims .ims-panel__foot{ flex-direction:column; align-items:flex-start; gap:8px; }
}


/* =========================================================
   IMS - V11 corrections
   Escopo isolado da página. Cabeçalho, formulário e rodapé
   permanecem controlados pelo home.css.
========================================================= */

body.ims-page.page-ims {
  background: #ffffff;
}

.ims-page .site-nav__link.active {
  color: var(--gold, #cda55e);
}

/* HERO V11 - visual próprio do IMS, sem repetir o banner do Treino Cognitivo */
.page-ims .ims-hero-v11 {
  position: relative;
  min-height: calc(100vh - 82px);
  display: flex;
  align-items: center;
  overflow: hidden;
  color: #ffffff;
  background:
    radial-gradient(circle at 78% 22%, rgba(205, 165, 94, .16), transparent 34%),
    radial-gradient(circle at 12% 80%, rgba(13, 71, 131, .26), transparent 38%),
    linear-gradient(135deg, #02131d 0%, #062f4c 56%, #031925 100%);
  border-bottom: 4px solid var(--ims-gold, #cda55e);
}

.page-ims .ims-hero-v11::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.038) 1px, transparent 1px);
  background-size: 74px 74px;
  mask-image: linear-gradient(90deg, rgba(0,0,0,.92), rgba(0,0,0,.44) 68%, transparent 100%);
  pointer-events: none;
}

.page-ims .ims-hero-v11__bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.page-ims .ims-hero-v11__line {
  position: absolute;
  height: 1px;
  width: 64vw;
  background: linear-gradient(90deg, transparent, rgba(205,165,94,.38), transparent);
  transform: rotate(-18deg);
  transform-origin: center;
}
.page-ims .ims-hero-v11__line--one { left: -16vw; top: 22%; }
.page-ims .ims-hero-v11__line--two { right: -20vw; bottom: 18%; opacity: .62; }
.page-ims .ims-hero-v11__orb {
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(205,165,94,.28);
  box-shadow: inset 0 0 70px rgba(205,165,94,.06);
}
.page-ims .ims-hero-v11__orb--one { width: 470px; height: 470px; right: 7vw; top: 11%; }
.page-ims .ims-hero-v11__orb--two { width: 260px; height: 260px; left: 8vw; bottom: 8%; opacity: .46; }

.page-ims .ims-hero-v11__inner {
  position: relative;
  z-index: 2;
  width: var(--container, min(1180px, calc(100vw - 32px)));
  min-height: calc(100vh - 82px);
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(420px, .94fr);
  gap: clamp(42px, 6vw, 92px);
  align-items: center;
  padding: clamp(72px, 9vw, 120px) 0 clamp(56px, 7vw, 96px);
}

.page-ims .ims-hero-v11__copy {
  max-width: 780px;
}

.page-ims .ims-hero-v11__title {
  margin: 0 0 24px;
  font-family: var(--font-title, Garamond, serif);
  font-size: clamp(3.15rem, 6vw, 7.25rem);
  line-height: .89;
  letter-spacing: -.055em;
  font-weight: 400;
  color: #ffffff;
}

.page-ims .ims-hero-v11__title em {
  display: block;
  color: var(--ims-gold, #cda55e);
  font-style: italic;
  font-weight: 400;
}

.page-ims .ims-hero-v11__lead {
  max-width: 690px;
  margin: 0 0 18px;
  color: rgba(255,255,255,.88);
  font-size: clamp(1.08rem, 1.32vw, 1.35rem);
  line-height: 1.55;
  font-weight: 600;
}

.page-ims .ims-hero-v11__support {
  max-width: 650px;
  margin: 0 0 34px;
  padding-left: 18px;
  border-left: 3px solid var(--ims-gold, #cda55e);
  color: rgba(255,255,255,.72);
  font-size: 1rem;
  line-height: 1.72;
}

.page-ims .ims-hero-v11__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: 28px;
}

.page-ims .ims-hero-v11__actions .btn-secondary {
  color: #ffffff;
  border-color: rgba(205,165,94,.58);
  background: rgba(255,255,255,.035);
  box-shadow: none;
}

.page-ims .ims-hero-v11__actions .btn-secondary:hover {
  color: var(--ims-gold, #cda55e);
  border-color: var(--ims-gold, #cda55e);
  background: rgba(205,165,94,.08);
}

.page-ims .ims-hero-v11__proof {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.page-ims .ims-hero-v11__proof span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 14px;
  border: 1px solid rgba(205,165,94,.34);
  border-radius: 999px;
  color: rgba(255,255,255,.78);
  background: rgba(255,255,255,.035);
  font-size: .78rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 800;
}

.page-ims .ims-hero-v11__board {
  position: relative;
}

.page-ims .ims-board-card-v11 {
  position: relative;
  min-height: 580px;
  padding: clamp(24px, 3vw, 36px);
  border: 1px solid rgba(205,165,94,.34);
  border-radius: 28px;
  background:
    linear-gradient(145deg, rgba(255,255,255,.13), rgba(255,255,255,.045)),
    rgba(2,19,29,.62);
  box-shadow: 0 38px 94px rgba(0,0,0,.34);
  backdrop-filter: blur(14px);
  overflow: hidden;
}

.page-ims .ims-board-card-v11::before {
  content: "";
  position: absolute;
  inset: 18px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 20px;
  pointer-events: none;
}

.page-ims .ims-board-card-v11__head {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(205,165,94,.18);
  letter-spacing: .16em;
  text-transform: uppercase;
  font-size: .78rem;
  font-weight: 900;
}

.page-ims .ims-board-card-v11__head span { color: var(--ims-gold, #cda55e); }
.page-ims .ims-board-card-v11__head strong { color: rgba(255,255,255,.68); font-weight: 900; }

.page-ims .ims-board-card-v11__matrix {
  position: relative;
  z-index: 1;
  width: min(430px, 100%);
  aspect-ratio: 1;
  margin: 44px auto 34px;
  border-radius: 34px;
  border: 1px solid rgba(205,165,94,.24);
  background:
    linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px),
    radial-gradient(circle at center, rgba(205,165,94,.16), rgba(8,58,93,.12) 48%, rgba(2,19,29,.25));
  background-size: 42px 42px, 42px 42px, auto;
  box-shadow: inset 0 0 60px rgba(0,0,0,.22);
}

.page-ims .ims-board-card-v11__axis {
  position: absolute;
  background: linear-gradient(90deg, transparent, rgba(205,165,94,.54), transparent);
}
.page-ims .ims-board-card-v11__axis--h { left: 8%; right: 8%; top: 50%; height: 1px; }
.page-ims .ims-board-card-v11__axis--v { top: 8%; bottom: 8%; left: 50%; width: 1px; transform: translateX(-50%); background: linear-gradient(180deg, transparent, rgba(205,165,94,.54), transparent); }

.page-ims .ims-board-card-v11__core {
  position: absolute;
  left: 50%; top: 50%;
  width: 148px; height: 148px;
  transform: translate(-50%,-50%);
  border-radius: 50%;
  display: grid;
  place-content: center;
  text-align: center;
  background: #fff;
  color: #062f4c;
  box-shadow: 0 20px 40px rgba(0,0,0,.22);
}

.page-ims .ims-board-card-v11__core small,
.page-ims .ims-board-card-v11__core span {
  display: block;
  font-size: .68rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 900;
  color: #6b7680;
}

.page-ims .ims-board-card-v11__core strong {
  display: block;
  margin: 2px 0;
  font-family: var(--font-title, Garamond, serif);
  font-size: 4.4rem;
  line-height: .82;
  font-weight: 400;
  color: #062f4c;
}

.page-ims .ims-board-card-v11__node {
  position: absolute;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid rgba(205,165,94,.42);
  border-radius: 999px;
  background: rgba(2,19,29,.72);
  color: rgba(255,255,255,.86);
  font-size: .78rem;
  font-weight: 800;
  box-shadow: 0 12px 26px rgba(0,0,0,.18);
}
.page-ims .ims-board-card-v11__node.n1 { left: 8%; top: 12%; }
.page-ims .ims-board-card-v11__node.n2 { right: 8%; top: 20%; }
.page-ims .ims-board-card-v11__node.n3 { left: 10%; bottom: 18%; }
.page-ims .ims-board-card-v11__node.n4 { right: 8%; bottom: 12%; }

.page-ims .ims-board-card-v11__rows {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 12px;
}
.page-ims .ims-board-card-v11__rows div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 14px;
  background: rgba(255,255,255,.045);
}
.page-ims .ims-board-card-v11__rows span {
  color: rgba(255,255,255,.74);
  font-size: .9rem;
}
.page-ims .ims-board-card-v11__rows b {
  color: var(--ims-gold, #cda55e);
  font-size: .78rem;
  letter-spacing: .14em;
  text-transform: uppercase;
}

/* Dark sections readability */
.page-ims .ims-bg-royal .ims-title,
.page-ims .ims-bg-royal .ims-lead,
.page-ims .ims-bg-deep .ims-title,
.page-ims .ims-bg-deep .ims-lead { color: #ffffff; }
.page-ims .ims-bg-royal .ims-lead,
.page-ims .ims-bg-deep .ims-lead { color: rgba(255,255,255,.82); }

/* Cards in pain section must never hide text */
.page-ims .ims-pain-grid { align-items: stretch; }
.page-ims .ims-pain { min-height: 220px; }
.page-ims .ims-pain h3,
.page-ims .ims-pain p { color: #ffffff; }
.page-ims .ims-pain p { color: rgba(255,255,255,.80); }

/* Concept section: replace unstable orbit by a premium matrix */
.page-ims .ims-dimensions-v11 {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  margin-top: 48px;
}

.page-ims .ims-dimension-card-v11 {
  position: relative;
  min-height: 210px;
  padding: 24px 22px;
  border: 1px solid rgba(8,53,92,.12);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(250,246,236,.72));
  box-shadow: 0 18px 48px rgba(8, 53, 92, .08);
  overflow: hidden;
}

.page-ims .ims-dimension-card-v11::before {
  content: "";
  position: absolute;
  left: 0; top: 0; right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--ims-gold, #cda55e), rgba(8,53,92,.24));
}

.page-ims .ims-dimension-card-v11 span {
  display: block;
  margin-bottom: 20px;
  color: var(--ims-gold-strong, #b88c3e);
  font-family: var(--font-title, Garamond, serif);
  font-size: 1.5rem;
  line-height: 1;
}

.page-ims .ims-dimension-card-v11 h3 {
  margin: 0 0 10px;
  color: #062f4c;
  font-family: var(--font-title, Garamond, serif);
  font-size: 1.24rem;
  line-height: 1.16;
  font-weight: 400;
}

.page-ims .ims-dimension-card-v11 p {
  margin: 0;
  color: #566371;
  font-size: .93rem;
  line-height: 1.55;
}

/* Method timeline correction */
.page-ims .ims-method__step {
  grid-template-columns: 96px minmax(0, 1fr);
  align-items: start;
}
.page-ims .ims-method__step h3,
.page-ims .ims-method__step p {
  grid-column: 2;
}
.page-ims .ims-method__step h3 { grid-row: 1; }
.page-ims .ims-method__step p { grid-row: 2; }
.page-ims .ims-method__num { grid-column: 1; grid-row: 1 / span 2; }

/* Keep IMS body typography from touching home header/footer/form */
.page-ims main .ims-title,
.page-ims main .ims-hero-v11__title,
.page-ims main .ims-pain h3,
.page-ims main .ims-method__step h3,
.page-ims main .ims-deliverable h3,
.page-ims main .ims-audience__card h3,
.page-ims main .ims-auth h2,
.page-ims main .ims-auth__panel-list span {
  font-weight: 400;
}

/* Responsive */
@media (max-width: 1180px) {
  .page-ims .ims-hero-v11__inner {
    grid-template-columns: 1fr;
    min-height: auto;
  }
  .page-ims .ims-hero-v11__board {
    max-width: 720px;
  }
  .page-ims .ims-dimensions-v11 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
  .page-ims .ims-hero-v11 {
    min-height: auto;
  }
  .page-ims .ims-hero-v11__inner {
    padding: 72px 0 60px;
  }
  .page-ims .ims-hero-v11__title {
    font-size: clamp(2.65rem, 12vw, 4.65rem);
  }
  .page-ims .ims-hero-v11__lead {
    font-size: 1.04rem;
  }
  .page-ims .ims-hero-v11__actions {
    flex-direction: column;
  }
  .page-ims .ims-hero-v11__actions .btn {
    width: 100%;
    justify-content: center;
  }
  .page-ims .ims-board-card-v11 {
    min-height: auto;
  }
  .page-ims .ims-dimensions-v11 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-ims .ims-method__step {
    grid-template-columns: 58px minmax(0, 1fr);
  }
  .page-ims .ims-method__rule { display: none; }
}

@media (max-width: 560px) {
  .page-ims .ims-dimensions-v11 { grid-template-columns: 1fr; }
  .page-ims .ims-dimension-card-v11 { min-height: auto; }
  .page-ims .ims-board-card-v11__matrix {
    width: 100%;
    border-radius: 22px;
  }
  .page-ims .ims-board-card-v11__core {
    width: 120px;
    height: 120px;
  }
  .page-ims .ims-board-card-v11__core strong {
    font-size: 3.3rem;
  }
  .page-ims .ims-board-card-v11__node {
    font-size: .68rem;
    padding: 0 10px;
  }
}


/* =========================================================
   IMS v13 - ajuste do menu Sobre Nós
   Escopo: apenas reduzir o mega menu Sobre Nós para 3 cards.
========================================================= */
.page-ims .mega-menu--about {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: min(930px, calc(100vw - 48px));
}


/* =========================================================
   IMS v14 - ajustes solicitados
   Escopo: somente página IMS.
========================================================= */

.page-ims{
  --ims-deep: #001B2E;
  --ims-deep-2: #001B2E;
  --ims-royal: #083A5C;
  --ims-royal-2: #083A5C;
  --ims-navy: #001B2E;
  --ims-gold: #cda55e;
  --ims-gold-strong: #b88c3e;
  --ims-gold-light: #e0bb73;
  --ims-ink-1: #001B2E;
  --ims-ink-2: #083A5C;
  --ims-ink-3: #24445b;
}

body.ims-page.page-ims main#main,
body.ims-page.page-ims main{
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.page-ims .ims-bg-royal{
  background:
    radial-gradient(circle at 12% 6%, rgba(205,165,94,.22), transparent 30%),
    linear-gradient(115deg, rgba(205,165,94,.16) 0%, rgba(205,165,94,.05) 24%, rgba(8,58,92,0) 48%, rgba(205,165,94,.10) 100%),
    #083A5C !important;
  color: #ffffff;
}

.page-ims .ims-bg-deep{
  background:
    radial-gradient(circle at 85% 0%, rgba(205,165,94,.18), transparent 28%),
    linear-gradient(120deg, rgba(205,165,94,.14) 0%, rgba(205,165,94,.04) 25%, rgba(0,27,46,0) 52%, rgba(205,165,94,.10) 100%),
    #001B2E !important;
  color: #ffffff;
}

.page-ims .ims-bg-white{
  background: #ffffff !important;
  color: #001B2E;
}

.page-ims .ims-bg-royal > .container,
.page-ims .ims-bg-deep > .container,
.page-ims .ims-hero-v11 > .container{
  position: relative;
  z-index: 2;
}

.page-ims .ims-hero-v11{
  min-height: 100vh;
  background:
    radial-gradient(circle at 76% 18%, rgba(205,165,94,.22), transparent 32%),
    linear-gradient(105deg, rgba(205,165,94,.14) 0%, rgba(205,165,94,.04) 28%, rgba(0,27,46,0) 54%, rgba(205,165,94,.10) 100%),
    linear-gradient(135deg, #001B2E 0%, #083A5C 58%, #001B2E 100%) !important;
}

.page-ims .ims-hero-v11__inner{
  min-height: 100vh;
}

.page-ims .ims-hero-v11__title{
  font-size: clamp(2.55rem, 4.8vw, 5.95rem) !important;
  line-height: .96 !important;
  letter-spacing: -.042em !important;
  max-width: 760px;
}

.page-ims .ims-hero-v11__lead{
  font-size: clamp(1rem, 1.08vw, 1.16rem) !important;
  line-height: 1.58 !important;
  max-width: 650px;
  font-weight: 500 !important;
}

/* O que está fora do raio de visão */
.page-ims #dores .ims-head{
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.page-ims #dores .ims-lead{
  margin-left: auto;
  margin-right: auto;
  color: #24445b;
}
.page-ims #dores .ims-title,
.page-ims #dores .ims-title em{
  color: #001B2E;
}
.page-ims #dores .ims-title em{
  color: var(--ims-gold-strong);
}
.page-ims #dores .ims-pain{
  min-height: 220px;
  background: linear-gradient(180deg, #ffffff 0%, #fbf8f0 100%);
  border: 1px solid rgba(8,58,92,.16);
  color: #001B2E;
  box-shadow: 0 18px 40px rgba(8,58,92,.08);
}
.page-ims #dores .ims-pain:hover{
  background: linear-gradient(180deg, #ffffff 0%, #faf4e6 100%);
  border-color: rgba(205,165,94,.56);
  box-shadow: 0 24px 48px rgba(8,58,92,.14);
}
.page-ims #dores .ims-pain h3{
  color: #001B2E;
}
.page-ims #dores .ims-pain p{
  color: #24445b;
}

/* O que é o IMS */
.page-ims #conceito .ims-title,
.page-ims #conceito .ims-lead{
  color: #ffffff;
}
.page-ims #conceito .ims-lead{
  color: rgba(255,255,255,.84);
}
.page-ims #conceito .ims-dimension-card-v11{
  min-height: 196px;
  background: linear-gradient(145deg, #ffffff 0%, #f7efe0 100%);
  border-color: rgba(205,165,94,.36);
  box-shadow: 0 22px 54px rgba(0,27,46,.20);
  transition: transform .45s cubic-bezier(.2,.7,.2,1), box-shadow .45s ease, border-color .35s ease, background .35s ease;
}
.page-ims #conceito .ims-dimension-card-v11::after{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, transparent 0%, rgba(205,165,94,.22) 42%, transparent 68%);
  opacity: 0;
  transform: translateX(-24%);
  transition: opacity .35s ease, transform .65s ease;
  pointer-events: none;
}
.page-ims #conceito .ims-dimension-card-v11:hover{
  transform: translateY(-9px) scale(1.015);
  border-color: rgba(205,165,94,.78);
  box-shadow: 0 32px 74px rgba(0,27,46,.28);
}
.page-ims #conceito .ims-dimension-card-v11:hover::after{
  opacity: 1;
  transform: translateX(18%);
}
.page-ims #conceito .ims-dimension-card-v11 h3{
  color: #001B2E;
}
.page-ims #conceito .ims-dimension-card-v11 p{
  color: #001B2E;
  font-size: .84rem;
  line-height: 1.48;
}

/* Como funciona */
.page-ims #como-funciona .ims-title,
.page-ims #como-funciona .ims-lead{
  color: #001B2E;
}
.page-ims #como-funciona .ims-title em{
  color: var(--ims-gold-strong);
}
.page-ims #como-funciona .ims-lead{
  color: #24445b;
}
.page-ims #como-funciona .ims-method::before{
  background: linear-gradient(180deg, rgba(205,165,94,.18), var(--ims-gold), rgba(205,165,94,.18));
}
.page-ims #como-funciona .ims-method__step{
  background: #ffffff;
  border: 1px solid rgba(8,58,92,.16);
  box-shadow: 0 18px 42px rgba(8,58,92,.08);
}
.page-ims #como-funciona .ims-method__step:hover{
  background: linear-gradient(180deg, #ffffff, #faf4e8);
  border-color: rgba(205,165,94,.54);
}
.page-ims #como-funciona .ims-method__step h3{
  color: #001B2E;
}
.page-ims #como-funciona .ims-method__step p{
  color: #24445b;
}

/* Níveis de profundidade */
.page-ims #niveis .ims-level-card{
  transition: transform .42s ease, border-color .35s ease, box-shadow .42s ease, background .42s ease;
}
.page-ims #niveis .ims-level-card:hover{
  background:
    linear-gradient(135deg, rgba(205,165,94,.30) 0%, rgba(205,165,94,.11) 34%, rgba(255,255,255,.055) 100%),
    rgba(255,255,255,.04);
  border-color: rgba(205,165,94,.78);
  box-shadow: 0 28px 70px rgba(0,0,0,.32);
  transform: translateY(-7px);
}

/* O que a empresa passa a enxergar */
.page-ims #entregaveis .ims-title,
.page-ims #entregaveis .ims-lead{
  color: #001B2E;
}
.page-ims #entregaveis .ims-title em{
  color: var(--ims-gold-strong);
}
.page-ims #entregaveis .ims-lead{
  color: #24445b;
}
.page-ims #entregaveis .ims-deliverable{
  background:
    linear-gradient(145deg, rgba(205,165,94,.32) 0%, rgba(250,246,236,.92) 42%, #ffffff 100%);
  border-color: rgba(205,165,94,.38);
  color: #001B2E;
}
.page-ims #entregaveis .ims-deliverable h3,
.page-ims #entregaveis .ims-deliverable p{
  color: #001B2E;
}
.page-ims #entregaveis .ims-deliverable p{
  font-size: .9rem;
  line-height: 1.55;
}

/* Painel de maturidade */
.page-ims #painel,
.page-ims #painel .ims-head,
.page-ims #painel .ims-board,
.page-ims #painel .ims-board__pane,
.page-ims #painel .ims-board__right,
.page-ims #painel .ims-risk{
  text-align: center;
}
.page-ims #painel .ims-head{
  margin-left: auto;
  margin-right: auto;
}
.page-ims #painel .ims-lead{
  margin-left: auto;
  margin-right: auto;
}
.page-ims #painel .ims-board__tab{
  min-width: 190px;
  white-space: normal;
  line-height: 1.25;
  letter-spacing: .06em;
}
.page-ims #painel .ims-board__bars li{
  grid-template-columns: 1fr;
  justify-items: center;
  gap: 9px;
}
.page-ims #painel .ims-board__bars li b{
  text-align: center;
}
.page-ims #painel .ims-bar{
  width: min(360px, 100%);
}

/* Antes e depois */
.page-ims #antes-depois .ims-compare__col{
  position: relative;
  overflow: hidden;
  transition: transform .42s ease, box-shadow .42s ease, border-color .35s ease, background .35s ease;
}
.page-ims #antes-depois .ims-compare__col::after{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, transparent 0%, rgba(205,165,94,.18) 44%, transparent 72%);
  opacity: 0;
  transform: translateX(-28%);
  transition: opacity .32s ease, transform .62s ease;
  pointer-events: none;
}
.page-ims #antes-depois .ims-compare__col:hover{
  transform: translateY(-7px);
  border-color: rgba(205,165,94,.74);
  box-shadow: 0 28px 64px rgba(8,58,92,.18);
}
.page-ims #antes-depois .ims-compare__col:hover::after{
  opacity: 1;
  transform: translateX(18%);
}
.page-ims .ims-compare__col li::before{
  width: 7px;
  height: 7px;
  border-radius: 999px;
  display: block;
  background: var(--ims-gold-strong);
  top: 20px;
}
.page-ims .ims-compare__col--after li::before{
  background: var(--ims-gold);
}

/* FAQ com aparência alinhada à Home */
.page-ims #faq .ims-faq{
  max-width: 1420px;
  margin: 26px auto 0;
  background: #ffffff;
  border: 1px solid rgba(8,53,86,.20);
  border-radius: 16px;
  overflow: hidden;
}
.page-ims #faq .ims-faq .faq-item + .faq-item{
  border-top: 1px solid rgba(8,53,86,.16);
}
.page-ims #faq .ims-faq .faq-question{
  min-height: 84px;
  background: #ffffff;
  color: #0a2438;
  padding: 0 38px;
  font-family: var(--font-body, Montserrat, Arial, sans-serif);
  font-size: 1.08rem;
  font-weight: 500;
}
.page-ims #faq .ims-faq .faq-question:hover{
  background: #fafbfd;
}
.page-ims #faq .ims-faq .faq-icon{
  color: #0a2438;
  font-size: 18px;
}
.page-ims #faq .ims-faq .faq-answer{
  padding: 0 38px;
  transition: max-height .34s ease, opacity .22s ease, padding-top .34s ease, padding-bottom .34s ease;
}
.page-ims #faq .ims-faq .faq-item.is-open .faq-answer{
  max-height: 520px;
  opacity: 1;
  padding-top: 0;
  padding-bottom: 26px;
}
.page-ims #faq .ims-faq .faq-answer p{
  max-width: 1280px;
  color: #355067;
  font-family: var(--font-body, Montserrat, Arial, sans-serif);
  font-size: 1.04rem;
  line-height: 1.7;
}

@media (max-width: 1180px){
  .page-ims .ims-hero-v11__title{
    max-width: none;
  }
  .page-ims #painel .ims-board__tab{
    min-width: 210px;
  }
}

@media (max-width: 820px){
  .page-ims .ims-hero-v11{
    min-height: auto;
  }
  .page-ims .ims-hero-v11__inner{
    min-height: auto;
    padding-top: 112px;
  }
  .page-ims .ims-hero-v11__title{
    font-size: clamp(2.25rem, 10vw, 4.1rem) !important;
  }
  .page-ims #faq .ims-faq .faq-question{
    min-height: 74px;
    padding: 0 22px;
    font-size: 1rem;
  }
  .page-ims #faq .ims-faq .faq-answer{
    padding-left: 22px;
    padding-right: 22px;
  }
}


/* ============================================================
   AJUSTES V16 — IMS
   Escopo: ajustes solicitados no banner, seções, painel e formulário.
   ============================================================ */

.page-ims .ims-hero-v11__title{
  font-size: clamp(2.15rem, 3.95vw, 4.85rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -.034em !important;
  max-width: 690px !important;
  margin-bottom: 20px !important;
}
.page-ims .ims-hero-v11__lead{
  max-width: 620px !important;
  margin-bottom: 26px !important;
}
.page-ims .ims-hero-v11__support{ display:none !important; }
.page-ims .ims-hero-v11__actions{ margin-bottom: 18px !important; order: 3; }
.page-ims .ims-hero-v11__copy{ display:flex; flex-direction:column; align-items:flex-start; }
.page-ims .ims-hero-v11__proof{
  order: 2;
  width: 100%;
  margin-bottom: 22px;
}
.page-ims .ims-hero-v11__proof span{
  color: #ffffff !important;
  background: rgba(205,165,94,.12) !important;
  border-color: rgba(205,165,94,.50) !important;
}
.page-ims .ims-board-card-v11__core{
  width: 136px !important;
  height: 136px !important;
}
.page-ims .ims-board-card-v11__core strong{ display:none !important; }

.page-ims #dores .ims-kicker,
.page-ims #conceito .ims-kicker,
.page-ims #como-funciona .ims-kicker,
.page-ims #niveis .ims-kicker,
.page-ims #entregaveis .ims-kicker,
.page-ims #painel .ims-kicker,
.page-ims #antes-depois .ims-kicker,
.page-ims #para-quem .ims-kicker,
.page-ims #sistolica .ims-kicker,
.page-ims #faq .ims-kicker{
  font-size: clamp(14px, 1.08vw, 17px) !important;
  line-height: 1.18 !important;
  letter-spacing: .12em !important;
  font-weight: 800 !important;
}

.page-ims #dores .ims-pain{
  background:
    radial-gradient(circle at 84% 12%, rgba(205,165,94,.18), transparent 32%),
    linear-gradient(145deg, #0d5f95 0%, #083a5d 56%, #052b46 100%) !important;
  border-color: rgba(205,165,94,.28) !important;
  color: #ffffff !important;
  box-shadow: 0 22px 52px rgba(8,58,92,.18) !important;
}
.page-ims #dores .ims-pain:hover{
  background:
    radial-gradient(circle at 84% 12%, rgba(205,165,94,.28), transparent 34%),
    linear-gradient(145deg, #1170ad 0%, #083a5d 58%, #041d2b 100%) !important;
  border-color: rgba(205,165,94,.58) !important;
  box-shadow: 0 28px 62px rgba(4,29,43,.28) !important;
}
.page-ims #dores .ims-pain h3,
.page-ims #dores .ims-pain p{ color:#ffffff !important; }
.page-ims #dores .ims-pain p{ color:rgba(255,255,255,.84) !important; }
.page-ims #dores .ims-pain__bullet{
  background: rgba(255,255,255,.10) !important;
  color: var(--ims-gold, #cda55e) !important;
}

.page-ims #conceito .ims-dimension-card-v11{
  background:
    radial-gradient(circle at 88% 8%, rgba(205,165,94,.20), transparent 34%),
    linear-gradient(145deg, #0d5f95 0%, #083a5d 58%, #052b46 100%) !important;
  border-color: rgba(205,165,94,.36) !important;
  color: #ffffff !important;
}
.page-ims #conceito .ims-dimension-card-v11::before{
  background: linear-gradient(90deg, var(--ims-gold, #cda55e), rgba(255,255,255,.28)) !important;
}
.page-ims #conceito .ims-dimension-card-v11 span{ color: var(--ims-gold, #cda55e) !important; }
.page-ims #conceito .ims-dimension-card-v11 h3,
.page-ims #conceito .ims-dimension-card-v11 p{ color:#ffffff !important; }
.page-ims #conceito .ims-dimension-card-v11 p{ color: rgba(255,255,255,.84) !important; }

.page-ims #como-funciona .ims-method__num{
  background: #ffffff !important;
  color: #083a5d !important;
  border-color: rgba(205,165,94,.70) !important;
  box-shadow: 0 12px 30px rgba(8,58,92,.12), 0 0 0 7px rgba(205,165,94,.10) !important;
}

.page-ims #painel .ims-board__tab{
  min-width: 145px !important;
  padding: 18px 18px !important;
  white-space: nowrap !important;
}
.page-ims #painel .ims-board__overline{
  font-size: clamp(13px, .95vw, 15px) !important;
  letter-spacing: .16em !important;
}
.page-ims #sistolica .ims-auth__copy p + p{ margin-top: 18px !important; }

/* Formulário v16 modelado pela página Consultorias */
.page-ims .contact-section{ background:#ffffff !important; padding:56px 0 150px !important; }
.page-ims .contact-section .container{ width:min(1360px, calc(100vw - 34px)) !important; }
.page-ims .contact-shell{
  position:relative !important; display:grid !important;
  grid-template-columns:minmax(250px,.76fr) minmax(520px,1.24fr) !important;
  column-gap:28px !important; align-items:stretch !important; padding:0 !important; overflow:hidden !important;
  border-radius:22px !important; border:1px solid rgba(8,53,86,.18) !important;
  background:linear-gradient(90deg,#0d2740 0%,#0d2740 42%,#ffffff 42%,#ffffff 100%) !important;
  box-shadow:0 0 0 1px rgba(8,53,86,.24),0 0 60px rgba(2,18,31,.34),0 0 120px rgba(2,18,31,.20) !important;
}
.page-ims .contact-copy-side{
  min-width:0 !important; padding:30px 24px 26px 34px !important;
  background:radial-gradient(circle at 18% 16%,rgba(209,162,69,.10),transparent 28%),linear-gradient(180deg,#0d2740 0%,#083a5d 100%) !important;
  display:flex !important; align-items:center !important; min-height:100% !important;
}
.page-ims .contact-copy-inner{ max-width:360px !important; }
.page-ims .contact-title-display{
  margin:0 0 12px !important; color:#ffffff !important;
  font-family:var(--font-title, Garamond, serif) !important;
  font-size:clamp(2.9rem,4.1vw,4.4rem) !important; line-height:.92 !important; font-weight:500 !important;
}
.page-ims .contact-subtitle{
  margin:0 0 12px !important; color:#d1a245 !important;
  font-size:clamp(1.04rem,1.24vw,1.24rem) !important; line-height:1.16 !important; font-weight:700 !important;
}
.page-ims .contact-copy-text{ max-width:350px !important; color:rgba(255,255,255,.92) !important; font-size:.94rem !important; line-height:1.52 !important; }
.page-ims .contact-form-side{ min-width:0 !important; padding:18px 18px 18px 0 !important; background:transparent !important; }
.page-ims .contact-form{
  display:flex !important; flex-direction:column !important; gap:0 !important; background:transparent !important; color:#0d2740 !important;
  border:0 !important; border-radius:0 !important; box-shadow:none !important; padding:0 !important;
}
.page-ims .contact-grid{ display:grid !important; grid-template-columns:1fr !important; gap:8px !important; margin-bottom:9px !important; }
.page-ims .contact-grid-2{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
.page-ims .contact-grid-phone{ grid-template-columns:118px 74px minmax(0,1fr) !important; gap:8px !important; }
.page-ims .contact-field{ min-width:0 !important; position:relative !important; }
.page-ims .contact-label{
  position:static !important; display:block !important; min-height:0 !important; padding:0 !important; margin:0 0 5px !important;
  border-radius:0 !important; background:transparent !important; color:#415262 !important;
  font-size:13.5px !important; font-weight:600 !important; line-height:1.22 !important; white-space:normal !important;
}
.page-ims .contact-label-static{ background:transparent !important; }
.page-ims .contact-label.is-error{ background:transparent !important; color:#d73a30 !important; }
.page-ims .contact-input,
.page-ims .contact-select{
  width:100% !important; height:36px !important; min-height:36px !important; padding:6px 10px !important;
  border:1px solid rgba(8,53,86,.18) !important; border-radius:10px !important;
  background-color:#f7f9fb !important; color:#0d2740 !important; font-size:13.5px !important; line-height:1.2 !important; box-shadow:none !important;
}
.page-ims .contact-select{
  appearance:none !important; -webkit-appearance:none !important; -moz-appearance:none !important; padding-right:30px !important;
  background-image:linear-gradient(45deg,transparent 50%,#083a5d 50%),linear-gradient(135deg,#083a5d 50%,transparent 50%) !important;
  background-position:calc(100% - 16px) calc(50% - 3px),calc(100% - 11px) calc(50% - 3px) !important;
  background-size:5px 5px,5px 5px !important; background-repeat:no-repeat !important;
}
.page-ims .contact-input-disabled{ background:#eef3f7 !important; color:#4a5a6a !important; }
.page-ims .contact-textarea{
  width:100% !important; height:64px !important; min-height:64px !important; padding:10px !important;
  border:1px solid rgba(8,53,86,.18) !important; border-radius:10px !important;
  background:#f7f9fb !important; color:#0d2740 !important; font-size:13.5px !important; line-height:1.35 !important; resize:none !important;
}
.page-ims .contact-input:focus,
.page-ims .contact-select:focus,
.page-ims .contact-textarea:focus{ border-color:#d1a245 !important; background-color:#ffffff !important; box-shadow:0 0 0 3px rgba(209,162,69,.12) !important; outline:none !important; }
.page-ims .contact-disclaimer{ margin:4px 0 0 !important; max-width:none !important; color:#5b6775 !important; font-size:11.5px !important; line-height:1.42 !important; }
.page-ims .contact-disclaimer a{ color:#083a5d !important; font-weight:700 !important; text-decoration:underline !important; text-underline-offset:2px !important; }
.page-ims .contact-actions{ display:flex !important; justify-content:flex-start !important; padding-top:10px !important; }
.page-ims .contact-submit{
  min-width:180px !important; height:48px !important; border:1px solid #083a5d !important; border-radius:10px !important;
  background:#083a5d !important; color:#ffffff !important; font-size:13.5px !important; font-weight:800 !important;
  letter-spacing:.04em !important; text-transform:uppercase !important; cursor:pointer !important;
  transition:transform .2s ease,background .2s ease,opacity .2s ease !important;
}
.page-ims .contact-submit:hover{ transform:translateY(-1px) !important; background:#062d48 !important; }
.page-ims .contact-submit[disabled]{ opacity:.68 !important; cursor:not-allowed !important; transform:none !important; }
@media (max-width:980px){
  .page-ims .contact-shell{ grid-template-columns:1fr !important; background:#ffffff !important; }
  .page-ims .contact-form-side{ padding:22px !important; }
  .page-ims .contact-copy-side{ min-height:auto !important; }
}
@media (max-width:640px){
  .page-ims .ims-hero-v11__title{ font-size:clamp(2rem,8.8vw,3.35rem) !important; }
  .page-ims .contact-grid-2,
  .page-ims .contact-grid-phone{ grid-template-columns:1fr !important; }
  .page-ims .contact-form-side{ padding:20px 16px !important; }
}

/* ============================================================
   AJUSTES V17 — IMS
   Escopo: correções pontuais solicitadas no conceito, painel e formulário.
   ============================================================ */

/* O que é o IMS: remove o brilho/efeito cortado no hover dos blocos */
.page-ims #conceito .ims-dimension-card-v11::after{
  content: none !important;
  display: none !important;
}
.page-ims #conceito .ims-dimension-card-v11:hover{
  transform: translateY(-4px) !important;
  border-color: rgba(205,165,94,.62) !important;
  box-shadow: 0 24px 56px rgba(0,27,46,.22) !important;
}

/* Painel de maturidade: mantém a lógica Gestão -> Visão Geral e demais relações */
.page-ims #painel .ims-board__tab{
  min-width: 145px !important;
  white-space: nowrap !important;
}
.page-ims #painel .ims-board__pane[hidden]{
  display: none !important;
}
.page-ims #painel .ims-board__overline{
  text-transform: uppercase !important;
  color: var(--ims-gold, #cda55e) !important;
}

/* Formulário v17: correção visual e compatibilidade com o modelo da página Home/Consultorias */
.page-ims .contact-section{
  background:#ffffff !important;
  padding:56px 0 150px !important;
}
.page-ims .contact-section .container{
  width:min(1360px, calc(100vw - 34px)) !important;
}
.page-ims .contact-shell{
  position:relative !important;
  display:grid !important;
  grid-template-columns:minmax(250px,.76fr) minmax(520px,1.24fr) !important;
  column-gap:0 !important;
  align-items:stretch !important;
  padding:0 !important;
  overflow:hidden !important;
  border-radius:22px !important;
  border:1px solid rgba(8,53,86,.18) !important;
  background:#ffffff !important;
  box-shadow:0 0 0 1px rgba(8,53,86,.24),0 0 60px rgba(2,18,31,.34),0 0 120px rgba(2,18,31,.20) !important;
}
.page-ims .contact-copy-side{
  min-width:0 !important;
  padding:38px 32px 34px 34px !important;
  background:radial-gradient(circle at 18% 16%,rgba(209,162,69,.10),transparent 28%),linear-gradient(180deg,#0d2740 0%,#083a5d 100%) !important;
  border-right:28px solid #ffffff !important;
  display:flex !important;
  align-items:center !important;
  min-height:100% !important;
}
.page-ims .contact-copy-inner{
  max-width:560px !important;
}
.page-ims .contact-title-display{
  margin:0 0 16px !important;
  color:#ffffff !important;
  font-family:var(--font-title, Garamond, serif) !important;
  font-size:clamp(3.45rem,4.6vw,4.8rem) !important;
  line-height:.94 !important;
  font-weight:500 !important;
}
.page-ims .contact-subtitle{
  margin:0 0 18px !important;
  color:#d1a245 !important;
  font-size:1.46rem !important;
  line-height:1.24 !important;
  font-weight:700 !important;
}
.page-ims .contact-copy-text{
  max-width:560px !important;
  color:rgba(255,255,255,.92) !important;
  font-size:1.28rem !important;
  line-height:1.58 !important;
}
.page-ims .contact-form-side{
  min-width:0 !important;
  padding:24px 20px 24px 18px !important;
  background:#ffffff !important;
  overflow:visible !important;
}
.page-ims .contact-shell .contact-form,
.page-ims .contact-form{
  display:flex !important;
  flex-direction:column !important;
  gap:0 !important;
  background:transparent !important;
  color:#0d2740 !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  padding:0 !important;
}
.page-ims .contact-shell .contact-grid,
.page-ims .contact-grid{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
  margin-bottom:12px !important;
}
.page-ims .contact-shell .contact-grid-2,
.page-ims .contact-grid-2{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}
.page-ims .contact-shell .contact-grid-phone,
.page-ims .contact-grid-phone{
  grid-template-columns:118px 74px minmax(0,1fr) !important;
  gap:10px !important;
}
.page-ims .contact-field{
  min-width:0 !important;
  position:relative !important;
}
.page-ims .contact-shell .contact-form label.contact-label,
.page-ims .contact-label{
  position:static !important;
  display:block !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 0 6px !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#415262 !important;
  font-size:13px !important;
  font-weight:700 !important;
  line-height:1.22 !important;
  white-space:normal !important;
}
.page-ims .contact-label-static{
  background:transparent !important;
}
.page-ims .contact-label.is-error{
  background:transparent !important;
  color:#d73a30 !important;
}
.page-ims .contact-shell .contact-form input,
.page-ims .contact-shell .contact-form select,
.page-ims .contact-shell .contact-form textarea,
.page-ims .contact-input,
.page-ims .contact-select{
  width:100% !important;
  height:42px !important;
  min-height:42px !important;
  padding:8px 12px !important;
  border:1px solid rgba(8,53,86,.20) !important;
  border-radius:10px !important;
  background-color:#f7f9fb !important;
  color:#0d2740 !important;
  font-size:13.5px !important;
  line-height:1.25 !important;
  box-shadow:none !important;
  outline:none !important;
}
.page-ims .contact-select{
  appearance:none !important;
  -webkit-appearance:none !important;
  -moz-appearance:none !important;
  padding-right:32px !important;
  background-image:linear-gradient(45deg,transparent 50%,#083a5d 50%),linear-gradient(135deg,#083a5d 50%,transparent 50%) !important;
  background-position:calc(100% - 17px) calc(50% - 3px),calc(100% - 12px) calc(50% - 3px) !important;
  background-size:5px 5px,5px 5px !important;
  background-repeat:no-repeat !important;
}
.page-ims .contact-input-disabled{
  background:#eef3f7 !important;
  color:#4a5a6a !important;
}
.page-ims .contact-textarea{
  height:78px !important;
  min-height:78px !important;
  padding:10px 12px !important;
  resize:none !important;
}
.page-ims .contact-input:focus,
.page-ims .contact-select:focus,
.page-ims .contact-textarea:focus{
  border-color:#d1a245 !important;
  background-color:#ffffff !important;
  box-shadow:0 0 0 3px rgba(209,162,69,.12) !important;
}
.page-ims .contact-disclaimer{
  margin:4px 0 0 !important;
  max-width:none !important;
  color:#5b6775 !important;
  font-size:11.5px !important;
  line-height:1.42 !important;
}
.page-ims .contact-disclaimer a{
  color:#083a5d !important;
  font-weight:700 !important;
  text-decoration:underline !important;
  text-underline-offset:2px !important;
}
.page-ims .contact-disclaimer a:hover{
  color:var(--ims-gold, #cda55e) !important;
}
.page-ims .contact-actions{
  display:flex !important;
  justify-content:flex-start !important;
  padding-top:12px !important;
}
.page-ims .contact-submit{
  min-width:180px !important;
  height:50px !important;
  border:1px solid #083a5d !important;
  border-radius:10px !important;
  background:#083a5d !important;
  color:#ffffff !important;
  font-size:13.5px !important;
  font-weight:800 !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
  cursor:pointer !important;
  transition:transform .2s ease,background .2s ease,opacity .2s ease !important;
}
.page-ims .contact-submit:hover{
  transform:translateY(-1px) !important;
  background:#062d48 !important;
}
.page-ims .contact-submit[disabled]{
  opacity:.68 !important;
  cursor:not-allowed !important;
  transform:none !important;
}

@media (max-width:1100px){
  .page-ims .contact-title-display{ font-size:clamp(3.5rem,8.6vw,5.5rem) !important; }
  .page-ims .contact-subtitle{ font-size:clamp(1.45rem,3.8vw,2rem) !important; }
  .page-ims .contact-copy-text{ font-size:1.16rem !important; }
}
@media (max-width:980px){
  .page-ims .contact-shell{ grid-template-columns:1fr !important; }
  .page-ims .contact-copy-side{ border-right:0 !important; }
  .page-ims .contact-form-side{ padding:22px !important; }
}
@media (max-width:820px){
  .page-ims .contact-title-display{ font-size:clamp(3.15rem,13.5vw,5.1rem) !important; }
  .page-ims .contact-subtitle{ font-size:clamp(1.28rem,6.2vw,1.82rem) !important; line-height:1.2 !important; }
  .page-ims .contact-copy-text{ font-size:1.06rem !important; line-height:1.56 !important; }
  .page-ims .contact-shell .contact-grid-2,
  .page-ims .contact-shell .contact-grid-phone,
  .page-ims .contact-grid-2,
  .page-ims .contact-grid-phone{ grid-template-columns:1fr !important; }
}
@media (max-width:640px){
  .page-ims .contact-form-side{ padding:20px 16px !important; }
}

/* ============================================================
   AJUSTES V18 — IMS
   Escopo: remove somente o efeito quebrado dos blocos Antes e depois.
   ============================================================ */

.page-ims #antes-depois .ims-compare__col::after,
.page-ims #antes-depois .ims-compare__col:hover::after{
  content: none !important;
  display: none !important;
  opacity: 0 !important;
  transform: none !important;
}




/* ============================================================
   AJUSTES V20 — IMS
   Escopo: suaviza somente a animação do FAQ/accordion.
   ============================================================ */

.page-ims #faq .ims-faq .faq-answer{
  max-height: 0 !important;
  opacity: 0 !important;
  overflow: hidden !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  transform: translateY(-6px);
  transition:
    max-height .64s cubic-bezier(.22, .72, .16, 1),
    opacity .36s ease,
    padding-top .42s ease,
    padding-bottom .42s ease,
    transform .42s ease !important;
  will-change: max-height, opacity, transform;
}

.page-ims #faq .ims-faq .faq-item.is-open .faq-answer{
  max-height: var(--faq-answer-height, 560px) !important;
  opacity: 1 !important;
  padding-top: 0 !important;
  padding-bottom: 26px !important;
  transform: translateY(0);
}

.page-ims #faq .ims-faq .faq-icon{
  transition: transform .42s cubic-bezier(.22, .72, .16, 1) !important;
}

@media (prefers-reduced-motion: reduce){
  .page-ims #faq .ims-faq .faq-answer,
  .page-ims #faq .ims-faq .faq-icon{
    transition: none !important;
  }
}


/* ============================================================
   AJUSTES V21 — IMS
   Escopo: animação real de abertura e fechamento do FAQ.
   ============================================================ */

.page-ims #faq .ims-faq .faq-answer{
  max-height: none !important;
  height: 0;
  opacity: 0 !important;
  overflow: hidden !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  transform: translateY(-8px);
  transition:
    height .52s cubic-bezier(.22, .72, .16, 1),
    opacity .34s ease,
    padding-top .40s ease,
    padding-bottom .40s ease,
    transform .40s ease !important;
  will-change: height, opacity, transform;
}

.page-ims #faq .ims-faq .faq-item.is-open .faq-answer{
  opacity: 1 !important;
  padding-top: 0 !important;
  padding-bottom: 26px !important;
  transform: translateY(0);
}

.page-ims #faq .ims-faq .faq-icon{
  transition: transform .42s cubic-bezier(.22, .72, .16, 1) !important;
}

@media (prefers-reduced-motion: reduce){
  .page-ims #faq .ims-faq .faq-answer,
  .page-ims #faq .ims-faq .faq-icon{
    transition: none !important;
    transform: none !important;
  }
}

/* ============================================================
   AJUSTES V22 — IMS
   Escopo: botões de CTA nas seções solicitadas.
   ============================================================ */

.page-ims .ims-section-cta{
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 28px;
}

.page-ims .ims-auth__copy .ims-section-cta{
  justify-content: flex-start;
  margin-top: 30px;
}

@media (max-width: 640px){
  .page-ims .ims-section-cta .btn{
    width: 100%;
    justify-content: center;
    text-align: center;
  }
}

/* ============================================================
   AJUSTES V26 — IMS
   Escopo: correções mobile solicitadas no banner, seção A Sistólica
   e menu Sobre Nós do cabeçalho. Não altera estrutura/JS.
   ============================================================ */

@media (max-width: 820px){
  /* Banner IMS — centralização do texto e dos botões no mobile */
  .page-ims .ims-hero-v11__copy{
    align-items: center !important;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .page-ims .ims-hero-v11__copy .ims-kicker,
  .page-ims .ims-hero-v11__title,
  .page-ims .ims-hero-v11__lead{
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .page-ims .ims-hero-v11__title{
    max-width: 100% !important;
  }

  .page-ims .ims-hero-v11__lead{
    max-width: 620px !important;
  }

  .page-ims .ims-hero-v11__actions{
    width: 100% !important;
    justify-content: center !important;
    align-items: center !important;
  }

  .page-ims .ims-hero-v11__actions .btn{
    justify-content: center !important;
    text-align: center !important;
  }

  .page-ims .ims-hero-v11__proof{
    justify-content: center !important;
    text-align: center !important;
  }

  .page-ims .ims-hero-v11__proof span{
    justify-content: center !important;
    text-align: center !important;
  }

  /* Seção A Sistólica — centralização do conteúdo textual no mobile */
  .page-ims #sistolica .ims-auth,
  .page-ims #sistolica .ims-auth__copy,
  .page-ims #sistolica .ims-auth__panel,
  .page-ims #sistolica .ims-auth__panel-list li{
    text-align: center !important;
  }

  .page-ims #sistolica .ims-auth__copy .ims-kicker,
  .page-ims #sistolica .ims-title,
  .page-ims #sistolica .ims-auth__copy p{
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .page-ims #sistolica .ims-auth__panel-head{
    justify-content: center !important;
  }

  .page-ims #sistolica .ims-auth__panel-list span,
  .page-ims #sistolica .ims-auth__panel-list p{
    text-align: center !important;
  }

  .page-ims #sistolica .ims-section-cta{
    justify-content: center !important;
  }

  /* Menu mobile Sobre Nós — força lista vertical igual à Home */
  .page-ims .site-nav .mega-menu--about{
    position: static !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 8px !important;
    padding: 10px 12px !important;
    display: none !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    background: rgba(255, 255, 255, 0.72) !important;
    border: 1px solid rgba(8, 53, 86, 0.06) !important;
    border-radius: 10px !important;
    box-shadow: none !important;
  }

  .page-ims .site-nav__item--has-mega.is-open > .mega-menu--about{
    display: grid !important;
  }

  .page-ims .mega-menu--about .mega-menu__card{
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 0 !important;
    text-align: left !important;
  }

  .page-ims .mega-menu--about .mega-menu__card + .mega-menu__card{
    border-top: 1px solid rgba(8, 53, 86, 0.07) !important;
    padding-top: 10px !important;
    margin-top: 10px !important;
  }

  .page-ims .mega-menu--about .mega-menu__heading{
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    margin-bottom: 10px !important;
    text-align: left !important;
  }

  .page-ims .mega-menu--about .mega-menu__icon{
    flex: 0 0 22px !important;
  }

  .page-ims .mega-menu--about .mega-menu__title,
  .page-ims .mega-menu--about .mega-menu__text{
    text-align: left !important;
  }
}

