/* Refinements for individual homepage components. */
.strategy-revelation .revelation-flow {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: 1fr !important;
  width: 100%;
  max-width: 430px;
  gap: 0 !important;
  justify-items: stretch !important;
  padding: 18px !important;
  overflow: hidden;
  border: 1px solid rgba(143, 194, 255, .34) !important;
  border-radius: 30px !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(55, 128, 232, .22), transparent 42%),
    linear-gradient(145deg, rgba(20, 61, 108, .76), rgba(7, 31, 58, .94)) !important;
  box-shadow: 0 28px 70px rgba(0, 10, 25, .28), inset 0 1px rgba(255, 255, 255, .06);
  text-align: left !important;
}

.strategy-revelation .revelation-flow::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: .34;
  background-image:
    linear-gradient(rgba(143, 194, 255, .08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(143, 194, 255, .08) 1px, transparent 1px);
  background-size: 20px 20px;
  pointer-events: none;
}

.revelation-stage {
  position: relative;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: center;
  min-height: 78px;
  padding: 15px 18px 15px 14px;
  border: 1px solid rgba(164, 205, 255, .18);
  border-radius: 17px;
  background: rgba(255, 255, 255, .055);
  box-shadow: inset 0 1px rgba(255, 255, 255, .045);
}

.revelation-stage small {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 1px solid rgba(143, 194, 255, .36);
  border-radius: 50%;
  color: #8fc2ff;
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .08em;
}

.strategy-revelation .revelation-stage span,
.strategy-revelation .revelation-stage strong {
  padding: 0 !important;
  color: #eef6ff !important;
  background: transparent !important;
  font-size: clamp(.82rem, 1vw, .94rem) !important;
  font-weight: 750;
  line-height: 1.3 !important;
  letter-spacing: .075em !important;
  text-transform: uppercase;
}

.revelation-stage-action {
  border-color: rgba(68, 139, 244, .58);
  background: linear-gradient(90deg, rgba(37, 105, 205, .34), rgba(47, 111, 238, .13));
}

.revelation-stage-action::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 18px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #66a9ff;
  box-shadow: 0 0 0 7px rgba(102, 169, 255, .1), 0 0 22px #4c96f5;
}

.revelation-stage-result {
  border-color: rgba(143, 194, 255, .48);
  background: linear-gradient(110deg, rgba(143, 194, 255, .18), rgba(47, 111, 238, .19));
}

.revelation-stage-result::before {
  content: "";
  position: absolute;
  top: 11px;
  bottom: 11px;
  left: 0;
  width: 3px;
  border-radius: 0 3px 3px 0;
  background: #8fc2ff;
  box-shadow: 0 0 18px rgba(143, 194, 255, .65);
}

.strategy-revelation .revelation-stage-result strong { color: #9dccff !important; }

.revelation-connector {
  position: relative;
  display: grid;
  height: 42px;
  place-items: center;
}

.revelation-connector::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 35px;
  width: 1px;
  background: linear-gradient(#5597ed, rgba(143, 194, 255, .28));
}

.strategy-revelation .revelation-connector i {
  position: relative;
  z-index: 1;
  display: grid;
  width: 24px;
  height: 24px;
  margin-left: -1px;
  place-items: center;
  border: 1px solid rgba(143, 194, 255, .34);
  border-radius: 50%;
  color: #8fc2ff;
  background: #0c315b;
  font-size: .9rem;
  font-style: normal;
  transform: none !important;
}

@media (max-width: 900px) {
  .strategy-revelation .revelation-flow {
    max-width: 620px;
    margin-inline: auto;
  }
}

@media (max-width: 600px) {
  .strategy-revelation .revelation-flow {
    padding: 12px !important;
    border-radius: 22px !important;
  }

  .revelation-stage {
    min-height: 70px;
    padding: 12px;
  }
}

/* Text-led guide layout: the content now occupies the full editorial column. */
.strategy-guide .guide-layout {
  display: block !important;
}

.strategy-guide .guide-copy {
  width: min(100%, 1040px);
  margin-inline: auto;
}

.strategy-guide .guide-copy h2 {
  max-width: 980px;
}

.strategy-guide .guide-copy > p {
  max-width: 800px;
}

/* Keep the FAQ closer to the preceding call to action. */
#contact.home-final-checkup + .faq-section {
  padding-top: clamp(38px, 4vw, 54px) !important;
}

@media (max-width: 768px) {
  #contact.home-final-checkup + .faq-section {
    padding-top: 36px !important;
  }
}

/* Final decision area: paired editorial panels with distinct roles. */
#contact.home-final-checkup .home-final-checkup-inner {
  display: grid !important;
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr) !important;
  grid-template-areas:
    "kicker kicker"
    "trust conversion" !important;
  width: min(100%, 1180px) !important;
  gap: 18px !important;
  align-items: stretch;
}

#contact.home-final-checkup .home-final-checkup-inner > .value-kicker {
  grid-area: kicker;
  justify-self: start !important;
  margin: 0 0 8px !important;
}

#contact.home-final-checkup .final-trust-message,
#contact.home-final-checkup .final-checkup-conversion {
  position: relative;
  width: 100%;
  max-width: none;
  min-height: 420px;
  margin: 0;
  padding: clamp(38px, 4.5vw, 62px) !important;
  overflow: hidden;
  border-radius: 30px;
  text-align: left;
}

#contact.home-final-checkup .final-trust-message {
  grid-area: trust;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border: 1px solid rgba(140, 190, 250, .2);
  color: #eef6ff;
  background:
    radial-gradient(circle at 100% 0%, rgba(72, 143, 240, .24), transparent 40%),
    #092847;
  box-shadow: 0 24px 64px rgba(10, 35, 64, .16);
}

#contact.home-final-checkup .final-trust-message::before {
  content: "";
  width: 42px;
  height: 42px;
  margin-bottom: 42px;
  border: 1px solid rgba(143, 194, 255, .5);
  border-radius: 50%;
  background:
    linear-gradient(90deg, transparent 48%, #8fc2ff 48%, #8fc2ff 52%, transparent 52%),
    linear-gradient(transparent 48%, #8fc2ff 48%, #8fc2ff 52%, transparent 52%);
  box-shadow: 0 0 0 8px rgba(143, 194, 255, .055);
}

#contact.home-final-checkup .final-trust-message h2 {
  max-width: 520px;
  margin: 0 0 28px;
  color: #fff;
  font-size: clamp(2rem, 3.2vw, 3.25rem);
  line-height: 1;
  letter-spacing: -.045em;
}

#contact.home-final-checkup .final-trust-message p {
  max-width: 520px;
  margin: auto 0 0;
  color: rgba(226, 239, 255, .72);
  font-size: 1rem;
  line-height: 1.65;
}

#contact.home-final-checkup .final-checkup-conversion {
  grid-area: conversion;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border: 1px solid rgba(47, 111, 238, .22);
  background:
    linear-gradient(rgba(47,111,238,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(47,111,238,.06) 1px, transparent 1px),
    linear-gradient(145deg, #eef6ff, #cfe5ff) !important;
  background-size: 22px 22px, 22px 22px, auto !important;
  box-shadow: 0 28px 74px rgba(47, 111, 238, .14);
}

#contact.home-final-checkup .final-checkup-conversion::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 34%;
  height: 4px;
  background: #2f6fee;
}

#contact.home-final-checkup .final-checkup-conversion h2 {
  max-width: 700px;
  margin: 0 0 22px;
  color: #102f56;
  font-size: clamp(2.35rem, 4vw, 4.15rem);
  line-height: .96;
  letter-spacing: -.055em;
}

#contact.home-final-checkup .final-checkup-conversion > p:not(.final-checkup-note) {
  max-width: 650px;
  margin: 0 0 28px;
  color: #526982;
  font-size: 1.04rem;
  line-height: 1.6;
}

#contact.home-final-checkup .home-final-checkup-actions {
  justify-content: flex-start;
  margin: 0;
}

#contact.home-final-checkup .home-final-checkup-actions .btn-primary {
  min-height: 52px;
  padding-inline: 26px;
  border-radius: 999px;
  box-shadow: 0 14px 32px rgba(47, 111, 238, .22);
}

#contact.home-final-checkup .final-checkup-note {
  margin: 18px 0 0;
  color: #526982;
  font-size: .78rem;
  font-weight: 750;
  letter-spacing: .04em;
}

@media (max-width: 900px) {
  #contact.home-final-checkup .home-final-checkup-inner {
    grid-template-columns: 1fr !important;
    grid-template-areas: "kicker" "trust" "conversion" !important;
  }

  #contact.home-final-checkup .final-trust-message,
  #contact.home-final-checkup .final-checkup-conversion {
    min-height: 0;
  }

  #contact.home-final-checkup .final-trust-message::before {
    margin-bottom: 34px;
  }
}

@media (max-width: 600px) {
  #contact.home-final-checkup .final-trust-message,
  #contact.home-final-checkup .final-checkup-conversion {
    padding: 30px 22px !important;
    border-radius: 22px;
  }

  #contact.home-final-checkup .final-trust-message h2,
  #contact.home-final-checkup .final-checkup-conversion h2 {
    font-size: clamp(2rem, 9vw, 2.65rem);
  }
}
