
/* ===== Shared base ===== */
:root {
  --navy: #011d44;
  --navy-deep: #00132e;
  --navy-soft: #0a2a55;
  --paper: #f3f4f5;
  --surface-soft: #f5f7fa;
  --white: #ffffff;
  --gold: #cf922f;
  --gold-light: #f7d065;
  --gold-deep: #9d641c;
  --red: #cd0c0f;
  --ink: #12233d;
  --muted: #5c6a7f;
  --line: rgba(1, 29, 68, 0.16);
  --line-light: rgba(255, 255, 255, 0.2);
  --shadow: 0 24px 70px rgba(0, 19, 46, 0.12);
  --radius: 24px;
  --radius-card: 24px;
  --radius-pill: 999px;
  --max: 1290px;
  --serif: "Cambo", Georgia, serif;
  --sans: "Inter Tight", Arial, sans-serif;
  --mono: "Inter Tight", Arial, sans-serif;
  --type-display-size: clamp(3.2rem, 5.2vw, 78px);
  --type-display-mobile-size: clamp(2.75rem, 12.2vw, 3.65rem);
  --type-section-size: clamp(2.7rem, 4vw, 66px);
  --type-section-mobile-size: clamp(2.55rem, 11vw, 3.125rem);
  --type-card-title-size: 26px;
  --type-body-large-size: 18px;
  --type-body-size: 16px;
}

/* Plano de Saúde: shared index composition. */
.xh-page .xh-objectives { background:var(--white); }
.xh-page .xh-objectives .x-section-intro { align-items:end; }
.xh-page .xh-objective-grid { margin-top:44px; }
.xh-page .xh-objective { grid-template-areas:"visual index" "visual title" "visual copy"; min-height:300px; }
.xh-page .xh-objective .x-solution__visual { min-height:260px; }
.xh-page .xh-objective h3 { max-width:320px; }
.xh-page .xh-objective p { max-width:360px; }
.xh-page .xh-objective .x-solution__link { display:none; }
.xh-page .xh-health-differentials { background:var(--white); }
.xh-page .xh-health-differentials .x-section-intro { align-items:end; }
.xh-page .xh-difference-grid { margin-top:44px; }
.xh-page .xh-difference-grid .xh-differential { min-height:260px; padding:24px; border:1px solid var(--x-line); border-radius:16px; background:var(--white); }
.xh-page .xh-difference-grid .xh-differential h3 { margin:22px 0 10px; }
.xh-page .xh-health-process { padding-top:112px; padding-bottom:112px; background:var(--x-ink); color:var(--white); }
.xh-page .xh-health-process .x-section-intro { display:block; }
.xh-page .xh-health-process .x-section-intro > p { max-width:420px; margin-top:24px; color:rgba(255,255,255,.72); }
.xh-page .xh-health-process .section-intro h2 { color:var(--white); }
.xh-page .xh-process-board { margin-top:42px; }
.xh-page .xh-process-board .x-path__step h3 { color:var(--white); }
.xh-page .xh-process-board .x-path__step p { color:rgba(255,255,255,.7); }
.xh-page .xh-health-cta { margin-top:0; }

@media (max-width:700px) {
  .xh-page .xh-objectives { padding-top:82px; padding-bottom:82px; }
  .xh-page .xh-objective-grid { margin-top:30px; }
  .xh-page .xh-objective { grid-template-areas:"visual" "index" "title" "copy"; }
  .xh-page .xh-objective .x-solution__visual { height:190px; min-height:190px; }
  .xh-page .xh-objective h3 { max-width:none; font-size:23px; }
  .xh-page .xh-health-differentials { padding-top:82px; padding-bottom:82px; }
  .xh-page .xh-difference-grid { margin-top:30px; }
  .xh-page .xh-difference-grid .xh-differential { min-height:auto; }
  .xh-page .xh-health-process { padding-top:82px; padding-bottom:82px; }
  .xh-page .xh-process-board { margin-top:30px; }
}

/* Compatibility for the shared card body inside the legacy health markup. */
.xh-page .xh-objective { grid-template-areas:"visual content"; grid-template-columns:minmax(180px,.92fr) minmax(0,1.08fr); }
.xh-page .xh-objective .xh-card__body { display:grid; grid-area:content; align-content:center; width:100%; min-width:0; padding:0; }
.xh-page .xh-objective .x-solution__index { margin-top:0; }
.xh-page .xh-objective h3,.xh-page .xh-objective p { grid-area:auto; }
@media (max-width:700px) {
  .xh-page .xh-objective { grid-template-areas:"visual" "content"; grid-template-columns:1fr; }
  .xh-page .xh-objective .xh-card__body { width:100%; }
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; scroll-padding-top: 92px; }

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

body::selection { background: var(--gold-light); color: var(--navy-deep); }

h1, h2, h3, h4, h5, h6 { font-family: var(--serif); }

img { display: block; max-width: 100%; }

a { color: inherit; text-decoration: none; }

button, a { -webkit-tap-highlight-color: transparent; }

a:focus-visible,
button:focus-visible {
  outline: 3px solid var(--gold-light);
  outline-offset: 4px;
}

.container {
  width: min(calc(100% - 64px), var(--max));
  margin-inline: auto;
}

.section-pad { padding: 128px 0; }

.section-pad--tight { padding-top: 112px; padding-bottom: 112px; }

.skip-link {
  position: fixed;
  left: 16px;
  top: -100px;
  z-index: 100;
  padding: 10px 14px;
  background: var(--gold-light);
  border-radius: var(--radius-pill);
  color: var(--navy-deep);
  font-weight: 700;
}

.skip-link:focus { top: 16px; }

.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 20;
}

.nav-shell {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  min-height: 78px;
  width: 100%;
  margin: 0;
  padding: 12px max(20px, calc((100% - var(--max)) / 2));
  background: var(--navy);
  color: var(--ink);
  border: 0;
  box-shadow: 0 10px 28px rgba(0, 19, 46, 0.16);
}

.brand { display: inline-flex; align-items: center; flex: 0 0 auto; }

.brand img { width: 194px; height: auto; }

.site-nav {
  display: flex;
  align-items: center;
  gap: clamp(16px, 2.2vw, 34px);
  font-family: var(--mono);
  font-size: 0.68rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.site-nav > a:not(.nav-cta) {
  position: relative;
  padding: 8px 0;
  color: var(--white);
  opacity: 0.86;
  transition: color 180ms ease, opacity 180ms ease;
}

.site-nav > a:not(.nav-cta)::after {
  position: absolute;
  right: 0;
  bottom: 1px;
  left: 0;
  height: 1px;
  background: var(--gold-light);
  content: "";
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 180ms ease;
}

.site-nav > a:not(.nav-cta):hover { opacity: 1; }
.site-nav > a:not(.nav-cta):hover::after { transform: scaleX(1); transform-origin: left; }

.solutions-menu { position: relative; }
.site-nav__dropdown-toggle { display: inline-flex; align-items: center; gap: 7px; border: 0; padding: 8px 0; background: transparent; color: var(--white); cursor: pointer; font: inherit; letter-spacing: inherit; text-transform: inherit; opacity: .86; }
.site-nav__dropdown-toggle:hover, .site-nav__dropdown-toggle[aria-expanded="true"] { opacity: 1; }
.site-nav__dropdown-toggle > .icon-arrow--down { width: 14px; height: 14px; transition: transform 180ms ease; }
.site-nav__dropdown-toggle[aria-expanded="true"] > .icon-arrow--down { transform: rotate(180deg); }
.solutions-menu__panel { position: absolute; top: calc(100% - 1px); left: 50%; z-index: 10; display: grid; min-width: 240px; padding: 8px; border: 1px solid rgba(1,29,68,.12); border-radius: 12px; background: var(--white); box-shadow: var(--shadow); opacity: 0; pointer-events: none; transform: translate(-50%, -6px); transition: opacity 180ms ease, transform 180ms ease; }
.solutions-menu:hover .solutions-menu__panel, .solutions-menu:focus-within .solutions-menu__panel, .solutions-menu.is-open .solutions-menu__panel { opacity: 1; pointer-events: auto; transform: translate(-50%, 0); }
.solutions-menu__panel a { padding: 12px 14px; border-radius: 8px; color: var(--navy); font-family: var(--mono); font-size: .68rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.solutions-menu__panel a:hover, .solutions-menu__panel a:focus-visible { background: var(--paper); color: var(--gold-deep); }

.icon-arrow { display: inline-block; width: 18px; height: 18px; flex: 0 0 auto; background-color: currentColor; vertical-align: middle; -webkit-mask: center / contain no-repeat; mask: center / contain no-repeat; }
.icon-arrow--right { -webkit-mask-image: url("../images/icons/icon-seta-direita.svg"); mask-image: url("../images/icons/icon-seta-direita.svg"); }
.icon-arrow--down { -webkit-mask-image: url("../images/icons/icon-seta-baixo.svg"); mask-image: url("../images/icons/icon-seta-baixo.svg"); }

.nav-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 16px;
  border-radius: var(--radius-pill);
  background: var(--gold-light);
  color: #000000;
  transition: background 180ms ease, transform 180ms ease;
}

.nav-cta:hover { background: var(--white); color: #000000; transform: translateY(-2px); }

.menu-toggle {
  display: none;
  align-items: center;
  gap: 10px;
  border: 0;
  padding: 10px 0;
  background: transparent;
  color: var(--white);
  font-family: var(--mono);
  font-size: 0.7rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.menu-toggle__icon { display: grid; gap: 5px; width: 22px; }
.menu-toggle__icon i { display: block; height: 1px; background: currentColor; transition: transform 180ms ease; }

.hero {
  position: relative;
  min-height: 840px;
  padding-top: 214px;
  overflow: hidden;
  background: var(--paper);
}

.hero::before {
  position: absolute;
  top: 130px;
  right: -240px;
  width: 630px;
  height: 630px;
  border: 1px solid rgba(207, 146, 47, 0.32);
  border-radius: 50%;
  content: "";
}

.hero::after {
  position: absolute;
  right: -45px;
  bottom: 92px;
  width: 190px;
  height: 7px;
  background: linear-gradient(90deg, var(--red) 0 48%, var(--navy) 48%);
  content: "";
  opacity: 0.95;
}

.hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 0.88fr) minmax(420px, 1.12fr);
  align-items: center;
  gap: clamp(50px, 8vw, 120px);
}

.eyebrow {
  margin: 0 0 20px;
  color: var(--red);
  font-family: var(--mono);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  line-height: 1.4;
  text-transform: uppercase;
}

.hero h1,
.section-intro h2,
.partners h2,
.final-cta h2 {
  margin: 0;
  color: var(--navy);
  font-family: var(--serif);
  font-weight: 400;
  letter-spacing: -0.045em;
}

.hero h1 {
  width: min(100%, 500px);
  max-width: 500px;
  font-size: clamp(3.05rem, 4.65vw, 4.85rem);
  font-weight: 600;
  line-height: 0.98;
}

.hero h1 em { color: var(--gold-deep); font-style: normal; }

.hero__lead {
  max-width: 570px;
  margin: 30px 0 0;
  color: var(--muted);
  font-size: clamp(1rem, 1.4vw, 1.18rem);
  line-height: 1.7;
}

.hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 38px; }

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 52px;
  padding: 14px 20px;
  border: 1px solid transparent;
  border-radius: var(--radius-pill);
  font-family: var(--mono);
  font-size: 0.71rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1.3;
  text-transform: uppercase;
  text-align: center;
  transition: transform 180ms ease, background 180ms ease, color 180ms ease, border-color 180ms ease;
}

.button:hover { transform: translateY(-3px); }
.button--primary { background: var(--navy); color: var(--white); }
.button--primary:hover { background: var(--red); }
.button--ghost { border-color: rgba(1, 29, 68, 0.26); color: var(--navy); }
.button--ghost:hover { border-color: var(--gold-deep); color: var(--gold-deep); }
.button--gold { background: var(--gold-light); color: var(--navy-deep); }
.button--gold:hover { background: var(--white); }

.hero__visual { position: relative; padding: 15px 0 0 15px; }

.hero__visual::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 46%;
  height: 72%;
  border-top: 1px solid var(--red);
  border-left: 1px solid var(--red);
  content: "";
}

.hero__image-wrap { position: relative; min-height: 500px; overflow: hidden; border-radius: var(--radius-card); background: var(--navy); }

.hero__image-wrap::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(1, 29, 68, 0.08), rgba(1, 29, 68, 0.2));
  content: "";
  pointer-events: none;
}

.hero__image-wrap img { width: 100%; height: 100%; min-height: 500px; object-fit: cover; filter: saturate(0.84) contrast(1.03); }

.hero__caption {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-top: 14px;
  color: var(--muted);
  font-family: var(--mono);
  font-size: 0.62rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hero__rule { position: absolute; right: 0; bottom: 26px; left: 0; height: 1px; background: var(--line); }

.section-intro { max-width: 760px; }
.section-intro h2, .partners h2 { font-size: clamp(2.7rem, 5vw, 5.1rem); line-height: 0.98; }
.section-intro p:not(.eyebrow) { max-width: 620px; margin: 26px 0 0; color: var(--muted); font-size: 1.08rem; }

.institutional { background: var(--white); }
.institutional__grid { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: clamp(60px, 9vw, 150px); margin-top: 72px; }
.institutional__copy { margin: 0; color: var(--ink); font-size: clamp(1.08rem, 1.5vw, 1.35rem); line-height: 1.75; }

.pillar-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.pillar-card { padding: 20px 18px 22px; border-top: 2px solid var(--gold); background: var(--paper); }
.pillar-card__index, .solution-card__number { display: block; color: var(--red); font-family: var(--mono); font-size: 0.68rem; letter-spacing: 0.12em; }
.pillar-card h3, .solution-card h3, .difference-card h3 { margin: 34px 0 10px; color: var(--navy); font-family: var(--serif); font-size: 1.55rem; font-weight: 400; letter-spacing: -0.025em; line-height: 1.08; }
.pillar-card p, .solution-card p, .difference-card p { margin: 0; color: var(--muted); font-size: 0.94rem; line-height: 1.6; }

.solutions { background: var(--navy); color: var(--white); }
.section-intro--light h2 { color: var(--white); }
.section-intro--light p:not(.eyebrow) { color: rgba(255, 255, 255, 0.7); }
.solutions__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-top: 74px; }
.solution-card { display: grid; grid-template-columns: 44px 1fr; gap: 20px; min-height: 300px; padding: 26px; border: 1px solid var(--line-light); background: rgba(255, 255, 255, 0.05); transition: border-color 180ms ease, background 180ms ease, transform 180ms ease; }
.solution-card:hover { border-color: var(--gold); background: rgba(255, 255, 255, 0.1); transform: translateY(-4px); }
.solution-card__number { color: var(--gold-light); }
.solution-card h3 { margin-top: 0; color: var(--white); font-size: 2.05rem; }
.solution-card p { color: rgba(255, 255, 255, 0.7); }
.solution-card--gold { border-color: var(--gold); background: var(--gold-light); }
.solution-card--gold .solution-card__number, .solution-card--gold h3 { color: var(--navy); }
.solution-card--gold p { color: rgba(0, 19, 46, 0.75); }
.text-link { display: inline-flex; gap: 8px; margin-top: 28px; color: var(--gold-light); font-family: var(--mono); font-size: 0.7rem; font-weight: 600; text-transform: uppercase; }
.solution-card--gold .text-link { color: var(--navy); }
.text-link:hover { color: var(--white); }
.solution-card--gold .text-link:hover { color: var(--red); }

.differentiators { background: var(--paper); }
.differentiators__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-top: 74px; background: var(--line); border: 1px solid var(--line); }
.difference-card { min-height: 320px; padding: 24px 22px; background: var(--paper); }
.difference-card__mark { display: inline-grid; place-items: center; width: 32px; height: 32px; border: 0; color: var(--gold-deep); font-family: var(--sans); font-size: 1.4rem; }
.difference-card__mark img { display: block; width: 32px; height: 32px; }
.difference-card h3 { margin-top: 64px; font-size: 1.65rem; }

.partners { background: var(--white); }
.partners__header { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 80px; align-items: end; }
.partners__header > p { max-width: 460px; margin: 0 0 4px; color: var(--muted); font-size: 1.05rem; }
.partner-groups { display: grid; grid-template-columns: 1fr 0.7fr; gap: 16px; margin-top: 74px; }
.partner-group { padding: 28px; border-top: 2px solid var(--navy); background: var(--paper); }
.partner-group--gold { border-top-color: var(--gold); background: #fff9ed; }
.partner-group__label, .footer__label { margin: 0 0 24px; color: var(--navy); font-family: var(--mono); font-size: 0.68rem; font-weight: 600; letter-spacing: 0.13em; text-transform: uppercase; }
.partner-list { display: flex; flex-wrap: wrap; gap: 8px; }
.partner-list span { padding: 11px 13px; border: 1px solid rgba(1, 29, 68, 0.14); color: var(--navy); font-family: var(--sans); font-size: 1.1rem; background: var(--white); }

.final-cta { background: var(--red); color: var(--white); }
.final-cta__inner { display: flex; align-items: end; justify-content: space-between; gap: 50px; }
.final-cta .eyebrow { color: var(--gold-light); }
.final-cta h2 { max-width: 780px; color: var(--white); font-size: clamp(2.8rem, 5.1vw, 5.35rem); }
.final-cta__inner .button { flex: 0 0 auto; }

.site-footer { padding: 76px 0 24px; background: var(--navy-deep); color: var(--white); }
.footer__grid { display: grid; grid-template-columns: 1fr 0.65fr 1.1fr; gap: 80px; }
.brand--footer img { width: min(280px, 100%); }
.footer__brand p { max-width: 240px; margin: 24px 0 0; color: rgba(255, 255, 255, 0.62); font-size: 0.95rem; }
.footer__label { color: var(--gold-light); }
.footer__links, .footer__contact { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.footer__links a, .footer__contact p, .footer__contact a { margin: 0; color: rgba(255, 255, 255, 0.72); font-size: 0.9rem; line-height: 1.5; }
.footer__links a:hover, .footer__contact a:hover { color: var(--gold-light); }
.footer__contact p strong { color: var(--white); font-weight: 600; }
.footer__bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 70px; padding-top: 20px; border-top: 1px solid var(--line-light); color: rgba(255, 255, 255, 0.48); font-family: var(--mono); font-size: 0.62rem; letter-spacing: 0.04em; }
.footer__bottom p { margin: 0; }

.reveal { opacity: 1; transform: none; }
.js .reveal { opacity: 0; transform: translateY(18px); transition: opacity 650ms ease, transform 650ms ease; }
.js .reveal.is-visible { opacity: 1; transform: none; }
.js .reveal--delay { transition-delay: 120ms; }

@media (max-width: 1040px) {
  .site-nav { gap: 16px; }
  .hero__grid { grid-template-columns: minmax(0, 0.9fr) minmax(360px, 1.1fr); gap: 52px; }
  .hero h1 { font-size: clamp(3rem, 5.2vw, 4.4rem); }
  .institutional__grid { gap: 56px; }
  .differentiators__grid { grid-template-columns: repeat(2, 1fr); }
  .footer__grid { gap: 42px; }
}

@media (max-width: 820px) {
  html { scroll-behavior: auto; scroll-padding-top: 80px; }
  .container { width: min(calc(100% - 40px), var(--max)); }
  .section-pad, .section-pad--tight { padding: 84px 0; }
  .nav-shell { min-height: 68px; padding: 10px 20px; }
  .brand img { width: 150px; }
  .menu-toggle { display: inline-flex; }
  .site-nav { position: absolute; top: calc(100% + 8px); right: 0; left: 0; display: flex; align-items: stretch; flex-direction: column; gap: 0; padding: 10px; border: 1px solid rgba(1, 29, 68, 0.12); border-radius: var(--radius-card); background: var(--white); box-shadow: var(--shadow); opacity: 0; pointer-events: none; transform: translateY(-6px); transition: opacity 180ms ease, transform 180ms ease; }
  .site-nav.is-open { opacity: 1; pointer-events: auto; transform: none; }
  .site-nav > a:not(.nav-cta) { padding: 13px 10px; border-bottom: 1px solid var(--line); color: var(--navy); opacity: 1; }
  .solutions-menu { width: 100%; }
  .site-nav__dropdown-toggle { width: 100%; justify-content: space-between; padding: 13px 10px; border-bottom: 1px solid var(--line); color: var(--navy); opacity: 1; }
  .solutions-menu .solutions-menu__panel { position: static; min-width: 0; padding: 4px 0 0 12px; border: 0; border-radius: 0; box-shadow: none; background: transparent; transform: none !important; }
  .solutions-menu:not(.is-open) .solutions-menu__panel, .solutions-menu:hover:not(.is-open) .solutions-menu__panel { max-height: 0; padding-top: 0; opacity: 0 !important; overflow: hidden; pointer-events: none !important; }
  .solutions-menu.is-open .solutions-menu__panel, .solutions-menu:hover.is-open .solutions-menu__panel { max-height: 320px; opacity: 1 !important; pointer-events: auto !important; }
  .solutions-menu__panel a { display: block; padding: 11px 10px; border-radius: 6px; color: var(--muted); font-size: .64rem; }
  .solutions-menu__panel a:hover, .solutions-menu__panel a:focus-visible { background: var(--paper); color: var(--gold-deep); }
  .nav-cta { justify-content: center; margin-top: 10px; }
  .hero { min-height: auto; padding-top: 170px; padding-bottom: 110px; }
  .hero::before { top: 220px; right: -360px; }
  .hero__grid { grid-template-columns: 1fr; gap: 56px; }
  .hero__copy { max-width: 680px; }
  .hero h1 { width: auto; max-width: 630px; font-size: clamp(3.2rem, 9.5vw, 5.2rem); }
  .hero__visual { max-width: 680px; }
  .hero__image-wrap, .hero__image-wrap img { min-height: 440px; }
  .hero__rule { bottom: 22px; }
  .institutional__grid, .partners__header { grid-template-columns: 1fr; gap: 44px; }
  .pillar-grid { grid-template-columns: repeat(3, 1fr); }
  .solutions__grid, .partner-groups { grid-template-columns: 1fr; }
  .final-cta__inner { align-items: flex-start; flex-direction: column; }
  .footer__grid { grid-template-columns: 1fr 1fr; gap: 48px 30px; }
  .footer__brand { grid-column: 1 / -1; }
}

@media (max-width: 560px) {
  .container { width: min(calc(100% - 32px), var(--max)); }
  .nav-shell { padding-inline: 16px; }
  .brand img { width: 137px; }
  .hero { padding-top: 150px; }
  .hero h1 { font-size: clamp(2.85rem, 13vw, 4.2rem); }
  .hero__lead { font-size: 1rem; }
  .hero__actions { align-items: stretch; flex-direction: column; }
  .button { width: 100%; }
  .hero__visual { padding: 10px 0 0 10px; }
  .hero__image-wrap, .hero__image-wrap img { min-height: 360px; }
  .hero__caption { flex-direction: column; gap: 4px; font-size: 0.57rem; }
  .section-intro h2, .partners h2, .final-cta h2 { font-size: clamp(2.7rem, 13vw, 4rem); }
  .institutional__grid { margin-top: 48px; }
  .pillar-grid, .differentiators__grid { grid-template-columns: 1fr; }
  .pillar-card { padding: 18px; }
  .solution-card { grid-template-columns: 34px 1fr; gap: 12px; min-height: auto; padding: 22px 18px; }
  .solution-card h3 { font-size: 1.75rem; }
  .difference-card { min-height: auto; padding: 22px 18px 28px; }
  .difference-card h3 { margin-top: 40px; }
  .partner-group { padding: 22px 18px; }
  .partner-list span { font-size: 1rem; }
  .footer__grid { grid-template-columns: 1fr; gap: 34px; }
  .footer__brand { grid-column: auto; }
  .footer__bottom { align-items: flex-start; flex-direction: column; gap: 8px; margin-top: 50px; }
}

/* Internal landing pages */
.product-page { background: var(--paper); }
.product-main { overflow: hidden; }
.product-hero { position: relative; display: flex; min-height: max(760px, 100svh); align-items: center; isolation: isolate; overflow: hidden; padding: 180px 0 110px; background: var(--navy-deep); color: var(--white); }
.product-hero__backdrop, .product-hero__overlay { position: absolute; inset: 0; }
.product-hero__backdrop { z-index: -2; overflow: hidden; }
.product-hero__backdrop img { width: 100%; height: 100%; object-fit: cover; object-position: center 54%; filter: saturate(.78) contrast(1.03); }
.product-hero__overlay { z-index: -1; background: linear-gradient(90deg, rgba(0,19,46,.97) 0%, rgba(0,19,46,.87) 42%, rgba(0,19,46,.48) 100%); }
.product-hero__copy { max-width: 820px; }
.product-hero .eyebrow, .product-section--navy .eyebrow, .product-final .eyebrow { color: var(--gold-light); }
.product-hero h1, .product-section h2, .product-final h2 { margin: 0; font-family: var(--serif); font-weight: 600; letter-spacing: -.055em; line-height: .98; }
.product-hero h1 { max-width: 840px; color: var(--white); font-size: clamp(3.2rem, 6vw, 6.8rem); }
.product-hero__lead { max-width: 720px; margin: 28px 0 0; color: rgba(255,255,255,.88); font-size: clamp(1.1rem, 1.45vw, 1.35rem); line-height: 1.55; }
.product-hero__lead--small { margin-top: 16px; font-size: 1.02rem; color: rgba(255,255,255,.7); }
.product-hero__benefits { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px 28px; max-width: 720px; margin: 30px 0 34px; padding: 0; list-style: none; color: rgba(255,255,255,.9); }
.product-hero__benefits li { position: relative; padding-left: 20px; }
.product-hero__benefits li::before { position: absolute; top: .7em; left: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--gold-light); content: ""; }
.product-hero .button { background: var(--gold-light); color: var(--navy-deep); }
.product-hero .button:hover { background: var(--white); }
.product-hero__support { margin: 12px 0 0; color: rgba(255,255,255,.62); font-size: .88rem; }
.product-section { padding: 128px 0; }
.product-section--white { background: var(--white); }
.product-section--paper { background: var(--paper); }
.product-section--navy { background: var(--navy); color: var(--white); }
.product-section__header { max-width: 800px; }
.product-section__header h2, .product-final h2 { color: var(--navy); font-size: clamp(2.8rem, 5vw, 5.6rem); }
.product-section__header > p:not(.eyebrow) { max-width: 720px; margin: 28px 0 0; color: var(--muted); font-size: 1.08rem; line-height: 1.7; }
.product-section__header--light h2, .product-section__header--light > p:not(.eyebrow) { color: var(--white); }
.product-grid { display: grid; gap: 16px; margin-top: 72px; }
.product-grid--four { grid-template-columns: repeat(4, 1fr); }
.product-card { min-height: 310px; padding: 28px 24px; border-top: 2px solid var(--gold); background: var(--paper); }
.product-card__number { color: var(--red); font-family: var(--mono); font-size: .72rem; font-weight: 600; letter-spacing: .12em; }
.product-card h3, .product-step h3, .product-lead-card h3 { margin: 58px 0 14px; color: var(--navy); font-family: var(--serif); font-size: 1.65rem; font-weight: 600; letter-spacing: -.025em; line-height: 1.08; }
.product-card p, .product-step p, .product-copy-block p { margin: 0; color: var(--muted); line-height: 1.65; }
.product-split { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(60px, 9vw, 150px); align-items: start; }
.product-split--reverse { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
.product-copy-block { max-width: 680px; }
.product-copy-block > p { margin: 0 0 24px; font-size: 1.12rem; }
.product-list { display: grid; gap: 15px; margin: 0; padding: 0; list-style: none; }
.product-list li { position: relative; padding-left: 24px; color: var(--muted); line-height: 1.6; }
.product-list li::before { position: absolute; top: .72em; left: 0; width: 8px; height: 8px; border-radius: 50%; background: var(--gold); content: ""; }
.product-list strong { color: var(--navy); }
.product-list--light li { color: rgba(255,255,255,.78); }
.product-list--light strong { color: var(--white); }
.product-copy-block .button { margin-top: 34px; }
.product-note { margin-top: 28px !important; padding-top: 22px; border-top: 1px solid var(--line); font-size: .96rem !important; }
.product-process { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-top: 72px; background: var(--line-light); }
.product-step { min-height: 280px; padding: 28px 24px; background: rgba(255,255,255,.06); }
.product-step > span { color: var(--gold-light); font-family: var(--mono); font-size: .72rem; font-weight: 600; letter-spacing: .14em; }
.product-step h3 { margin-top: 56px; color: var(--white); }
.product-step p { color: rgba(255,255,255,.7); }
.product-faq-layout { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(60px, 9vw, 150px); align-items: start; }
.product-faq { display: grid; gap: 1px; background: var(--line); border: 1px solid var(--line); }
.product-faq details { padding: 22px 24px; background: var(--white); }
.product-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; cursor: pointer; color: var(--navy); font-family: var(--serif); font-size: 1.35rem; font-weight: 600; list-style: none; }
.product-faq summary::-webkit-details-marker { display: none; }
.product-faq summary::after { color: var(--gold-deep); content: "+"; font-family: var(--sans); font-size: 1.5rem; font-weight: 400; }
.product-faq details[open] summary::after { content: "−"; }
.product-faq details p { max-width: 680px; margin: 16px 40px 0 0; color: var(--muted); line-height: 1.65; }
.product-final { padding: 128px 0; background: var(--navy-deep); color: var(--white); }
.product-final__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, 500px); gap: clamp(50px, 8vw, 120px); align-items: center; }
.product-final h2 { color: var(--white); }
.product-final .product-section__header > p:not(.eyebrow) { color: rgba(255,255,255,.72); }
.product-lead-card { padding: 34px; border-radius: var(--radius-card); background: var(--white); color: var(--ink); box-shadow: var(--shadow); }
.product-lead-card .eyebrow { margin-bottom: 12px; color: var(--gold-deep); }
.product-lead-card h3 { margin: 0 0 24px; font-size: 2.15rem; }
.product-lead-form { display: grid; gap: 14px; }
.product-form-field { display: grid; gap: 6px; }
.product-form-field > span { color: var(--navy); font-family: var(--mono); font-size: .72rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.product-form-field input, .product-form-field select { width: 100%; min-height: 46px; padding: 10px 13px; border: 1px solid rgba(1,29,68,.2); border-radius: 10px; background: var(--white); color: var(--ink); font: inherit; }
.product-form-field input:focus, .product-form-field select:focus { border-color: var(--gold-deep); outline: 3px solid rgba(247,208,101,.35); outline-offset: 1px; }
.product-form-field input:invalid:not(:placeholder-shown), .product-form-field select:invalid { border-color: var(--red); }
.product-lead-card .button { width: 100%; }
.product-form__status { margin: 0; padding: 12px 14px; border-radius: 10px; background: #fff9ed; color: var(--gold-deep); font-size: .84rem; line-height: 1.45; }
.lead-form__status[data-state="pending"] { color:#76531b; background:#fff9ed; }
.lead-form__status[data-state="success"] { color:#245d3d; background:#edf8f1; }
.lead-form__status[data-state="error"] { color:#9a2023; background:#fff0f0; }
.lead-form__status a { color:inherit; font-weight:800; text-decoration:underline; }
button:disabled { cursor:wait; opacity:.68; }
.product-lead-card__microcopy { margin: 18px 0 0; color: var(--muted); font-size: .78rem; line-height: 1.5; }

@media (max-width: 1040px) {
  .product-grid--four, .product-process { grid-template-columns: repeat(2, 1fr); }
  .product-final__inner { grid-template-columns: 1fr 420px; gap: 48px; }
}

@media (max-width: 820px) {
  .product-hero { min-height: auto; padding: 150px 0 90px; }
  .product-hero__overlay { background: linear-gradient(180deg, rgba(0,19,46,.94) 0%, rgba(0,19,46,.82) 62%, rgba(0,19,46,.94) 100%); }
  .product-hero h1 { font-size: clamp(3rem, 10vw, 5.2rem); }
  .product-hero__benefits { grid-template-columns: 1fr; }
  .product-split, .product-split--reverse, .product-faq-layout, .product-final__inner { grid-template-columns: 1fr; gap: 48px; }
  .product-section, .product-final { padding: 88px 0; }
  .product-lead-card { max-width: 620px; }
}

@media (max-width: 560px) {
  .product-hero { padding: 124px 0 70px; }
  .product-hero h1 { font-size: clamp(2.65rem, 12.2vw, 3.7rem); }
  .product-hero__lead { font-size: 1rem; }
  .product-grid--four, .product-process { grid-template-columns: 1fr; }
  .product-card { min-height: 0; }
  .product-card h3 { margin-top: 34px; }
  .product-faq summary { font-size: 1.15rem; }
  .product-lead-card { padding: 24px 20px; }
  .product-lead-card h3 { font-size: 1.85rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
  .js .reveal, .js .reveal.is-visible { opacity: 1; transform: none; }
}

/* Reference-led section refinements */
.institutional__layout {
  display: grid;
  grid-template-columns: minmax(300px, 0.86fr) minmax(0, 1.14fr);
  gap: 20px;
  margin-top: 72px;
}

.institutional__image {
  position: relative;
  min-height: 590px;
  margin: 0;
  overflow: hidden;
  border-radius: var(--radius-card);
  background: var(--navy);
}

.institutional__image::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 52%, rgba(0, 19, 46, 0.48));
  content: "";
  pointer-events: none;
}

.institutional__image img { width: 100%; height: 100%; min-height: 590px; object-fit: cover; }

.image-label {
  position: absolute;
  top: 18px;
  left: 18px;
  z-index: 1;
  padding: 10px 16px;
  border-radius: var(--radius-pill);
  background: var(--gold-light);
  color: var(--navy-deep);
  font-family: var(--mono);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.pillar-grid--four {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border-radius: var(--radius-card);
  background: var(--line);
}

.pillar-grid--four .pillar-card {
  min-height: 0;
  padding: 30px 28px;
  border: 0;
  background: var(--paper);
}

.pillar-grid--four .pillar-card:first-child { grid-column: 1 / -1; }
.pillar-grid--four .pillar-card h3 { margin-top: 46px; }

.institutional__copy-wrap { max-width: 700px; margin-top: 48px; }

.solutions { background: var(--paper); color: var(--ink); }
.solutions__header { display: flex; align-items: end; justify-content: space-between; gap: 40px; }
.section-intro--light h2 { color: var(--navy); }
.section-intro--light p:not(.eyebrow) { color: var(--muted); }
.carousel-controls { display: flex; gap: 10px; padding-bottom: 8px; }
.carousel-control { display: inline-grid; place-items: center; width: 52px; height: 52px; border: 0; border-radius: 50%; background: var(--white); color: var(--navy); box-shadow: 0 5px 20px rgba(0, 19, 46, 0.08); cursor: pointer; font-family: var(--sans); font-size: 1.2rem; transition: background 180ms ease, color 180ms ease, transform 180ms ease; }
.carousel-control:hover { background: var(--gold-light); color: var(--navy-deep); transform: translateY(-2px); }
.solutions__viewport { margin-top: 68px; overflow-x: auto; padding: 0 2px 26px; scrollbar-color: var(--gold) rgba(1, 29, 68, 0.1); scrollbar-width: thin; }
.solutions__grid { display: flex; gap: 18px; margin-top: 0; }
.solution-card.solution-card--image { display: block; flex: 0 0 calc((100% - 54px) / 4); min-height: 0; padding: 0; border: 0; background: transparent; overflow: visible; }
.solution-card.solution-card--image:hover { border: 0; background: transparent; transform: none; }
.solution-card__media { position: relative; height: 365px; overflow: hidden; border-radius: var(--radius-card); background: var(--navy); }
.solution-card__media::after { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 50%, rgba(0, 19, 46, 0.3)); content: ""; }
.solution-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 500ms ease; }
.solution-card:hover .solution-card__media img { transform: scale(1.04); }
.solution-card__tag { position: absolute; bottom: 16px; left: 16px; z-index: 1; padding: 10px 15px; border-radius: var(--radius-pill); background: var(--gold-light); color: var(--navy-deep); font-family: var(--mono); font-size: 0.68rem; font-weight: 600; letter-spacing: 0.07em; text-transform: uppercase; }
.solution-card__body { position: relative; z-index: 2; min-height: 280px; margin: -32px 12px 0; padding: 24px 22px 32px; border-radius: var(--radius-card); background: var(--white); box-shadow: 0 14px 32px rgba(0, 19, 46, 0.1); }
.solution-card h3 { margin: 0 0 12px; color: var(--navy); font-size: 1.8rem; }
.solution-card p { color: var(--muted); }
.solution-card .text-link { color: var(--gold-deep); }
.solution-card .text-link:hover { color: var(--red); }
.solution-card--gold .solution-card__body { background: #fff9ed; }

.differentiators { background: var(--paper); }
.differentiators__feature { position: relative; min-height: 545px; overflow: hidden; border-radius: var(--radius-card); background: var(--navy); }
.differentiators__feature::after { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 19, 46, 0.04) 25%, rgba(0, 19, 46, 0.84) 100%); content: ""; }
.differentiators__feature > img { width: 100%; height: 545px; object-fit: cover; filter: saturate(0.8); }
.differentiators__feature-copy { position: absolute; right: 48px; bottom: 42px; left: 48px; z-index: 1; max-width: 800px; }
.differentiators__feature-copy .eyebrow { color: var(--gold-light); }
.differentiators__feature-copy h2 { margin: 0; color: var(--white); font-family: var(--serif); font-size: clamp(3rem, 5.7vw, 5.4rem); font-weight: 400; letter-spacing: -0.045em; line-height: 0.96; }
.differentiators__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin-top: 20px; border: 0; border-radius: var(--radius-card); overflow: hidden; background: var(--line); }
.differentiators__grid .difference-card { min-height: 300px; padding: 26px 24px; background: var(--white); }
.differentiators__grid .difference-card h3 { margin-top: 58px; }

.partner-carousel { margin-top: 58px; padding: 24px 0 28px; border: 1px solid var(--line); border-radius: var(--radius-card); overflow: hidden; }
.partner-carousel--gold { margin-top: 18px; background: #fff9ed; border-color: rgba(207, 146, 47, 0.3); }
.partner-carousel .partner-group__label { margin: 0 0 18px; padding: 0 22px; }
.partner-carousel__viewport { overflow: hidden; }
.partner-carousel__track { display: flex; width: max-content; align-items: center; gap: 12px; animation: partner-marquee 34s linear infinite; }
.partner-carousel__track--reverse { animation-name: partner-marquee-reverse; animation-duration: 26s; }
.partner-carousel:hover .partner-carousel__track, .partner-carousel:focus-within .partner-carousel__track { animation-play-state: paused; }
.partner-logo { display: inline-flex; align-items: center; justify-content: center; min-width: 170px; min-height: 60px; padding: 12px 18px; color: var(--navy); font-family: var(--sans); font-size: 1.22rem; letter-spacing: -0.02em; white-space: nowrap; }
.partner-logo:nth-child(3n) { font-family: var(--mono); font-size: 1rem; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; }
.partner-carousel--gold .partner-logo { color: var(--gold-deep); }
@keyframes partner-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes partner-marquee-reverse { from { transform: translateX(-50%); } to { transform: translateX(0); } }

.final-cta { position: relative; min-height: 650px; padding: 0; overflow: hidden; background: var(--navy-deep); }
.final-cta__media, .final-cta__overlay { position: absolute; inset: 0; width: 100%; height: 100%; }
.final-cta__media { object-fit: cover; filter: grayscale(1) brightness(0.52); }
.final-cta__overlay { background: rgba(0, 19, 46, 0.48); }
.final-cta__inner { position: relative; z-index: 1; display: grid; min-height: 650px; place-items: center; text-align: center; }
.final-cta__content { max-width: 790px; }
.final-cta__content .eyebrow { color: var(--gold-light); }
.final-cta h2 { color: var(--white); font-size: clamp(3rem, 6vw, 5.6rem); line-height: 0.96; }
.final-cta__content > p:not(.eyebrow) { max-width: 620px; margin: 28px auto 0; color: rgba(255, 255, 255, 0.76); font-size: 1.05rem; }
.final-cta__content .button { margin-top: 32px; }

@media (max-width: 1040px) {
  .solution-card.solution-card--image { flex-basis: calc((100% - 36px) / 3); }
  .differentiators__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
  .institutional__layout { grid-template-columns: 1fr; margin-top: 52px; }
  .institutional__image, .institutional__image img { min-height: 430px; }
  .pillar-grid--four .pillar-card { min-height: 260px; }
  .solutions__header { align-items: start; flex-direction: column; gap: 24px; }
  .carousel-controls { padding-bottom: 0; }
  .solutions__viewport { margin-top: 40px; }
  .solution-card.solution-card--image { flex-basis: min(74vw, 360px); }
  .differentiators__feature, .differentiators__feature > img { min-height: 500px; height: 500px; }
  .differentiators__feature-copy { right: 28px; bottom: 30px; left: 28px; }
  .partner-logo { min-width: 150px; }
  .final-cta, .final-cta__inner { min-height: 590px; }
}

@media (max-width: 560px) {
  .pillar-grid--four { grid-template-columns: 1fr; }
  .pillar-grid--four .pillar-card { min-height: 210px; }
  .institutional__copy-wrap { margin-top: 34px; }
  .solution-card.solution-card--image { flex-basis: 84vw; }
  .solution-card__media { height: 310px; }
  .solution-card__body { min-height: 260px; }
  .differentiators__grid { grid-template-columns: 1fr; }
  .differentiators__grid .difference-card { min-height: 250px; }
  .final-cta, .final-cta__inner { min-height: 670px; }
  .final-cta__content { padding: 40px 0; }
}

@media (prefers-reduced-motion: reduce) {
  .partner-carousel__track { animation: none; transform: none; }
}

/* Feedback refinements: scale, alignment and one-card carousel progression */
.site-nav { font-size: 12px; font-weight: 600; }
.button { font-size: 15px; font-weight: 700; }
.hero__grid { grid-template-columns: minmax(0, 1fr) minmax(420px, 600px); gap: 0; }
.hero__copy { max-width: 642px; }
.hero__visual { width: min(100%, 600px); justify-self: end; }
.hero h1 { width: 100%; max-width: 642px; font-size: 78px; letter-spacing: -0.065em; }
.hero__lead { font-size: 20px; font-weight: 600; line-height: 1.3; }
.section-intro h2, .partners h2 { font-size: clamp(2.7rem, 4vw, 66px); font-weight: 600; }
.institutional > .container > .section-intro { width: min(100%, 860px); max-width: 860px; margin-inline: auto; text-align: center; }
.institutional__copy-wrap { max-width: 1080px; margin: 48px auto 0; text-align: center; }
.institutional__copy { font-size: 20px; font-weight: 600; }
.pillar-grid--four .pillar-card h3 { font-size: 26px; font-weight: 600; }
.pillar-grid--four .pillar-card p { font-size: 17px; }
.solutions__grid { scroll-snap-type: x mandatory; }
.solution-card.solution-card--image { flex-basis: calc((100% - 36px) / 3); scroll-snap-align: start; }
.solution-card__tag { margin-bottom: 30px; }
.solutions__viewport { scrollbar-width: none; -ms-overflow-style: none; }
.solutions__viewport::-webkit-scrollbar { display: none; }
.solution-card__body { display: flex; height: 280px; min-height: 280px; flex-direction: column; box-shadow: none; }
.solution-card__body .text-link { margin-top: auto; padding-top: 24px; padding-bottom: 2px; font-size: 14px; font-weight: 700; }
.differentiators__feature-copy { max-width: 974px; }
.differentiators__feature-copy h2 { font-size: clamp(2.7rem, 4vw, 66px); font-weight: 600; }
.final-cta__inner { width: 100%; max-width: none; margin-inline: 0; padding-inline: max(20px, calc((100% - var(--max)) / 2)); display: grid; grid-template-columns: minmax(0, 1fr); align-items: center; justify-items: center; }
.final-cta__content { width: min(100%, 790px); margin-inline: auto; justify-self: center; text-align: center; }
.final-cta h2 { max-width: 716px; margin-inline: auto; font-size: clamp(2.7rem, 4vw, 66px); font-weight: 600; }
.footer__brand > p { white-space: nowrap; }
.brand--footer img { width: 180px; }
.footer__social { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.footer__social a { display: inline-grid; width: 44px; height: 44px; place-items: center; padding: 0; border: 1px solid rgba(247, 208, 101, 0.42); border-radius: 50%; color: var(--gold-light); transition: background 180ms ease, color 180ms ease, border-color 180ms ease, transform 180ms ease; }
.footer__social a:hover { border-color: var(--gold-light); background: var(--gold-light); color: var(--navy-deep); }
.footer__social a:hover { transform: translateY(-2px); }
.footer__social img { width: 24px; height: 24px; }

@media (max-width: 820px) {
  .hero__grid { grid-template-columns: 1fr; gap: 56px; }
  .hero__copy { max-width: 680px; }
  .hero h1 { max-width: 630px; font-size: clamp(3.2rem, 9.5vw, 5.2rem); letter-spacing: -0.045em; }
  .hero__lead { font-size: 1rem; font-weight: 400; line-height: 1.7; }
  .hero__visual { width: 100%; justify-self: stretch; }
  .pillar-grid--four .pillar-card:first-child { grid-column: 1 / -1; }
  .solution-card.solution-card--image { flex-basis: calc(100% - 44px); }
  .solution-card__body { height: auto; min-height: 260px; }
  .differentiators__feature-copy h2 { font-size: clamp(2.6rem, 9vw, 4.2rem); }
}

@media (max-width: 560px) {
  .pillar-grid--four .pillar-card:first-child { grid-column: auto; }
  .solution-card.solution-card--image { flex-basis: calc(100% - 28px); }
  .section-intro h2, .partners h2, .final-cta h2 { font-size: clamp(2.7rem, 13vw, 4rem); }
  .institutional > .container > .section-intro,
  .institutional__copy-wrap { text-align: center; }
}

/* Full-bleed hero and final card typography */
.hero {
  display: flex;
  min-height: max(760px, 100svh);
  align-items: center;
  isolation: isolate;
  padding: 160px 0 96px;
  background: var(--navy-deep);
}

.hero::before,
.hero::after {
  display: none;
}

.hero__backdrop,
.hero__overlay {
  position: absolute;
  inset: 0;
}

.hero__backdrop {
  z-index: -2;
  overflow: hidden;
}

.hero__backdrop img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(0.78) contrast(1.04);
}

.hero__overlay {
  z-index: -1;
  background: linear-gradient(90deg, rgba(0, 19, 46, 0.96) 0%, rgba(0, 19, 46, 0.84) 42%, rgba(0, 19, 46, 0.45) 72%, rgba(0, 19, 46, 0.58) 100%);
}

.hero__grid {
  grid-template-columns: minmax(0, 820px);
  gap: 0;
}

.hero__copy {
  max-width: 820px;
}

.hero .eyebrow {
  color: var(--gold-light);
}

.hero h1 {
  max-width: 790px;
  color: var(--white);
}

.hero h1 .hero__highlight { color: rgb(247, 208, 101); }

.hero__lead {
  max-width: 650px;
  color: rgba(255, 255, 255, 0.84);
}

.hero .button--primary {
  background: var(--gold-light);
  color: var(--navy-deep);
}

.hero .button--primary:hover {
  background: var(--white);
  color: var(--navy-deep);
}

.hero .button--ghost {
  border-color: rgba(255, 255, 255, 0.72);
  background: rgba(0, 19, 46, 0.22);
  color: var(--white);
  backdrop-filter: blur(8px);
}

.hero .button--ghost:hover {
  border-color: var(--gold-light);
  background: rgba(247, 208, 101, 0.14);
  color: var(--gold-light);
}

.solution-card h3,
.difference-card h3 {
  font-weight: 600;
}

@media (max-width: 820px) {
  .hero {
    min-height: max(680px, 100svh);
    padding: 140px 0 90px;
  }

  .hero__backdrop img {
    object-position: 62% center;
  }

  .hero__overlay {
    background: linear-gradient(90deg, rgba(0, 19, 46, 0.95) 0%, rgba(0, 19, 46, 0.84) 70%, rgba(0, 19, 46, 0.7) 100%);
  }

  .hero__grid {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .hero__copy {
    max-width: 680px;
  }

  .hero h1 {
    max-width: 660px;
  }

  .hero__lead {
    max-width: 600px;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.45;
  }
}

@media (max-width: 560px) {
  .hero {
    min-height: max(720px, 100svh);
    padding: 124px 0 64px;
  }

  .hero__copy,
  .hero__actions,
  .hero__actions .button {
    min-width: 0;
    max-width: 100%;
  }

  .hero__backdrop img {
    object-position: 62% center;
  }

  .hero__overlay {
    background: linear-gradient(180deg, rgba(0, 19, 46, 0.94) 0%, rgba(0, 19, 46, 0.82) 58%, rgba(0, 19, 46, 0.92) 100%);
  }

  .hero h1 {
    font-size: clamp(2.75rem, 12.2vw, 3.65rem);
    line-height: 1;
  }

  .hero__lead {
    margin-top: 24px;
    font-size: 16px;
    line-height: 1.5;
  }

  .hero__actions {
    margin-top: 30px;
  }

  .hero__actions .button {
    white-space: normal;
  }
}

/* Hero sizing contract: fixed editorial measure on desktop, fluid on mobile. */
.hero__copy { max-width: 668px; }
.hero h1 { width: 668px; max-width: 668px; font-size: 78px; }

@media (min-width: 821px) and (max-width: 1366px) {
  .hero__copy { max-width: 658px; }
  .hero h1 { width: 658px; max-width: 658px; font-size: 78px; }
}

@media (max-width: 820px) {
  .hero > .container { width: auto; margin-inline: 20px; }
  .hero__grid { width: 100%; }
  .hero__copy { width: 100%; max-width: 680px; }
  .hero h1 { width: auto; max-width: 660px; font-size: clamp(3.2rem, 9.5vw, 5.2rem); }
}

@media (max-width: 560px) {
  .hero h1 { max-width: 100%; font-size: clamp(2.75rem, 12.2vw, 3.65rem); }
}

/* Guided WhatsApp contact */
body.has-open-dialog { overflow: hidden; }

.whatsapp-float {
  position: fixed;
  right: max(22px, env(safe-area-inset-right));
  bottom: max(22px, env(safe-area-inset-bottom));
  z-index: 30;
  display: grid;
  width: 68px;
  height: 68px;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  box-shadow: 0 14px 34px rgba(0, 19, 46, 0.28);
  cursor: pointer;
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.whatsapp-float:hover {
  box-shadow: 0 18px 40px rgba(0, 19, 46, 0.34);
  transform: translateY(-4px);
}

.whatsapp-float img {
  display: block;
  width: 100%;
  height: 100%;
}

.whatsapp-dialog {
  width: min(calc(100% - 32px), 520px);
  max-height: min(760px, calc(100dvh - 32px));
  margin: auto;
  padding: 0;
  overflow-x: hidden;
  overflow-y: auto;
  border: 0;
  border-radius: var(--radius-card);
  background: var(--white);
  color: var(--ink);
  box-shadow: 0 28px 90px rgba(0, 19, 46, 0.38);
}

.whatsapp-dialog::backdrop {
  background: rgba(0, 19, 46, 0.72);
  backdrop-filter: blur(5px);
}

.whatsapp-dialog__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding: 30px 30px 22px;
  background: var(--navy);
  color: var(--white);
}

.whatsapp-dialog__eyebrow {
  margin: 0 0 7px;
  color: var(--gold-light);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.whatsapp-dialog__header h2 {
  max-width: 380px;
  margin: 0;
  color: var(--white);
  font-size: clamp(1.9rem, 5vw, 2.65rem);
  font-weight: 600;
  letter-spacing: -0.035em;
  line-height: 1.04;
}

.whatsapp-dialog__close {
  display: grid;
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  place-items: center;
  padding: 0 0 3px;
  border: 1px solid rgba(255, 255, 255, 0.34);
  border-radius: 50%;
  background: transparent;
  color: var(--white);
  cursor: pointer;
  font-family: var(--sans);
  font-size: 1.75rem;
  line-height: 1;
  transition: background 180ms ease, color 180ms ease;
}

.whatsapp-dialog__close:hover {
  background: var(--gold-light);
  color: var(--navy-deep);
}

.whatsapp-progress {
  display: flex;
  gap: 8px;
  padding: 22px 30px 0;
}

.whatsapp-progress span {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
  transition: background 180ms ease, border-color 180ms ease, color 180ms ease;
}

.whatsapp-progress span.is-active {
  border-color: var(--gold-light);
  background: var(--gold-light);
  color: var(--navy-deep);
}

.whatsapp-step {
  padding: 24px 30px 30px;
}

.whatsapp-step[hidden] { display: none; }

.whatsapp-step h3 {
  margin: 0 0 20px;
  color: var(--navy);
  font-size: 1.7rem;
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.15;
}

.whatsapp-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.whatsapp-option {
  position: relative;
  cursor: pointer;
}

.whatsapp-option input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.whatsapp-option span {
  display: flex;
  min-height: 58px;
  align-items: center;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  color: var(--navy);
  font-weight: 600;
  line-height: 1.25;
  transition: border-color 180ms ease, background 180ms ease, color 180ms ease;
}

.whatsapp-option:hover span {
  border-color: var(--gold);
  background: #fff9ed;
}

.whatsapp-option input:checked + span {
  border-color: var(--navy);
  background: var(--navy);
  color: var(--white);
}

.whatsapp-option input:focus-visible + span {
  outline: 3px solid var(--gold-light);
  outline-offset: 3px;
}

.whatsapp-field {
  display: grid;
  gap: 8px;
}

.whatsapp-field > span {
  color: var(--navy);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.whatsapp-field input {
  width: 100%;
  min-height: 56px;
  padding: 13px 15px;
  border: 1px solid rgba(1, 29, 68, 0.26);
  border-radius: 14px;
  background: var(--white);
  color: var(--ink);
  font: inherit;
  transition: border-color 180ms ease, box-shadow 180ms ease;
}

.whatsapp-field input:focus {
  border-color: var(--gold-deep);
  box-shadow: 0 0 0 3px rgba(247, 208, 101, 0.34);
  outline: 0;
}

.whatsapp-field input[aria-invalid="true"] {
  border-color: var(--red);
}

.whatsapp-form__error {
  min-height: 24px;
  margin: 9px 0 8px;
  color: var(--red);
  font-size: 0.86rem;
  font-weight: 600;
}

.whatsapp-step__next {
  width: 100%;
}

.whatsapp-step__actions {
  display: grid;
  grid-template-columns: 0.75fr 1.25fr;
  gap: 10px;
}

.whatsapp-step__actions .button {
  width: 100%;
}

@media (max-width: 560px) {
  .whatsapp-float {
    right: max(14px, env(safe-area-inset-right));
    bottom: max(14px, env(safe-area-inset-bottom));
    width: 60px;
    height: 60px;
  }

  .whatsapp-dialog {
    width: min(calc(100% - 20px), 520px);
    max-height: calc(100dvh - 20px);
    border-radius: 20px;
  }

  .whatsapp-dialog__header {
    gap: 14px;
    padding: 24px 20px 20px;
  }

  .whatsapp-dialog__header h2 {
    font-size: 2rem;
  }

  .whatsapp-progress {
    padding: 18px 20px 0;
  }

  .whatsapp-step {
    padding: 20px;
  }

  .whatsapp-options {
    grid-template-columns: 1fr;
  }

  .whatsapp-option span {
    min-height: 52px;
  }

  .whatsapp-step__actions {
    grid-template-columns: 1fr;
  }
}


/* ===== Homepage ===== */
/* Experimental layer: this file is isolated from index.html and shared source files. */
      :root { --x-gold: #f7d065; --x-ink: #011d44; --x-paper: #f6f7f9; --x-line: rgba(1, 29, 68, .14); }
      body { background: var(--x-paper); }
      body.x-home-page { background: var(--white); }
      .x-hero { min-height: min(820px, 100svh); padding-bottom: 84px; }
      .x-hero__copy { max-width: 720px; }
      .x-hero__eyebrow { display: inline-flex; align-items: center; gap: 9px; padding: 8px 12px; border: 1px solid rgba(247, 208, 101, .45); border-radius: 999px; color: var(--x-gold); font: 600 11px/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; }
      .x-hero__eyebrow::before { width: 7px; height: 7px; border-radius: 50%; background: var(--x-gold); box-shadow: 0 0 0 5px rgba(247, 208, 101, .12); content: ""; }
      .x-hero h1 { max-width: 720px; margin-top: 22px; }
      .x-hero__lead { max-width: 610px; }
      .x-hero__actions { align-items: center; }
      .x-hero__note { display: flex; align-items: center; gap: 10px; margin-top: 22px; color: rgba(255,255,255,.72); font: 600 12px/1.4 var(--mono); }
      .x-hero__note span { display: inline-block; width: 24px; height: 24px; flex: 0 0 24px; background: currentColor; color: var(--x-gold); -webkit-mask: center / contain no-repeat url("../images/icons/icon-check.svg"); mask: center / contain no-repeat url("../images/icons/icon-check.svg"); }
      .x-trust { position: relative; z-index: 2; margin-top: -38px; }
      .x-trust__inner { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 1px; overflow: hidden; border: 1px solid var(--x-line); border-radius: 18px; background: var(--x-line); box-shadow: 0 18px 46px rgba(1,29,68,.08); }
      .x-trust__item { min-height: 104px; padding: 24px; background: var(--white); }
      .x-trust__item strong { display: block; color: var(--x-ink); font: 600 22px/1 var(--serif); }
      .x-trust__item span { display: block; margin-top: 9px; color: #52617a; font: 600 12px/1.4 var(--mono); }
      .x-about { padding-top: 116px; }
      .x-about__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(40px, 8vw, 110px); align-items: center; }
      .x-about__visual { position: relative; min-height: 480px; margin: 0; overflow: hidden; border-radius: 22px; background: var(--x-ink); }
      .x-about__visual img { width: 100%; height: 100%; min-height: 480px; object-fit: cover; opacity: .82; }
      .x-about__visual::after { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 35%, rgba(0,19,46,.86)); content: ""; }
      .x-about__badge { position: absolute; right: 22px; bottom: 22px; z-index: 1; max-width: 230px; padding: 16px; border: 1px solid rgba(247,208,101,.42); border-radius: 14px; background: rgba(0,19,46,.62); color: var(--white); backdrop-filter: blur(10px); }
      .x-about__badge strong { display: block; color: var(--x-gold); font: 600 28px/1 var(--serif); }
      .x-about__badge span { display: block; margin-top: 6px; color: rgba(255,255,255,.72); font: 600 11px/1.4 var(--mono); }
      .x-about__copy h2 { max-width: 580px; margin: 0; color: var(--x-ink); font: 600 clamp(2.7rem, 4.2vw, 4.5rem)/.96 var(--serif); letter-spacing: -.055em; }
      .x-about__copy > p { max-width: 610px; margin: 26px 0 0; color: #52617a; font-size: 18px; line-height: 1.65; }
      .x-about__facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 34px; }
      .x-about__fact { padding-top: 16px; border-top: 1px solid var(--x-line); }
      .x-about__fact strong { display: block; color: var(--gold-deep); font: 700 22px/1 var(--mono); }
      .x-about__fact span { display: block; margin-top: 8px; color: #52617a; font-size: 12px; line-height: 1.4; }
      .x-partners { padding-top: 116px; background: var(--white); }
      .x-partners__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 44px; align-items: start; }
      .x-partners__grid h2 { max-width: 620px; margin: 0; color: var(--x-ink); font: 600 clamp(2.7rem, 4vw, 4.2rem)/.96 var(--serif); letter-spacing: -.055em; }
      .x-partners__grid > p { max-width: 480px; margin: 7px 0 0; color: #52617a; font-size: 18px; line-height: 1.6; }
      .x-partners__groups { display: grid; gap: 12px; margin-top: 42px; }
      .x-partner-group { position: relative; overflow: hidden; padding: 22px 26px; border: 1px solid var(--x-line); border-radius: 16px; background: #fbfcfe; }
      .x-partner-group--gold { background: #fffaf0; border-color: rgba(157,100,28,.2); }
      .x-partner-group__label { display: block; margin-bottom: 18px; color: var(--gold-deep); font: 700 10px/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; }
      .x-partner-carousel { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); }
      .x-partner-track { display: flex; width: max-content; align-items: center; gap: 48px; animation: x-partners-scroll 28s linear infinite; }
      .x-partner-group--gold .x-partner-track { animation-duration: 24s; animation-direction: reverse; }
      .x-partner-logo { color: var(--x-ink); font: 700 16px/1 var(--mono); letter-spacing: -.04em; white-space: nowrap; }
      .x-partner-logo img { display:block; width:150px; height:60px; object-fit:contain; }
      .xh-page .xh-partners .x-partners__grid { grid-template-columns:1fr; gap:18px; justify-items:center; text-align:center; }
      .xh-page .xh-partners .x-partners__grid h2 { max-width:1150px; text-wrap:balance; }
      .xh-page .xh-partners .x-partners__grid > p { max-width:760px; margin:0 auto; text-wrap:balance; }
      .xh-page #como-funciona .xp-process__intro > h2 { color:var(--white); }
      @keyframes x-partners-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
      .x-section-intro { display: flex; align-items: end; justify-content: space-between; gap: 32px; }
      .x-section-intro > p { max-width: 420px; margin: 0 0 7px; color: #52617a; font-size: 18px; line-height: 1.55; }
      .x-solutions { padding-top: 116px; }
      .x-solution-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 44px; }
      .x-solution { position: relative; display: grid; grid-template-columns: minmax(180px, .92fr) minmax(0, 1.08fr); grid-template-areas: "visual index" "visual title" "visual copy" "visual link"; align-items: center; gap: 0 24px; min-height: 280px; overflow: hidden; padding: 20px; border: 1px solid var(--x-line); border-radius: 18px; background: var(--white); cursor: pointer; transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease; }
      .x-solution:hover, .x-solution:focus-within, .x-solution.is-selected { transform: translateY(-7px); border-color: rgba(157,100,28,.52); box-shadow: 0 20px 42px rgba(1,29,68,.12); }
      .x-solution__visual { display: grid; grid-area: visual; height: 100%; min-height: 236px; place-items: center; overflow: hidden; border-radius: 12px; background: linear-gradient(135deg, #e9eef5, #c8d5e5); }
      .x-solution__visual img { width: 100%; height: 100%; object-fit: cover; transition: transform 320ms ease; }
      .x-solution:hover .x-solution__visual img, .x-solution:focus-within .x-solution__visual img, .x-solution.is-selected .x-solution__visual img { transform: scale(1.06); }
      .x-solution:nth-child(2) .x-solution__visual { background: linear-gradient(135deg, #f7e7b3, #e9bc54); }
      .x-solution:nth-child(3) .x-solution__visual { background: linear-gradient(135deg, #d7ece9, #82bdb6); }
      .x-solution:nth-child(4) .x-solution__visual { background: linear-gradient(135deg, #d6d8f1, #9398ce); }
      .x-illustration { position: relative; width: 100px; height: 82px; }
      .x-illustration::before, .x-illustration::after { position: absolute; content: ""; }
      .x-illustration::before { top: 24px; left: 7px; width: 86px; height: 43px; border: 4px solid var(--x-ink); border-radius: 9px; background: rgba(255,255,255,.6); transform: rotate(-5deg); }
      .x-illustration::after { right: 4px; bottom: 3px; width: 31px; height: 31px; border: 4px solid var(--x-ink); border-radius: 50%; background: var(--x-gold); box-shadow: -45px -36px 0 -9px var(--white), -45px -36px 0 -5px var(--x-ink); }
      .x-solution__index { display: block; grid-area: index; margin-top: 0; color: var(--gold-deep); font: 600 11px/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; }
      .x-solution h3 { grid-area: title; max-width: 260px; margin: 10px 0 0; color: var(--x-ink); font: 600 25px/.98 var(--serif); letter-spacing: -.035em; }
      .x-solution:nth-child(3) h3 { max-width: none; font-size: 23px; letter-spacing: -.05em; }
      .x-solution p { grid-area: copy; margin: 13px 0 0; color: #52617a; font-size: 16px; line-height: 1.5; }
      .x-solution__link { grid-area: link; display: inline-flex; align-items: center; gap: 8px; margin-top: 18px; color: var(--gold-deep); font: 700 12px/1 var(--mono); text-transform: uppercase; }
      .x-path { padding-top: 32px; }
      .x-path__board { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin-top: 42px; padding: 32px; border-radius: 22px; background: var(--x-ink); color: var(--white); }
      .x-path__board::before { position: absolute; top: 56px; right: 82px; left: 82px; height: 1px; background: linear-gradient(90deg, var(--x-gold), rgba(247,208,101,.2)); content: ""; }
      .x-path__step { position: relative; z-index: 1; padding: 0 26px; }
      .x-path__step + .x-path__step { border-left: 1px solid rgba(255,255,255,.16); }
      .x-path__number { display: grid; width: 48px; height: 48px; place-items: center; border: 1px solid rgba(247,208,101,.72); border-radius: 50%; background: var(--x-ink); color: var(--x-gold); font: 700 16px/1 var(--mono); }
      .x-path__step h3 { margin: 28px 0 9px; font: 600 27px/1 var(--serif); }
      .x-path__step p { margin: 0; color: rgba(255,255,255,.7); font-size: 16px; line-height: 1.55; }
      .x-difference-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; margin-top: 44px; }
      .x-difference { padding: 24px; border: 1px solid var(--x-line); border-radius: 16px; background: var(--white); transition: background 180ms ease, color 180ms ease, transform 180ms ease; }
      .x-difference:hover { transform: translateY(-5px); background: var(--x-ink); color: var(--white); }
      .x-difference__icon { display: block; width: 42px; height: 42px; border-radius: 12px; background-color: #fff2c7; background-position: center; background-repeat: no-repeat; background-size: 24px; color: var(--gold-deep); }
      .x-difference__icon--consultoria { -webkit-mask: url("../images/icons/consultoria.svg") center / 24px no-repeat; mask: url("../images/icons/consultoria.svg") center / 24px no-repeat; background-color: currentColor; }
      .x-difference__icon--suporte { -webkit-mask: url("../images/icons/suporte.svg") center / 24px no-repeat; mask: url("../images/icons/suporte.svg") center / 24px no-repeat; background-color: currentColor; }
      .x-difference__icon--custo { -webkit-mask: url("../images/icons/custozero.svg") center / 24px no-repeat; mask: url("../images/icons/custozero.svg") center / 24px no-repeat; background-color: currentColor; }
      .x-difference__icon--seguranca { -webkit-mask: url("../images/icons/seguranca.svg") center / 24px no-repeat; mask: url("../images/icons/seguranca.svg") center / 24px no-repeat; background-color: currentColor; }
      .x-difference h3 { margin: 22px 0 10px; font: 600 25px/.98 var(--serif); }
      .x-difference p { margin: 0; color: #52617a; font-size: 16px; line-height: 1.55; }
      .x-difference:hover p { color: rgba(255,255,255,.72); }
      .x-cta { position: relative; overflow: hidden; margin-top: 116px; padding: 88px 0; background: var(--x-ink); color: var(--white); }
      .x-cta::after { position: absolute; top: -130px; right: -90px; width: 360px; height: 360px; border: 1px solid rgba(247,208,101,.22); border-radius: 50%; box-shadow: 0 0 0 35px rgba(247,208,101,.05), 0 0 0 70px rgba(247,208,101,.035); content: ""; }
      .x-cta__inner { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 48px; }
      .x-cta h2 { max-width: 860px; margin: 0; color: var(--white); font: 600 clamp(2.8rem, 5vw, 5rem)/.95 var(--serif); letter-spacing: -.055em; }
      .x-cta p:not(.eyebrow) { max-width: 580px; margin: 22px 0 0; color: rgba(255,255,255,.72); font-size: 20px; line-height: 1.6; }
      .x-cta .button { white-space: nowrap; }
      .x-exploration-footer { min-height: 500px; padding: 120px 0; }
      .x-exploration-footer .footer__grid { min-height: 260px; align-items: center; }
      .x-exploration-footer .footer__brand > p { white-space: normal; }
      .x-top { position: fixed; right: 22px; bottom: 22px; z-index: 20; display: grid; width: 44px; height: 44px; place-items: center; border: 1px solid var(--x-line); border-radius: 50%; background: var(--white); color: var(--x-ink); box-shadow: 0 10px 24px rgba(1,29,68,.14); opacity: 0; pointer-events: none; transform: translateY(12px); transition: opacity 180ms ease, transform 180ms ease; }
      .x-top.is-visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
      @media (max-width: 980px) { .x-solution-grid, .x-difference-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } .x-cta__inner { grid-template-columns: 1fr; } .x-about__grid { gap: 42px; } .x-partners__grid { grid-template-columns: 1fr; gap: 20px; } }
      @media (max-width: 700px) { .x-trust__inner, .x-path__board { grid-template-columns: 1fr; } .x-trust__item + .x-trust__item { border-top: 1px solid var(--x-line); } .x-section-intro { display: block; } .x-section-intro > p { margin-top: 18px; } .x-solution-grid, .x-difference-grid { grid-template-columns: 1fr; } .x-solution { grid-template-columns: 1fr; grid-template-areas: "visual" "index" "title" "copy" "link"; gap: 0; min-height: 0; padding: 14px; } .x-solution__visual { width: 100%; height: 190px; min-height: 190px; } .x-solution__index { margin-top: 18px; } .x-solution h3 { max-width: none; margin-top: 10px; font-size: 23px; } .x-solution p { font-size: 15px; } .x-about { padding-top: 82px; } .x-about__grid { grid-template-columns: 1fr; } .x-about__visual, .x-about__visual img { width: 100%; min-height: 360px; } .x-about__copy > .eyebrow, .x-cta .eyebrow { margin: 0 0 14px; font-size: 12px; } .x-about__facts { gap: 8px; } .x-about__fact strong { font-size: 18px; } .x-partners { padding-top: 82px; } .x-partners__grid h2 { font-size: 41px; } .x-partner-group { padding: 20px; } .x-path .section-intro h2 { font-size: 50px; } .x-differentiators .section-intro h2, .differentiators .section-intro h2 { font-size: 48px; } .x-path__board { gap: 28px; padding: 24px; } .x-path__board::before { top: 56px; right: auto; bottom: 56px; left: 48px; width: 1px; height: auto; background: linear-gradient(180deg, var(--x-gold), rgba(247,208,101,.2)); } .x-path__step { padding: 0 0 0 74px; } .x-path__step + .x-path__step { padding-top: 12px; border: 0; } .x-path__step h3 { margin-top: 0; } .x-path__step:first-child h3 { margin-top: 10px; } .x-path__number { position: absolute; left: 0; top: 0; } .x-cta { margin-top: 72px; padding: 68px 0; } .x-cta p:not(.eyebrow) { font-size: 18px; } .x-exploration-footer { min-height: auto; padding: 80px 0 60px; } .x-exploration-footer .footer__grid { min-height: 0; } }
      @media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; } .x-partner-track { animation: none; } }


/* ===== Consorcio de Imoveis ===== */
body { background: var(--paper); }
      .xp-hero { position:relative; min-height:min(820px,100svh); overflow:hidden; padding:170px 0 100px; background:var(--navy-deep); color:var(--white); }
      .xp-hero::after { position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,19,46,.96) 0%,rgba(0,19,46,.78) 50%,rgba(0,19,46,.34) 100%); content:""; }
      .xp-hero__image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 55%; }
      .xp-hero__inner { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,760px) minmax(280px,1fr); align-items:end; gap:44px; }
      .xp-hero__copy { max-width:760px; }
      .xp-hero__copy .eyebrow { color:var(--gold-light); }
      .xp-hero h1 { max-width:760px; margin:0; color:var(--white); font-family:var(--serif); font-size:var(--type-display-size); font-weight:600; letter-spacing:-.065em; line-height:.98; }
      .xp-hero__lead { max-width:690px; margin:28px 0 0; color:rgba(255,255,255,.86); font-size:20px; line-height:1.5; }
      .xp-hero__lead--small { margin-top:14px; color:rgba(255,255,255,.66); font-size:16px; }
      .xp-hero__actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }
      .xp-hero .button--ghost { border-color:rgba(255,255,255,.72); background:rgba(0,19,46,.28); color:var(--white); }
      .xp-hero .button--ghost:hover { border-color:var(--gold-light); background:rgba(247,208,101,.14); color:var(--gold-light); }
      .xp-hero__aside { display:grid; gap:12px; padding:22px; border:1px solid rgba(255,255,255,.22); border-radius:18px; background:rgba(0,19,46,.46); backdrop-filter:blur(12px); }
      .xp-hero__aside small { color:var(--gold-light); font:700 10px/1.2 var(--mono); letter-spacing:.14em; text-transform:uppercase; }
      .xp-hero__aside strong { color:var(--white); font:600 29px/.98 var(--serif); }
      .xp-hero__aside span { color:rgba(255,255,255,.7); font-size:13px; line-height:1.45; }
      .xp-anchor { position:absolute; right:28px; bottom:28px; z-index:2; display:grid; width:48px; height:48px; place-items:center; border:1px solid rgba(247,208,101,.55); border-radius:50%; color:var(--gold-light); }
      .xp-section { padding:112px 0; }
      .xp-section--white { background:var(--white); }
      .xp-section--navy { background:var(--navy); color:var(--white); }
      .xp-heading { max-width:820px; }
      .xp-heading h2 { margin:0; color:var(--navy); font-family:var(--serif); font-size:var(--type-section-size); font-weight:600; letter-spacing:-.055em; line-height:.98; }
      .xp-section--navy .xp-heading h2, .xp-section--navy .xp-heading p { color:var(--white); }
      .xp-heading > p:not(.eyebrow) { max-width:700px; margin:24px 0 0; color:var(--muted); font-size:var(--type-body-large-size); line-height:1.65; }
      .xp-section--navy .xp-heading > p:not(.eyebrow) { color:rgba(255,255,255,.72); }
      .xp-objectives { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-top:46px; }
      .xp-objective { overflow:hidden; border:1px solid var(--line); border-radius:18px; background:var(--white); transition:transform 200ms ease,box-shadow 200ms ease,border-color 200ms ease; }
      .xp-objective:hover,.xp-objective:focus-within { transform:translateY(-7px); border-color:rgba(157,100,28,.55); box-shadow:0 20px 40px rgba(1,29,68,.13); }
      .xp-objective__image { width:100%; height:180px; object-fit:cover; transition:transform 320ms ease; }
      .xp-objective:hover .xp-objective__image,.xp-objective:focus-within .xp-objective__image { transform:scale(1.06); }
      .xp-objective__body { padding:22px; }
      .xp-objective__number { color:var(--gold-deep); font:700 11px/1 var(--mono); letter-spacing:.12em; }
      .xp-objective h3 { margin:18px 0 10px; color:var(--navy); font-family:var(--serif); font-size:var(--type-card-title-size); font-weight:600; letter-spacing:-.025em; line-height:1.08; }
      .xp-objective p { margin:0; color:var(--muted); font-size:var(--type-body-size); line-height:1.6; }
      .xp-benefits { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:72px; align-items:start; }
      .xp-benefits__list { display:grid; gap:1px; margin:0; padding:0; list-style:none; background:rgba(255,255,255,.16); }
      .xp-benefits__list li { padding:24px 26px; background:var(--navy); color:rgba(255,255,255,.78); line-height:1.55; }
      .xp-benefits__list strong { color:var(--gold-light); }
      .xp-benefits__cta { margin-top:30px; }
      .xp-credit { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.9fr); gap:72px; align-items:center; }
      .xp-credit__visual { position:relative; min-height:420px; overflow:hidden; border-radius:22px; background:var(--navy); }
      .xp-credit__visual img { width:100%; height:100%; min-height:420px; object-fit:cover; opacity:.78; }
      .xp-credit__visual::after { position:absolute; inset:0; background:linear-gradient(180deg,transparent 30%,rgba(0,19,46,.9)); content:""; }
      .xp-credit__badge { position:absolute; right:20px; bottom:20px; z-index:1; padding:18px; border:1px solid rgba(247,208,101,.52); border-radius:14px; background:rgba(0,19,46,.68); color:var(--white); }
      .xp-credit__badge strong { display:block; color:var(--gold-light); font:600 31px/1 var(--serif); }
      .xp-credit__badge span { display:block; margin-top:7px; color:rgba(255,255,255,.74); font:600 11px/1.4 var(--mono); }
      .xp-list { display:grid; gap:14px; margin:28px 0 0; padding:0; list-style:none; }
      .xp-list li { position:relative; padding-left:28px; color:var(--muted); line-height:1.55; }
      .xp-list li::before { position:absolute; top:.35em; left:0; display:grid; width:17px; height:17px; place-items:center; border-radius:50%; background:rgba(247, 208, 101, .24); color:var(--gold-deep); content:"✓"; font:700 11px/1 var(--mono); }
      .xp-differentials { display:block; }
      .xp-differentials > .xp-heading { max-width:900px; margin-inline:auto; text-align:center; }
      .xp-differentials > .xp-heading > p:not(.eyebrow) { margin-right:auto; margin-left:auto; }
      .xp-differentials__title-line { display:block; white-space:nowrap; }
      .xp-differentials__cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-top:52px; }
      .xp-differential { min-height:260px; padding:24px; border:1px solid var(--line); border-radius:20px; background:var(--white); transition:transform 180ms ease,background 180ms ease,color 180ms ease; }
      .xp-differential:hover { transform:translateY(-5px); background:var(--navy); color:var(--white); }
      .xp-differential__icon { display:grid; width:40px; height:40px; place-items:center; border-radius:11px; background:rgba(247,208,101,.24); color:var(--gold-deep); }
      .xp-differential__icon::before { width:24px; height:24px; background-color:currentColor; content:""; -webkit-mask:var(--xp-differential-icon) center/contain no-repeat; mask:var(--xp-differential-icon) center/contain no-repeat; }
      .xp-differential__icon--consultoria { --xp-differential-icon:url("../images/icons/consultoria.svg"); }
      .xp-differential__icon--comparacao { --xp-differential-icon:url("../images/icons/comparacao.svg"); }
      .xp-differential__icon--custozero { --xp-differential-icon:url("../images/icons/custozero.svg"); }
      .xp-differential__icon--suporte { --xp-differential-icon:url("../images/icons/suporte.svg"); }
      .xp-differential h3 { margin:22px 0 10px; color:var(--navy); font-family:var(--serif); font-size:var(--type-card-title-size); font-weight:600; letter-spacing:-.025em; line-height:1.08; }
      .xp-differential:hover h3 { color:var(--white); }
      .xp-differential p { margin:0; color:var(--muted); font-size:var(--type-body-size); line-height:1.6; }
      .xp-differential:hover p { color:rgba(255,255,255,.72); }
      .xp-process-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(64px,8vw,120px); align-items:stretch; }
      .xp-process__intro { position:sticky; top:120px; align-self:start; }
      .xp-process { display:grid; grid-template-columns:1fr; gap:0; margin-top:0; border-left:1px solid rgba(247,208,101,.58); background:transparent; }
      .xp-step { position:relative; min-height:230px; padding:0 0 64px 58px; background:transparent; }
      .xp-step:last-child { min-height:230px; padding-bottom:64px; }
      .xp-step > span { position:absolute; top:0; left:-24px; display:grid; width:48px; height:48px; place-items:center; border:1px solid rgba(247,208,101,.8); border-radius:50%; background:var(--navy); color:var(--gold-light); font:700 13px/1 var(--mono); transition:border-color 180ms ease,background-color 180ms ease,color 180ms ease; }
      .xp-step.is-reached > span { border-color:var(--gold-light); background:var(--gold-light); color:var(--navy); }
      .xp-step h3 { margin:0 0 10px; color:var(--white); font-family:var(--serif); font-size:var(--type-card-title-size); font-weight:600; letter-spacing:-.025em; line-height:1.08; }
      .xp-step p { margin:0; color:rgba(255,255,255,.7); font-size:var(--type-body-size); line-height:1.6; }
      .xp-faq { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:72px; align-items:start; }
      .xp-faq__list { display:grid; gap:1px; border:1px solid var(--line); background:var(--line); }
      .xp-faq details { padding:22px 24px; background:var(--white); }
      .xp-faq summary { display:flex; justify-content:space-between; gap:20px; cursor:pointer; color:var(--navy); font:600 22px/1.1 var(--serif); list-style:none; }
      .xp-faq summary::-webkit-details-marker { display:none; }
      .xp-faq summary::after { color:var(--gold-deep); content:"+"; font:400 25px/1 var(--sans); }
      .xp-faq details[open] summary::after { content:"−"; }
      .xp-faq details p { max-width:680px; margin:16px 40px 0 0; color:var(--muted); font-size:var(--type-body-size); line-height:1.6; }
      .xp-final { padding:112px 0; background:var(--surface-soft); color:var(--navy); }
      .xp-final__grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,500px); gap:72px; align-items:start; }
      .xp-final__intro { max-width:640px; }
      .xp-final h2 { max-width:640px; margin:0; color:var(--navy); font-family:var(--serif); font-size:var(--type-section-size); font-weight:600; letter-spacing:-.055em; line-height:.98; }
      .xp-final__intro > p:not(.eyebrow) { max-width:640px; margin:24px 0 0; color:var(--muted); font-size:var(--type-body-large-size); line-height:1.65; }
      .xp-form-card { padding:32px; border-radius:20px; background:var(--white); color:var(--navy); box-shadow:0 20px 48px rgba(0,0,0,.2); }
      .xp-form-card h3 { margin:0 0 22px; font-family:var(--serif); font-size:var(--type-card-title-size); font-weight:600; letter-spacing:-.025em; line-height:1.08; }
      .xp-form { display:grid; gap:13px; }
      .xp-form label { display:grid; gap:7px; color:var(--muted); font:700 11px/1.2 var(--mono); text-transform:uppercase; }
      .xp-form input,.xp-form select { width:100%; padding:13px 14px; border:1px solid var(--line); border-radius:9px; background:var(--white); color:var(--navy); font:500 15px/1.3 var(--sans); }
      .xp-form .button { width:100%; margin-top:4px; }
      .xp-form__status { margin:8px 0 0; color:#2b6947; font-size:13px; line-height:1.4; }
      .xp-microcopy { margin:16px 0 0; color:#69758a; font-size:11px; line-height:1.5; }
      @media (max-width:1000px) { .xp-hero__inner,.xp-benefits,.xp-credit,.xp-faq,.xp-final__grid,.xp-process-layout { grid-template-columns:1fr; gap:42px; } .xp-hero__aside { max-width:420px; } .xp-objectives,.xp-differentials__cards { grid-template-columns:repeat(2,minmax(0,1fr)); } .xp-differentials__title-line { white-space:normal; } .xp-process__intro { position:static; } .xp-process { margin-top:12px; } }
      @media (max-width:620px) { .xp-hero { min-height:auto; padding:134px 0 72px; } .xp-hero h1 { font-size:var(--type-display-mobile-size); } .xp-heading h2,.xp-final h2 { font-size:var(--type-section-mobile-size); } .xp-hero__lead { font-size:17px; } .xp-hero__actions,.xp-hero__actions .button { width:100%; } .xp-hero__actions .button { white-space:normal; } .xp-anchor { display:none; } .xp-section,.xp-final { padding:78px 0; } .xp-objectives,.xp-differentials__cards,.xp-process { grid-template-columns:1fr; } .xp-differentials__title-line { display:inline; } .xp-differentials > .xp-heading { text-align:left; } .xp-differentials > .xp-heading h2 { font-size:40px; } .xp-differentials > .xp-heading h2,.xp-differentials > .xp-heading > p:not(.eyebrow) { text-align:left; } .xp-differential { min-height:auto; } .xp-process { margin-left:28px; } .xp-step,.xp-step:last-child { min-height:210px; padding-left:48px; } .xp-step > span { left:-21px; width:42px; height:42px; } .xp-objective__image { height:210px; } .xp-credit__visual,.xp-credit__visual img { min-height:340px; } .xp-form-card { padding:24px 20px; } #property-lead-form .button { font-size:12px; } .xp-faq summary { font-size:19px; } }
      @media (prefers-reduced-motion:reduce) { *,*::before,*::after { transition-duration:.01ms!important; animation-duration:.01ms!important; scroll-behavior:auto!important; } }
/* Product footer follows the official home spacing and social treatment. */
.xp-footer { min-height: 500px; padding: 120px 0; }
.xp-footer .footer__grid { min-height: 260px; align-items: center; }
.xp-footer .footer__brand > p { white-space: normal; }


/* ===== Consorcio de Automoveis ===== */
:root { --v-ink:#011d44; --v-deep:#00132e; --v-gold:#f7d065; --v-paper:#f5f7fa; --v-line:rgba(1,29,68,.14); }
      .xv-page { background:var(--v-paper); }
      .xv-hero { position:relative; min-height:min(820px,100svh); overflow:hidden; padding:170px 0 100px; background:var(--v-deep); color:#fff; }
      .xv-hero::after { position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,19,46,.97) 0%,rgba(0,19,46,.77) 52%,rgba(0,19,46,.3) 100%); content:""; }
      .xv-hero__image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 52%; }
      .xv-hero__inner { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,760px) minmax(280px,1fr); align-items:end; gap:44px; }
      .xv-hero__copy { max-width:760px; }
      .xv-hero__copy .eyebrow { color:var(--gold-light); }
      .xv-hero h1 { max-width:760px; margin:0; color:var(--white); font-family:var(--serif); font-size:var(--type-display-size); font-weight:600; letter-spacing:-.045em; line-height:.98; overflow-wrap:normal; text-wrap:balance; word-break:normal; }
      .xv-hero__lead { max-width:690px; margin:28px 0 0; color:rgba(255,255,255,.86); font-size:20px; line-height:1.5; }
      .xv-hero__lead--small { margin-top:14px; color:rgba(255,255,255,.66); font-size:16px; }
      .xv-hero__actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }
      .xv-hero .button--ghost { border-color:rgba(255,255,255,.72); background:rgba(0,19,46,.28); color:#fff; }
      .xv-hero .button--ghost:hover { border-color:var(--v-gold); background:rgba(247,208,101,.14); color:var(--v-gold); }
      .xv-hero__aside { display:grid; gap:12px; padding:22px; border:1px solid rgba(255,255,255,.22); border-radius:18px; background:rgba(0,19,46,.46); backdrop-filter:blur(12px); }
      .xv-hero__aside small { color:var(--v-gold); font:700 10px/1.2 var(--mono); letter-spacing:.14em; text-transform:uppercase; }
      .xv-hero__aside strong { color:#fff; font:600 29px/.98 var(--serif); }
      .xv-hero__aside span { color:rgba(255,255,255,.7); font-size:13px; line-height:1.45; }
      .xv-anchor { position:absolute; right:28px; bottom:28px; z-index:2; display:grid; width:48px; height:48px; place-items:center; border:1px solid rgba(247,208,101,.55); border-radius:50%; color:var(--gold-light); }
      .xv-section { padding:112px 0; }
      .xv-section--white { background:#fff; }
      .xv-section--navy { background:var(--navy); color:var(--white); }
      .xv-section--navy .xv-heading .eyebrow { color:var(--gold-light); }
      .xv-heading { max-width:820px; }
      .xv-heading h2 { margin:0; color:var(--navy); font-family:var(--serif); font-size:var(--type-section-size); font-weight:600; letter-spacing:-.035em; line-height:1; overflow-wrap:normal; text-wrap:balance; word-break:normal; }
      .xv-section--navy .xv-heading h2,.xv-section--navy .xv-heading p { color:var(--white); }
      .xv-heading>p:not(.eyebrow) { max-width:700px; margin:24px 0 0; color:var(--muted); font-size:var(--type-body-large-size); line-height:1.65; }
      .xv-section--navy .xv-heading > p:not(.eyebrow) { color:rgba(255,255,255,.72); }
      .xv-objectives { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-top:46px; }
      .xv-objective { overflow:hidden; border:1px solid var(--v-line); border-radius:18px; background:#fff; transition:transform 200ms ease,box-shadow 200ms ease,border-color 200ms ease; }
      .xv-objective:hover,.xv-objective:focus-within { transform:translateY(-7px); border-color:rgba(157,100,28,.55); box-shadow:0 20px 40px rgba(1,29,68,.13); }
      .xv-objective img { width:100%; height:180px; object-fit:cover; transition:transform 320ms ease; }
      .xv-objective:hover img,.xv-objective:focus-within img { transform:scale(1.06); }
      .xv-objective__body { padding:22px; }
      .xv-objective__number { color:#9d641c; font:700 11px/1 var(--mono); letter-spacing:.12em; }
      .xv-objective h3 { margin:18px 0 10px; color:var(--navy); font-family:var(--serif); font-size:var(--type-card-title-size); font-weight:600; letter-spacing:-.015em; line-height:1.08; text-wrap:balance; }
      .xv-objective p { margin:0; color:var(--muted); font-size:var(--type-body-size); line-height:1.6; }
      .xv-split { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:72px; align-items:start; }
      .xv-list { display:grid; gap:1px; margin:0; padding:0; list-style:none; background:rgba(255,255,255,.16); }
      .xv-list li { padding:24px 26px; background:var(--v-ink); color:rgba(255,255,255,.78); line-height:1.55; }
      .xv-list strong { color:var(--v-gold); }
      .xv-possibilities { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.9fr); gap:72px; align-items:center; }
      .xv-possibilities__visual { position:relative; min-height:420px; overflow:hidden; border-radius:22px; background:var(--v-ink); }
      .xv-possibilities__visual img { width:100%; height:100%; min-height:420px; object-fit:cover; opacity:.78; }
      .xv-possibilities__visual::after { position:absolute; inset:0; background:linear-gradient(180deg,transparent 30%,rgba(0,19,46,.9)); content:""; }
      .xv-badge { position:absolute; right:20px; bottom:20px; z-index:1; padding:18px; border:1px solid rgba(247,208,101,.52); border-radius:14px; background:rgba(0,19,46,.68); color:#fff; }
      .xv-badge strong { display:block; color:var(--v-gold); font:600 31px/1 var(--serif); }
      .xv-badge span { display:block; margin-top:7px; color:rgba(255,255,255,.74); font:600 11px/1.4 var(--mono); }
      .xv-check-list { display:grid; gap:14px; margin:28px 0 0; padding:0; list-style:none; }
      .xv-check-list li { position:relative; padding-left:28px; color:#59677d; line-height:1.55; }
      .xv-check-list li::before { position:absolute; top:.35em; left:0; display:grid; width:17px; height:17px; place-items:center; border-radius:50%; background:#fff2c7; color:#9d641c; content:"✓"; font:700 11px/1 var(--mono); }
      .xv-differentials { display:block; }
      .xv-differentials > .xv-heading { max-width:900px; margin-inline:auto; text-align:center; }
      .xv-differentials > .xv-heading > p:not(.eyebrow) { margin-right:auto; margin-left:auto; }
      .xv-differentials__cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-top:52px; }
      .xv-differential { min-height:260px; padding:24px; border:1px solid var(--line); border-radius:20px; background:var(--white); transition:transform 180ms ease,background 180ms ease,color 180ms ease; }
      .xv-differential:hover { transform:translateY(-5px); background:var(--navy); color:var(--white); }
      .xv-differential__icon { display:grid; width:40px; height:40px; place-items:center; border-radius:11px; background:rgba(247,208,101,.24); color:var(--gold-deep); }
      .xv-differential__icon::before { width:24px; height:24px; background-color:currentColor; content:""; -webkit-mask:var(--xv-differential-icon) center/contain no-repeat; mask:var(--xv-differential-icon) center/contain no-repeat; }
      .xv-differential__icon--consultoria { --xv-differential-icon:url("../images/icons/consultoria.svg"); }
      .xv-differential__icon--comparacao { --xv-differential-icon:url("../images/icons/comparacao.svg"); }
      .xv-differential__icon--custozero { --xv-differential-icon:url("../images/icons/custozero.svg"); }
      .xv-differential__icon--suporte { --xv-differential-icon:url("../images/icons/suporte.svg"); }
      .xv-differential h3 { margin:22px 0 10px; color:var(--navy); font-family:var(--serif); font-size:var(--type-card-title-size); font-weight:600; letter-spacing:-.015em; line-height:1.08; text-wrap:balance; }
      .xv-differential:hover h3 { color:var(--white); }
      .xv-differential p { margin:0; color:var(--muted); font-size:var(--type-body-size); line-height:1.6; }
      .xv-differential:hover p { color:rgba(255,255,255,.72); }
      .xv-process-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(64px,8vw,120px); align-items:stretch; }
      .xv-process__intro { position:sticky; top:120px; align-self:start; }
      .xv-process { display:grid; grid-template-columns:1fr; gap:0; margin-top:0; border-left:1px solid rgba(247,208,101,.58); background:transparent; }
      .xv-step { position:relative; min-height:230px; padding:0 0 64px 58px; background:transparent; }
      .xv-step:last-child { min-height:230px; padding-bottom:64px; }
      .xv-step>span { position:absolute; top:0; left:-24px; display:grid; width:48px; height:48px; place-items:center; border:1px solid rgba(247,208,101,.8); border-radius:50%; background:var(--navy); color:var(--gold-light); font:700 13px/1 var(--mono); transition:border-color 180ms ease,background-color 180ms ease,color 180ms ease; }
      .xv-step.is-reached > span { border-color:var(--gold-light); background:var(--gold-light); color:var(--navy); }
      .xv-step h3 { margin:0 0 10px; color:var(--white); font-family:var(--serif); font-size:var(--type-card-title-size); font-weight:600; letter-spacing:-.015em; line-height:1.08; text-wrap:balance; }
      .xv-step p { margin:0; color:rgba(255,255,255,.7); font-size:var(--type-body-size); line-height:1.6; }
      .xv-faq { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:72px; align-items:start; }
      .xv-faq__list { display:grid; gap:1px; border:1px solid var(--v-line); background:var(--v-line); }
      .xv-faq details { padding:22px 24px; background:#fff; }
      .xv-faq summary { display:flex; justify-content:space-between; gap:20px; cursor:pointer; color:var(--v-ink); font:600 22px/1.1 var(--serif); list-style:none; }
      .xv-faq summary::-webkit-details-marker { display:none; }
      .xv-faq summary::after { color:#9d641c; content:"+"; font:400 25px/1 var(--sans); }
      .xv-faq details[open] summary::after { content:"−"; }
      .xv-faq details p { margin:16px 40px 0 0; color:#59677d; line-height:1.6; }
      .xv-final { padding:112px 0; background:var(--surface-soft); color:var(--navy); }
      .xv-final__grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,500px); gap:72px; align-items:start; }
      .xv-final__intro { max-width:640px; }
      .xv-final h2 { max-width:640px; margin:0; color:var(--navy); font-family:var(--serif); font-size:var(--type-section-size); font-weight:600; letter-spacing:-.035em; line-height:1; overflow-wrap:normal; text-wrap:balance; word-break:normal; }
      .xv-final__intro>p:not(.eyebrow) { max-width:640px; margin:24px 0 0; color:var(--muted); font-size:var(--type-body-large-size); line-height:1.65; }
      .xv-form-card { padding:32px; border-radius:20px; background:var(--white); color:var(--navy); box-shadow:0 20px 48px rgba(0,0,0,.2); }
      .xv-form-card h3 { margin:0 0 22px; font-family:var(--serif); font-size:var(--type-card-title-size); font-weight:600; letter-spacing:-.015em; line-height:1.08; text-wrap:balance; }
      .xv-form { display:grid; gap:13px; }
      .xv-form label { display:grid; gap:7px; color:#59677d; font:700 11px/1.2 var(--mono); text-transform:uppercase; }
      .xv-form input,.xv-form select { width:100%; padding:13px 14px; border:1px solid var(--v-line); border-radius:9px; background:#fff; color:var(--v-ink); font:500 15px/1.3 var(--sans); }
      .xv-form .button { width:100%; margin-top:4px; }
      .xv-form__status { margin:8px 0 0; color:#2b6947; font-size:13px; line-height:1.4; }
      .xv-microcopy { margin:16px 0 0; color:#69758a; font-size:11px; line-height:1.5; }
      @media (min-width:821px) and (max-width:1100px) { .xv-page .nav-shell{min-height:68px;padding:10px 20px}.xv-page .brand img{width:150px;height:auto}.xv-page .menu-toggle{display:inline-flex}.xv-page .site-nav{position:absolute;top:calc(100% + 8px);right:20px;left:auto;display:flex;width:min(360px,calc(100% - 40px));align-items:stretch;flex-direction:column;gap:0;padding:10px;border:1px solid rgba(1,29,68,.12);border-radius:18px;background:var(--white);box-shadow:var(--shadow);opacity:0;pointer-events:none;transform:translateY(-6px);transition:opacity 180ms ease,transform 180ms ease}.xv-page .site-nav.is-open{opacity:1;pointer-events:auto;transform:none}.xv-page .site-nav>a:not(.nav-cta){padding:13px 10px;border-bottom:1px solid var(--line);color:var(--navy);opacity:1}.xv-page .nav-cta{justify-content:center;margin-top:10px} }
      @media (max-width:1100px) { .xv-hero__inner,.xv-split,.xv-possibilities,.xv-faq,.xv-final__grid,.xv-process-layout { grid-template-columns:1fr; gap:42px; } .xv-hero { min-height:auto; } .xv-hero__copy { max-width:820px; } .xv-hero__aside { max-width:420px; } .xv-objectives,.xv-differentials__cards { grid-template-columns:repeat(2,minmax(0,1fr)); } .xv-process__intro { position:static; } .xv-process { margin-top:12px; } .xv-final__intro { max-width:760px; } }
      @media (max-width:620px) { .xv-hero { min-height:auto; padding:116px 0 58px; } .xv-hero h1 { font-size:clamp(44px,12vw,48px); letter-spacing:-.035em; line-height:.96; } .xv-heading h2,.xv-final h2 { font-size:clamp(32px,8.8vw,36px); letter-spacing:-.025em; line-height:1; } .xv-heading>p:not(.eyebrow),.xv-final__intro>p:not(.eyebrow) { margin-top:20px; font-size:17px; line-height:1.6; text-wrap:pretty; } .xv-hero__lead { margin-top:18px; font-size:17px; line-height:1.5; } .xv-hero__actions { margin-top:24px; } .xv-hero__actions,.xv-hero__actions .button { width:100%; } .xv-hero__actions .button { white-space:normal; } .xv-anchor { display:none; } .xv-section,.xv-final { padding:64px 0; } .xv-objectives,.xv-differentials__cards,.xv-process { grid-template-columns:1fr; } .xv-differentials__cards { gap:12px; margin-top:30px; } .xv-differentials > .xv-heading { text-align:left; } .xv-differentials > .xv-heading h2,.xv-differentials > .xv-heading > p:not(.eyebrow) { text-align:left; } .xv-objective h3,.xv-differential h3,.xv-step h3,.xv-form-card h3 { font-size:24px; line-height:1.08; } .xv-differential { min-height:auto; padding:22px; } .xv-process { margin-left:28px; } .xv-step,.xv-step:last-child { min-height:210px; padding-left:48px; } .xv-step>span { left:-21px; width:42px; height:42px; } .xv-objective img { height:210px; } .xv-possibilities__visual,.xv-possibilities__visual img { min-height:340px; } .xv-final__grid { gap:28px; } .xv-form-card { padding:20px; } #vehicle-lead-form .button { font-size:12px; } .xv-faq summary { font-size:19px; line-height:1.2; } .xv-footer { min-height:auto; padding:76px 0; } .xv-footer .footer__grid { min-height:0; gap:28px; align-items:start; } }
      @media (prefers-reduced-motion:reduce) { *,*::before,*::after { transition-duration:.01ms!important; animation-duration:.01ms!important; scroll-behavior:auto!important; } }

/* Product footer follows the official home spacing and social treatment. */
.xv-footer { min-height:500px; padding:120px 0; }
.xv-footer .footer__grid { min-height:260px; align-items:center; }
.xv-footer .footer__brand > p { white-space:normal; }


/* ===== Carta Contemplada ===== */
:root{--cx-ink:#031b40;--cx-gold:#f6c84b;--cx-paper:#f4f1eb;--cx-line:#d8d6d0;--cx-section-mobile-size:clamp(34px,9vw,38px)}
      html,body{max-width:100%;overflow-x:clip}.cx-hero__inner>* ,.cx-split>*,.cx-qualification>*,.cx-final__grid>*,.cx-card,.cx-differential,.cx-step,.cx-heading{min-width:0;max-width:100%}
      .cx-hero{position:relative;min-height:720px;display:grid;align-items:center;overflow:hidden;background:var(--cx-ink);color:#fff}.cx-hero__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.66}.cx-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,27,64,.98) 0%,rgba(3,27,64,.86) 43%,rgba(3,27,64,.2) 100%)}.cx-hero__inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,720px) 280px;gap:80px;align-items:end;padding:150px 0 92px}.cx-hero__copy{max-width:700px}.cx-hero h1{max-width:700px;margin:16px 0 22px;color:#fff;font-size:clamp(3.2rem,5.6vw,5.35rem);line-height:.98}.cx-hero__lead{max-width:650px;color:#f0f1f4;font-size:19px;line-height:1.55}.cx-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.cx-hero__aside{display:grid;gap:10px;padding:22px;border:1px solid rgba(255,255,255,.35);border-radius:18px;background:rgba(3,27,64,.4);backdrop-filter:blur(8px)}.cx-hero__aside small,.cx-hero__aside span{color:#d8e0ed}.cx-hero__aside strong{font-family:var(--font-display,Georgia,serif);font-size:25px;line-height:1.05}.cx-section{padding:112px 0}.cx-section--white{background:#fff}.cx-section--paper{background:var(--cx-paper)}.cx-section--navy,.cx-final{background:var(--cx-ink);color:#fff}.cx-heading{max-width:760px;margin-bottom:44px}.cx-heading h2,.cx-final h2{max-width:820px;margin:12px 0 16px;font-family:var(--font-display,Georgia,serif);font-size:clamp(2.5rem,4.8vw,4.7rem);line-height:.98}.cx-heading>p:not(.eyebrow){max-width:720px;color:#59677a;font-size:18px;line-height:1.6}.cx-section--navy .cx-heading h2,.cx-section--navy .cx-heading>p:not(.eyebrow),.cx-final .cx-heading h2,.cx-final .cx-heading>p:not(.eyebrow){color:#fff}.cx-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.cx-card{overflow:hidden;border:1px solid var(--cx-line);border-radius:18px;background:#fff}.cx-card img{display:block;width:100%;height:230px;object-fit:cover}.cx-card__body{padding:25px}.cx-card__number{color:#a36c1d;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.cx-card h3{margin:14px 0 10px;font-family:var(--font-display,Georgia,serif);font-size:26px;line-height:1.05;color:var(--cx-ink)}.cx-card p{color:#5d6878;line-height:1.55}.cx-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,520px);gap:90px;align-items:start}.cx-list,.cx-check-list{display:grid;gap:0;margin:0;padding:0;list-style:none}.cx-list li{padding:22px 0;border-top:1px solid rgba(255,255,255,.24);color:#e4e9f0;font-size:18px;line-height:1.5}.cx-list li strong{display:block;color:var(--cx-gold);margin-bottom:5px}.cx-visual{position:relative;min-height:500px}.cx-visual img{width:100%;height:500px;object-fit:cover;border-radius:20px}.cx-badge{position:absolute;right:-18px;bottom:22px;display:grid;gap:3px;max-width:190px;padding:18px;border-radius:14px;background:var(--cx-gold);color:var(--cx-ink)}.cx-badge strong{font-family:var(--font-display,Georgia,serif);font-size:31px}.cx-qualification{display:grid;grid-template-columns:minmax(320px,500px) minmax(0,1fr);gap:88px;align-items:center}.cx-qualification img{width:100%;height:500px;object-fit:cover;border-radius:20px}.cx-check-list{gap:12px}.cx-check-list li{padding-left:30px;position:relative;color:#334258;font-size:18px;line-height:1.4}.cx-check-list li:before{content:"✓";position:absolute;left:0;color:#b27b27;font-weight:800}.cx-partners{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:30px}.cx-partner{padding:22px;border:1px solid var(--cx-line);border-radius:12px;background:#fff;color:var(--cx-ink);font-weight:700}.cx-differentials__cards,.cx-process{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.cx-differentials__cards{grid-template-columns:repeat(4,1fr)}.cx-differential,.cx-step{padding:28px;border:1px solid var(--cx-line);border-radius:16px;background:#fff}.cx-differential>span{display:grid;place-items:center;width:34px;height:34px;margin-bottom:44px;border-radius:50%;background:var(--cx-gold);color:var(--cx-ink);font-weight:800}.cx-differential h3,.cx-step h3{margin:0 0 10px;color:var(--cx-ink);font-family:var(--font-display,Georgia,serif);font-size:25px}.cx-differential p,.cx-step p{color:#647083;line-height:1.5}.cx-step{border-color:rgba(255,255,255,.22);background:transparent}.cx-step>span{color:var(--cx-gold);font-size:14px;font-weight:800;letter-spacing:.15em}.cx-section--navy .cx-step h3{color:#fff}.cx-section--navy .cx-step p{color:#d3dbe7}.cx-faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.cx-faq__list{display:grid;align-content:start}.cx-faq details{border-top:1px solid var(--cx-line);padding:22px 0}.cx-faq summary{cursor:pointer;list-style:none;color:var(--cx-ink);font-family:var(--font-display,Georgia,serif);font-size:24px}.cx-faq summary::-webkit-details-marker{display:none}.cx-faq summary:after{content:"+";float:right;font-family:Arial;font-size:20px}.cx-faq details[open] summary:after{content:"−"}.cx-faq details p{max-width:700px;color:#5d6878;line-height:1.6}.cx-final__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,560px);gap:80px;align-items:start}.cx-form-card{padding:34px;border-radius:20px;background:#fff;color:var(--cx-ink)}.cx-form-card h3{margin:12px 0 26px;font-family:var(--font-display,Georgia,serif);font-size:34px}.cx-form{display:grid;grid-template-columns:1fr 1fr;gap:15px}.cx-form label{display:grid;gap:7px;color:#536174;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.cx-form label:last-of-type,.cx-form button,.cx-form__status{grid-column:1/-1}.cx-form input,.cx-form textarea{width:100%;border:1px solid #d5d8df;border-radius:8px;padding:13px;font:inherit;text-transform:none;letter-spacing:normal}.cx-form textarea{min-height:100px;resize:vertical}.cx-form button{border:0;cursor:pointer}.cx-form__status{color:#3b6a45}.cx-microcopy{color:#667487;font-size:12px;line-height:1.5}.cx-ghost{color:#fff!important;border-color:rgba(255,255,255,.65)!important}.cx-ghost:hover{background:#fff!important;color:var(--cx-ink)!important}.cx-dialog__option{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cx-dialog__option label{padding:14px;border:1px solid #d9dde5;border-radius:10px;cursor:pointer}.cx-dialog__option input{margin-right:8px}.cx-form .button--gold{background:var(--cx-gold);color:var(--cx-ink)}
      @media(max-width:900px){.cx-hero__inner,.cx-split,.cx-qualification,.cx-final__grid,.cx-faq{grid-template-columns:1fr;gap:36px}.cx-hero__inner{padding-top:130px}.cx-hero__aside{max-width:420px}.cx-cards{grid-template-columns:repeat(2,1fr)}.cx-differentials__cards{grid-template-columns:repeat(2,1fr)}}
      @media(max-width:620px){.cx-hero{min-height:auto}.cx-hero__inner{width:calc(100% - 32px);margin-inline:16px;padding:132px 0 72px}.cx-hero h1{max-width:100%;font-size:var(--type-display-mobile-size);overflow-wrap:anywhere}.cx-hero__lead{max-width:100%;font-size:17px;overflow-wrap:anywhere}.cx-hero__actions,.cx-hero__actions .button{width:100%;max-width:100%}.cx-hero__actions .button{white-space:normal}.cx-hero__aside{width:100%;max-width:100%}.cx-anchor{display:none}.cx-section,.cx-final{padding:78px 0}.cx-heading h2,.cx-final h2{font-size:var(--cx-section-mobile-size);line-height:1.02}.cx-cards,.cx-differentials__cards,.cx-process{grid-template-columns:1fr}.cx-card img{height:210px}.cx-visual img,.cx-qualification img{height:340px}.cx-partners{grid-template-columns:1fr}.cx-differentials>.cx-heading{text-align:left}.cx-differentials>.cx-heading h2{text-align:left}.cx-differentials>.cx-heading>p:not(.eyebrow){text-align:left}.cx-differentials__title-line{display:inline}.cx-form-card{padding:24px 20px}.cx-form{grid-template-columns:1fr}.cx-form label:last-of-type,.cx-form button,.cx-form__status{grid-column:auto}.cx-dialog__option{grid-template-columns:1fr}#contemplated-lead-form .button{font-size:12px}.cx-faq summary{font-size:19px}}

/* Carta Contemplada: shared product-page hierarchy and interactions. */
.cx-hero h1{font-size:var(--type-display-size);font-family:var(--serif);font-weight:600;letter-spacing:-.06em}
.cx-anchor{position:absolute;right:50%;bottom:24px;z-index:2;display:grid;width:42px;height:42px;place-items:center;border:1px solid rgba(255,255,255,.42);border-radius:50%;color:#fff;font-size:20px}
.cx-heading h2 {font-size:var(--type-section-size);font-family:var(--serif);font-weight:600;letter-spacing:-.06em}
.cx-final h2 {font-size:var(--type-section-size);font-family:var(--serif);font-weight:600;letter-spacing:-.06em}
.cx-heading>p:not(.eyebrow){font-size:var(--type-body-large-size)}
.cx-card h3{font-size:var(--type-card-title-size);font-family:var(--serif)}
.cx-card p {font-size:var(--type-body-size)}
.cx-differential p {font-size:var(--type-body-size)}
.cx-step p {font-size:var(--type-body-size)}
.cx-differentials{display:block}
.cx-differentials>.cx-heading{max-width:900px;margin-inline:auto;text-align:center}
.cx-differentials>.cx-heading h2{max-width:760px;margin-inline:auto}
.cx-differentials>.cx-heading>p:not(.eyebrow){margin-inline:auto}
.cx-differentials__title-line{display:block}
.cx-differentials__cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:44px}
.cx-differential{min-height:260px;padding:24px;border-radius:20px;transition:transform 180ms ease,box-shadow 180ms ease,border-color 180ms ease}
.cx-differential:hover{transform:translateY(-5px);border-color:rgba(157,100,28,.55);box-shadow:0 20px 40px rgba(1,29,68,.12)}
.cx-differential__icon{display:block;width:40px;height:40px;margin-bottom:34px;border-radius:11px;background-color:currentColor;color:#9d641c;-webkit-mask:center/contain no-repeat;mask:center/contain no-repeat}
.cx-differential__icon--consultoria {-webkit-mask-image:url("../images/icons/consultoria.svg");mask-image:url("../images/icons/consultoria.svg")}
.cx-differential__icon--comparacao {-webkit-mask-image:url("../images/icons/comparacao.svg");mask-image:url("../images/icons/comparacao.svg")}
.cx-differential__icon--custozero {-webkit-mask-image:url("../images/icons/custozero.svg");mask-image:url("../images/icons/custozero.svg")}
.cx-differential__icon--suporte {-webkit-mask-image:url("../images/icons/suporte.svg");mask-image:url("../images/icons/suporte.svg")}
.cx-differential__icon::before{content:none;background-color:currentColor}
.cx-process-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:72px;align-items:stretch}
.cx-process__intro{position:sticky;top:120px;align-self:start}
.cx-process{grid-template-columns:1fr;gap:0;margin-top:0;background:transparent}
.cx-step{position:relative;min-height:210px;padding:0 0 42px 64px;border:0;border-left:1px solid rgba(255,255,255,.25);border-radius:0}
.cx-step:last-child{min-height:230px}
.cx-step>span{position:absolute;top:0;left:-22px;display:grid;width:44px;height:44px;place-items:center;border:1px solid var(--gold-light);border-radius:50%;background:var(--navy);color:var(--gold-light);font-size:13px;letter-spacing:.08em;line-height:1;transition:background 180ms ease,color 180ms ease}
.cx-step.is-reached>span{background:var(--gold-light);color:var(--navy)}
.cx-step h3{font-size:var(--type-card-title-size)}
.cx-final{background:var(--surface-soft);color:var(--navy)}
.cx-final{padding:128px 0}
.cx-hero .eyebrow,.cx-section--navy .eyebrow{color:var(--gold-light)}
.cx-final .eyebrow{color:#cd0c0f}
.cx-hero .eyebrow{display:inline-flex;align-items:center;gap:9px;padding:8px 12px;border:1px solid rgba(247,208,101,.45);border-radius:var(--radius-pill);font:600 11px/1 var(--mono);letter-spacing:.12em}
.cx-hero .eyebrow::before{width:7px;height:7px;border-radius:50%;background:var(--gold-light);box-shadow:0 0 0 5px rgba(247,208,101,.12);content:""}
.cx-hero__inner{grid-template-columns:minmax(0,760px)}
.cx-final__intro{max-width:640px;align-self:start}
.cx-final>.container>.cx-heading{max-width:640px;align-self:start}
.cx-final h2{max-width:640px;color:var(--navy)}
.cx-final .cx-heading h2{color:var(--navy)}
.cx-final__intro>p:not(.eyebrow),.cx-final>.container>.cx-heading>p:not(.eyebrow){color:var(--muted)}
.cx-final__intro>p:not(.eyebrow){color:var(--muted)}
.cx-final .cx-heading>p:not(.eyebrow){color:var(--muted)}
.cx-process{position:relative}
@media(max-width:620px){.cx-process{margin-left:28px}.cx-step,.cx-step:last-child{min-height:210px;padding-left:48px}.cx-step>span{left:-21px;width:42px;height:42px}}
@media(max-width:620px){.cx-final{padding:78px 0}}
.cx-form-card h3{font-size:var(--type-card-title-size);font-family:var(--serif)}
.cx-differential h3,.cx-step h3{font-family:var(--serif);font-size:var(--type-card-title-size);font-weight:600}
.cx-differential p,.cx-step p{font-family:var(--sans)}
.cx-faq summary{font-family:var(--serif);font-weight:600}
.cx-badge strong{font-family:var(--serif);font-size:var(--type-card-title-size);font-weight:600}
.cx-check-list li::before{display:block;width:24px;height:24px;border-radius:0;background-color:currentColor;color:var(--gold-deep);content:"";-webkit-mask:center/contain no-repeat url("../images/icons/icon-check.svg");mask:center/contain no-repeat url("../images/icons/icon-check.svg")}
.cx-conditions-heading{max-width:980px;margin-inline:auto;text-align:center}
.cx-conditions-heading h2,.cx-conditions-heading>p:not(.eyebrow){margin-inline:auto}
.cx-conditions .cx-heading{text-align:center}
.cx-conditions .cx-heading h2,.cx-conditions .cx-heading>p:not(.eyebrow){margin-inline:auto}
.cx-conditions .x-partner-group{margin-inline:auto}
.cx-conditions .x-partner-group__label{text-align:center}
.cx-conditions .x-partner-track{width:100%;justify-content:center;gap:20px;animation:none;flex-wrap:wrap}
.cx-conditions .x-partner-logo img{width:130px}
.cx-page .cx-conditions .cx-heading{max-width:980px;margin-inline:auto;text-align:center}
.cx-page .cx-conditions .cx-heading h2,.cx-page .cx-conditions .cx-heading>p:not(.eyebrow){margin-inline:auto}
#objetivos .cx-heading{max-width:1100px}
#objetivos .cx-heading h2{max-width:none;white-space:nowrap}
.cx-footer{min-height:500px;padding:120px 0}
.cx-footer .footer__grid{min-height:260px;align-items:center}
@media(min-width:1001px){.cx-differentials>.cx-heading>p:not(.eyebrow){max-width:none;white-space:nowrap}}
@media(max-width:1000px){.cx-process-layout{grid-template-columns:1fr;gap:42px}.cx-process__intro{position:static}.cx-process{margin-top:12px}.cx-differentials__cards{grid-template-columns:repeat(2,minmax(0,1fr))}.cx-differentials__title-line{white-space:normal}.cx-final__grid{grid-template-columns:1fr;gap:42px}.cx-hero__inner{grid-template-columns:1fr;gap:42px}.cx-hero__aside{max-width:420px}}
@media(max-width:620px){#objetivos .cx-heading h2{white-space:normal}.cx-section--navy .product-cta-offset{font-size:13px}.cx-badge{display:none}.cx-qualification .cx-visual{min-height:0}.cx-conditions-heading{text-align:left}.cx-conditions-heading h2,.cx-conditions-heading>p:not(.eyebrow){margin-inline:0}.cx-differentials__cards{grid-template-columns:minmax(0,1fr)}.cx-differential{width:100%;min-width:0;min-height:auto}}
@media(min-width:901px) and (max-width:1100px){.cx-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.cx-card img{height:210px}}
@media(max-width:620px){.cx-hero h1{font-size:clamp(42px,11.2vw,44px);line-height:.96}.cx-hero__inner{padding-top:116px;padding-bottom:58px}.cx-hero__lead{margin-top:18px;line-height:1.5}.cx-hero__actions{margin-top:24px}.cx-section{padding:64px 0}.cx-card img{height:170px}.cx-card__body{padding:20px}.cx-differentials__cards{gap:12px;margin-top:30px}.cx-differential{padding:22px}.cx-differential>.cx-differential__icon{margin-bottom:18px}.cx-differentials>.cx-heading>.eyebrow{text-align:left}}
@media(min-width:821px) and (max-width:1100px){.cx-page .nav-shell{min-height:68px;padding:10px 20px}.cx-page .brand img{width:150px}.cx-page .menu-toggle{display:inline-flex}.cx-page .site-nav{position:absolute;top:calc(100% + 8px);right:20px;left:auto;display:flex;width:min(360px,calc(100% - 40px));align-items:stretch;flex-direction:column;gap:0;padding:10px;border:1px solid rgba(1,29,68,.12);border-radius:18px;background:var(--white);box-shadow:var(--shadow);opacity:0;pointer-events:none;transform:translateY(-6px);transition:opacity 180ms ease,transform 180ms ease}.cx-page .site-nav.is-open{opacity:1;pointer-events:auto;transform:none}.cx-page .site-nav>a:not(.nav-cta){padding:13px 10px;border-bottom:1px solid var(--line);color:var(--navy);opacity:1}.cx-page .nav-cta{justify-content:center;margin-top:10px}}
@media(max-width:620px){.cx-page .eyebrow{font-size:12px;line-height:1.45;letter-spacing:.13em}.cx-card{display:grid;grid-template-columns:108px minmax(0,1fr);align-items:stretch}.cx-card img{width:100%;height:100%;min-height:170px}.cx-card__body{padding:16px}.cx-card h3{margin-top:10px;font-size:22px}.cx-card p{font-size:15px;line-height:1.45}.cx-final{padding:64px 0}.cx-final__grid{gap:28px}.cx-form-card{padding:20px}.cx-form-card h3{margin:10px 0 20px;font-size:29px}.cx-form{gap:11px}.cx-form textarea{min-height:84px}#contemplated-lead-form .button{font-size:13px}.cx-microcopy{font-size:13px;line-height:1.55}.cx-faq details{padding:18px 0}.cx-footer{min-height:auto;padding:76px 0}.cx-footer .footer__grid{min-height:0;gap:28px;align-items:start}.cx-footer .footer__brand>p{margin-top:16px}.cx-footer .footer__social{margin-top:16px}.cx-footer .footer__label{margin-bottom:16px}.cx-footer .footer__links,.cx-footer .footer__contact{gap:8px}}
@media(max-width:620px){.cx-page .x-partner-group{padding:18px}.cx-page .x-partner-group__label{font-size:12px}.cx-page .x-partner-track{gap:28px;animation-duration:32s}.cx-page .x-partner-logo{display:inline-flex;min-width:160px;justify-content:center;font-size:15px}}
@media(max-width:620px){.cx-page .cx-heading h2,.cx-page .cx-final h2{font-size:var(--cx-section-mobile-size);line-height:1.02}}

/* Carta Contemplada: authoritative page-scoped type system. */
.cx-page .cx-hero h1 {
  margin:0;
  font-family:var(--serif);
  font-size:var(--type-display-size);
  font-weight:600;
  letter-spacing:-.045em;
  line-height:.98;
  overflow-wrap:normal;
  text-wrap:balance;
  word-break:normal;
}
.cx-page .cx-hero__lead {
  margin:28px 0 0;
  font-size:20px;
  line-height:1.5;
}
.cx-page .cx-heading h2,
.cx-page .cx-final h2 {
  margin:0;
  font-family:var(--serif);
  font-size:var(--type-section-size);
  font-weight:600;
  letter-spacing:-.035em;
  line-height:.98;
  overflow-wrap:normal;
  text-wrap:balance;
  word-break:normal;
}
.cx-page .cx-heading>p:not(.eyebrow),
.cx-page .cx-final__intro>p:not(.eyebrow) {
  margin:24px 0 0;
  font-family:var(--sans);
  font-size:var(--type-body-large-size);
  font-weight:400;
  line-height:1.65;
  text-wrap:pretty;
}
.cx-page .cx-card h3,
.cx-page .cx-differential h3,
.cx-page .cx-step h3,
.cx-page .cx-form-card h3 {
  font-family:var(--serif);
  font-size:var(--type-card-title-size);
  font-weight:600;
  letter-spacing:-.015em;
  line-height:1.08;
  overflow-wrap:normal;
  text-wrap:balance;
  word-break:normal;
}
.cx-page .cx-card h3 { margin:18px 0 10px; }
.cx-page .cx-differential h3 { margin:22px 0 10px; }
.cx-page .cx-step h3 { margin:0 0 10px; }
.cx-page .cx-form-card h3 { margin:0 0 22px; }
.cx-page .cx-card p,
.cx-page .cx-differential p,
.cx-page .cx-step p,
.cx-page .cx-faq details p {
  margin:0;
  font-family:var(--sans);
  font-size:var(--type-body-size);
  font-weight:400;
  line-height:1.6;
  text-wrap:pretty;
}
.cx-page .cx-list li,
.cx-page .cx-check-list li {
  font-family:var(--sans);
  font-size:var(--type-body-size);
  font-weight:400;
  line-height:1.55;
}
.cx-page .cx-faq summary {
  font:600 22px/1.1 var(--serif);
  letter-spacing:-.02em;
}
.cx-page .cx-form label {
  font:700 11px/1.2 var(--mono);
  letter-spacing:.05em;
}
.cx-objectives__title-line { display:block; }

@media(max-width:1100px) {
  .cx-page .cx-split,
  .cx-page .cx-qualification,
  .cx-page .cx-final__grid,
  .cx-page .cx-faq,
  .cx-page .cx-process-layout {
    grid-template-columns:1fr;
    gap:42px;
  }
  .cx-page .cx-cards,
  .cx-page .cx-differentials__cards {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .cx-page .cx-process__intro {
    position:static;
  }
  .cx-page .cx-process {
    margin-top:12px;
  }
  .cx-page .cx-heading {
    max-width:820px;
  }
}

@media(max-width:620px) {
  .cx-page .cx-cards,
  .cx-page .cx-differentials__cards {
    grid-template-columns:1fr;
  }
  .cx-page .cx-hero h1 {
    font-size:clamp(44px,12vw,48px);
    line-height:.96;
  }
  .cx-page .cx-heading h2,
  .cx-page .cx-final h2 {
    font-size:clamp(32px,8.8vw,36px);
    line-height:1;
  }
  .cx-page .cx-heading>p:not(.eyebrow),
  .cx-page .cx-final__intro>p:not(.eyebrow) {
    margin-top:20px;
    font-size:17px;
    line-height:1.6;
  }
  .cx-page .cx-card h3,
  .cx-page .cx-differential h3,
  .cx-page .cx-step h3,
  .cx-page .cx-form-card h3 {
    font-size:24px;
    line-height:1.08;
  }
  .cx-page .cx-card p,
  .cx-page .cx-differential p,
  .cx-page .cx-step p,
  .cx-page .cx-faq details p {
    font-size:16px;
    line-height:1.55;
  }
  .cx-page .cx-faq summary {
    font-size:19px;
    line-height:1.2;
  }
  .cx-page .cx-card {
    display:block;
  }
  .cx-page .cx-card img {
    width:100%;
    height:210px;
    min-height:0;
  }
  .cx-page .cx-card__body {
    padding:22px;
  }
  .cx-objectives__title-line { display:inline; }
  .cx-objectives__title-line + .cx-objectives__title-line::before { content:" "; }
}


/* Shared product-page utility */
.product-cta-offset { margin-top: 30px; }

/* ===== Plano de Saude ===== */
:root { --h-ink:#011d44; --h-deep:#00132e; --h-gold:#f7d065; --h-paper:#f5f7fa; --h-line:rgba(1,29,68,.14); }
      .xh-page { background:var(--h-paper); }
      .xh-hero { position:relative; min-height:min(820px,100svh); overflow:hidden; padding:170px 0 100px; background:var(--h-deep); color:#fff; }
      .xh-hero::after { position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,19,46,.97) 0%,rgba(0,19,46,.78) 52%,rgba(0,19,46,.3) 100%); content:""; }
      .xh-hero__image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 52%; }
      .xh-hero__inner { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,760px) minmax(280px,1fr); align-items:end; gap:44px; }
      .xh-hero__copy { max-width:760px; }
      .xh-hero__copy .eyebrow,.xh-section .eyebrow,.xh-final .eyebrow { color:var(--h-gold); }
      .xh-page #objetivos .xh-heading > .eyebrow,
      .xh-page #qualificacao .xh-heading > .eyebrow,
      .xh-page #diferenciais-saude .xh-heading > .eyebrow,
      .xh-page #faq .xh-heading > .eyebrow { color:var(--navy); }
      .xh-hero h1 { max-width:760px; margin:0; color:#fff; font-family:var(--serif); font-size:var(--type-display-size); font-weight:600; letter-spacing:-.045em; line-height:.98; overflow-wrap:normal; text-wrap:balance; word-break:normal; }
      .xh-hero__lead { max-width:690px; margin:28px 0 0; color:rgba(255,255,255,.86); font-size:20px; line-height:1.5; }
      .xh-hero__actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }
      .xh-hero .button--ghost { border-color:rgba(255,255,255,.72); background:rgba(0,19,46,.28); color:#fff; }
      .xh-hero .button--ghost:hover { border-color:var(--h-gold); background:rgba(247,208,101,.14); color:var(--h-gold); }
      .xh-hero__aside { display:grid; gap:12px; padding:22px; border:1px solid rgba(255,255,255,.22); border-radius:18px; background:rgba(0,19,46,.46); backdrop-filter:blur(12px); }
      .xh-hero__aside small { color:var(--h-gold); font:700 10px/1.2 var(--mono); letter-spacing:.14em; text-transform:uppercase; }
      .xh-hero__aside strong { color:#fff; font:600 29px/.98 var(--serif); }
      .xh-hero__aside span { color:rgba(255,255,255,.7); font-size:13px; line-height:1.45; }
      .xh-section { padding:112px 0; }
      .xh-section--white { background:#fff; }
      .xh-section--navy { background:var(--h-ink); color:#fff; }
      .xh-section--navy .xh-heading .eyebrow { color:var(--h-gold); }
      .xh-heading { max-width:820px; }
      .xh-heading h2,.xh-final h2 { margin:0; color:var(--h-ink); font-family:var(--serif); font-size:var(--type-section-size); font-weight:600; letter-spacing:-.035em; line-height:1; overflow-wrap:normal; text-wrap:balance; word-break:normal; }
      .xh-section--navy .xh-heading h2,.xh-section--navy .xh-heading>p:not(.eyebrow) { color:#fff; }
      .xh-heading>p:not(.eyebrow),.xh-final__intro>p:not(.eyebrow) { max-width:700px; margin:24px 0 0; color:var(--muted); font-size:var(--type-body-large-size); line-height:1.65; }
      .xh-section--navy .xh-heading>p:not(.eyebrow) { color:rgba(255,255,255,.72); }
      .xh-cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-top:46px; }
      .xh-card { overflow:hidden; border:1px solid var(--h-line); border-radius:18px; background:#fff; transition:transform 200ms ease,box-shadow 200ms ease,border-color 200ms ease; }
      .xh-card:hover,.xh-card:focus-within { transform:translateY(-7px); border-color:rgba(157,100,28,.55); box-shadow:0 20px 40px rgba(1,29,68,.13); }
      .xh-card img { width:100%; height:180px; object-fit:cover; transition:transform 320ms ease; }
      .xh-card:hover img,.xh-card:focus-within img { transform:scale(1.06); }
      .xh-card__body { padding:22px; }
      .xh-card__number { color:#9d641c; font:700 11px/1 var(--mono); letter-spacing:.12em; }
      .xh-card h3 { margin:18px 0 10px; color:var(--h-ink); font-family:var(--serif); font-size:var(--type-card-title-size); font-weight:600; letter-spacing:-.015em; line-height:1.08; text-wrap:balance; }
      .xh-card p { margin:0; color:var(--muted); font-size:var(--type-body-size); line-height:1.6; }
      .xh-split { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:72px; align-items:start; }
      .xh-list { display:grid; gap:1px; margin:0; padding:0; list-style:none; background:rgba(255,255,255,.16); }
      .xh-list li { padding:24px 26px; background:var(--h-ink); color:rgba(255,255,255,.78); line-height:1.55; }
      .xh-list strong { color:var(--h-gold); }
      .xh-benefits-layout { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:28px; align-items:stretch; }
      .xh-benefits-visual { min-height:740px; overflow:hidden; border-radius:24px; background:#0a2a55; }
      .xh-benefits-visual img { width:100%; height:100%; object-fit:cover; object-position:center; }
      .xh-benefits-panel { display:flex; min-width:0; flex-direction:column; justify-content:center; padding:clamp(38px,3.5vw,58px); border-radius:24px; background:#fff; color:var(--navy); }
      #vantagens .xh-benefits-copy .eyebrow { color:var(--navy); }
      #vantagens .xh-benefits-copy h2 { max-width:580px; color:var(--navy); font-size:clamp(40px,3.1vw,54px); line-height:.98; }
      #vantagens .xh-benefits-copy > p:not(.eyebrow) { max-width:590px; color:#59677d; }
      .xh-benefits-list { display:grid; gap:24px; margin:38px 0 0; padding:0; list-style:none; }
      .xh-benefit { display:grid; grid-template-columns:48px minmax(0,1fr); gap:18px; align-items:start; padding:0; }
      .xh-benefit__icon { display:grid; width:48px; height:48px; place-items:center; border-radius:13px; background:#fff2c7; }
      .xh-benefit__icon img { width:25px; height:25px; object-fit:contain; }
      .xh-benefit strong { display:block; margin:1px 0 7px; color:var(--navy); font:600 19px/1.2 var(--serif); }
      .xh-benefit p { margin:0; color:#69758a; font-size:15px; line-height:1.5; }
      .xh-benefits-panel > .button { align-self:flex-start; margin-top:38px; }
      .xh-qualification { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.9fr); gap:72px; align-items:center; }
      .xh-qualification__visual { position:relative; min-height:420px; overflow:hidden; border-radius:22px; background:var(--h-ink); }
      .xh-qualification__visual img { width:100%; height:100%; min-height:420px; object-fit:cover; opacity:.78; }
      .xh-qualification__visual::after { position:absolute; inset:0; background:linear-gradient(180deg,transparent 30%,rgba(0,19,46,.9)); content:""; }
      .xh-badge { position:absolute; right:20px; bottom:20px; z-index:1; padding:18px; border:1px solid rgba(247,208,101,.52); border-radius:14px; background:rgba(0,19,46,.68); color:#fff; }
      .xh-badge strong { display:block; color:var(--h-gold); font:600 31px/1 var(--serif); }
      .xh-badge span { display:block; margin-top:7px; color:rgba(255,255,255,.74); font:600 11px/1.4 var(--mono); }
      .xh-check-list { display:grid; gap:14px; margin:28px 0 0; padding:0; list-style:none; }
      .xh-check-list li { position:relative; padding-left:28px; color:#59677d; line-height:1.55; }
      .xh-check-list li::before { position:absolute; top:.35em; left:0; display:grid; width:17px; height:17px; place-items:center; border-radius:50%; background:#fff2c7; color:#9d641c; content:"✓"; font:700 11px/1 var(--mono); }
      @media (min-width:621px) {
        .xh-page #qualificacao .xh-heading > p:not(.eyebrow) { font-size:20px; }
        .xh-page #qualificacao .xh-check-list li { font-size:18px; }
      }
      .xh-operators { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:72px; align-items:center; }
      .xh-operator-board { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; padding:1px; background:var(--h-line); }
      .xh-operator { min-height:120px; display:grid; place-items:center; padding:18px; background:#fff; color:var(--h-ink); font:700 13px/1.25 var(--mono); text-align:center; }
      .xh-differentials { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:72px; }
      .xh-differentials__cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
      .xh-differential { padding:22px; border:1px solid var(--h-line); border-radius:16px; background:#fff; transition:transform 180ms ease,background 180ms ease,color 180ms ease; }
      .xh-differential:hover { transform:translateY(-5px); background:var(--h-ink); color:#fff; }
      .xh-differential__icon { display:grid; width:40px; height:40px; place-items:center; border-radius:11px; background:#fff2c7; color:#9d641c; }
      .xh-differential__icon::before { width:24px; height:24px; background-color:currentColor; content:""; -webkit-mask:var(--xh-differential-icon) center/contain no-repeat; mask:var(--xh-differential-icon) center/contain no-repeat; }
      .xh-differential__icon--consultoria { --xh-differential-icon:url("../images/icons/consultoria.svg"); }
      .xh-differential__icon--suporte { --xh-differential-icon:url("../images/icons/suporte.svg"); }
      .xh-differential__icon--custozero { --xh-differential-icon:url("../images/icons/custozero.svg"); }
      .xh-differential__icon--atendimento { --xh-differential-icon:url("../images/icons/seguranca.svg"); }
      .xh-differential h3 { margin:22px 0 10px; color:var(--h-ink); font-family:var(--serif); font-size:var(--type-card-title-size); font-weight:600; letter-spacing:-.015em; line-height:1.08; text-wrap:balance; }
      .xh-differential:hover h3 { color:#fff; }
      .xh-differential p { margin:0; color:var(--muted); font-size:var(--type-body-size); line-height:1.6; }
      .xh-differential:hover p { color:rgba(255,255,255,.72); }
      .xh-process { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:52px; background:rgba(255,255,255,.18); }
      .xh-step { padding:28px 24px; background:var(--h-ink); }
      .xh-step>span { display:grid; width:48px; height:48px; place-items:center; border:1px solid rgba(247,208,101,.7); border-radius:50%; color:var(--h-gold); font:700 13px/1 var(--mono); }
      .xh-step h3 { margin:26px 0 10px; color:#fff; font-family:var(--serif); font-size:var(--type-card-title-size); font-weight:600; letter-spacing:-.015em; line-height:1.08; text-wrap:balance; }
      .xh-step p { margin:0; color:rgba(255,255,255,.7); font-size:var(--type-body-size); line-height:1.6; }
      .xh-faq { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:72px; align-items:start; }
      .xh-faq__list { display:grid; gap:1px; border:1px solid var(--h-line); background:var(--h-line); }
      .xh-faq details { padding:22px 24px; background:#fff; }
      .xh-faq summary { display:flex; justify-content:space-between; gap:20px; cursor:pointer; color:var(--h-ink); font:600 22px/1.1 var(--serif); list-style:none; }
      .xh-faq summary::-webkit-details-marker { display:none; }
      .xh-faq summary::after { color:#9d641c; content:"+"; font:400 25px/1 var(--sans); }
      .xh-faq details[open] summary::after { content:"−"; }
      .xh-faq details p { margin:16px 40px 0 0; color:#59677d; line-height:1.6; }
      .xh-final { padding:112px 0; background:var(--surface-soft); color:var(--h-ink); }
      .xh-final__grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,500px); gap:72px; align-items:start; }
      .xh-final__intro { max-width:640px; }
      .xh-final h2 { max-width:640px; }
      .xh-final__intro>p:not(.eyebrow) { max-width:640px; }
      .xh-form-card { padding:32px; border-radius:20px; background:#fff; color:var(--h-ink); box-shadow:0 20px 48px rgba(0,0,0,.2); }
      .xh-form-card h3 { margin:0 0 22px; font-family:var(--serif); font-size:var(--type-card-title-size); font-weight:600; letter-spacing:-.015em; line-height:1.08; text-wrap:balance; }
      .xh-form { display:grid; gap:13px; }
      .xh-form label { display:grid; gap:7px; color:#59677d; font:700 11px/1.2 var(--mono); text-transform:uppercase; }
      .xh-form input,.xh-form select { width:100%; padding:13px 14px; border:1px solid var(--h-line); border-radius:9px; background:#fff; color:var(--h-ink); font:500 15px/1.3 var(--sans); }
      .xh-form .button { width:100%; margin-top:4px; }
      .xh-form__status { margin:8px 0 0; color:#2b6947; font-size:13px; line-height:1.4; }
      .xh-microcopy { margin:16px 0 0; color:#69758a; font-size:11px; line-height:1.5; }
      @media (min-width:821px) and (max-width:1100px) { .xh-page .nav-shell{min-height:68px;padding:10px 20px}.xh-page .brand img{width:150px;height:auto}.xh-page .menu-toggle{display:inline-flex}.xh-page .site-nav{position:absolute;top:calc(100% + 8px);right:20px;left:auto;display:flex;width:min(360px,calc(100% - 40px));align-items:stretch;flex-direction:column;gap:0;padding:10px;border:1px solid rgba(1,29,68,.12);border-radius:18px;background:var(--white);box-shadow:var(--shadow);opacity:0;pointer-events:none;transform:translateY(-6px);transition:opacity 180ms ease,transform 180ms ease}.xh-page .site-nav.is-open{opacity:1;pointer-events:auto;transform:none}.xh-page .site-nav>a:not(.nav-cta){padding:13px 10px;border-bottom:1px solid var(--line);color:var(--navy);opacity:1}.xh-page .nav-cta{justify-content:center;margin-top:10px} }
      @media (max-width:1100px) { .xh-hero__inner,.xh-split,.xh-qualification,.xh-operators,.xh-differentials,.xh-faq,.xh-final__grid { grid-template-columns:1fr; gap:42px; } .xh-hero { min-height:auto; } .xh-hero__copy { max-width:820px; } .xh-hero__aside { max-width:420px; } .xh-cards { grid-template-columns:repeat(2,minmax(0,1fr)); } .xh-differentials__cards { grid-template-columns:repeat(2,minmax(0,1fr)); } .xh-process { grid-template-columns:1fr; } .xh-final__intro { max-width:760px; } }
      @media (max-width:900px) { .xh-benefits-layout { grid-template-columns:1fr; gap:24px; } .xh-benefits-visual { min-height:420px; max-height:520px; } }
      @media (max-width:620px) { .xh-hero { min-height:auto; padding:116px 0 58px; } .xh-hero h1 { font-size:clamp(44px,12vw,48px); letter-spacing:-.035em; line-height:.96; } .xh-heading h2,.xh-final h2 { font-size:clamp(32px,8.8vw,36px); letter-spacing:-.025em; line-height:1; } .xh-heading>p:not(.eyebrow),.xh-final__intro>p:not(.eyebrow) { margin-top:20px; font-size:17px; line-height:1.6; text-wrap:pretty; } .xh-hero__lead { margin-top:18px; font-size:17px; line-height:1.5; } .xh-hero__actions { margin-top:24px; } .xh-hero__actions,.xh-hero__actions .button { width:100%; } .xh-hero__actions .button { white-space:normal; } .xh-section,.xh-final { padding:64px 0; } .xh-cards,.xh-differentials__cards,.xh-process { grid-template-columns:1fr; } .xh-card { display:grid; grid-template-columns:108px minmax(0,1fr); align-items:stretch; } .xh-card img { width:100%; height:100%; min-height:170px; } .xh-card__body { padding:16px; } .xh-card h3,.xh-differential h3,.xh-step h3,.xh-form-card h3 { font-size:24px; line-height:1.08; } .xh-card p,.xh-differential p,.xh-step p { font-size:16px; line-height:1.55; } .xh-differentials__cards { gap:12px; margin-top:30px; } .xh-differential { padding:22px; } .xh-qualification__visual,.xh-qualification__visual img { min-height:300px; } .xh-badge { display:none; } .xh-operator-board { grid-template-columns:1fr; } .xh-operator { min-height:88px; } .xh-process { gap:0; } .xh-step { padding:24px 0; } .xh-final__grid { gap:28px; } .xh-form-card { padding:20px; } #health-lead-form .button { font-size:12px; } .xh-faq summary { font-size:19px; line-height:1.2; } .xh-footer { min-height:auto; padding:76px 0; } .xh-footer .footer__grid { min-height:0; gap:28px; align-items:start; } }
      @media (max-width:620px) {
        #objetivos,#qualificacao,#diferenciais-saude { padding-top:42px; padding-bottom:42px; }
        #operadoras { padding-top:52px; padding-bottom:42px; }
        #vantagens .xh-benefits-copy h2,
        #como-funciona .xp-process__intro > h2,
        #operadoras .x-partners__grid h2 { font-size:clamp(32px,8.8vw,36px); font-weight:600; letter-spacing:-.025em; line-height:1; }
        #como-funciona .xp-process__intro > h2 { width:min(316px,100%); }
        #operadoras .x-partners__grid { text-align:left; }
        #operadoras .x-partners__grid h2 { width:100%; }
        .xh-hero__aside strong { font-size:26px; line-height:32px; }
        .xh-hero__aside > span { font-size:15px; }
        #operadoras .x-partner-logo img { width:140px; height:56px; }
        #objetivos .xh-card { display:block; padding:14px; }
        #objetivos .xh-card:first-child { border-color:rgba(157,100,28,.52); }
        #objetivos .xh-card img { width:100%; height:190px; min-height:190px; border-radius:12px; }
        #objetivos .xh-card__body { padding:18px 0 8px; }
        #objetivos .xh-card h3 { margin-top:10px; font-size:23px; }
        #objetivos .xh-card p { font-size:15px; }
        #qualificacao .xh-qualification__visual,
        #qualificacao .xh-qualification__visual img { height:300px; min-height:300px; }
        #diferenciais-saude .xh-differentials__cards { margin-top:0; }
        #diferenciais-saude .xh-differential h3 { font-size:22px; }
        .xh-benefits-layout { gap:16px; }
        .xh-benefits-visual { min-height:300px; max-height:360px; border-radius:20px; }
        .xh-benefits-panel { padding:28px 22px; border-radius:20px; }
        .xh-benefits-list { gap:22px; margin-top:30px; }
        .xh-benefit { grid-template-columns:44px minmax(0,1fr); gap:14px; }
        .xh-benefit__icon { width:44px; height:44px; }
        .xh-benefit strong { font-size:18px; }
        .xh-benefit p { font-size:15px; }
        #vantagens .xh-benefits-panel > .button { width:100%; justify-content:center; margin-top:32px; padding-right:16px; padding-left:16px; font-size:14px; white-space:normal; }
      }
      @media (prefers-reduced-motion:reduce) { *,*::before,*::after { transition-duration:.01ms!important; animation-duration:.01ms!important; scroll-behavior:auto!important; } }

/* Product footer follows the official home spacing and social treatment. */
.xh-footer { min-height:500px; padding:120px 0; }
.xh-footer .footer__grid { min-height:260px; align-items:center; }
.xh-footer .footer__brand > p { white-space:nowrap; }
@media (max-width:620px) {
  .xh-footer { min-height:auto; padding:76px 0; }
  .xh-footer .footer__grid { min-height:0; gap:28px; align-items:start; }
  .xh-footer .footer__brand > p { margin-top:16px; }
  .xh-footer .footer__social { margin-top:16px; }
  .xh-footer .footer__label { margin-bottom:16px; }
  .xh-footer .footer__links,.xh-footer .footer__contact { gap:8px; }
}

/* Canonical product lead form — based on Consorcio de Automoveis. */
.product-final {
  padding:112px 0;
  background:var(--surface-soft);
  color:var(--navy);
}
.product-final__grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,500px);
  gap:72px;
  align-items:start;
}
.product-final__intro {
  max-width:640px;
  margin:0;
}
.product-final .product-final__intro > .eyebrow {
  color:var(--red);
}
.product-final .product-final__intro > h2 {
  max-width:640px;
  margin:0;
  color:var(--navy);
  font-family:var(--serif);
  font-size:var(--type-section-size);
  font-weight:600;
  letter-spacing:-.035em;
  line-height:1;
  overflow-wrap:normal;
  text-wrap:balance;
  word-break:normal;
}
.product-final .product-final__intro > p:not(.eyebrow) {
  max-width:640px;
  margin:24px 0 0;
  color:var(--muted);
  font-family:var(--sans);
  font-size:var(--type-body-large-size);
  font-weight:400;
  line-height:1.65;
  text-wrap:pretty;
}
.product-form-card {
  padding:32px;
  border-radius:20px;
  background:var(--white);
  color:var(--navy);
  box-shadow:0 20px 48px rgba(0,0,0,.2);
}
.product-form-card > .product-form__eyebrow {
  color:var(--red);
}
.product-form-card .product-form__title {
  margin:0 0 22px;
  color:var(--navy);
  font-family:var(--serif);
  font-size:var(--type-card-title-size);
  font-weight:600;
  letter-spacing:-.015em;
  line-height:1.08;
  text-wrap:balance;
}
.product-lead-form {
  display:grid;
  grid-template-columns:1fr;
  gap:13px;
}
.product-lead-form label {
  display:grid;
  gap:7px;
  color:#59677d;
  font:700 11px/1.2 var(--mono);
  letter-spacing:0;
  text-transform:uppercase;
}
.product-lead-form input,
.product-lead-form select,
.product-lead-form textarea {
  width:100%;
  min-height:46px;
  padding:13px 14px;
  border:1px solid rgba(1,29,68,.14);
  border-radius:9px;
  background:var(--white);
  color:var(--navy);
  font:500 15px/1.3 var(--sans);
  letter-spacing:normal;
  text-transform:none;
}
.product-lead-form textarea {
  min-height:96px;
  resize:none;
}
.product-lead-form input:focus,
.product-lead-form select:focus,
.product-lead-form textarea:focus {
  border-color:var(--gold-deep);
  outline:3px solid rgba(247,208,101,.35);
  outline-offset:1px;
}
.product-lead-form [aria-invalid="true"] {
  border-color:var(--red);
}
.product-lead-form .button {
  width:100%;
  margin-top:4px;
}
.product-form__status {
  margin:8px 0 0;
  font-size:13px;
  line-height:1.4;
}
.product-form__microcopy {
  margin:16px 0 0;
  color:#69758a;
  font-family:var(--sans);
  font-size:11px;
  font-weight:400;
  line-height:1.5;
}
.product-budget-dialog {
  width:min(560px,calc(100% - 32px));
  max-width:none;
  max-height:calc(100% - 32px);
  padding:0;
  border:0;
  border-radius:20px;
  background:transparent;
  overflow:visible;
}
.product-budget-dialog::backdrop {
  background:rgba(1,29,68,.78);
  backdrop-filter:blur(6px);
}
.product-budget-dialog__card {
  max-height:calc(100vh - 32px);
  overflow:auto;
}
.product-budget-dialog__header {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  margin-bottom:22px;
}
.product-budget-dialog__header h2 {
  max-width:390px;
  margin:0;
  color:var(--navy);
  font-family:var(--serif);
  font-size:var(--type-card-title-size);
  font-weight:600;
  letter-spacing:-.015em;
  line-height:1.08;
  text-wrap:balance;
}
.product-budget-dialog__close {
  flex:0 0 auto;
  width:38px;
  height:38px;
  padding:0;
  border:1px solid rgba(1,29,68,.18);
  border-radius:50%;
  background:transparent;
  color:var(--navy);
  font-size:26px;
  line-height:1;
  cursor:pointer;
}
.product-budget-dialog__close:hover,
.product-budget-dialog__close:focus-visible {
  background:var(--surface-soft);
}
@media (max-width:1100px) {
  .product-final__grid {
    grid-template-columns:1fr;
    gap:42px;
  }
  .product-final__intro {
    max-width:760px;
  }
}
@media (max-width:620px) {
  .product-final {
    padding:64px 0;
  }
  .product-final__grid {
    gap:28px;
  }
  .product-final .product-final__intro > h2 {
    font-size:clamp(32px,8.8vw,36px);
    letter-spacing:-.025em;
    line-height:1;
  }
  .product-final .product-final__intro > p:not(.eyebrow) {
    margin-top:20px;
    font-size:17px;
    line-height:1.6;
  }
  .product-form-card {
    padding:20px;
  }
  .product-form-card .product-form__title {
    font-size:24px;
    line-height:1.08;
  }
  .product-lead-form .button {
    font-size:12px;
  }
  .product-form__microcopy {
    font-size:11px;
  }
  .product-budget-dialog {
    width:calc(100% - 24px);
  }
  .product-budget-dialog__card {
    padding:20px;
  }
  .product-budget-dialog__header h2 {
    font-size:24px;
  }
}
