/*
 * Cristal Consórcios — simulador de estratégia
 * Complementa ../styles.css. Todas as regras da página permanecem isoladas
 * por .strategy-site para preservar as rotas e os componentes existentes.
 */

.strategy-site {
  --strategy-ink: var(--ink, #07192a);
  --strategy-ink-soft: var(--ink-2, #0d2b46);
  --strategy-navy: var(--navy, #09213a);
  --strategy-blue: var(--blue, #2b8ac5);
  --strategy-blue-bright: var(--blue-bright, #6cc9f4);
  --strategy-gold: var(--gold, #c7a45f);
  --strategy-gold-light: var(--gold-light, #e7ca8a);
  --strategy-gold-deep: var(--gold-deep, #8f6c2d);
  --strategy-ice: var(--ice, #eaf7fc);
  --strategy-paper: var(--paper, #f8fafb);
  --strategy-warm: var(--warm, #f1eee9);
  --strategy-line: var(--line, #d7e1e8);
  --strategy-muted: var(--muted, #617180);
  --strategy-white: var(--white, #fff);
  --strategy-danger: #a84242;
  --strategy-success: #237655;
  --strategy-surface-blue: #f1f9fc;
  --strategy-surface-gold: #fbf7ed;
  --strategy-shadow: var(--shadow, 0 20px 50px rgba(7, 25, 42, .11));
  --strategy-shadow-soft: 0 14px 38px rgba(7, 25, 42, .075);
  --strategy-radius: var(--radius, 20px);
  --strategy-radius-small: 10px;
  --strategy-control-height: 50px;
  --strategy-whatsapp-space: calc(78px + env(safe-area-inset-bottom, 0px));
  min-width: 0;
  overflow-x: clip;
  color: var(--strategy-ink);
  background: var(--strategy-paper);
}

body.strategy-site {
  min-height: 100svh;
  margin: 0;
  background: var(--strategy-paper);
}

.strategy-site :where(main, section, article, aside, form, fieldset, div, nav) {
  min-width: 0;
}

.strategy-site :where(img, svg, canvas) {
  max-width: 100%;
}

.strategy-site :where(h1, h2, h3, h4, p, li, label, span, strong, output) {
  overflow-wrap: break-word;
}

.strategy-site :where(
  output,
  input,
  .strategy-money,
  .strategy-percent,
  .strategy-result-value,
  .strategy-bid-value,
  .strategy-scenario-value,
  .strategy-chart-value
) {
  font-variant-numeric: tabular-nums lining-nums;
  font-feature-settings: "tnum" 1, "lnum" 1;
}

.strategy-site [hidden] {
  display: none !important;
}

.strategy-shell {
  width: min(calc(100% - 30px), var(--shell, 1180px));
  margin-inline: auto;
}

.strategy-main {
  position: relative;
  background:
    radial-gradient(circle at 100% 12%, rgba(108, 201, 244, .09), transparent 24rem),
    var(--strategy-paper);
}

.strategy-section {
  padding-block: 72px;
}

.strategy-section-heading {
  margin-bottom: 28px;
}

.strategy-section-heading h2 {
  max-width: 760px;
  margin-top: 14px;
  font-size: clamp(30px, 8.5vw, 48px);
  letter-spacing: -.055em;
  text-wrap: balance;
}

.strategy-section-heading > p:not(.eyebrow) {
  max-width: 680px;
  margin-top: 15px;
  color: var(--strategy-muted);
  font-size: 14px;
  line-height: 1.7;
}

/* Hero */
.strategy-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 136px 0 74px;
  color: var(--strategy-white);
  background:
    radial-gradient(circle at 85% 20%, rgba(108, 201, 244, .18), transparent 22rem),
    linear-gradient(132deg, #061727 0%, var(--strategy-navy) 58%, #0c3a5c 100%);
}

.strategy-hero::before,
.strategy-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  aspect-ratio: 1;
  border: 1px solid rgba(163, 228, 250, .18);
  pointer-events: none;
  transform: rotate(45deg);
}

.strategy-hero::before {
  top: 22%;
  right: -7rem;
  width: clamp(190px, 34vw, 430px);
  box-shadow: inset 0 0 75px rgba(108, 201, 244, .045);
}

.strategy-hero::after {
  right: 24%;
  bottom: -14rem;
  width: clamp(260px, 40vw, 520px);
  border-color: rgba(231, 202, 138, .12);
}

.strategy-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 38px;
}

.strategy-hero-copy h1 {
  max-width: 850px;
  margin-top: 21px;
  font-size: clamp(42px, 12vw, 72px);
  font-weight: 600;
  letter-spacing: -.062em;
  text-wrap: balance;
}

.strategy-hero-copy h1 em,
.strategy-hero-copy h1 span {
  color: var(--strategy-gold-light);
  font-style: normal;
}

.strategy-hero-lead {
  max-width: 690px;
  margin-top: 23px;
  color: rgba(255, 255, 255, .78);
  font-size: 16px;
  line-height: 1.72;
}

.strategy-hero-actions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 11px;
  margin-top: 29px;
}

.strategy-hero-aside {
  display: grid;
  gap: 17px;
  padding: 24px;
  border: 1px solid rgba(180, 222, 240, .2);
  border-radius: var(--strategy-radius);
  background: rgba(255, 255, 255, .055);
  box-shadow: 0 24px 60px rgba(0, 9, 19, .18);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.strategy-hero-aside-title {
  color: var(--strategy-blue-bright);
  font: 600 10px/1.3 "DM Mono", ui-monospace, monospace;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.strategy-hero-point {
  display: grid;
  grid-template-columns: 31px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.strategy-hero-point + .strategy-hero-point {
  padding-top: 17px;
  border-top: 1px solid rgba(255, 255, 255, .11);
}

.strategy-hero-point > span {
  display: grid;
  width: 31px;
  height: 31px;
  place-items: center;
  border: 1px solid rgba(231, 202, 138, .48);
  border-radius: 50%;
  color: var(--strategy-gold-light);
  font: 600 10px "DM Mono", ui-monospace, monospace;
}

.strategy-hero-point strong,
.strategy-hero-point small {
  display: block;
}

.strategy-hero-point strong {
  color: var(--strategy-white);
  font: 650 14px/1.35 "Manrope", Arial, sans-serif;
  letter-spacing: -.025em;
}

.strategy-hero-point small {
  margin-top: 4px;
  color: rgba(255, 255, 255, .62);
  font-size: 11px;
  line-height: 1.5;
}

/* Área de configuração */
.strategy-workspace {
  padding: 68px 0 82px;
}

.strategy-layout {
  display: grid;
  gap: 22px;
}

.strategy-configurator,
.strategy-panel {
  border: 1px solid rgba(7, 25, 42, .1);
  border-radius: var(--strategy-radius);
  background: var(--strategy-white);
  box-shadow: var(--strategy-shadow-soft);
}

.strategy-configurator {
  padding: 23px 18px;
}

.strategy-panel {
  padding: 22px 18px;
}

.strategy-configurator-header,
.strategy-panel-header,
.strategy-section-head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}

.strategy-configurator-header h2,
.strategy-panel-header h2,
.strategy-section-head h2 {
  font-size: clamp(26px, 7vw, 36px);
  letter-spacing: -.05em;
}

.strategy-configurator-header p,
.strategy-panel-header p,
.strategy-section-head p {
  color: var(--strategy-muted);
  font-size: 13px;
  line-height: 1.6;
}

.strategy-step-label {
  color: var(--strategy-blue);
  font: 650 10px/1.25 "DM Mono", ui-monospace, monospace;
  letter-spacing: .1em;
  text-transform: uppercase;
}

/* Alternância simples / avançado */
.strategy-mode-toggle {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px;
  width: 100%;
  margin: 22px 0 27px;
  padding: 4px;
  border: 1px solid #cbdbe3;
  border-radius: 12px;
  background: #edf4f7;
}

.strategy-mode-button {
  min-height: 46px;
  padding: 8px 12px;
  border: 1px solid transparent;
  border-radius: 8px;
  color: #607888;
  background: transparent;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .04em;
  text-transform: uppercase;
  transition: color .2s, background .2s, border-color .2s, box-shadow .2s;
}

.strategy-mode-button:hover {
  color: var(--strategy-ink);
}

.strategy-mode-button.is-active,
.strategy-mode-button[aria-selected="true"],
.strategy-mode-button[aria-pressed="true"] {
  color: var(--strategy-ink);
  border-color: rgba(7, 25, 42, .08);
  background: var(--strategy-white);
  box-shadow: 0 5px 16px rgba(7, 25, 42, .08);
}

/* Presets genéricos: valor da carta, mês e cenários prontos */
.strategy-presets {
  display: flex;
  gap: 8px;
  margin-top: 11px;
  padding: 2px 1px 7px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
  scroll-snap-type: x proximity;
}

.strategy-presets::-webkit-scrollbar {
  height: 4px;
}

.strategy-presets::-webkit-scrollbar-thumb {
  border-radius: 99px;
  background: #b9cbd5;
}

.strategy-preset {
  flex: 0 0 auto;
  min-height: 42px;
  padding: 8px 14px;
  border: 1px solid #c6d6df;
  border-radius: 999px;
  color: #405e70;
  background: #fbfdfe;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
  scroll-snap-align: start;
  transition: color .2s, border-color .2s, background .2s, transform .2s;
}

.strategy-preset:hover {
  color: var(--strategy-ink);
  border-color: #8ebbd0;
  background: var(--strategy-ice);
}

.strategy-preset.is-active,
.strategy-preset[aria-pressed="true"] {
  color: var(--strategy-white);
  border-color: var(--strategy-ink);
  background: var(--strategy-ink);
}

.strategy-scenario-presets {
  display: grid;
  gap: 9px;
  margin: 24px 0;
}

.strategy-scenario-preset {
  min-height: 68px;
  padding: 14px 16px;
  border: 1px solid #cfdee6;
  border-radius: 11px;
  color: var(--strategy-ink);
  background: var(--strategy-white);
  text-align: left;
  transition: border-color .2s, background .2s, transform .2s, box-shadow .2s;
}

.strategy-scenario-preset:hover,
.strategy-scenario-preset.is-active,
.strategy-scenario-preset[aria-pressed="true"] {
  border-color: rgba(43, 138, 197, .55);
  background: var(--strategy-surface-blue);
  box-shadow: 0 8px 20px rgba(23, 77, 104, .07);
}

.strategy-scenario-preset strong,
.strategy-scenario-preset small {
  display: block;
}

.strategy-scenario-preset strong {
  font: 700 13px "Manrope", Arial, sans-serif;
  letter-spacing: -.02em;
}

.strategy-scenario-preset small {
  margin-top: 4px;
  color: var(--strategy-muted);
  font-size: 10px;
}

/* Formulário */
.strategy-form {
  margin-top: 4px;
}

.strategy-fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.strategy-fieldset + .strategy-fieldset,
.strategy-form-section + .strategy-form-section {
  margin-top: 30px;
  padding-top: 27px;
  border-top: 1px solid var(--strategy-line);
}

.strategy-form-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 19px;
}

.strategy-field {
  min-width: 0;
}

.strategy-field-wide,
.strategy-field-full {
  grid-column: 1 / -1;
}

.strategy-label-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 7px;
}

.strategy-field label,
.strategy-field-label,
.strategy-field legend {
  display: block;
  color: #476374;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .005em;
}

.strategy-required {
  color: var(--strategy-danger);
}

.strategy-input-wrap {
  position: relative;
  display: flex;
  min-width: 0;
  align-items: center;
}

.strategy-input-wrap > :is(input, select),
.strategy-field > :is(input, select) {
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  height: var(--strategy-control-height);
  padding: 0 13px;
  border: 1px solid #c7d7df;
  border-radius: 7px;
  outline: 0;
  color: var(--strategy-ink);
  background: var(--strategy-white);
  font-size: 14px;
  font-weight: 650;
  transition: border-color .2s, box-shadow .2s, background .2s;
}

.strategy-input-wrap > select,
.strategy-field > select {
  padding-right: 38px;
  appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, #607888 50%),
    linear-gradient(135deg, #607888 50%, transparent 50%);
  background-position:
    calc(100% - 17px) calc(50% - 2px),
    calc(100% - 12px) calc(50% - 2px);
  background-repeat: no-repeat;
  background-size: 5px 5px, 5px 5px;
}

.strategy-input-wrap.has-prefix > :is(input, select) {
  padding-left: 43px;
}

.strategy-input-wrap.has-suffix > :is(input, select) {
  padding-right: 48px;
}

.strategy-input-prefix,
.strategy-input-suffix {
  position: absolute;
  z-index: 1;
  top: 50%;
  color: #6a808e;
  font-size: 12px;
  font-weight: 700;
  pointer-events: none;
  transform: translateY(-50%);
}

.strategy-input-prefix {
  left: 13px;
}

.strategy-input-suffix {
  right: 13px;
}

.strategy-input-wrap > :is(input, select):hover,
.strategy-field > :is(input, select):hover {
  border-color: #94b5c5;
}

.strategy-input-wrap > :is(input, select):focus,
.strategy-field > :is(input, select):focus {
  border-color: var(--strategy-blue);
  box-shadow: 0 0 0 4px rgba(43, 138, 197, .13);
}

.strategy-field :is(input, select)[aria-invalid="true"],
.strategy-field.is-invalid :is(input, select) {
  border-color: var(--strategy-danger);
  background: #fffafa;
}

.strategy-field :is(input, select):disabled {
  color: #748792;
  background: #eef3f5;
  cursor: not-allowed;
}

.strategy-field-help,
.strategy-field-error {
  display: block;
  margin-top: 7px;
  font-size: 10px;
  line-height: 1.45;
}

.strategy-field-help {
  color: #718692;
}

.strategy-field-error {
  color: var(--strategy-danger);
}

/* Tooltip acessível */
.strategy-tooltip {
  position: relative;
  display: inline-flex;
  flex: 0 0 auto;
}

.strategy-tooltip-trigger {
  display: inline-grid;
  width: 28px;
  height: 28px;
  place-items: center;
  padding: 0;
  border: 1px solid #a9c3d0;
  border-radius: 50%;
  color: #3f718a;
  background: #f7fbfd;
  font: 750 12px/1 "DM Mono", ui-monospace, monospace;
}

.strategy-tooltip-content {
  position: absolute;
  z-index: 20;
  right: 0;
  bottom: calc(100% + 10px);
  width: min(260px, calc(100vw - 38px));
  padding: 12px 13px;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 8px;
  color: rgba(255, 255, 255, .88);
  background: var(--strategy-ink);
  box-shadow: 0 15px 32px rgba(7, 25, 42, .22);
  font-size: 11px;
  font-weight: 500;
  line-height: 1.55;
  opacity: 0;
  pointer-events: none;
  transform: translateY(5px);
  transition: opacity .18s, transform .18s;
}

.strategy-tooltip-content::after {
  content: "";
  position: absolute;
  right: 9px;
  top: 100%;
  border: 6px solid transparent;
  border-top-color: var(--strategy-ink);
}

.strategy-tooltip:hover .strategy-tooltip-content,
.strategy-tooltip:focus-within .strategy-tooltip-content,
.strategy-tooltip-trigger[aria-expanded="true"] + .strategy-tooltip-content,
.strategy-tooltip-content.is-open {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

/* Slider, número e stepper compartilham uma linha legível no celular. */
.strategy-range-group {
  display: grid;
  gap: 11px;
}

.strategy-range-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 11px;
  align-items: center;
}

.strategy-range {
  width: 100%;
  min-width: 0;
  height: 34px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  appearance: none;
}

.strategy-range::-webkit-slider-runnable-track {
  height: 6px;
  border-radius: 99px;
  background:
    linear-gradient(
      90deg,
      var(--strategy-blue) 0 var(--range-progress, 50%),
      #d8e4ea var(--range-progress, 50%) 100%
    );
}

.strategy-range::-moz-range-track {
  height: 6px;
  border-radius: 99px;
  background: #d8e4ea;
}

.strategy-range::-moz-range-progress {
  height: 6px;
  border-radius: 99px;
  background: var(--strategy-blue);
}

.strategy-range::-webkit-slider-thumb {
  width: 24px;
  height: 24px;
  margin-top: -9px;
  border: 4px solid var(--strategy-white);
  border-radius: 50%;
  background: var(--strategy-blue);
  box-shadow: 0 2px 0 1px rgba(7, 25, 42, .12), 0 5px 14px rgba(43, 138, 197, .28);
  appearance: none;
}

.strategy-range::-moz-range-thumb {
  width: 16px;
  height: 16px;
  border: 4px solid var(--strategy-white);
  border-radius: 50%;
  background: var(--strategy-blue);
  box-shadow: 0 2px 0 1px rgba(7, 25, 42, .12), 0 5px 14px rgba(43, 138, 197, .28);
}

.strategy-range-scale {
  display: flex;
  justify-content: space-between;
  margin-top: -5px;
  color: #7a8f9a;
  font: 500 9px "DM Mono", ui-monospace, monospace;
}

.strategy-stepper {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 44px;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #c7d7df;
  border-radius: 8px;
  background: var(--strategy-white);
}

.strategy-stepper button {
  min-width: 44px;
  min-height: 46px;
  padding: 0;
  border: 0;
  color: var(--strategy-ink);
  background: #edf5f8;
  font-size: 21px;
  line-height: 1;
}

.strategy-stepper input,
.strategy-stepper output {
  display: grid;
  width: 100%;
  min-width: 0;
  height: 46px;
  place-items: center;
  padding: 0 6px;
  border: 0;
  color: var(--strategy-ink);
  background: var(--strategy-white);
  font-size: 13px;
  font-weight: 750;
  text-align: center;
}

/* Configurações avançadas */
.strategy-advanced {
  margin-top: 27px;
  border-top: 1px solid var(--strategy-line);
  border-bottom: 1px solid var(--strategy-line);
}

.strategy-advanced > summary,
.strategy-advanced-toggle {
  display: flex;
  width: 100%;
  min-height: 58px;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 0;
  border: 0;
  color: var(--strategy-ink);
  background: transparent;
  font: 700 13px "Manrope", Arial, sans-serif;
  letter-spacing: -.02em;
  text-align: left;
  cursor: pointer;
  list-style: none;
}

.strategy-advanced > summary::-webkit-details-marker {
  display: none;
}

.strategy-advanced > summary::after,
.strategy-advanced-toggle::after {
  content: "+";
  display: grid;
  flex: 0 0 auto;
  width: 29px;
  height: 29px;
  place-items: center;
  border: 1px solid #a9c3d0;
  border-radius: 50%;
  color: var(--strategy-blue);
  font: 400 20px/1 Arial, sans-serif;
  transition: color .2s, background .2s, transform .2s;
}

.strategy-advanced[open] > summary::after,
.strategy-advanced-toggle[aria-expanded="true"]::after {
  color: var(--strategy-white);
  background: var(--strategy-ink);
  transform: rotate(45deg);
}

.strategy-advanced-content,
.strategy-advanced-panel {
  padding: 1px 0 25px;
}

/* Composição do lance */
.strategy-side {
  display: grid;
  align-content: start;
  gap: clamp(24px, 3vw, 32px);
  min-width: 0;
}

.strategy-bid-composition {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 24px 20px;
  border: 1px solid rgba(163, 228, 250, .16);
  border-radius: var(--strategy-radius);
  color: var(--strategy-white);
  background:
    radial-gradient(circle at 100% 0, rgba(108, 201, 244, .17), transparent 16rem),
    linear-gradient(145deg, #071b2e, #0b3150);
  box-shadow: 0 24px 52px rgba(7, 25, 42, .17);
}

.strategy-bid-composition::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: -64px;
  bottom: -85px;
  width: 190px;
  aspect-ratio: 1;
  border: 1px solid rgba(231, 202, 138, .15);
  transform: rotate(45deg);
}

.strategy-bid-composition h2,
.strategy-bid-composition h3 {
  margin-top: 11px;
  font-size: clamp(25px, 7vw, 34px);
  letter-spacing: -.052em;
}

.strategy-bid-intro {
  margin-top: 10px;
  color: rgba(255, 255, 255, .66);
  font-size: 11px;
  line-height: 1.55;
}

.strategy-bid-list {
  display: grid;
  gap: 0;
  margin-top: 22px;
}

.strategy-bid-row {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding: 15px 0;
  border-top: 1px solid rgba(255, 255, 255, .11);
}

.strategy-bid-row:first-child {
  border-top: 0;
}

.strategy-bid-row > span:first-child {
  color: rgba(255, 255, 255, .66);
  font-size: 11px;
  line-height: 1.4;
}

.strategy-bid-row strong,
.strategy-bid-value {
  flex: 0 1 auto;
  color: var(--strategy-white);
  font: 700 clamp(16px, 5vw, 21px)/1.2 "Manrope", Arial, sans-serif;
  letter-spacing: -.035em;
  text-align: right;
  white-space: nowrap;
}

.strategy-bid-row.is-own-money > span:first-child::before,
.strategy-bid-row.is-embedded > span:first-child::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 7px;
  border-radius: 50%;
}

.strategy-bid-row.is-own-money > span:first-child::before {
  background: var(--strategy-blue-bright);
}

.strategy-bid-row.is-embedded > span:first-child::before {
  background: var(--strategy-gold-light);
}

.strategy-bid-row.is-total {
  margin-top: 4px;
  padding-top: 19px;
  border-top-color: rgba(231, 202, 138, .44);
}

.strategy-bid-row.is-total strong,
.strategy-bid-row.is-total .strategy-bid-value {
  color: var(--strategy-gold-light);
  font-size: clamp(22px, 7vw, 30px);
}

.strategy-bid-bar {
  display: flex;
  height: 8px;
  margin-top: 19px;
  overflow: hidden;
  border-radius: 99px;
  background: rgba(255, 255, 255, .12);
}

.strategy-bid-bar-own,
.strategy-bid-bar-embedded {
  min-width: 0;
  transition: width .28s ease;
}

.strategy-bid-bar-own {
  width: var(--own-share, 33.333%);
  background: var(--strategy-blue-bright);
}

.strategy-bid-bar-embedded {
  width: var(--embedded-share, 66.667%);
  background: var(--strategy-gold-light);
}

.strategy-bid-caption {
  margin-top: 14px;
  color: rgba(255, 255, 255, .57);
  font-size: 10px;
  line-height: 1.55;
}

/* Resultados */
.strategy-results {
  padding: 76px 0;
  background: var(--strategy-ice);
}

.strategy-results-head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 17px;
  margin-bottom: 28px;
}

.strategy-results-head h2 {
  margin-top: 13px;
  font-size: clamp(32px, 8.5vw, 52px);
  letter-spacing: -.056em;
}

.strategy-results-head > p:not(.eyebrow) {
  max-width: 640px;
  color: #567181;
  font-size: 13px;
  line-height: 1.65;
}

.strategy-results-actions,
.strategy-scenario-actions {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 9px;
}

.strategy-results-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 13px;
}

.strategy-result-card {
  position: relative;
  display: flex;
  min-height: 210px;
  min-width: 0;
  flex-direction: column;
  padding: 22px 19px;
  overflow: hidden;
  border: 1px solid #d1e1e8;
  border-radius: 14px;
  background: rgba(255, 255, 255, .91);
  box-shadow: 0 12px 28px rgba(23, 77, 104, .06);
  transition: transform .25s, border-color .25s, box-shadow .25s;
}

.strategy-result-card:hover {
  border-color: #a9cddd;
  box-shadow: 0 19px 36px rgba(23, 77, 104, .11);
  transform: translateY(-3px);
}

.strategy-result-card.is-updated::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid rgba(43, 138, 197, .44);
  border-radius: inherit;
  pointer-events: none;
  animation: strategy-result-pulse .58s ease-out;
}

.strategy-result-kicker {
  color: #5d7786;
  font: 650 10px/1.35 "DM Mono", ui-monospace, monospace;
  letter-spacing: .085em;
  text-transform: uppercase;
}

.strategy-result-value {
  display: block;
  margin-top: 13px;
  color: var(--strategy-ink);
  font: 700 clamp(28px, 8.6vw, 42px)/1.1 "Manrope", Arial, sans-serif;
  letter-spacing: -.062em;
  white-space: nowrap;
}

.strategy-result-note {
  margin-top: 9px;
  color: #657d8b;
  font-size: 11px;
  line-height: 1.5;
}

.strategy-result-breakdown {
  display: grid;
  gap: 7px;
  margin-top: auto;
  padding-top: 17px;
  color: #5d7482;
  font-size: 10px;
}

.strategy-result-breakdown div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.strategy-result-breakdown strong {
  color: var(--strategy-ink);
  font-size: 10px;
  text-align: right;
}

.strategy-result-card.is-featured,
.strategy-result-featured {
  color: var(--strategy-white);
  border-color: transparent;
  background:
    radial-gradient(circle at 100% 0, rgba(231, 202, 138, .16), transparent 15rem),
    var(--strategy-ink);
  box-shadow: 0 20px 44px rgba(7, 25, 42, .17);
}

.strategy-result-card.is-featured .strategy-result-kicker,
.strategy-result-card.is-featured .strategy-result-note,
.strategy-result-card.is-featured .strategy-result-breakdown,
.strategy-result-featured .strategy-result-kicker,
.strategy-result-featured .strategy-result-note,
.strategy-result-featured .strategy-result-breakdown {
  color: rgba(255, 255, 255, .66);
}

.strategy-result-card.is-featured .strategy-result-value,
.strategy-result-featured .strategy-result-value {
  color: var(--strategy-gold-light);
}

.strategy-result-card.is-featured .strategy-result-breakdown strong,
.strategy-result-featured .strategy-result-breakdown strong {
  color: var(--strategy-white);
}

.strategy-result-delta,
.strategy-delta {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 5px;
  margin-top: 11px;
  padding: 5px 8px;
  border-radius: 99px;
  color: #496576;
  background: #edf4f7;
  font: 650 9px/1.35 "DM Mono", ui-monospace, monospace;
}

.strategy-result-delta.is-positive,
.strategy-delta.is-positive {
  color: #1d6248;
  background: #e5f5ed;
}

.strategy-result-delta.is-negative,
.strategy-delta.is-negative {
  color: #8d3f3f;
  background: #faecec;
}

.strategy-calculate-link {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 7px;
  margin-top: 15px;
  padding: 0 0 3px;
  border: 0;
  border-bottom: 1px solid #91afbf;
  color: #365f76;
  background: transparent;
  font-size: 11px;
  font-weight: 750;
}

.strategy-result-card.is-featured .strategy-calculate-link,
.strategy-result-featured .strategy-calculate-link {
  color: var(--strategy-blue-bright);
  border-color: rgba(108, 201, 244, .5);
}

/* Resumo em linguagem simples */
.strategy-summary {
  position: relative;
  margin-top: 18px;
  padding: 25px 21px 25px 25px;
  overflow: hidden;
  border: 1px solid #c5dce7;
  border-radius: 14px;
  background: rgba(255, 255, 255, .73);
}

.strategy-summary::before {
  content: "";
  position: absolute;
  top: 24px;
  bottom: 24px;
  left: 0;
  width: 3px;
  background: linear-gradient(var(--strategy-blue), var(--strategy-gold));
}

.strategy-summary-label {
  color: var(--strategy-blue);
  font: 650 10px/1.3 "DM Mono", ui-monospace, monospace;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.strategy-summary h3 {
  margin-top: 11px;
  font-size: clamp(22px, 6vw, 29px);
}

.strategy-summary p,
.strategy-summary-text {
  margin-top: 12px;
  color: #526e7e;
  font-size: 13px;
  line-height: 1.72;
}

/* Cenários salvos e comparação */
.strategy-comparison {
  padding: 76px 0;
  background: var(--strategy-white);
}

.strategy-comparison-head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
  margin-bottom: 28px;
}

.strategy-comparison-head h2 {
  margin-top: 14px;
  font-size: clamp(32px, 8.5vw, 50px);
}

.strategy-scenario-rail {
  display: flex;
  gap: 13px;
  width: calc(100% + 15px);
  margin-right: -15px;
  padding: 2px 15px 16px 0;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
  scroll-padding-left: 0;
  scroll-snap-type: x mandatory;
}

.strategy-scenario-rail::-webkit-scrollbar {
  height: 5px;
}

.strategy-scenario-rail::-webkit-scrollbar-track {
  background: #edf2f4;
}

.strategy-scenario-rail::-webkit-scrollbar-thumb {
  border-radius: 99px;
  background: #a8bfcb;
}

.strategy-scenario-card {
  position: relative;
  flex: 0 0 min(88vw, 330px);
  min-width: 0;
  padding: 21px 18px;
  border: 1px solid #d2dfe5;
  border-radius: 14px;
  background: var(--strategy-white);
  box-shadow: 0 12px 28px rgba(7, 25, 42, .06);
  scroll-snap-align: start;
}

.strategy-scenario-card.is-current {
  border-color: rgba(43, 138, 197, .55);
  box-shadow: 0 0 0 3px rgba(43, 138, 197, .08), 0 12px 28px rgba(7, 25, 42, .07);
}

.strategy-scenario-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding-bottom: 15px;
  border-bottom: 1px solid #e1e8ec;
}

.strategy-scenario-card-head strong {
  display: block;
  font: 700 17px/1.25 "Manrope", Arial, sans-serif;
  letter-spacing: -.035em;
}

.strategy-scenario-card-head small {
  display: block;
  margin-top: 4px;
  color: var(--strategy-muted);
  font-size: 10px;
}

.strategy-scenario-remove {
  display: grid;
  flex: 0 0 auto;
  width: 36px;
  height: 36px;
  place-items: center;
  padding: 0;
  border: 1px solid #cfdae0;
  border-radius: 50%;
  color: #627986;
  background: #f7fafb;
  font-size: 17px;
}

.strategy-scenario-metrics {
  display: grid;
  gap: 0;
  margin: 4px 0 0;
  padding: 0;
  list-style: none;
}

.strategy-scenario-metrics li {
  display: flex;
  min-width: 0;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  padding: 11px 0;
  border-bottom: 1px solid #edf1f3;
}

.strategy-scenario-metrics li:last-child {
  border-bottom: 0;
}

.strategy-scenario-metrics span {
  color: #657c89;
  font-size: 10px;
}

.strategy-scenario-value,
.strategy-scenario-metrics strong {
  color: var(--strategy-ink);
  font-size: 11px;
  font-weight: 750;
  text-align: right;
  white-space: nowrap;
}

.strategy-scenario-empty {
  width: 100%;
  padding: 37px 22px;
  border: 1px dashed #acc4d0;
  border-radius: 13px;
  color: #587383;
  background: var(--strategy-surface-blue);
  text-align: center;
}

.strategy-scenario-empty strong,
.strategy-scenario-empty span {
  display: block;
}

.strategy-scenario-empty strong {
  color: var(--strategy-ink);
  font: 700 18px "Manrope", Arial, sans-serif;
}

.strategy-scenario-empty span {
  max-width: 450px;
  margin: 7px auto 0;
  font-size: 11px;
}

.strategy-comparison-difference {
  margin-top: 20px;
  padding: 20px;
  border: 1px solid #d2dfe5;
  border-radius: 12px;
  background: #f8fbfc;
}

.strategy-comparison-difference h3 {
  font-size: 18px;
}

.strategy-comparison-difference-grid {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

.strategy-comparison-difference-grid > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 15px;
  padding: 11px 0;
  border-top: 1px solid #e1e9ed;
  color: #5d7482;
  font-size: 11px;
}

.strategy-comparison-difference-grid strong {
  color: var(--strategy-ink);
  text-align: right;
}

/* Gráfico SVG */
.strategy-chart-section {
  padding: 76px 0;
  background: var(--strategy-paper);
}

.strategy-chart-panel,
.strategy-chart-frame {
  border: 1px solid #d2dfe5;
  border-radius: var(--strategy-radius);
  background: var(--strategy-white);
  box-shadow: var(--strategy-shadow-soft);
}

.strategy-chart-panel {
  padding: 21px 14px 15px;
}

.strategy-chart-head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 15px;
  padding: 0 7px 19px;
}

.strategy-chart-head h2,
.strategy-chart-head h3 {
  font-size: clamp(24px, 7vw, 34px);
}

.strategy-chart-head p {
  max-width: 610px;
  margin-top: 7px;
  color: var(--strategy-muted);
  font-size: 11px;
  line-height: 1.55;
}

.strategy-chart-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 9px 15px;
  color: #59717f;
  font-size: 10px;
}

.strategy-chart-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.strategy-chart-legend i {
  display: block;
  width: 17px;
  height: 3px;
  border-radius: 99px;
  background: var(--legend-color, var(--strategy-blue));
}

.strategy-chart-frame {
  position: relative;
  width: 100%;
  min-height: 250px;
  padding: 10px 5px 3px;
  overflow: hidden;
  border-radius: 12px;
  box-shadow: none;
}

.strategy-chart-svg {
  display: block;
  width: 100%;
  height: auto;
  min-height: 230px;
  overflow: visible;
  touch-action: pan-y;
}

.strategy-chart-grid-line {
  stroke: #dfe8ec;
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}

.strategy-chart-axis-label {
  fill: #728691;
  font: 9px "DM Mono", ui-monospace, monospace;
}

.strategy-chart-line,
.strategy-chart-area,
.strategy-chart-marker {
  vector-effect: non-scaling-stroke;
}

.strategy-chart-line {
  fill: none;
  stroke: var(--series-color, var(--strategy-blue));
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: d .22s ease;
}

.strategy-chart-area {
  fill: var(--series-fill, rgba(43, 138, 197, .08));
  stroke: none;
}

.strategy-chart-dot {
  fill: var(--strategy-white);
  stroke: var(--series-color, var(--strategy-blue));
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
}

.strategy-chart-marker {
  stroke: var(--strategy-gold-deep);
  stroke-width: 1.5;
  stroke-dasharray: 4 4;
}

.strategy-chart-marker-label {
  fill: var(--strategy-gold-deep);
  font: 650 8px "DM Mono", ui-monospace, monospace;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.strategy-chart-tooltip {
  position: absolute;
  z-index: 8;
  top: var(--tooltip-y, 50%);
  left: var(--tooltip-x, 50%);
  width: min(210px, calc(100% - 24px));
  padding: 11px 12px;
  border-radius: 8px;
  color: var(--strategy-white);
  background: rgba(7, 25, 42, .96);
  box-shadow: 0 13px 30px rgba(7, 25, 42, .24);
  font-size: 9px;
  line-height: 1.5;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, calc(-100% - 10px));
  transition: opacity .15s;
}

.strategy-chart-tooltip.is-visible,
.strategy-chart-tooltip[aria-hidden="false"] {
  opacity: 1;
}

.strategy-chart-tooltip strong,
.strategy-chart-tooltip span {
  display: block;
}

.strategy-chart-tooltip strong {
  margin-bottom: 5px;
  color: var(--strategy-gold-light);
  font-size: 10px;
}

.strategy-chart-accessible-table {
  margin-top: 14px;
  color: var(--strategy-muted);
  font-size: 10px;
}

/* Detalhamento dos cálculos: accordion na página e dialog opcional */
.strategy-calculation {
  margin-top: 20px;
  border: 1px solid #d0dee5;
  border-radius: 13px;
  background: var(--strategy-white);
  overflow: hidden;
}

.strategy-calculation > summary,
.strategy-calculation-toggle {
  display: flex;
  width: 100%;
  min-height: 62px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 15px 18px;
  border: 0;
  color: var(--strategy-ink);
  background: var(--strategy-white);
  font: 700 13px "Manrope", Arial, sans-serif;
  letter-spacing: -.02em;
  text-align: left;
  cursor: pointer;
  list-style: none;
}

.strategy-calculation > summary::-webkit-details-marker {
  display: none;
}

.strategy-calculation > summary::after,
.strategy-calculation-toggle::after {
  content: "+";
  display: grid;
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 1px solid #a9c3d0;
  border-radius: 50%;
  color: var(--strategy-blue);
  font: 400 20px/1 Arial, sans-serif;
  transition: transform .2s, color .2s, background .2s;
}

.strategy-calculation[open] > summary::after,
.strategy-calculation-toggle[aria-expanded="true"]::after {
  color: var(--strategy-white);
  background: var(--strategy-ink);
  transform: rotate(45deg);
}

.strategy-calculation-content {
  padding: 0 18px 20px;
}

.strategy-calculation-list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.strategy-calculation-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 5px;
  padding: 13px 0;
  border-top: 1px solid #e1e8ec;
}

.strategy-calculation-row span {
  color: #657b88;
  font-size: 10px;
}

.strategy-calculation-row strong {
  color: var(--strategy-ink);
  font-size: 12px;
}

.strategy-calculation-formula {
  display: block;
  margin-top: 5px;
  color: #718792;
  font: 500 9px/1.55 "DM Mono", ui-monospace, monospace;
}

.strategy-calculation-note {
  margin-top: 17px;
  padding: 14px;
  border-left: 3px solid var(--strategy-gold);
  color: #5a7180;
  background: var(--strategy-surface-gold);
  font-size: 10px;
  line-height: 1.6;
}

.strategy-calculation-dialog {
  position: fixed;
  inset: auto 0 0;
  width: 100%;
  max-width: none;
  max-height: min(88svh, 780px);
  margin: auto 0 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 18px 18px 0 0;
  color: var(--strategy-ink);
  background: var(--strategy-white);
  box-shadow: 0 -20px 70px rgba(2, 17, 30, .3);
}

.strategy-calculation-dialog::backdrop {
  background: rgba(2, 17, 30, .68);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.strategy-dialog-header {
  position: sticky;
  z-index: 2;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 18px;
  border-bottom: 1px solid #dbe5ea;
  background: rgba(255, 255, 255, .97);
}

.strategy-dialog-header h2 {
  font-size: 21px;
}

.strategy-dialog-close {
  display: grid;
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  place-items: center;
  padding: 0;
  border: 1px solid #cad8df;
  border-radius: 50%;
  color: #587181;
  background: #f1f6f8;
  font-size: 22px;
  line-height: 1;
}

.strategy-dialog-body {
  max-height: calc(88svh - 79px);
  padding: 5px 18px calc(26px + env(safe-area-inset-bottom, 0px));
  overflow-y: auto;
  overscroll-behavior: contain;
}

/* Aviso e CTA */
.strategy-disclaimer {
  display: grid;
  grid-template-columns: 27px minmax(0, 1fr);
  gap: 12px;
  margin-top: 23px;
  padding: 18px;
  border: 1px solid #d7d4c8;
  border-radius: 12px;
  color: #5f625e;
  background: #f7f5ef;
  font-size: 10px;
  line-height: 1.65;
}

.strategy-disclaimer-icon {
  display: grid;
  width: 27px;
  height: 27px;
  place-items: center;
  border: 1px solid #bba873;
  border-radius: 50%;
  color: var(--strategy-gold-deep);
  font: 750 11px "DM Mono", ui-monospace, monospace;
}

.strategy-disclaimer strong {
  color: #3d4b52;
}

.strategy-cta-section {
  padding: 76px 0 max(100px, var(--strategy-whatsapp-space));
  background: var(--strategy-paper);
}

.strategy-cta {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 35px 23px;
  border-radius: var(--strategy-radius);
  color: var(--strategy-white);
  background:
    radial-gradient(circle at 90% 20%, rgba(108, 201, 244, .18), transparent 18rem),
    linear-gradient(135deg, #061727, #0b3352);
  box-shadow: 0 25px 55px rgba(7, 25, 42, .18);
}

.strategy-cta::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: -100px;
  bottom: -160px;
  width: 280px;
  aspect-ratio: 1;
  border: 1px solid rgba(231, 202, 138, .18);
  transform: rotate(45deg);
}

.strategy-cta h2 {
  max-width: 690px;
  margin-top: 14px;
  font-size: clamp(32px, 9vw, 52px);
  letter-spacing: -.058em;
  text-wrap: balance;
}

.strategy-cta p {
  max-width: 650px;
  margin-top: 16px;
  color: rgba(255, 255, 255, .7);
  font-size: 13px;
  line-height: 1.68;
}

.strategy-cta-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 25px;
}

.strategy-share-feedback {
  min-height: 19px;
  margin-top: 9px;
  color: var(--strategy-blue-bright);
  font-size: 10px;
}

/* O componente global continua sendo o mesmo; apenas respeita a safe area. */
.strategy-site .whatsapp-float {
  right: max(14px, env(safe-area-inset-right, 0px));
  bottom: max(14px, calc(env(safe-area-inset-bottom, 0px) + 10px));
}

/* Integração com a marcação semântica da página e os componentes globais. */
.strategy-kicker {
  color: var(--strategy-blue);
  font: 650 10px/1.35 "DM Mono", ui-monospace, monospace;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.strategy-hero .strategy-kicker,
.strategy-cta .strategy-kicker,
.strategy-bid-composition .strategy-kicker {
  color: var(--strategy-gold-light);
}

.strategy-hero-number {
  color: var(--strategy-gold-light);
  font: 600 11px/1 "DM Mono", ui-monospace, monospace;
  letter-spacing: .12em;
}

.strategy-hero-aside > p {
  color: rgba(255, 255, 255, .62);
  font-size: 11px;
  text-transform: uppercase;
}

.strategy-hero-aside > strong {
  color: var(--strategy-white);
  font-size: clamp(27px, 8vw, 40px);
  line-height: 1.05;
  letter-spacing: -.055em;
}

.strategy-hero-aside > span:not(.strategy-hero-number) {
  color: rgba(255, 255, 255, .72);
  font-size: 13px;
}

.strategy-hero-proof {
  display: grid;
  gap: 8px;
  margin-top: 5px;
  padding-top: 17px;
  border-top: 1px solid rgba(255, 255, 255, .11);
  color: rgba(255, 255, 255, .72);
  font-size: 11px;
}

.strategy-intro {
  display: grid;
  gap: 16px;
  margin-bottom: 24px;
}

.strategy-intro h2 {
  max-width: 760px;
  margin-top: 13px;
  font-size: clamp(30px, 8.5vw, 48px);
  letter-spacing: -.055em;
  text-wrap: balance;
}

.strategy-intro > p {
  max-width: 650px;
  color: var(--strategy-muted);
  font-size: 13px;
  line-height: 1.7;
}

.strategy-mode-button small {
  display: none;
}

.strategy-form-section + .strategy-form-section {
  margin-top: 30px;
  padding-top: 27px;
  border-top: 1px solid var(--strategy-line);
}

.strategy-section-head {
  margin-bottom: 19px;
}

.strategy-section-head > div > span {
  color: var(--strategy-blue);
  font: 650 10px/1.25 "DM Mono", ui-monospace, monospace;
  letter-spacing: .1em;
}

.strategy-section-head h3 {
  margin-top: 5px;
  font-size: clamp(20px, 6vw, 27px);
  letter-spacing: -.045em;
}

.strategy-label-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.strategy-info-button {
  display: grid;
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  place-items: center;
  padding: 0;
  border: 1px solid #a9c3d0;
  border-radius: 50%;
  color: #3f718a;
  background: #f7fbfd;
}

.strategy-info-button .ui-icon {
  width: 16px;
  height: 16px;
}

.strategy-inline-tooltip {
  margin-top: 8px;
  padding: 11px 12px;
  border-left: 3px solid var(--strategy-blue);
  border-radius: 7px;
  color: #506d7c;
  background: var(--strategy-surface-blue);
  font-size: 11px;
  line-height: 1.55;
}

.strategy-result-term {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.strategy-result-term .strategy-info-button {
  width: 26px;
  height: 26px;
}

.strategy-result-term + .strategy-inline-tooltip {
  margin-bottom: 2px;
}

.strategy-result-card.is-featured .strategy-result-term .strategy-info-button,
.strategy-result-featured .strategy-result-term .strategy-info-button {
  color: var(--strategy-white);
  border-color: rgba(255, 255, 255, .42);
  background: rgba(255, 255, 255, .08);
}

.strategy-range-output {
  display: grid;
  min-width: 72px;
  min-height: 42px;
  place-items: center;
  border: 1px solid #c7d7df;
  border-radius: 8px;
  color: var(--strategy-ink);
  background: var(--strategy-white);
  font-size: 13px;
  font-weight: 750;
}

.strategy-month-control {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 44px;
  gap: 9px;
  align-items: center;
  margin-top: 8px;
}

.strategy-month-control > button {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  padding: 0;
  border: 1px solid #c7d7df;
  border-radius: 8px;
  color: var(--strategy-ink);
  background: #edf5f8;
}

.strategy-month-control > button .ui-icon {
  width: 18px;
  height: 18px;
}

.strategy-field label.strategy-month-number {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  overflow: hidden;
  border: 1px solid #c7d7df;
  border-radius: 8px;
  background: var(--strategy-white);
}

.strategy-month-number input {
  width: 100%;
  min-width: 0;
  height: 44px;
  padding: 0 12px;
  border: 0;
  outline: 0;
  color: var(--strategy-ink);
  font-weight: 750;
}

.strategy-month-number small {
  padding-right: 12px;
  color: var(--strategy-muted);
  font-size: 10px;
  white-space: nowrap;
}

.strategy-assumption {
  margin-top: 22px;
  padding: 15px 16px;
  border-left: 3px solid var(--strategy-gold);
  color: #59717f;
  background: var(--strategy-surface-gold);
  font-size: 11px;
  line-height: 1.6;
}

.strategy-assumption strong {
  display: block;
  margin-bottom: 4px;
  color: var(--strategy-ink);
}

.strategy-form-feedback {
  margin-top: 16px;
  color: var(--strategy-danger);
  font-size: 11px;
  line-height: 1.5;
}

.strategy-bid-row > dt {
  color: rgba(255, 255, 255, .66);
  font-size: 11px;
  line-height: 1.4;
}

.strategy-bid-row > dd {
  margin: 0;
}

.strategy-bid-row.is-own-money > dt::before,
.strategy-bid-row.is-embedded > dt::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 7px;
  border-radius: 50%;
}

.strategy-bid-row.is-own-money > dt::before {
  background: var(--strategy-blue-bright);
}

.strategy-bid-row.is-embedded > dt::before {
  background: var(--strategy-gold-light);
}

.strategy-result-breakdown dt {
  color: inherit;
}

.strategy-result-breakdown dd {
  margin: 0;
  color: var(--strategy-ink);
  font-weight: 750;
  text-align: right;
  white-space: nowrap;
}

.strategy-result-featured .strategy-result-breakdown dd {
  color: var(--strategy-white);
}

.strategy-result-value.is-updated {
  animation: strategy-value-flash .42s ease-out;
}

.strategy-result-value.is-compact {
  font-size: clamp(24px, 7.5vw, 34px);
}

.strategy-result-value.is-extra-compact {
  font-size: clamp(19px, 5.8vw, 25px);
}

.strategy-scenario-actions {
  margin-top: 18px;
}

.strategy-action-feedback {
  align-self: center;
  min-height: 18px;
  color: #466879;
  font-size: 11px;
}

.strategy-impact {
  margin-top: 13px;
  padding-top: 13px;
  border-top: 1px solid #c5dce7;
  font-weight: 650;
}

.strategy-comparison-head > p {
  max-width: 580px;
  color: var(--strategy-muted);
  font-size: 13px;
  line-height: 1.65;
}

.strategy-scenario-metrics > div {
  display: flex;
  min-width: 0;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  padding: 10px 0;
  border-bottom: 1px solid #edf1f3;
}

.strategy-scenario-metrics > div:last-child {
  border-bottom: 0;
}

.strategy-scenario-metrics dt {
  color: #657c89;
  font-size: 10px;
}

.strategy-scenario-metrics dd {
  margin: 0;
  color: var(--strategy-ink);
  font-size: 11px;
  font-weight: 750;
  text-align: right;
  white-space: nowrap;
}

.strategy-scenario-card-head span {
  display: block;
  margin-bottom: 4px;
  color: var(--strategy-blue);
  font: 650 9px/1.2 "DM Mono", ui-monospace, monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.strategy-scenario-base,
.strategy-scenario-difference {
  margin-top: 13px;
  padding: 10px;
  border-radius: 8px;
  color: #526e7e;
  background: var(--strategy-surface-blue);
  font-size: 10px;
  line-height: 1.5;
}

.strategy-scenario-apply {
  margin-top: 13px;
}

.strategy-chart-line.operation,
.strategy-chart-dot.operation {
  --series-color: var(--strategy-gold-deep);
}

.strategy-chart-line.capital,
.strategy-chart-dot.capital {
  --series-color: var(--strategy-blue);
}

.strategy-chart-legend .operation {
  --legend-color: var(--strategy-gold-deep);
}

.strategy-chart-legend .capital {
  --legend-color: var(--strategy-blue);
}

.strategy-chart-legend .marker {
  --legend-color: var(--strategy-gold-light);
  background: repeating-linear-gradient(90deg, var(--legend-color) 0 4px, transparent 4px 7px);
}

.strategy-disclaimer-section {
  padding: 18px 0 0;
  background: var(--strategy-paper);
}

.strategy-disclaimer h2 {
  margin-top: 7px;
  color: var(--strategy-ink);
  font-size: clamp(21px, 6vw, 30px);
  letter-spacing: -.04em;
}

.strategy-disclaimer p:last-child {
  margin-top: 9px;
}

.strategy-calculation-row dt {
  color: #657b88;
  font-size: 10px;
}

.strategy-calculation-row dd {
  margin: 0;
  color: var(--strategy-ink);
  font-size: 12px;
  font-weight: 750;
}

.strategy-dialog-body > p:first-child {
  padding: 17px 0 13px;
  color: var(--strategy-muted);
  font-size: 11px;
  line-height: 1.6;
}

.strategy-site .whatsapp-float.is-obscuring {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}

@keyframes strategy-value-flash {
  0% { color: var(--strategy-blue); transform: translateY(-2px); }
  100% { transform: translateY(0); }
}

/* Estados, foco e botões locais */
.strategy-button {
  display: inline-flex;
  width: 100%;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 10px 18px;
  border: 1px solid transparent;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 750;
  text-align: center;
  transition: color .2s, background .2s, border-color .2s, transform .2s, box-shadow .2s;
}

.strategy-button:hover {
  transform: translateY(-2px);
}

.strategy-button-primary {
  color: #102334;
  background: var(--strategy-blue-bright);
}

.strategy-button-primary:hover {
  background: #9bdef9;
}

.strategy-button-gold {
  color: #172537;
  background: linear-gradient(135deg, var(--strategy-gold-light), var(--strategy-gold));
  box-shadow: 0 9px 24px rgba(143, 108, 45, .2);
}

.strategy-button-gold:hover {
  background: linear-gradient(135deg, #f1d99f, #d2ad66);
}

.strategy-button-dark {
  color: var(--strategy-white);
  background: var(--strategy-ink);
}

.strategy-button-outline {
  color: var(--strategy-ink);
  border-color: #abc2ce;
  background: transparent;
}

.strategy-button-outline:hover {
  color: var(--strategy-white);
  border-color: var(--strategy-ink);
  background: var(--strategy-ink);
}

.strategy-cta .strategy-button-outline,
.strategy-hero .strategy-button-outline {
  color: var(--strategy-white);
  border-color: rgba(255, 255, 255, .42);
}

.strategy-cta .strategy-button-outline:hover,
.strategy-hero .strategy-button-outline:hover {
  color: var(--strategy-ink);
  background: var(--strategy-white);
}

.strategy-site :where(
  a,
  button,
  input,
  select,
  summary,
  [tabindex]:not([tabindex="-1"])
):focus-visible {
  outline: 3px solid var(--strategy-gold-light);
  outline-offset: 3px;
}

.strategy-site :where(button, .strategy-button)[disabled],
.strategy-site :where(button, .strategy-button)[aria-disabled="true"] {
  opacity: .52;
  cursor: not-allowed;
  transform: none;
}

.strategy-live-region {
  min-height: 1px;
}

@keyframes strategy-result-pulse {
  from { opacity: .9; transform: scale(.985); }
  to { opacity: 0; transform: scale(1); }
}

/* 480px: libera duas colunas sem comprimir o conteúdo. */
@media (min-width: 480px) {
  .strategy-shell {
    width: min(calc(100% - 40px), var(--shell, 1180px));
  }

  .strategy-hero-actions,
  .strategy-results-actions,
  .strategy-scenario-actions,
  .strategy-cta-actions {
    width: auto;
    flex-flow: row wrap;
    align-items: center;
  }

  .strategy-hero-actions .strategy-button,
  .strategy-results-actions .strategy-button,
  .strategy-scenario-actions .strategy-button,
  .strategy-cta-actions .strategy-button {
    width: auto;
  }

  .strategy-configurator,
  .strategy-panel {
    padding: 28px 25px;
  }

  .strategy-scenario-presets,
  .strategy-comparison-difference-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .strategy-range-row {
    grid-template-columns: minmax(0, 1fr) 148px;
  }

  .strategy-result-card {
    min-height: 224px;
  }

  .strategy-calculation-row {
    grid-template-columns: minmax(0, 1fr) minmax(125px, auto);
    align-items: baseline;
  }

  .strategy-calculation-row strong {
    text-align: right;
  }

  .strategy-chart-panel {
    padding: 25px 20px 19px;
  }

  .strategy-chart-frame {
    min-height: 300px;
    padding: 12px 8px 4px;
  }

  .strategy-chart-svg {
    min-height: 280px;
  }
}

/* 768px: cards e seções ganham hierarquia de tablet. */
@media (min-width: 768px) {
  .strategy-shell {
    width: min(calc(100% - 56px), var(--shell, 1180px));
  }

  .strategy-section {
    padding-block: 96px;
  }

  .strategy-section-heading {
    margin-bottom: 36px;
  }

  .strategy-hero {
    padding: 158px 0 96px;
  }

  .strategy-hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(250px, .45fr);
    gap: 54px;
    align-items: end;
  }

  .strategy-hero-copy h1 {
    font-size: clamp(55px, 8.8vw, 78px);
  }

  .strategy-hero-aside {
    padding: 27px;
  }

  .strategy-intro {
    grid-template-columns: minmax(0, 1fr) minmax(260px, .6fr);
    gap: 48px;
    align-items: end;
    margin-bottom: 30px;
  }

  .strategy-mode-button small {
    display: block;
    margin-top: 3px;
    font-size: 9px;
    font-weight: 550;
    letter-spacing: 0;
    text-transform: none;
  }

  .strategy-month-control {
    grid-template-columns: 44px minmax(0, 1fr) 44px 150px;
  }

  .strategy-field label.strategy-month-number {
    grid-column: 4;
    grid-row: 1;
  }

  .strategy-workspace {
    padding: 90px 0 104px;
  }

  .strategy-layout {
    gap: 27px;
  }

  .strategy-configurator {
    padding: 34px;
  }

  .strategy-panel {
    padding: 29px;
  }

  .strategy-configurator-header,
  .strategy-panel-header,
  .strategy-section-head,
  .strategy-results-head,
  .strategy-comparison-head,
  .strategy-chart-head {
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
  }

  .strategy-configurator-header p,
  .strategy-panel-header p,
  .strategy-section-head p,
  .strategy-results-head > p:not(.eyebrow) {
    max-width: 390px;
  }

  .strategy-mode-toggle {
    width: min(100%, 390px);
  }

  .strategy-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px 18px;
  }

  .strategy-scenario-presets {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .strategy-bid-composition {
    padding: 31px 29px;
  }

  .strategy-results,
  .strategy-comparison,
  .strategy-chart-section {
    padding: 100px 0;
  }

  .strategy-results-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 17px;
  }

  .strategy-result-card {
    padding: 25px 23px;
  }

  .strategy-summary {
    margin-top: 23px;
    padding: 30px 30px 30px 34px;
  }

  .strategy-scenario-rail {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
    margin-right: 0;
    padding: 2px 0 8px;
    overflow: visible;
  }

  .strategy-scenario-card {
    flex-basis: auto;
    padding: 23px 21px;
  }

  .strategy-chart-panel {
    padding: 31px 27px 23px;
  }

  .strategy-chart-frame {
    min-height: 360px;
    padding: 15px 12px 5px;
  }

  .strategy-chart-svg {
    min-height: 330px;
  }

  .strategy-calculation-content {
    padding: 0 24px 25px;
  }

  .strategy-calculation-dialog {
    inset: 50% auto auto 50%;
    width: min(690px, calc(100% - 48px));
    max-height: min(82svh, 760px);
    margin: 0;
    border-radius: 15px;
    transform: translate(-50%, -50%);
  }

  .strategy-dialog-header {
    padding: 20px 24px;
  }

  .strategy-dialog-body {
    max-height: calc(82svh - 83px);
    padding: 7px 24px 29px;
  }

  .strategy-disclaimer {
    grid-template-columns: 31px minmax(0, 1fr);
    gap: 15px;
    padding: 21px 23px;
    font-size: 11px;
  }

  .strategy-disclaimer-icon {
    width: 31px;
    height: 31px;
  }

  .strategy-cta-section {
    padding: 100px 0 112px;
  }

  .strategy-cta {
    padding: 54px 50px;
  }
}

/* 1024px: formulário e composição do lance lado a lado. */
@media (min-width: 1024px) {
  .strategy-section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 65px;
  }

  .strategy-section-heading > p:not(.eyebrow) {
    margin-top: 0;
  }

  .strategy-hero-grid {
    grid-template-columns: minmax(0, 1.34fr) minmax(300px, .66fr);
    gap: 82px;
  }

  .strategy-layout {
    grid-template-columns: minmax(0, 1.42fr) minmax(315px, .58fr);
    gap: 28px;
    align-items: start;
  }

  .strategy-side {
    position: sticky;
    top: 112px;
  }

  .strategy-result-card {
    min-height: 268px;
  }

  .strategy-result-value {
    font-size: clamp(27px, 2.75vw, 37px);
  }

  .strategy-summary {
    display: grid;
    grid-template-columns: minmax(185px, .3fr) minmax(0, 1fr);
    gap: 32px;
    align-items: center;
  }

  .strategy-summary h3,
  .strategy-summary p,
  .strategy-summary-text {
    margin-top: 0;
  }

  .strategy-chart-head {
    padding-bottom: 24px;
  }

  .strategy-chart-frame {
    min-height: 410px;
  }

  .strategy-chart-svg {
    min-height: 380px;
  }

  .strategy-cta {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 50px;
    align-items: center;
    padding: 62px 58px;
  }

  .strategy-cta-actions {
    flex-direction: column;
    align-items: stretch;
    min-width: 230px;
    margin-top: 0;
  }

  .strategy-cta-actions .strategy-button {
    width: 100%;
  }
}

/* 1440px: somente respiro; a largura continua seguindo --shell global. */
@media (min-width: 1440px) {
  .strategy-hero {
    padding-top: 172px;
    padding-bottom: 108px;
  }

  .strategy-hero-grid {
    gap: 108px;
  }

  .strategy-workspace {
    padding-block: 112px 126px;
  }

  .strategy-layout {
    gap: 34px;
  }

  .strategy-results-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .strategy-result-value {
    font-size: 31px;
  }

  .strategy-result-value.is-compact {
    font-size: 27px;
  }

  .strategy-result-value.is-extra-compact {
    font-size: 21px;
  }

  .strategy-configurator {
    padding: 39px;
  }

  .strategy-bid-composition {
    padding: 35px 32px;
  }

  .strategy-results,
  .strategy-comparison,
  .strategy-chart-section {
    padding-block: 116px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .strategy-site *,
  .strategy-site *::before,
  .strategy-site *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }

  .strategy-result-card:hover,
  .strategy-button:hover,
  .strategy-scenario-preset:hover {
    transform: none;
  }
}

/* -----------------------------------------------------------------------
 * Experiência progressiva: poucos dados no modo rápido e profundidade sob
 * demanda. Os motores e todos os controles avançados permanecem no DOM.
 * ----------------------------------------------------------------------- */

body[data-resale-mode="simple"] [data-resale-detail="advanced"],
body[data-leverage-mode="simple"] [data-leverage-detail="advanced"],
body[data-acquisition-type="vehicle"] [data-property-only] {
  display: none !important;
}

body[data-resale-mode="simple"] #strategy-form > [data-resale-detail="advanced"] + .strategy-form-section {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.strategy-summary-primary-label {
  display: block;
  margin-top: 22px;
  color: rgba(255, 255, 255, .66);
  font: 650 10px/1.45 "DM Mono", ui-monospace, monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.strategy-summary-primary-label + .leverage-summary-value {
  margin-top: 7px;
}

.strategy-quick-summary {
  scroll-margin-top: 104px;
}

.strategy-quick-note,
.strategy-vehicle-note,
.strategy-target-status {
  margin-top: 18px;
  padding: 15px 14px;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 10px;
  background: rgba(3, 20, 34, .38);
}

.strategy-quick-note strong,
.strategy-target-status strong {
  display: block;
  color: var(--strategy-white);
  font-size: 11px;
  line-height: 1.45;
}

.strategy-quick-note p,
.strategy-vehicle-note,
.strategy-target-status p {
  margin-top: 6px;
  color: rgba(255, 255, 255, .68);
  font-size: 11px;
  line-height: 1.65;
}

.strategy-vehicle-note {
  color: rgba(255, 255, 255, .74);
  border-color: rgba(231, 202, 138, .3);
  background: rgba(231, 202, 138, .08);
}

.strategy-target-status {
  border-color: rgba(108, 201, 244, .28);
}

.strategy-target-status.is-covered {
  border-color: rgba(119, 221, 170, .34);
}

.strategy-target-status.is-gap {
  border-color: rgba(231, 202, 138, .34);
}

.strategy-target-track {
  height: 5px;
  margin-top: 12px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, .13);
}

.strategy-target-track span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--strategy-blue-bright), var(--strategy-gold-light));
  transition: width .28s ease;
}

.strategy-quick-actions {
  display: grid;
  gap: 9px;
  margin-top: 19px;
}

.strategy-quick-actions .strategy-button {
  width: 100%;
  min-height: 48px;
  justify-content: center;
  text-align: center;
}

.strategy-quick-actions .strategy-button-outline-light {
  border: 1px solid rgba(255, 255, 255, .34);
  color: var(--strategy-white);
  background: rgba(255, 255, 255, .04);
}

.strategy-quick-actions .strategy-button-outline-light:hover {
  border-color: rgba(255, 255, 255, .64);
  background: rgba(255, 255, 255, .1);
}

.strategy-objective-toggle {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 21px 0 20px;
}

.strategy-objective-button {
  display: flex;
  min-width: 0;
  min-height: 64px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 13px 12px;
  border: 1px solid #c9d9e2;
  border-radius: 12px;
  color: #526f80;
  background: #fbfdfe;
  font: 750 13px/1.3 "Manrope", Arial, sans-serif;
  transition: color .2s, border-color .2s, background .2s, box-shadow .2s, transform .2s;
}

.strategy-objective-button > span {
  display: grid;
  width: 31px;
  height: 31px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 50%;
  color: var(--strategy-gold-deep);
  background: #fff7d8;
}

.strategy-objective-button:hover,
.strategy-objective-button.is-active,
.strategy-objective-button[aria-pressed="true"] {
  color: var(--strategy-ink);
  border-color: rgba(197, 151, 34, .58);
  background: #fffaf0;
  box-shadow: 0 10px 24px rgba(71, 52, 8, .08);
}

.strategy-objective-button:active {
  transform: translateY(1px);
}

.leverage-result-card.is-featured .strategy-result-kicker,
.leverage-result-card.is-featured .strategy-result-breakdown dt {
  color: rgba(255, 255, 255, .65);
}

.leverage-result-card.is-featured .strategy-result-breakdown dd {
  color: var(--strategy-white);
}

@media (max-width: 767px) {
  .strategy-hero {
    padding: 116px 0 58px;
  }

  .strategy-hero-aside {
    display: none;
  }

  .strategy-strategy-selector-section {
    padding-top: 38px;
  }

  .strategy-workspace {
    padding: 46px 0 64px;
  }

  .strategy-strategy-selector,
  .strategy-strategy-tabs,
  .strategy-type-toggle {
    grid-template-columns: minmax(0, 1fr);
  }

  .strategy-strategy-button,
  .strategy-strategy-tab,
  .strategy-type-button {
    min-height: 58px;
    justify-items: start;
    padding: 11px 14px;
    text-align: left;
  }

  .strategy-strategy-button:is(.is-active, [aria-selected="true"], [aria-pressed="true"])::before,
  .strategy-strategy-tab:is(.is-active, [aria-selected="true"], [aria-pressed="true"])::before,
  .strategy-type-button:is(.is-active, [aria-selected="true"], [aria-pressed="true"])::before {
    width: 24px;
  }

  .strategy-strategy-button small,
  .strategy-strategy-tab small,
  .strategy-type-button small {
    display: block;
  }
}

@media (max-width: 479px) {
  .strategy-mode-toggle {
    grid-template-columns: minmax(0, 1fr);
  }

  .strategy-mode-button {
    min-height: 44px;
    text-align: left;
  }
}

@media (min-width: 640px) {
  .strategy-strategy-selector,
  .strategy-strategy-tabs,
  .strategy-type-toggle {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 768px) {
  .strategy-quick-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .strategy-layout {
    grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr);
    gap: clamp(28px, 3vw, 42px);
  }
}

@media (forced-colors: active) {
  .strategy-mode-button.is-active,
  .strategy-mode-button[aria-selected="true"],
  .strategy-preset.is-active,
  .strategy-preset[aria-pressed="true"] {
    border: 2px solid ButtonText;
  }

  .strategy-chart-line,
  .strategy-chart-marker {
    stroke: CanvasText;
  }

  .strategy-chart-area {
    fill: transparent;
  }
}

/* --------------------------------------------------------------------------
 * Evolução incremental: estratégia de alavancagem patrimonial
 *
 * Esta camada reaproveita os tokens e componentes existentes. Os aliases
 * abaixo permitem que a marcação semântica evolua sem alterar a apresentação
 * já validada da modalidade de revenda.
 * ----------------------------------------------------------------------- */

/* Seletor principal de estratégia */
.strategy-strategy-selector-section {
  padding: 54px 0 0;
  background: var(--strategy-paper);
}

.strategy-strategy-selector-section .strategy-intro {
  margin-bottom: 18px;
}

.strategy-strategy-selector,
.strategy-strategy-tabs,
.strategy-type-toggle {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
  width: 100%;
  margin: 0 0 20px;
  padding: 5px;
  border: 1px solid #c6d8e1;
  border-radius: 14px;
  background: #e8f2f6;
  box-shadow: inset 0 1px 2px rgba(7, 25, 42, .04);
}

.strategy-strategy-button,
.strategy-strategy-tab,
.strategy-type-button {
  display: grid;
  min-width: 0;
  min-height: 54px;
  place-items: center;
  gap: 3px;
  padding: 9px 8px;
  border: 1px solid transparent;
  border-radius: 10px;
  color: #577181;
  background: transparent;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: .045em;
  text-align: center;
  text-transform: uppercase;
  transition: color .2s, border-color .2s, background .2s, box-shadow .2s;
}

.strategy-strategy-button small,
.strategy-strategy-tab small,
.strategy-type-button small {
  display: none;
  color: #718795;
  font-size: 9px;
  font-weight: 550;
  line-height: 1.35;
  letter-spacing: 0;
  text-transform: none;
}

.strategy-strategy-button strong,
.strategy-strategy-tab strong,
.strategy-type-button strong {
  min-width: 0;
  font: inherit;
}

.strategy-strategy-button:hover,
.strategy-strategy-tab:hover,
.strategy-type-button:hover {
  color: var(--strategy-ink);
}

.strategy-strategy-button:is(.is-active, [aria-selected="true"], [aria-pressed="true"]),
.strategy-strategy-tab:is(.is-active, [aria-selected="true"], [aria-pressed="true"]),
.strategy-type-button:is(.is-active, [aria-selected="true"], [aria-pressed="true"]) {
  color: var(--strategy-ink);
  border-color: rgba(7, 25, 42, .09);
  background: var(--strategy-white);
  box-shadow: 0 7px 18px rgba(7, 25, 42, .09);
}

.strategy-strategy-button:is(.is-active, [aria-selected="true"], [aria-pressed="true"])::before,
.strategy-strategy-tab:is(.is-active, [aria-selected="true"], [aria-pressed="true"])::before,
.strategy-type-button:is(.is-active, [aria-selected="true"], [aria-pressed="true"])::before {
  content: "";
  width: 18px;
  height: 2px;
  border-radius: 99px;
  background: var(--strategy-gold);
}

.strategy-panel-label {
  margin: 0 0 8px;
  color: var(--strategy-muted);
  font: 650 9px/1.3 "DM Mono", ui-monospace, monospace;
  letter-spacing: .1em;
  text-transform: uppercase;
}

/* Resultado essencial próximo aos campos principais no mobile. */
.leverage-summary,
.leverage-compact-summary,
.leverage-quick-summary {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin-top: 0;
  padding: 20px 18px;
  border: 1px solid rgba(106, 184, 221, .28);
  border-radius: 14px;
  color: var(--strategy-white);
  background:
    radial-gradient(circle at 100% 0, rgba(108, 201, 244, .18), transparent 15rem),
    linear-gradient(145deg, #071b2e, #0b3150);
  box-shadow: 0 18px 38px rgba(7, 25, 42, .16);
}

.leverage-summary::after,
.leverage-compact-summary::after,
.leverage-quick-summary::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: -52px;
  bottom: -74px;
  width: 150px;
  aspect-ratio: 1;
  border: 1px solid rgba(231, 202, 138, .16);
  transform: rotate(45deg);
}

.leverage-summary-head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.leverage-summary-head h3 {
  margin-top: 6px;
  color: var(--strategy-white);
  font-size: clamp(20px, 6.5vw, 27px);
  letter-spacing: -.045em;
  line-height: 1.25;
}

.leverage-summary-badge {
  max-width: 100%;
  padding: 6px 9px;
  border: 1px solid rgba(231, 202, 138, .35);
  border-radius: 999px;
  color: var(--strategy-gold-light);
  background: rgba(231, 202, 138, .08);
  font: 650 9px/1.5 "DM Mono", ui-monospace, monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.leverage-summary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin-top: 24px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 10px;
  background: rgba(255, 255, 255, .1);
}

.leverage-metric-card,
.leverage-summary-metric {
  min-width: 0;
  padding: 17px 12px;
  background: rgba(3, 20, 34, .38);
}

.leverage-metric-card span,
.leverage-metric-card small,
.leverage-summary-metric span,
.leverage-summary-metric small {
  display: block;
  color: rgba(255, 255, 255, .62);
  font-size: 11px;
  line-height: 1.5;
}

.leverage-metric-card strong,
.leverage-summary-metric strong,
.leverage-summary-value {
  display: block;
  margin-top: 5px;
  color: var(--strategy-white);
  font: 750 clamp(13px, 4.2vw, 21px)/1.18 "Manrope", Arial, sans-serif;
  letter-spacing: -.035em;
  white-space: nowrap;
}

.leverage-summary-metric strong {
  margin-top: 8px;
  font-size: clamp(15px, 1.25vw, 18px);
  line-height: 1.4;
  white-space: normal;
  overflow-wrap: anywhere;
}

.leverage-summary-value {
  margin-top: 22px;
  font-size: clamp(28px, 7vw, 36px);
  line-height: 1.25;
  white-space: normal;
  overflow-wrap: anywhere;
}

.leverage-summary-note {
  margin-top: 10px;
  color: rgba(255, 255, 255, .7);
  font-size: 12px;
  line-height: 1.65;
}

/* Restrição que dimensiona o crédito e alertas estritamente matemáticos. */
.leverage-limiter,
.leverage-capacity-limiter {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  margin-top: 22px;
  padding: 18px 14px;
  border: 1px solid #bfdce8;
  border-radius: 10px;
  color: #38596b;
  background: var(--strategy-surface-blue);
}

.leverage-limiter-icon {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border: 1px solid #9fc8da;
  border-radius: 50%;
  color: var(--strategy-blue);
  background: var(--strategy-white);
  font: 700 12px "DM Mono", ui-monospace, monospace;
}

.leverage-limiter strong,
.leverage-capacity-limiter strong {
  display: block;
  margin-bottom: 8px;
  color: var(--strategy-ink);
  font-size: 12px;
}

.leverage-limiter p,
.leverage-capacity-limiter p {
  font-size: 12px;
  line-height: 1.65;
}

.leverage-alerts {
  display: grid;
  gap: 8px;
  margin-top: 14px;
}

.leverage-alert,
.strategy-math-alert {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 9px;
  align-items: start;
  padding: 11px 12px;
  border: 1px solid #eadba9;
  border-radius: 8px;
  color: #67562b;
  background: #fffaf0;
  font-size: 10px;
  line-height: 1.5;
}

.leverage-alert::before,
.strategy-math-alert::before {
  content: "!";
  display: grid;
  width: 18px;
  height: 18px;
  place-items: center;
  border: 1px solid #c5a654;
  border-radius: 50%;
  font: 750 9px "DM Mono", ui-monospace, monospace;
}

.leverage-alert.is-critical,
.strategy-math-alert.is-critical {
  border-color: #e2bdbd;
  color: #774747;
  background: #fff7f7;
}

.leverage-alert.is-neutral,
.strategy-math-alert.is-neutral {
  border-color: #c7dce6;
  color: #496978;
  background: #f4fafc;
}

/* Cards patrimoniais e equações auditáveis. */
.leverage-results-grid,
.leverage-patrimony-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 20px;
  margin-top: 25px;
}

#leverage-results {
  padding-bottom: clamp(36px, 4vw, 48px);
}

#leverage-evolution-section {
  padding-top: clamp(36px, 4vw, 48px);
}

.leverage-result-card,
.leverage-patrimony-card {
  position: relative;
  min-width: 0;
  overflow: hidden;
  padding: 21px 18px;
  border: 1px solid rgba(7, 25, 42, .1);
  border-radius: 13px;
  background: var(--strategy-white);
  box-shadow: var(--strategy-shadow-soft);
}

.leverage-result-card.is-featured,
.leverage-patrimony-card.is-featured {
  color: var(--strategy-white);
  border-color: transparent;
  background:
    radial-gradient(circle at 100% 0, rgba(108, 201, 244, .16), transparent 15rem),
    linear-gradient(145deg, #071b2e, #0b3150);
}

.leverage-card-kicker {
  display: block;
  color: var(--strategy-blue);
  font: 650 9px/1.3 "DM Mono", ui-monospace, monospace;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.leverage-result-card.is-featured .leverage-card-kicker,
.leverage-patrimony-card.is-featured .leverage-card-kicker {
  color: var(--strategy-gold-light);
}

.leverage-card-value {
  display: block;
  margin-top: 12px;
  color: var(--strategy-ink);
  font: 700 clamp(25px, 8vw, 38px)/1.05 "Manrope", Arial, sans-serif;
  letter-spacing: -.055em;
  white-space: nowrap;
}

.leverage-card-value.is-compact {
  font-size: clamp(21px, 6.7vw, 30px);
}

.leverage-result-card.is-featured .leverage-card-value,
.leverage-patrimony-card.is-featured .leverage-card-value {
  color: var(--strategy-white);
}

.leverage-card-note {
  margin-top: 8px;
  color: var(--strategy-muted);
  font-size: 10px;
  line-height: 1.5;
}

.leverage-result-card.is-featured .leverage-card-note,
.leverage-patrimony-card.is-featured .leverage-card-note {
  color: rgba(255, 255, 255, .66);
}

.leverage-equation,
.leverage-metric-list {
  display: grid;
  gap: 0;
  margin-top: 17px;
  padding-top: 5px;
  border-top: 1px solid #e2eaee;
}

.leverage-result-card.is-featured :is(.leverage-equation, .leverage-metric-list),
.leverage-patrimony-card.is-featured :is(.leverage-equation, .leverage-metric-list) {
  border-top-color: rgba(255, 255, 255, .13);
}

.leverage-equation > div,
.leverage-metric-list > div {
  display: flex;
  min-width: 0;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 0;
  border-bottom: 1px solid #edf2f4;
}

.leverage-equation > div:last-child,
.leverage-metric-list > div:last-child {
  border-bottom: 0;
}

.leverage-result-card.is-featured :is(.leverage-equation, .leverage-metric-list) > div,
.leverage-patrimony-card.is-featured :is(.leverage-equation, .leverage-metric-list) > div {
  border-bottom-color: rgba(255, 255, 255, .1);
}

.leverage-equation dt,
.leverage-metric-list dt {
  color: #657c89;
  font-size: 10px;
  line-height: 1.4;
}

.leverage-equation dd,
.leverage-metric-list dd {
  margin: 0;
  color: var(--strategy-ink);
  font-size: 11px;
  font-weight: 750;
  text-align: right;
  white-space: nowrap;
}

.leverage-result-card.is-featured :is(.leverage-equation, .leverage-metric-list) :is(dt, dd),
.leverage-patrimony-card.is-featured :is(.leverage-equation, .leverage-metric-list) :is(dt, dd) {
  color: rgba(255, 255, 255, .76);
}

.leverage-equation .is-result {
  margin-top: 3px;
  padding-top: 12px;
  border-top: 1px solid var(--strategy-gold-light);
  border-bottom: 0;
}

.leverage-equation .is-result :is(dt, dd) {
  color: inherit;
  font-weight: 800;
}

.leverage-coverage-meter,
.leverage-budget-meter {
  margin-top: 15px;
}

.leverage-meter-track {
  position: relative;
  height: 8px;
  overflow: hidden;
  border-radius: 99px;
  background: #dce8ed;
}

.leverage-meter-fill {
  display: block;
  width: min(var(--meter-value, 0%), 100%);
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--strategy-blue), var(--strategy-blue-bright));
}

.leverage-meter-fill.is-over {
  background: linear-gradient(90deg, var(--strategy-gold), #d5a35d);
}

.leverage-meter-labels {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 7px;
  color: var(--strategy-muted);
  font-size: 9px;
}

/* Linha do tempo: rolável no celular e expandida a partir do tablet. */
.leverage-timeline {
  margin-top: 25px;
  padding: 18px;
  border: 1px solid rgba(7, 25, 42, .1);
  border-radius: 13px;
  background: var(--strategy-white);
  box-shadow: var(--strategy-shadow-soft);
}

.leverage-timeline > summary {
  display: flex;
  min-height: 40px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--strategy-ink);
  font-size: 12px;
  font-weight: 750;
  cursor: pointer;
  list-style: none;
}

.leverage-timeline > summary::-webkit-details-marker {
  display: none;
}

.leverage-timeline > summary::after {
  content: "+";
  display: grid;
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  place-items: center;
  border: 1px solid #a9c3d0;
  border-radius: 50%;
  color: var(--strategy-blue);
  font-size: 18px;
  font-weight: 400;
  transition: transform .2s, color .2s, background .2s;
}

.leverage-timeline[open] > summary::after {
  color: var(--strategy-white);
  background: var(--strategy-ink);
  transform: rotate(45deg);
}

.leverage-timeline-track {
  display: flex;
  gap: 0;
  margin-top: 16px;
  padding: 3px 2px 9px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
  scroll-snap-type: x proximity;
}

.leverage-timeline-item {
  position: relative;
  flex: 0 0 155px;
  min-width: 0;
  padding: 33px 14px 0 0;
  color: #5c7380;
  font-size: 9px;
  line-height: 1.45;
  scroll-snap-align: start;
}

.leverage-timeline-item::before {
  content: "";
  position: absolute;
  top: 9px;
  left: 0;
  z-index: 1;
  width: 13px;
  height: 13px;
  border: 3px solid var(--strategy-white);
  border-radius: 50%;
  background: var(--strategy-blue);
  box-shadow: 0 0 0 1px #8dbdd2;
}

.leverage-timeline-item::after {
  content: "";
  position: absolute;
  top: 15px;
  left: 13px;
  right: 0;
  height: 1px;
  background: #bdd5df;
}

.leverage-timeline-item:last-child::after {
  display: none;
}

.leverage-timeline-item strong {
  display: block;
  margin-bottom: 4px;
  color: var(--strategy-ink);
  font: 750 9px/1.3 "DM Mono", ui-monospace, monospace;
  letter-spacing: .045em;
  text-transform: uppercase;
}

.leverage-timeline-item.is-contemplation::before {
  background: var(--strategy-gold);
  box-shadow: 0 0 0 1px var(--strategy-gold-deep), 0 0 0 5px rgba(199, 164, 95, .12);
}

/* Tabela acessível como alternativa ao gráfico. */
.leverage-evolution {
  margin-top: 25px;
  padding: 20px 18px;
  border: 1px solid rgba(7, 25, 42, .1);
  border-radius: 13px;
  background: var(--strategy-white);
  box-shadow: var(--strategy-shadow-soft);
}

.leverage-evolution-details,
.leverage-numbers {
  margin-top: 17px;
  border-top: 1px solid var(--strategy-line);
}

.leverage-evolution-details > summary,
.leverage-numbers > summary {
  display: flex;
  min-height: 58px;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  color: var(--strategy-ink);
  font-size: 12px;
  font-weight: 750;
  cursor: pointer;
  list-style: none;
}

.leverage-evolution-details > summary::-webkit-details-marker,
.leverage-numbers > summary::-webkit-details-marker {
  display: none;
}

.leverage-evolution-details > summary::after,
.leverage-numbers > summary::after {
  content: "+";
  display: grid;
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  place-items: center;
  border: 1px solid #a9c3d0;
  border-radius: 50%;
  color: var(--strategy-blue);
  font-size: 18px;
  transition: transform .2s, color .2s, background .2s;
}

.leverage-evolution-details[open] > summary::after,
.leverage-numbers[open] > summary::after {
  color: var(--strategy-white);
  background: var(--strategy-ink);
  transform: rotate(45deg);
}

.leverage-table-wrap {
  width: 100%;
  padding-bottom: 7px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
}

.leverage-evolution-table {
  width: max(100%, 720px);
  border-spacing: 0;
  border-collapse: separate;
  border: 1px solid #d7e3e9;
  border-radius: 9px;
  color: var(--strategy-ink);
  background: var(--strategy-white);
  font-variant-numeric: tabular-nums lining-nums;
  font-size: 10px;
}

.leverage-evolution-table th,
.leverage-evolution-table td {
  padding: 11px 12px;
  border-bottom: 1px solid #e8eef1;
  text-align: right;
  white-space: nowrap;
}

.leverage-evolution-table th:first-child,
.leverage-evolution-table td:first-child {
  position: sticky;
  left: 0;
  z-index: 1;
  text-align: left;
  background: inherit;
}

.leverage-evolution-table thead th {
  color: #486777;
  background: #eef6f9;
  font: 700 9px/1.3 "DM Mono", ui-monospace, monospace;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.leverage-evolution-table tbody tr:nth-child(even) {
  background: #f8fbfc;
}

.leverage-evolution-table tbody tr:last-child td {
  border-bottom: 0;
}

/* Teste de variações e leitura de sensibilidade. */
.leverage-stress,
.leverage-variation-panel,
.leverage-sensitivity {
  margin-top: 24px;
  padding: 20px 18px;
  border: 1px solid rgba(7, 25, 42, .1);
  border-radius: 13px;
  background: var(--strategy-white);
  box-shadow: var(--strategy-shadow-soft);
}

.leverage-stress-head,
.leverage-sensitivity-head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}

.leverage-stress-head h3,
.leverage-sensitivity-head h3 {
  font-size: clamp(21px, 6.5vw, 29px);
  letter-spacing: -.045em;
  line-height: 1.25;
}

.leverage-stress-head p,
.leverage-sensitivity-head p {
  max-width: 620px;
  color: var(--strategy-muted);
  font-size: 12px;
  line-height: 1.6;
}

.leverage-stress-grid,
.leverage-stress-controls,
.leverage-variation-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  margin-top: 17px;
}

.leverage-stress-control {
  min-width: 0;
  padding: 13px;
  border: 1px solid #d6e2e8;
  border-radius: 9px;
  background: #fafcfd;
}

.leverage-stress-control label {
  display: block;
  margin-bottom: 8px;
  color: #476374;
  font-size: 10px;
  font-weight: 750;
}

.leverage-stress-impact-grid,
.leverage-variation-results {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 9px;
  margin-top: 16px;
}

.leverage-stress-result,
.leverage-stress-card,
.leverage-variation-card {
  min-width: 0;
  padding: 14px;
  border: 1px solid #cfdee6;
  border-radius: 9px;
  background: var(--strategy-surface-blue);
}

.leverage-stress-result > span,
.leverage-stress-card > span,
.leverage-variation-card > span {
  display: block;
  color: #607988;
  font-size: 9px;
}

.leverage-stress-result > strong,
.leverage-stress-card > strong,
.leverage-variation-card > strong {
  display: block;
  margin-top: 7px;
  color: var(--strategy-ink);
  font-size: 13px;
  line-height: 1.3;
}

.leverage-stress-values,
.leverage-variation-values {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 6px;
  align-items: center;
  margin-top: 8px;
  color: #6b808b;
  font-size: 10px;
}

.leverage-stress-values strong,
.leverage-variation-values strong {
  min-width: 0;
  color: var(--strategy-ink);
  font-size: 12px;
  white-space: nowrap;
}

.leverage-stress-values strong:last-child,
.leverage-variation-values strong:last-child {
  text-align: right;
}

.leverage-sensitivity-list {
  display: grid;
  gap: 16px;
  margin-top: 24px;
}

.leverage-sensitivity-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
  min-width: 0;
  padding: clamp(16px, 2vw, 24px);
  border: 1px solid #d7e3e9;
  border-radius: 9px;
  background: #fafcfd;
}

.leverage-sensitivity-factor {
  margin: 0;
  color: var(--strategy-ink);
  font-size: clamp(14px, 1.5vw, 17px);
  line-height: 1.6;
  overflow-wrap: anywhere;
}

.leverage-sensitivity-impacts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
  gap: 16px;
  padding-top: 16px;
  border-top: 1px solid #dce6eb;
}

.leverage-sensitivity-impacts p {
  min-width: 0;
  margin: 0;
}

.leverage-sensitivity-impacts span {
  display: block;
  margin-top: 4px;
  color: #536f7e;
  font-size: 12px;
  line-height: 1.6;
}

.leverage-sensitivity-impacts strong {
  display: block;
  color: var(--strategy-ink);
  font-size: 15px;
  line-height: 1.6;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

/* Ações adicionais mantêm a mesma família visual dos botões atuais. */
.strategy-secondary-actions,
.strategy-export-actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--strategy-line);
}

.strategy-secondary-actions .strategy-button {
  min-width: 0;
  border-radius: 8px;
  line-height: 1.5;
}

.strategy-secondary-actions .strategy-button:active {
  transform: translateY(0);
}

.strategy-button-quiet.strategy-button-reset {
  border-color: transparent;
  background: transparent;
  font-weight: 650;
}

.strategy-button-quiet {
  color: #476779;
  border-color: #c2d4dc;
  background: #f7fbfc;
}

.strategy-button-quiet:hover {
  color: var(--strategy-ink);
  border-color: #8eb6c8;
  background: var(--strategy-ice);
}

.strategy-print-meta {
  display: none;
}

.strategy-print-only {
  display: none !important;
}

/* A nova modalidade usa três séries sem alterar o gráfico de revenda. */
.leverage-chart-panel,
.leverage-chart-frame {
  border: 1px solid #d2dfe5;
  border-radius: var(--strategy-radius);
  background: var(--strategy-white);
  box-shadow: var(--strategy-shadow-soft);
}

.leverage-chart-panel {
  margin-top: 0;
  padding: clamp(20px, 3vw, 32px) clamp(12px, 2vw, 28px);
}

.leverage-chart-head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  padding: 0 4px 24px;
}

.leverage-chart-head :is(h2, h3) {
  font-size: clamp(24px, 7vw, 34px);
  letter-spacing: -.045em;
  line-height: 1.2;
}

.leverage-chart-head p {
  max-width: 610px;
  color: var(--strategy-muted);
  font-size: 12px;
  line-height: 1.65;
}

.leverage-chart-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  margin: 0 4px 20px;
  color: #59717f;
  font-size: 12px;
  line-height: 1.5;
}

.leverage-chart-legend span {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
}

.leverage-chart-legend i {
  display: block;
  flex: 0 0 22px;
  width: 22px;
  height: 3px;
  border-radius: 99px;
  background: var(--legend-color, var(--strategy-blue));
}

.leverage-chart-frame {
  position: relative;
  width: 100%;
  padding: 8px 0 0;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.leverage-chart-svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
  touch-action: pan-y;
}

.leverage-chart-grid-line {
  stroke: #dfe8ec;
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}

.leverage-chart-axis-label {
  fill: #536f7e;
  font: 11px "DM Mono", ui-monospace, monospace;
}

.leverage-chart-line,
.leverage-chart-area,
.leverage-chart-marker {
  vector-effect: non-scaling-stroke;
}

.leverage-chart-line {
  fill: none;
  stroke: var(--series-color, var(--strategy-blue));
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.leverage-chart-area {
  fill: var(--series-fill, rgba(43, 138, 197, .08));
  stroke: none;
}

.leverage-chart-point {
  fill: var(--strategy-white);
  stroke: var(--series-color, var(--strategy-blue));
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
}

.leverage-chart-marker {
  stroke: var(--strategy-gold-deep);
  stroke-width: 1.5;
  stroke-dasharray: 4 4;
}

.leverage-chart-marker-label {
  fill: var(--strategy-gold-deep);
  font: 650 10px "DM Mono", ui-monospace, monospace;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.leverage-chart-tooltip {
  display: none;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: 6px 20px;
  width: 100%;
  margin-top: 16px;
  padding: 16px;
  border-radius: 8px;
  color: var(--strategy-white);
  background: rgba(7, 25, 42, .96);
  font-size: 12px;
  line-height: 1.65;
  overflow-wrap: anywhere;
  pointer-events: none;
}

.leverage-chart-tooltip:is(.is-visible, [aria-hidden="false"]) {
  display: grid;
}

.leverage-chart-tooltip :is(strong, span) {
  display: block;
}

.leverage-chart-tooltip strong {
  grid-column: 1 / -1;
  margin-bottom: 5px;
  color: var(--strategy-gold-light);
  font-size: 13px;
}

.leverage-chart-line.is-equity,
.leverage-chart-point.is-equity,
.leverage-chart-line.equity,
.leverage-chart-point.equity,
.strategy-chart-line.leverage-equity,
.strategy-chart-dot.leverage-equity {
  --series-color: var(--strategy-blue);
}

.leverage-chart-line.is-cash,
.leverage-chart-point.is-cash,
.leverage-chart-line.cash,
.leverage-chart-point.cash,
.strategy-chart-line.leverage-cash,
.strategy-chart-dot.leverage-cash {
  --series-color: var(--strategy-gold-deep);
}

.leverage-chart-line.is-balance,
.leverage-chart-point.is-balance,
.leverage-chart-line.balance,
.leverage-chart-point.balance,
.strategy-chart-line.leverage-balance,
.strategy-chart-dot.leverage-balance {
  --series-color: #6b7b87;
}

.leverage-chart-line.is-balance,
.leverage-chart-line.balance,
.strategy-chart-line.leverage-balance {
  stroke-dasharray: 7 5;
}

.leverage-chart-legend .is-equity,
.leverage-chart-legend .equity,
.strategy-chart-legend .leverage-equity {
  --legend-color: var(--strategy-blue);
}

.leverage-chart-legend .is-cash,
.leverage-chart-legend .cash,
.strategy-chart-legend .leverage-cash {
  --legend-color: var(--strategy-gold-deep);
}

.leverage-chart-legend .is-balance,
.leverage-chart-legend .balance,
.strategy-chart-legend .leverage-balance {
  --legend-color: #6b7b87;
  background: repeating-linear-gradient(90deg, var(--legend-color) 0 5px, transparent 5px 8px);
}

@media (min-width: 480px) {
  .strategy-strategy-button,
  .strategy-strategy-tab,
  .strategy-type-button {
    padding-inline: 13px;
    font-size: 11px;
  }

  .strategy-strategy-button small,
  .strategy-strategy-tab small,
  .strategy-type-button small {
    display: block;
  }

  .leverage-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .leverage-stress-grid,
  .leverage-stress-controls,
  .leverage-variation-grid,
  .leverage-stress-impact-grid,
  .leverage-variation-results {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .strategy-secondary-actions,
  .strategy-export-actions {
    flex-flow: row wrap;
    align-items: center;
  }

  .strategy-secondary-actions .strategy-button,
  .strategy-export-actions .strategy-button {
    width: auto;
  }

  .leverage-chart-panel {
    padding: 25px 20px 19px;
  }
}

@media (min-width: 768px) {
  .strategy-strategy-selector-section {
    padding-top: 72px;
  }

  .strategy-strategy-selector,
  .strategy-strategy-tabs,
  .strategy-type-toggle {
    width: min(100%, 650px);
    margin-bottom: 26px;
  }

  .strategy-strategy-button,
  .strategy-strategy-tab,
  .strategy-type-button {
    min-height: 62px;
  }

  .leverage-summary,
  .leverage-compact-summary,
  .leverage-quick-summary {
    padding: 24px;
  }

  .leverage-results-grid,
  .leverage-patrimony-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }

  .leverage-result-card,
  .leverage-patrimony-card {
    padding: 24px 22px;
  }

  .leverage-timeline {
    padding: 22px;
  }

  .leverage-timeline > summary::after {
    display: none;
  }

  .leverage-timeline-track {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow: visible;
  }

  .leverage-timeline-item {
    min-width: 0;
  }

  .leverage-stress,
  .leverage-variation-panel,
  .leverage-sensitivity,
  .leverage-evolution {
    padding: 27px 25px;
  }

  .leverage-stress-head {
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
  }

  .leverage-stress-impact-grid,
  .leverage-variation-results {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .leverage-chart-panel {
    padding: 31px 27px 23px;
  }

  .leverage-chart-head {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
    align-items: end;
    gap: 32px;
    padding-bottom: 24px;
  }
}

@media (min-width: 1024px) {
  .leverage-results-grid,
  .leverage-patrimony-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .leverage-result-card,
  .leverage-patrimony-card {
    min-height: 250px;
  }

  .leverage-card-value {
    font-size: clamp(24px, 2.4vw, 33px);
  }

  .leverage-timeline-track {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .leverage-timeline-item {
    padding-right: 11px;
  }

  .leverage-stress-grid,
  .leverage-stress-controls,
  .leverage-variation-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

}

@media (max-width: 359px) {
  .leverage-summary-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .leverage-summary-metric {
    padding: 14px 16px;
  }
}

@media (min-width: 1440px) {
  .leverage-result-card,
  .leverage-patrimony-card {
    min-height: 265px;
    padding: 27px 24px;
  }

  .leverage-stress,
  .leverage-variation-panel,
  .leverage-sensitivity,
  .leverage-timeline,
  .leverage-evolution {
    padding: 30px;
  }
}

@media (forced-colors: active) {
  .strategy-strategy-button:is(.is-active, [aria-selected="true"], [aria-pressed="true"]),
  .strategy-strategy-tab:is(.is-active, [aria-selected="true"], [aria-pressed="true"]),
  .strategy-type-button:is(.is-active, [aria-selected="true"], [aria-pressed="true"]) {
    border: 2px solid ButtonText;
  }

  .leverage-meter-fill,
  .leverage-timeline-item::before {
    background: Highlight;
  }
}

/* Relatório limpo para Imprimir / Salvar como PDF sem dependência adicional. */
/* --------------------------------------------------------------------------
 * Simulação guiada
 *
 * Uma camada visual independente para o fluxo de uma pergunta por vez. Os
 * formulários rápido e completo continuam usando os componentes anteriores.
 * ----------------------------------------------------------------------- */

/* O seletor agora possui três níveis, sem perder legibilidade em 320 px. */
.strategy-site .strategy-mode-toggle {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: min(100%, 690px);
  max-width: 100%;
  gap: clamp(3px, .8vw, 6px);
}

.strategy-site .strategy-mode-button {
  min-width: 0;
  min-height: 56px;
  padding: 9px clamp(5px, 1.6vw, 13px);
  line-height: 1.3;
  text-align: center;
  overflow-wrap: anywhere;
}

.strategy-mode-button-guided > span {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 4px 6px;
}

.strategy-mode-button-guided em {
  display: none;
  padding: 3px 6px;
  border: 1px solid rgba(143, 108, 45, .24);
  border-radius: 999px;
  color: var(--strategy-gold-deep);
  background: #fff7dc;
  font: 700 7px/1.2 "DM Mono", ui-monospace, monospace;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.strategy-mode-button-guided:is(.is-active, [aria-pressed="true"]) {
  border-color: rgba(199, 164, 95, .34);
  background: linear-gradient(145deg, #fffdf8, #fff9e9);
  box-shadow: 0 7px 18px rgba(92, 66, 14, .09);
}

body[data-resale-mode="guided"] [data-resale-detail="advanced"],
body[data-leverage-mode="guided"] [data-leverage-detail="advanced"] {
  display: none !important;
}

/* Superfície geral do assistente. */
.strategy-guided {
  position: relative;
  isolation: isolate;
  width: 100%;
  min-width: 0;
  margin-top: clamp(22px, 4vw, 34px);
  padding: clamp(17px, 4vw, 34px);
  border: 1px solid #cbdde5;
  border-radius: clamp(18px, 3vw, 26px);
  background:
    radial-gradient(circle at 100% 0, rgba(108, 201, 244, .13), transparent 23rem),
    linear-gradient(145deg, #f8fcfd, #edf6f9);
  box-shadow: 0 24px 58px rgba(7, 25, 42, .09);
  scroll-margin-top: 104px;
}

.strategy-guided::before {
  content: "";
  position: absolute;
  z-index: -1;
  right: clamp(12px, 5vw, 58px);
  top: clamp(20px, 5vw, 52px);
  width: clamp(64px, 11vw, 120px);
  aspect-ratio: 1;
  border: 1px solid rgba(43, 138, 197, .1);
  pointer-events: none;
  transform: rotate(45deg);
}

.strategy-guided-progress-head {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.strategy-guided-progress-head > div {
  min-width: 0;
}

.strategy-guided-progress-head h3 {
  max-width: 720px;
  margin-top: 7px;
  font-size: clamp(23px, 5vw, 38px);
  line-height: 1.12;
  letter-spacing: -.05em;
  text-wrap: balance;
}

.strategy-guided-progress-head > span {
  flex: 0 0 auto;
  padding: 7px 10px;
  border: 1px solid #c2d8e2;
  border-radius: 999px;
  color: #43687b;
  background: rgba(255, 255, 255, .74);
  font: 650 9px/1.3 "DM Mono", ui-monospace, monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.strategy-guided-progress {
  height: 6px;
  margin-top: 17px;
  overflow: hidden;
  border-radius: 999px;
  background: #d7e6ec;
  box-shadow: inset 0 1px 2px rgba(7, 25, 42, .08);
}

.strategy-guided-progress > span {
  display: block;
  width: 20%;
  max-width: 100%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--strategy-blue), var(--strategy-blue-bright) 72%, var(--strategy-gold-light));
  box-shadow: 0 0 16px rgba(43, 138, 197, .24);
  transition: width .32s ease;
}

.strategy-guided-grid {
  display: grid;
  min-width: 0;
  gap: clamp(16px, 3vw, 28px);
  margin-top: clamp(20px, 4vw, 31px);
}

.strategy-guided-card,
.strategy-guided-live {
  min-width: 0;
  border-radius: clamp(15px, 2.4vw, 20px);
}

.strategy-guided-card {
  padding: clamp(21px, 5vw, 42px);
  border: 1px solid rgba(7, 25, 42, .09);
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 16px 40px rgba(7, 25, 42, .075);
}

.strategy-guided-step {
  min-width: 0;
}

.strategy-guided-step:not([hidden]) {
  animation: strategy-guided-step-in .3s ease both;
}

.strategy-guided-number,
.strategy-guided-finish-icon {
  display: grid;
  width: 38px;
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid rgba(43, 138, 197, .25);
  border-radius: 50%;
  color: var(--strategy-blue);
  background: var(--strategy-surface-blue);
  font: 700 10px/1 "DM Mono", ui-monospace, monospace;
  box-shadow: 0 7px 18px rgba(43, 138, 197, .1);
}

.strategy-guided-eyebrow {
  margin-top: 20px;
  color: var(--strategy-blue);
  font: 650 9px/1.45 "DM Mono", ui-monospace, monospace;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.strategy-guided-step h4 {
  max-width: 690px;
  margin-top: 9px;
  color: var(--strategy-ink);
  font: 650 clamp(26px, 6.8vw, 44px)/1.1 "Manrope", Arial, sans-serif;
  letter-spacing: -.055em;
  text-wrap: balance;
}

.strategy-guided-step > p:not(.strategy-guided-eyebrow) {
  max-width: 620px;
  margin-top: 12px;
  color: var(--strategy-muted);
  font-size: clamp(12px, 2.7vw, 14px);
  line-height: 1.7;
}

.strategy-guided-label {
  display: block;
  margin-top: clamp(26px, 5vw, 38px);
  margin-bottom: 8px;
  color: #476374;
  font-size: 11px;
  font-weight: 750;
}

.strategy-guided-input {
  min-width: 0;
}

.strategy-guided-input > input {
  height: auto;
  min-height: clamp(59px, 9vw, 70px);
  padding-block: 13px;
  padding-inline: clamp(14px, 3vw, 20px);
  padding-right: clamp(61px, 15vw, 82px);
  border: 1px solid #afc9d6;
  border-radius: 12px;
  color: var(--strategy-ink);
  background: #fbfdfe;
  font: 700 clamp(20px, 5vw, 30px)/1.2 "Manrope", Arial, sans-serif;
  letter-spacing: -.04em;
}

.strategy-guided-input > input[type="number"] {
  appearance: textfield;
  -moz-appearance: textfield;
}

.strategy-guided-input > input[type="number"]::-webkit-inner-spin-button,
.strategy-guided-input > input[type="number"]::-webkit-outer-spin-button {
  margin: 0;
  appearance: none;
}

.strategy-guided-input > .strategy-input-suffix {
  right: clamp(12px, 3vw, 18px);
  max-width: 64px;
  color: #67808e;
  font-size: clamp(9px, 2.4vw, 11px);
  line-height: 1.25;
  text-align: right;
  white-space: normal;
}

.strategy-guided-input > input:hover {
  border-color: #83afc4;
  background: var(--strategy-white);
}

.strategy-guided-input > input:focus,
.strategy-guided-input > input:focus-visible {
  border-color: var(--strategy-blue);
  outline: 0;
  background: var(--strategy-white);
  box-shadow: 0 0 0 4px rgba(43, 138, 197, .13), 0 10px 25px rgba(43, 138, 197, .08);
}

.strategy-guided-input > input:is([aria-invalid="true"], .is-invalid),
.strategy-guided-step.is-invalid .strategy-guided-input > input {
  border-color: var(--strategy-danger);
  background: #fffafa;
  box-shadow: 0 0 0 4px rgba(168, 66, 66, .09);
}

.strategy-guided-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  min-width: 0;
  margin-top: 13px;
}

.strategy-guided-options button {
  min-width: 0;
  min-height: 46px;
  padding: 9px 8px;
  border: 1px solid #c6d8e1;
  border-radius: 10px;
  color: #476779;
  background: #f8fbfc;
  font: 750 clamp(10px, 2.9vw, 12px)/1.35 "Manrope", Arial, sans-serif;
  overflow-wrap: anywhere;
  transition: color .2s, border-color .2s, background .2s, box-shadow .2s, transform .2s;
}

.strategy-guided-options button:hover {
  color: var(--strategy-ink);
  border-color: #8eb8ca;
  background: var(--strategy-ice);
  transform: translateY(-1px);
}

.strategy-guided-options button:is(.is-active, [aria-pressed="true"]) {
  color: var(--strategy-ink);
  border-color: rgba(199, 164, 95, .7);
  background: #fff9e9;
  box-shadow: 0 6px 16px rgba(92, 66, 14, .09);
}

.strategy-guided-choice-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  min-width: 0;
  margin-top: clamp(25px, 5vw, 37px);
}

.strategy-guided-choice {
  display: grid;
  min-width: 0;
  grid-template-columns: 42px minmax(0, 1fr);
  grid-template-areas:
    "icon title"
    "icon copy";
  align-items: center;
  gap: 3px 12px;
  padding: 15px;
  border: 1px solid #c7d8e1;
  border-radius: 13px;
  color: #526f80;
  background: #fbfdfe;
  text-align: left;
  transition: color .2s, border-color .2s, background .2s, box-shadow .2s, transform .2s;
}

.strategy-guided-choice > span {
  display: grid;
  grid-area: icon;
  width: 42px;
  aspect-ratio: 1;
  place-items: center;
  border-radius: 50%;
  color: var(--strategy-gold-deep);
  background: #fff6d8;
  font-size: 18px;
}

.strategy-guided-choice strong {
  grid-area: title;
  color: inherit;
  font-size: 14px;
  line-height: 1.35;
}

.strategy-guided-choice small {
  grid-area: copy;
  color: #718692;
  font-size: 10px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.strategy-guided-choice:hover,
.strategy-guided-choice:is(.is-active, [aria-pressed="true"]) {
  color: var(--strategy-ink);
  border-color: rgba(199, 164, 95, .68);
  background: #fffaf0;
  box-shadow: 0 11px 25px rgba(71, 52, 8, .08);
}

.strategy-guided-choice:active,
.strategy-guided-options button:active {
  transform: translateY(1px);
}

.strategy-guided :where(button, input):focus-visible {
  outline: 3px solid rgba(43, 138, 197, .32);
  outline-offset: 3px;
}

/* Resultado permanece visível, mas compacto e auditável. */
.strategy-guided-live {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(20px, 4vw, 28px);
  border: 1px solid rgba(108, 201, 244, .25);
  color: var(--strategy-white);
  background:
    radial-gradient(circle at 100% 0, rgba(108, 201, 244, .2), transparent 15rem),
    linear-gradient(145deg, #071b2e, #0b3150);
  box-shadow: 0 18px 42px rgba(7, 25, 42, .16);
}

.strategy-guided-live::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: -52px;
  bottom: -68px;
  width: 145px;
  aspect-ratio: 1;
  border: 1px solid rgba(231, 202, 138, .15);
  pointer-events: none;
  transform: rotate(45deg);
}

.strategy-guided-live-head {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--strategy-gold-light);
  font: 650 9px/1.4 "DM Mono", ui-monospace, monospace;
  letter-spacing: .1em;
}

.strategy-guided-live-head i {
  width: 8px;
  aspect-ratio: 1;
  flex: 0 0 auto;
  border-radius: 50%;
  background: #78dfae;
  box-shadow: 0 0 0 5px rgba(120, 223, 174, .1);
}

.strategy-guided-live-label {
  display: block;
  margin-top: 25px;
  color: rgba(255, 255, 255, .66);
  font-size: 10px;
  font-weight: 650;
  line-height: 1.45;
  text-transform: uppercase;
  letter-spacing: .045em;
}

.strategy-guided-live > strong {
  display: block;
  margin-top: 7px;
  color: var(--strategy-white);
  font: 750 clamp(28px, 8vw, 40px)/1.17 "Manrope", Arial, sans-serif;
  letter-spacing: -.05em;
  overflow-wrap: anywhere;
}

.strategy-guided-live > p {
  margin-top: 10px;
  color: rgba(255, 255, 255, .68);
  font-size: 11px;
  line-height: 1.65;
}

.strategy-guided-live dl {
  display: grid;
  gap: 1px;
  min-width: 0;
  margin-top: 21px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 11px;
  background: rgba(255, 255, 255, .1);
}

.strategy-guided-live dl > div {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 6px 14px;
  padding: 14px 13px;
  background: rgba(3, 20, 34, .42);
}

.strategy-guided-live dt {
  color: rgba(255, 255, 255, .6);
  font-size: 10px;
  line-height: 1.45;
}

.strategy-guided-live dd {
  min-width: 0;
  color: var(--strategy-white);
  font: 750 14px/1.35 "Manrope", Arial, sans-serif;
  letter-spacing: -.025em;
  overflow-wrap: anywhere;
}

.strategy-guided-assumption {
  display: grid;
  gap: 5px;
  margin-top: 16px;
  padding: 13px;
  border: 1px solid rgba(231, 202, 138, .24);
  border-radius: 10px;
  background: rgba(231, 202, 138, .07);
}

.strategy-guided-assumption strong {
  color: var(--strategy-gold-light);
  font-size: 10px;
  line-height: 1.45;
}

.strategy-guided-assumption span {
  color: rgba(255, 255, 255, .7);
  font-size: 10px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}

.strategy-guided-assumption b {
  color: var(--strategy-white);
  font-weight: 750;
}

/* Conclusão e navegação. */
.strategy-guided-finish-icon {
  color: #216947;
  border-color: rgba(35, 118, 85, .24);
  background: #edf9f3;
  font-family: "Manrope", Arial, sans-serif;
  font-size: 15px;
}

.strategy-guided-finish-actions {
  display: grid;
  gap: 9px;
  margin-top: clamp(25px, 5vw, 37px);
}

.strategy-guided-finish-actions .strategy-button {
  width: 100%;
  min-width: 0;
  border-radius: 9px;
  line-height: 1.4;
}

.strategy-guided-text-button {
  justify-self: center;
  min-width: 0;
  padding: 9px 10px;
  border: 0;
  border-bottom: 1px solid #a9c2cf;
  color: #42677a;
  background: transparent;
  font-size: 11px;
  font-weight: 750;
  line-height: 1.4;
}

.strategy-guided-text-button:hover {
  color: var(--strategy-ink);
  border-bottom-color: var(--strategy-ink);
}

.strategy-guided-nav {
  display: grid;
  min-width: 0;
  gap: 11px;
  margin-top: clamp(18px, 4vw, 28px);
  padding-top: clamp(17px, 3vw, 23px);
  border-top: 1px solid #cbdde5;
}

.strategy-guided-nav > p {
  margin: 0;
  color: var(--strategy-danger);
  font-size: 11px;
  font-weight: 650;
  line-height: 1.5;
}

.strategy-guided-nav > p:empty {
  display: none;
}

.strategy-guided-nav > p:not(:empty) {
  padding: 10px 12px;
  border: 1px solid rgba(168, 66, 66, .18);
  border-radius: 8px;
  background: #fff7f7;
}

.strategy-guided-nav > div {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: flex-end;
  gap: 8px;
}

.strategy-guided-nav .strategy-button {
  width: auto;
  min-width: min(100%, 154px);
  flex: 1 1 154px;
  border-radius: 9px;
}

.strategy-guided-back {
  display: inline-flex;
  min-width: 88px;
  min-height: 50px;
  flex: 0 1 auto;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 9px 13px;
  border: 1px solid #bed1da;
  border-radius: 9px;
  color: #476779;
  background: rgba(255, 255, 255, .74);
  font-size: 11px;
  font-weight: 750;
  transition: color .2s, border-color .2s, background .2s, transform .2s;
}

.strategy-guided-back .ui-icon {
  transform: rotate(180deg);
}

.strategy-guided-back:hover {
  color: var(--strategy-ink);
  border-color: #8eb6c8;
  background: var(--strategy-white);
  transform: translateY(-1px);
}

@keyframes strategy-guided-step-in {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 359px) {
  .strategy-site .strategy-mode-button {
    min-height: 60px;
    padding-inline: 4px;
    font-size: 9px;
    letter-spacing: .025em;
  }

  .strategy-guided {
    padding: 14px;
    border-radius: 17px;
  }

  .strategy-guided-card,
  .strategy-guided-live {
    padding: 18px;
  }

  .strategy-guided-step h4 {
    font-size: 25px;
  }

  .strategy-guided-options button {
    padding-inline: 5px;
    font-size: 10px;
  }

  .strategy-guided-live dl > div {
    display: grid;
  }

  .strategy-guided-nav > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .strategy-guided-nav > div:has(.strategy-guided-back:not([hidden])) {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .strategy-guided-nav .strategy-button {
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 679px) {
  .strategy-site .strategy-mode-toggle {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .strategy-site .strategy-mode-button-guided {
    grid-column: 1 / -1;
  }

  .strategy-mode-button-guided em {
    display: inline-flex;
  }
}

@media (min-width: 480px) {
  .strategy-guided-choice-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .strategy-guided-finish-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .strategy-guided-finish-actions .strategy-guided-text-button {
    grid-column: 1 / -1;
  }
}

@media (min-width: 680px) {
  .strategy-guided-progress-head {
    flex-direction: row;
    align-items: flex-end;
    gap: 28px;
  }

  .strategy-guided-options {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .strategy-guided-live dl {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .strategy-guided-live dl > div {
    display: grid;
    align-content: start;
  }

  .strategy-guided-nav {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
  }

  .strategy-guided-nav > div {
    min-width: 310px;
  }
}

@media (min-width: 768px) {
  .strategy-mode-button-guided em {
    display: inline-flex;
  }

  .strategy-site .strategy-mode-toggle {
    width: min(100%, 690px);
  }

  .strategy-site .strategy-mode-button {
    min-height: 68px;
  }
}

@media (min-width: 1024px) {
  .strategy-guided-grid {
    grid-template-columns: minmax(0, 1.32fr) minmax(310px, .68fr);
    align-items: start;
  }

  .strategy-guided-live {
    position: sticky;
    top: 112px;
  }

  .strategy-guided-live dl {
    grid-template-columns: minmax(0, 1fr);
  }

  .strategy-guided-live dl > div {
    display: flex;
  }
}

@media (prefers-reduced-motion: reduce) {
  .strategy-guided-step:not([hidden]) {
    animation: none;
  }

  .strategy-guided-progress > span,
  .strategy-guided-choice,
  .strategy-guided-options button,
  .strategy-guided-back {
    transition: none;
  }
}

@media print {
  .strategy-guided {
    display: none !important;
  }
}

@media print {
  @page {
    size: A4 portrait;
    margin: 14mm;
  }

  body.strategy-site {
    color: #000 !important;
    background: #fff !important;
    font-size: 10pt;
  }

  .strategy-site {
    --strategy-white: #fff;
    --strategy-paper: #fff;
    --strategy-ink: #000;
    --strategy-muted: #444;
    overflow: visible;
  }

  .strategy-site :where(*, *::before, *::after) {
    color-adjust: exact;
    -webkit-print-color-adjust: exact;
    animation: none !important;
    transition: none !important;
  }

  .strategy-site :where(
    .site-header,
    .strategy-hero,
    .strategy-strategy-selector-section,
    .strategy-mode-toggle,
    .strategy-strategy-selector,
    .strategy-strategy-tabs,
    .strategy-type-toggle,
    .strategy-presets,
    .strategy-info-button,
    .strategy-scenario-actions,
    .strategy-secondary-actions,
    .strategy-export-actions,
    .strategy-comparison,
    .strategy-cta-section,
    .site-footer,
    .whatsapp-float,
    .strategy-chart-tooltip,
    .leverage-chart-tooltip,
    button
  ) {
    display: none !important;
  }

  .strategy-print-only,
  .strategy-print-meta {
    display: block !important;
  }

  .strategy-print-meta {
    margin: 0 0 8mm;
    padding-bottom: 4mm;
    border-bottom: 1px solid #777;
    font-size: 9pt;
  }

  .strategy-print-meta img {
    width: 42mm;
    max-height: 18mm;
    margin-bottom: 4mm;
    object-fit: contain;
    object-position: left center;
  }

  .strategy-print-meta :is(strong, span) {
    display: block;
  }

  .strategy-print-meta strong {
    margin-bottom: 1.5mm;
    font-size: 13pt;
  }

  .strategy-main,
  .strategy-workspace,
  .strategy-results,
  .strategy-chart-section,
  .strategy-disclaimer-section {
    padding: 0 0 8mm;
    background: #fff !important;
  }

  .strategy-shell {
    width: 100%;
    max-width: none;
  }

  .strategy-intro,
  .strategy-configurator-header,
  .strategy-panel-header,
  .strategy-section-head,
  .strategy-results-head,
  .strategy-chart-head {
    display: block;
  }

  .strategy-layout,
  .strategy-form-grid,
  .strategy-results-grid,
  .leverage-results-grid,
  .leverage-patrimony-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4mm;
  }

  .strategy-configurator,
    .strategy-panel,
    .strategy-result-card,
    .leverage-result-card,
    .leverage-patrimony-card,
    .leverage-summary,
    .leverage-compact-summary,
    .leverage-quick-summary,
    .strategy-chart-panel,
    .leverage-chart-panel,
    .strategy-disclaimer,
    .leverage-timeline,
    .leverage-stress,
    .leverage-variation-panel,
    .leverage-sensitivity,
    .leverage-evolution {
    break-inside: avoid;
    border: 1px solid #bbb;
    box-shadow: none;
  }

  .strategy-configurator,
  .strategy-panel {
    padding: 5mm;
  }

  .strategy-side {
    position: static;
  }

  .strategy-input-wrap > :is(input, select),
  .strategy-field > :is(input, select),
  .strategy-range-output,
  .strategy-month-number input {
    height: auto;
    padding: 2mm;
    border: 1px solid #bbb;
    color: #000;
    background: #fff;
  }

  .strategy-range,
  .strategy-month-control > button,
  .strategy-input-prefix,
  .strategy-input-suffix {
    display: none !important;
  }

  .strategy-month-control {
    display: block;
  }

  .strategy-field label.strategy-month-number {
    display: grid;
  }

  .strategy-result-card,
  .leverage-result-card,
  .leverage-patrimony-card {
    min-height: 0;
    padding: 5mm;
  }

  .strategy-result-card.is-featured,
  .strategy-result-featured,
  .leverage-result-card.is-featured,
  .leverage-patrimony-card.is-featured,
  .leverage-summary,
  .leverage-compact-summary,
  .leverage-quick-summary {
    color: #000;
    border-color: #777;
    background: #f3f3f3 !important;
  }

  .strategy-result-card.is-featured :where(*),
  .strategy-result-featured :where(*),
  .leverage-result-card.is-featured :where(*),
  .leverage-patrimony-card.is-featured :where(*),
  .leverage-summary :where(*),
  .leverage-compact-summary :where(*),
  .leverage-quick-summary :where(*) {
    color: #000 !important;
  }

  .strategy-result-value,
  .leverage-card-value,
  .leverage-summary-value,
  .leverage-metric-card strong,
  .leverage-summary-metric strong {
    font-size: 17pt;
  }

  .strategy-chart-frame,
  .leverage-chart-frame {
    min-height: 78mm;
  }

  .strategy-chart-svg,
  .leverage-chart-svg {
    min-height: 72mm;
  }

  .leverage-timeline > summary,
  .leverage-evolution-details > summary,
  .leverage-numbers > summary {
    display: none;
  }

  .leverage-timeline-track {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow: visible;
  }

  .leverage-evolution-details,
  .leverage-numbers {
    display: block !important;
  }

  .leverage-evolution-details > :not(summary),
  .leverage-numbers > :not(summary) {
    display: block !important;
  }

  .leverage-table-wrap {
    overflow: visible;
  }

  .leverage-evolution-table {
    width: 100%;
    font-size: 7.5pt;
  }

  .leverage-evolution-table th,
  .leverage-evolution-table td {
    padding: 1.8mm;
    white-space: normal;
  }

  .leverage-evolution-table th:first-child,
  .leverage-evolution-table td:first-child {
    position: static;
  }

  body.strategy-site[data-print-strategy="resale"] [data-strategy-panel="leverage"],
  body.strategy-site[data-print-strategy="leverage"] [data-strategy-panel="resale"] {
    display: none !important;
  }

  body.strategy-site[data-print-strategy="resale"] [data-strategy-panel="resale"]:not(.strategy-comparison):not(.strategy-cta-section),
  body.strategy-site[data-print-strategy="leverage"] [data-strategy-panel="leverage"]:not(.strategy-comparison):not(.strategy-cta-section),
  body.strategy-site[data-print-strategy="resale"] #strategy-advanced-fields,
  body.strategy-site[data-print-strategy="leverage"] #leverage-advanced-fields {
    display: block !important;
  }

  .strategy-site a[href]::after {
    content: none !important;
  }
}
