/* Inner Moxie homepage */

.im-home {
  background:
    linear-gradient(
      180deg,
      rgba(152, 207, 230, 0.92) 0%,
      rgba(178, 218, 234, 0.9) 55%,
      rgba(244, 245, 239, 0.95) 100%
    ),
    url("../images/home-background.png") center bottom / cover no-repeat;
}

.im-home-hero {
  display: grid;
  min-height: 680px;
  padding: clamp(90px, 11vw, 150px) 0;
  place-items: center;
  text-align: center;
}

.im-home-hero__content {
  width: min(calc(100% - 40px), 900px);
  margin-inline: auto;
}

.im-home-hero h1 {
  margin-bottom: 28px;
  color: #fffdf1;
  text-shadow: 0 3px 18px rgba(35, 70, 82, 0.22);
}

.im-home-hero p {
  width: min(100%, 760px);
  margin: 0 auto 20px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.08rem, 2vw, 1.35rem);
  line-height: 1.65;
}

.im-home-hero__final {
  margin-top: 30px !important;
  color: #fffdf1;
  font-size: clamp(1.35rem, 2.8vw, 2rem) !important;
}

.im-home-hero .im-button {
  margin-top: 16px;
}

.im-home-panel {
  width: min(calc(100% - 40px), 980px);
  margin-inline: auto;
  padding: clamp(38px, 6vw, 70px);
  background: rgba(251, 250, 239, 0.9);
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 24px;
  box-shadow: 0 22px 60px rgba(44, 92, 108, 0.13);
  backdrop-filter: blur(8px);
}

.im-home-panel h2 {
  color: var(--im-teal-dark);
}

.im-home-welcome {
  padding: 40px 0 85px;
  text-align: center;
}

.im-home-welcome p {
  width: min(100%, 780px);
  margin-right: auto;
  margin-left: auto;
}

.im-home-welcome .im-lead {
  margin: 28px auto;
}

.im-home-features {
  display: grid;
  margin-top: 45px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.im-home-feature {
  padding: 28px 22px;
  background: rgba(255, 255, 255, 0.62);
  border: 1px solid rgba(49, 127, 146, 0.13);
  border-radius: 15px;
}

.im-home-feature__icon {
  display: grid;
  width: 50px;
  height: 50px;
  margin: 0 auto 17px;
  place-items: center;
  color: #fff;
  background: var(--im-teal);
  border-radius: 50%;
  font-size: 1.25rem;
  font-weight: 800;
}

.im-home-feature h3 {
  margin-bottom: 10px;
  color: var(--im-teal-dark);
  font-size: 1.25rem;
}

.im-home-feature p {
  margin-bottom: 0;
  font-size: 0.94rem;
}

.im-home-moxie {
  padding: 20px 0 90px;
}

.im-home-moxie__title {
  color: #b59025;
}

.im-home-service-list {
  display: grid;
  margin: 35px 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 30px;
  text-align: left;
}

.im-home-service-list div {
  position: relative;
  padding-left: 28px;
}

.im-home-service-list div::before {
  position: absolute;
  left: 0;
  color: var(--im-teal);
  content: "✓";
  font-weight: 800;
}

.im-home-insurance {
  padding: 20px 0 110px;
}

.im-home-insurance-grid {
  display: grid;
  margin: 40px auto;
  grid-template-columns: repeat(4, minmax(100px, 1fr));
  gap: 20px;
  align-items: center;
}

.im-home-insurance-grid div {
  display: grid;
  min-height: 95px;
  padding: 16px;
  place-items: center;
  background: rgba(255, 255, 255, 0.78);
  border-radius: 12px;
}

.im-home-insurance-grid img {
  width: auto;
  max-width: 100%;
  max-height: 58px;
  object-fit: contain;
}

.im-home-small {
  color: var(--im-muted);
  font-size: 0.87rem;
}

.im-home-actions {
  display: flex;
  margin-top: 28px;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
}

@media (max-width: 780px) {
  .im-home-hero {
    min-height: 600px;
    padding: 75px 0;
  }

  .im-home-features,
  .im-home-service-list {
    grid-template-columns: 1fr;
  }

  .im-home-insurance-grid {
    grid-template-columns: repeat(2, minmax(100px, 1fr));
  }
}

@media (max-width: 480px) {
  .im-home-insurance-grid {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }

  .im-home-panel {
    width: min(calc(100% - 24px), 980px);
    padding: 34px 20px;
  }
}


/* HOMEPAGE PROPORTION POLISH V2 */

.im-home {
  background-position: center bottom;
}

.im-home-hero {
  min-height: 560px;
  padding: clamp(70px, 8vw, 110px) 0;
}

.im-home-hero__content {
  width: min(calc(100% - 40px), 940px);
}

.im-home-hero h1 {
  max-width: 850px;
  margin-right: auto;
  margin-bottom: 24px;
  margin-left: auto;
  font-size: clamp(3rem, 6.5vw, 5rem);
  line-height: 1.05;
}

.im-home-hero p {
  width: min(100%, 720px);
  margin-bottom: 16px;
  font-size: clamp(1.08rem, 1.7vw, 1.3rem);
  line-height: 1.62;
}

.im-home-hero__final {
  max-width: 760px;
  margin-top: 24px !important;
  font-size: clamp(1.35rem, 2.4vw, 1.8rem) !important;
  line-height: 1.45 !important;
}

.im-home-hero .im-button {
  margin-top: 18px;
}

.im-home-panel {
  width: min(calc(100% - 40px), 1080px);
  padding: clamp(38px, 5vw, 64px);
}

.im-home-panel > p:not(.im-eyebrow),
.im-home-panel li,
.im-home-panel div {
  font-size: 1rem;
}

.im-home-welcome {
  padding: 25px 0 62px;
}

.im-home-welcome .im-lead {
  max-width: 760px;
  margin: 24px auto;
  font-size: clamp(1.25rem, 2vw, 1.55rem);
}

.im-home-features {
  margin-top: 36px;
  gap: 18px;
}

.im-home-feature {
  display: flex;
  min-height: 245px;
  padding: 28px 24px;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}

.im-home-feature__icon {
  width: 54px;
  height: 54px;
  margin-bottom: 18px;
}

.im-home-feature h3 {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.im-home-feature p {
  margin-bottom: 0;
  line-height: 1.6;
}

.im-home-actions {
  margin-top: 30px;
  gap: 12px;
}

.im-home-moxie {
  padding: 0 0 62px;
}

.im-home-moxie__title {
  max-width: 780px;
  margin-right: auto;
  margin-left: auto;
}

.im-home-service-list {
  margin: 30px 0;
  gap: 13px 40px;
}

.im-home-service-list div {
  line-height: 1.55;
}

.im-home-insurance {
  padding: 0 0 85px;
}

.im-home-insurance-grid {
  margin: 34px auto;
  grid-template-columns: repeat(4, minmax(130px, 1fr));
  gap: 14px;
}

.im-home-insurance-grid div {
  min-height: 105px;
  padding: 18px;
}

.im-home-insurance-grid img {
  max-height: 64px;
}

.im-home-small {
  max-width: 720px;
  margin-right: auto;
  margin-left: auto;
  line-height: 1.55;
}

@media (max-width: 900px) {
  .im-home-hero {
    min-height: 510px;
  }

  .im-home-features {
    grid-template-columns: 1fr;
  }

  .im-home-feature {
    width: min(100%, 620px);
    min-height: auto;
    margin-inline: auto;
  }

  .im-home-feature h3 {
    min-height: 0;
  }

  .im-home-service-list {
    grid-template-columns: 1fr;
  }

  .im-home-insurance-grid {
    grid-template-columns: repeat(2, minmax(130px, 1fr));
  }
}

@media (max-width: 600px) {
  .im-home-hero {
    min-height: 470px;
    padding: 62px 0;
  }

  .im-home-hero__content {
    width: min(calc(100% - 28px), 940px);
  }

  .im-home-hero h1 {
    font-size: clamp(2.6rem, 12vw, 3.6rem);
  }

  .im-home-hero p {
    font-size: 1rem;
  }

  .im-home-panel {
    width: min(calc(100% - 24px), 1080px);
    padding: 34px 22px;
    border-radius: 18px;
  }

  .im-home-welcome,
  .im-home-moxie,
  .im-home-insurance {
    padding-bottom: 42px;
  }

  .im-home-insurance-grid {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }

  .im-home-insurance-grid div {
    min-height: 88px;
    padding: 12px;
  }

  .im-home-insurance-grid img {
    max-height: 50px;
  }
}


/* FINAL HOMEPAGE MOBILE POLISH V1 */

@media (max-width: 640px) {
  .im-home-hero {
    min-height: auto;
    padding: 58px 0 66px;
  }

  .im-home-hero h1 {
    max-width: 350px;
    margin-bottom: 22px;
    font-size: clamp(2.45rem, 11vw, 3.15rem);
    line-height: 1.06;
  }

  .im-home-hero p {
    max-width: 350px;
    margin-bottom: 17px;
    font-size: 1.02rem;
    line-height: 1.62;
  }

  .im-home-hero__final {
    margin-top: 23px !important;
    font-size: 1.28rem !important;
    line-height: 1.45 !important;
  }

  .im-home-hero .im-button {
    margin-top: 14px;
  }

  .im-home-panel {
    padding: 34px 21px;
  }

  .im-home-panel h2 {
    line-height: 1.12;
  }

  .im-home-panel > p:not(.im-eyebrow),
  .im-home-panel li {
    font-size: 1rem;
    line-height: 1.65;
  }

  .im-home-feature {
    padding: 26px 20px;
  }

  .im-home-feature p {
    font-size: 0.98rem;
    line-height: 1.6;
  }

  .im-home-service-list {
    gap: 12px;
  }

  .im-home-service-list div {
    font-size: 0.98rem;
  }

  .im-home-insurance-grid div {
    min-height: 92px;
  }

  .im-home-small {
    font-size: 0.9rem;
  }

  .im-home-actions {
    gap: 11px;
  }
}


/* MOBILE HOMEPAGE FINISH V3 */

@media (max-width: 640px) {
  .im-home-hero {
    padding: 50px 0 56px;
  }

  .im-home-hero h1 {
    max-width: 360px;
    font-size: clamp(2.35rem, 10.8vw, 3rem);
  }

  .im-home-hero p {
    max-width: 355px;
    font-size: 1.04rem;
    line-height: 1.66;
  }

  .im-home-hero__final {
    font-size: 1.3rem !important;
  }

  .im-home-panel {
    padding: 35px 23px;
  }

  .im-home-panel h2 {
    font-size: clamp(1.75rem, 8vw, 2.25rem);
  }

  .im-home-panel > p:not(.im-eyebrow),
  .im-home-panel li,
  .im-home-feature p {
    font-size: 1.01rem;
    line-height: 1.66;
  }

  .im-home-feature h3 {
    font-size: 1.25rem;
  }

  .im-home-feature__icon {
    width: 52px;
    height: 52px;
  }

  .im-home-insurance-grid div {
    min-height: 96px;
    padding: 13px;
  }

  .im-home-insurance-grid img {
    max-height: 58px;
  }

  .im-home-small {
    font-size: 0.94rem;
    line-height: 1.6;
  }
}


/* FINAL HOMEPAGE VISUAL POLISH V4 */

/* Hero */

.im-home-hero {
  min-height: 535px;
  padding: clamp(68px, 7vw, 96px) 0;
}

.im-home-hero h1 {
  margin-bottom: 22px;
}

.im-home-hero p {
  line-height: 1.64;
}

.im-home-hero__final {
  margin-top: 22px !important;
}

.im-home-hero .im-button {
  margin-top: 15px;
}

/* Main panels */

.im-home-panel {
  border: 1px solid rgba(49, 127, 146, 0.1);
  box-shadow: 0 19px 52px rgba(44, 92, 108, 0.12);
}

.im-home-welcome {
  padding-top: 20px;
  padding-bottom: 54px;
}

.im-home-moxie {
  padding-bottom: 54px;
}

.im-home-insurance {
  padding-bottom: 72px;
}

.im-home-panel h2 {
  margin-bottom: 22px;
}

.im-home-panel .im-eyebrow {
  margin-bottom: 13px;
}

.im-home-actions {
  margin-top: 28px;
}

.im-home-actions .im-button {
  min-width: 180px;
}

/* Feature cards */

.im-home-features {
  gap: 20px;
}

.im-home-feature {
  border-color: rgba(49, 127, 146, 0.11);
  box-shadow: 0 7px 20px rgba(49, 86, 94, 0.05);
}

.im-home-feature__icon {
  box-shadow: 0 6px 16px rgba(54, 132, 151, 0.2);
}

/* Insurance */

.im-home-insurance-grid div {
  border: 1px solid rgba(49, 127, 146, 0.09);
  box-shadow: 0 5px 15px rgba(49, 86, 94, 0.04);
}

/* Phone */

@media (max-width: 640px) {
  .im-home-hero {
    min-height: auto;
    padding: 48px 0 53px;
  }

  .im-home-hero h1 {
    margin-bottom: 20px;
  }

  .im-home-hero .im-button {
    margin-top: 13px;
  }

  .im-home-welcome {
    padding-top: 14px;
    padding-bottom: 38px;
  }

  .im-home-moxie {
    padding-bottom: 38px;
  }

  .im-home-insurance {
    padding-bottom: 45px;
  }

  .im-home-panel {
    width: min(calc(100% - 18px), 1080px);
    padding: 33px 21px;
    border-radius: 17px;
  }

  .im-home-panel h2 {
    margin-bottom: 19px;
  }

  .im-home-features {
    margin-top: 30px;
    gap: 10px;
  }

  .im-home-feature {
    padding: 24px 18px;
    border-radius: 12px;
  }

  .im-home-actions {
    margin-top: 25px;
  }

  .im-home-actions .im-button {
    width: auto;
    min-width: 175px;
  }

  .im-home-service-list {
    margin-top: 25px;
    margin-bottom: 26px;
  }

  .im-home-insurance-grid {
    margin-top: 28px;
    margin-bottom: 28px;
  }

  .im-home-insurance-grid div {
    border-radius: 9px;
  }
}


/* HERO TYPOGRAPHY AND CONTRAST V5 */

.im-home {
  background:
    linear-gradient(
      180deg,
      #91cbe1 0%,
      #a8d8e9 48%,
      rgba(224, 239, 241, 0.96) 100%
    ),
    url("../images/home-background.png") center bottom / cover no-repeat;
}

.im-home-hero__content {
  width: min(calc(100% - 40px), 880px);
}

.im-home-hero h1 {
  max-width: 820px;
  margin-right: auto;
  margin-left: auto;
  color: #fffdf5;
  font-size: clamp(3rem, 5.8vw, 4.9rem);
  font-weight: 400;
  line-height: 1.04;
  letter-spacing: -0.025em;
  text-shadow:
    0 2px 2px rgba(31, 75, 91, 0.16),
    0 8px 24px rgba(31, 75, 91, 0.18);
}

.im-home-hero p {
  width: min(100%, 700px);
  margin-right: auto;
  margin-bottom: 19px;
  margin-left: auto;
  color: #173f4c;
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Arial,
    sans-serif;
  font-size: clamp(1.05rem, 1.45vw, 1.22rem);
  font-weight: 450;
  line-height: 1.72;
  letter-spacing: 0.005em;
  text-shadow: none;
}

.im-home-hero__final {
  width: min(100%, 760px) !important;
  margin-top: 27px !important;
  color: #fffdf5 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(1.42rem, 2.25vw, 1.85rem) !important;
  font-weight: 400 !important;
  line-height: 1.48 !important;
  letter-spacing: 0 !important;
  text-shadow:
    0 2px 2px rgba(31, 75, 91, 0.16),
    0 7px 20px rgba(31, 75, 91, 0.17) !important;
}

.im-home-hero .im-button {
  margin-top: 18px;
  color: #244d58;
  font-weight: 700;
  background: rgba(255, 253, 245, 0.96);
  border-color: rgba(255, 253, 245, 0.96);
  box-shadow: 0 7px 20px rgba(35, 79, 92, 0.13);
}

.im-home-hero .im-button:hover,
.im-home-hero .im-button:focus {
  color: #ffffff;
  background: var(--im-teal-dark);
  border-color: var(--im-teal-dark);
}

@media (max-width: 640px) {
  .im-home-hero {
    padding-top: 48px;
    padding-bottom: 56px;
  }

  .im-home-hero__content {
    width: min(calc(100% - 34px), 880px);
  }

  .im-home-hero h1 {
    max-width: 340px;
    margin-bottom: 23px;
    font-size: clamp(2.55rem, 11.5vw, 3.2rem);
    line-height: 1.04;
  }

  .im-home-hero p {
    max-width: 345px;
    margin-bottom: 18px;
    font-size: 1.04rem;
    font-weight: 450;
    line-height: 1.68;
  }

  .im-home-hero__final {
    max-width: 345px !important;
    margin-top: 25px !important;
    font-size: 1.34rem !important;
    line-height: 1.48 !important;
  }

  .im-home-hero .im-button {
    margin-top: 15px;
  }
}


/* COMPLETE HOMEPAGE HERO REDESIGN V6 */

.im-home-hero {
  position: relative;
  isolation: isolate;
  min-height: 590px;
  padding: clamp(68px, 8vw, 105px) 0;
  overflow: hidden;
  background:
    linear-gradient(
      135deg,
      rgba(88, 174, 208, 0.76) 0%,
      rgba(138, 203, 226, 0.88) 48%,
      rgba(178, 221, 234, 0.92) 100%
    ),
    url("../images/home-background.png")
      center 42% / cover no-repeat;
}

.im-home-hero::before {
  position: absolute;
  z-index: -1;
  top: -180px;
  left: -170px;
  width: 520px;
  height: 520px;
  background: rgba(255, 255, 255, 0.16);
  border-radius: 50%;
  content: "";
  filter: blur(4px);
}

.im-home-hero::after {
  position: absolute;
  z-index: -1;
  right: -160px;
  bottom: -250px;
  width: 560px;
  height: 560px;
  background: rgba(255, 255, 255, 0.13);
  border-radius: 50%;
  content: "";
  filter: blur(8px);
}

.im-home-hero__content {
  position: relative;
  width: min(calc(100% - 40px), 960px);
  margin-inline: auto;
  text-align: center;
}

.im-home-hero__eyebrow {
  display: inline-flex;
  width: auto !important;
  margin: 0 auto 20px !important;
  padding: 8px 16px;
  align-items: center;
  justify-content: center;
  color: #164b5a !important;
  background: rgba(251, 250, 239, 0.56);
  border: 1px solid rgba(255, 255, 255, 0.56);
  border-radius: 999px;
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Arial,
    sans-serif !important;
  font-size: 0.76rem !important;
  font-weight: 750 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.13em !important;
  text-transform: uppercase;
  box-shadow: 0 6px 22px rgba(37, 91, 108, 0.09);
}

.im-home-hero h1 {
  max-width: 900px;
  margin: 0 auto 28px;
  color: #fffdf5;
  font-size: clamp(3.35rem, 6vw, 5.15rem);
  font-weight: 400;
  line-height: 1.02;
  letter-spacing: -0.035em;
  text-wrap: balance;
  text-shadow:
    0 2px 2px rgba(30, 73, 88, 0.16),
    0 10px 28px rgba(30, 73, 88, 0.2);
}

.im-home-hero__copy {
  width: min(100%, 730px);
  margin: 0 auto;
  padding: 25px 32px;
  color: #173f4c;
  background: rgba(251, 250, 239, 0.72);
  border: 1px solid rgba(255, 255, 255, 0.68);
  border-radius: 18px;
  box-shadow: 0 16px 42px rgba(38, 90, 107, 0.12);
  backdrop-filter: blur(9px);
  -webkit-backdrop-filter: blur(9px);
}

.im-home-hero__copy p {
  width: 100%;
  margin: 0;
  color: #173f4c;
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Arial,
    sans-serif;
  font-size: clamp(1.05rem, 1.4vw, 1.18rem);
  font-weight: 500;
  line-height: 1.72;
  letter-spacing: 0.003em;
  text-shadow: none;
}

.im-home-hero__copy p + p {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(49, 127, 146, 0.14);
}

.im-home-hero__final {
  width: min(100%, 790px) !important;
  margin: 27px auto 0 !important;
  color: #fffdf5 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(1.48rem, 2.35vw, 1.9rem) !important;
  font-weight: 400 !important;
  line-height: 1.46 !important;
  letter-spacing: 0 !important;
  text-wrap: balance;
  text-shadow:
    0 2px 2px rgba(30, 73, 88, 0.17),
    0 8px 24px rgba(30, 73, 88, 0.2) !important;
}

.im-home-hero .im-button {
  min-width: 245px;
  margin-top: 22px;
  color: #214b57;
  background: rgba(255, 253, 245, 0.98);
  border-color: rgba(255, 253, 245, 0.98);
  box-shadow: 0 9px 24px rgba(34, 79, 93, 0.16);
}

.im-home-hero .im-button:hover,
.im-home-hero .im-button:focus {
  color: #ffffff;
  background: var(--im-teal-dark);
  border-color: var(--im-teal-dark);
}

/* Tablet */

@media (max-width: 800px) {
  .im-home-hero {
    min-height: auto;
    padding: 62px 0 68px;
  }

  .im-home-hero__content {
    width: min(calc(100% - 30px), 960px);
  }

  .im-home-hero h1 {
    font-size: clamp(2.8rem, 8vw, 4rem);
  }

  .im-home-hero__copy {
    padding: 23px 26px;
  }
}

/* Phone */

@media (max-width: 640px) {
  .im-home-hero {
    padding: 42px 0 52px;
    background-position: center top;
  }

  .im-home-hero::before {
    top: -240px;
    left: -260px;
  }

  .im-home-hero::after {
    right: -300px;
    bottom: -320px;
  }

  .im-home-hero__content {
    width: min(calc(100% - 22px), 960px);
  }

  .im-home-hero__eyebrow {
    max-width: 330px;
    margin-bottom: 17px !important;
    padding: 7px 12px;
    font-size: 0.66rem !important;
    letter-spacing: 0.09em !important;
  }

  .im-home-hero h1 {
    max-width: 345px;
    margin-bottom: 22px;
    font-size: clamp(2.5rem, 11vw, 3.1rem);
    line-height: 1.03;
  }

  .im-home-hero__copy {
    width: min(100%, 355px);
    padding: 20px 18px;
    border-radius: 15px;
  }

  .im-home-hero__copy p {
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.65;
  }

  .im-home-hero__copy p + p {
    margin-top: 13px;
    padding-top: 13px;
  }

  .im-home-hero__final {
    max-width: 345px !important;
    margin-top: 23px !important;
    font-size: 1.3rem !important;
    line-height: 1.46 !important;
  }

  .im-home-hero .im-button {
    min-width: 230px;
    margin-top: 17px;
  }
}


/* STREAMLINED HOMEPAGE FLOW V7 */

.im-home-hero.im-home-hero--clean {
  position: relative;
  isolation: isolate;
  min-height: 535px;
  padding: clamp(75px, 8vw, 105px) 0 135px;
  overflow: hidden;
  background:
    linear-gradient(
      145deg,
      #79bed9 0%,
      #99cfe2 52%,
      #b6dfea 100%
    );
}

/*
 * Remove the decorative circles and the inset copy card from the
 * previous hero versions.
 */
.im-home-hero--clean::before,
.im-home-hero--clean::after {
  display: none;
}

.im-home-hero--clean .im-home-hero__content {
  width: min(calc(100% - 40px), 850px);
  margin-inline: auto;
  text-align: center;
}

.im-home-hero--clean .im-home-hero__eyebrow {
  display: block;
  width: auto !important;
  margin: 0 auto 20px !important;
  padding: 0;
  color: #16576a !important;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Arial,
    sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase;
}

.im-home-hero--clean h1 {
  max-width: 820px;
  margin: 0 auto 28px;
  color: #fffdf5;
  font-size: clamp(3.35rem, 6vw, 5.15rem);
  font-weight: 400;
  line-height: 1.03;
  letter-spacing: -0.035em;
  text-wrap: balance;
  text-shadow:
    0 2px 2px rgba(28, 75, 90, 0.13),
    0 9px 26px rgba(28, 75, 90, 0.18);
}

.im-home-hero--clean .im-home-hero__lead {
  width: min(100%, 710px);
  margin: 0 auto;
  color: #153f4c;
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Arial,
    sans-serif;
  font-size: clamp(1.14rem, 1.65vw, 1.35rem);
  font-weight: 550;
  line-height: 1.67;
  letter-spacing: 0.005em;
  text-wrap: balance;
}

.im-home-hero--clean .im-home-hero__support {
  width: min(100%, 700px);
  margin: 20px auto 0;
  color: #fffdf5;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.38rem, 2.2vw, 1.78rem);
  font-weight: 400;
  line-height: 1.47;
  text-wrap: balance;
  text-shadow:
    0 2px 2px rgba(28, 75, 90, 0.14),
    0 7px 20px rgba(28, 75, 90, 0.16);
}

.im-home-hero--clean .im-button {
  min-width: 250px;
  margin-top: 29px;
  color: #214c59;
  background: #fffdf5;
  border-color: #fffdf5;
  box-shadow: 0 9px 24px rgba(34, 79, 93, 0.15);
}

.im-home-hero--clean .im-button:hover,
.im-home-hero--clean .im-button:focus {
  color: #ffffff;
  background: var(--im-teal-dark);
  border-color: var(--im-teal-dark);
}

/*
 * Pull the first content panel upward so the page transitions from
 * the hero into the content instead of showing another hard break.
 */
.im-home-welcome {
  position: relative;
  z-index: 3;
  margin-top: -70px;
  padding-top: 0;
}

.im-home-welcome .im-home-panel {
  box-shadow: 0 24px 65px rgba(39, 88, 105, 0.17);
}

/* Tablet */

@media (max-width: 800px) {
  .im-home-hero.im-home-hero--clean {
    min-height: auto;
    padding: 64px 0 115px;
  }

  .im-home-hero--clean h1 {
    font-size: clamp(2.8rem, 8vw, 4rem);
  }

  .im-home-welcome {
    margin-top: -58px;
  }
}

/* Phone */

@media (max-width: 640px) {
  .im-home-hero.im-home-hero--clean {
    padding: 43px 0 78px;
  }

  .im-home-hero--clean .im-home-hero__content {
    width: min(calc(100% - 30px), 850px);
  }

  .im-home-hero--clean .im-home-hero__eyebrow {
    max-width: 330px;
    margin-bottom: 17px !important;
    font-size: 0.66rem !important;
    line-height: 1.4 !important;
    letter-spacing: 0.1em !important;
  }

  .im-home-hero--clean h1 {
    max-width: 345px;
    margin-bottom: 23px;
    font-size: clamp(2.5rem, 11vw, 3.12rem);
    line-height: 1.04;
  }

  .im-home-hero--clean .im-home-hero__lead {
    max-width: 350px;
    font-size: 1.04rem;
    font-weight: 550;
    line-height: 1.66;
  }

  .im-home-hero--clean .im-home-hero__support {
    max-width: 345px;
    margin-top: 21px;
    font-size: 1.3rem;
    line-height: 1.48;
  }

  .im-home-hero--clean .im-button {
    min-width: 230px;
    margin-top: 24px;
  }

  .im-home-welcome {
    margin-top: -30px;
  }
}


/* FINAL HERO TO CONTENT FLOW V8 */

.im-home-hero.im-home-hero--clean {
  padding-bottom: 145px;
}

.im-home-hero--clean::after {
  position: absolute;
  z-index: -1;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: auto;
  height: 120px;
  background: linear-gradient(
    to bottom,
    rgba(182, 223, 234, 0),
    rgba(205, 232, 238, 0.72)
  );
  border-radius: 0;
  content: "";
  filter: none;
  pointer-events: none;
}

.im-home-welcome {
  margin-top: -82px;
}

.im-home-welcome .im-home-panel {
  border-top: 4px solid rgba(86, 165, 184, 0.5);
}

/* Tablet */

@media (max-width: 800px) {
  .im-home-hero.im-home-hero--clean {
    padding-bottom: 122px;
  }

  .im-home-welcome {
    margin-top: -64px;
  }
}

/* Phone */

@media (max-width: 640px) {
  .im-home-hero.im-home-hero--clean {
    padding-top: 40px;
    padding-bottom: 88px;
  }

  .im-home-hero--clean .im-home-hero__eyebrow {
    max-width: 310px;
    margin-bottom: 16px !important;
    font-size: 0.7rem !important;
    line-height: 1.35 !important;
    letter-spacing: 0.08em !important;
  }

  .im-home-hero--clean h1 {
    margin-bottom: 21px;
  }

  .im-home-hero--clean .im-home-hero__lead {
    font-size: 1.06rem;
    line-height: 1.65;
  }

  .im-home-hero--clean .im-home-hero__support {
    margin-top: 19px;
    font-size: 1.28rem;
    line-height: 1.46;
  }

  .im-home-hero--clean .im-button {
    margin-top: 22px;
  }

  .im-home-welcome {
    margin-top: -38px;
  }

  .im-home-welcome .im-home-panel {
    border-top-width: 3px;
  }
}


/* ORIGINAL HOMEPAGE COPY RESTORE V9 */

.im-home-hero--clean h1 {
  margin-bottom: 29px;
}

.im-home-hero__original-copy {
  width: min(100%, 720px);
  margin-inline: auto;
}

.im-home-hero__original-copy p {
  width: 100%;
  margin: 0;
  color: #153f4c;
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Arial,
    sans-serif;
  font-size: clamp(1.08rem, 1.55vw, 1.25rem);
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.003em;
  text-wrap: balance;
}

.im-home-hero__original-copy p + p {
  margin-top: 17px;
}

.im-home-hero--clean .im-home-hero__final {
  width: min(100%, 760px) !important;
  margin: 27px auto 0 !important;
  color: #fffdf5 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(1.43rem, 2.2vw, 1.82rem) !important;
  font-weight: 400 !important;
  line-height: 1.47 !important;
  text-wrap: balance;
}

.im-home-welcome .im-lead {
  width: min(100%, 850px);
  margin-right: auto;
  margin-left: auto;
}

@media (max-width: 640px) {
  .im-home-hero--clean h1 {
    margin-bottom: 23px;
  }

  .im-home-hero__original-copy {
    max-width: 350px;
  }

  .im-home-hero__original-copy p {
    font-size: 1.02rem;
    line-height: 1.66;
    text-wrap: pretty;
  }

  .im-home-hero__original-copy p + p {
    margin-top: 16px;
  }

  .im-home-hero--clean .im-home-hero__final {
    max-width: 345px !important;
    margin-top: 23px !important;
    font-size: 1.29rem !important;
  }

  .im-home-welcome .im-lead {
    font-size: 1.05rem;
    line-height: 1.65;
  }
}


/* HOMEPAGE COPY AND COLOR HIERARCHY V10 */

.im-home {
  --im-home-heading: #18788d;
  --im-home-body: #263f47;
  --im-home-muted: #53676d;
}

/*
 * Teal is reserved for headings, labels, icons, and buttons.
 * Standard sentences use one dark body color.
 */
.im-home h2,
.im-home h3 {
  color: var(--im-home-heading);
}

.im-home p,
.im-home li,
.im-home-service-list div {
  color: var(--im-home-body);
}

.im-home .im-eyebrow {
  color: #126c80;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.13em;
}

/* Original hero wording remains untouched. */

.im-home-hero__original-copy {
  width: min(100%, 720px);
  margin-inline: auto;
}

.im-home-hero__original-copy p {
  color: #173d49;
  font-size: clamp(1.08rem, 1.5vw, 1.23rem);
  font-weight: 500;
  line-height: 1.7;
}

.im-home-hero__original-copy p + p {
  margin-top: 17px;
}

.im-home-hero__final {
  color: #fffdf5 !important;
}

/* Welcome section */

.im-home-intro {
  width: min(100%, 720px);
  margin: 0 auto 25px;
  color: var(--im-home-body);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.18rem, 2vw, 1.48rem);
  line-height: 1.55;
  text-wrap: balance;
}

.im-home-service-area {
  display: flex;
  width: min(100%, 780px);
  margin: 0 auto 34px;
  padding: 17px 22px;
  align-items: center;
  justify-content: center;
  gap: 14px 34px;
  color: var(--im-home-body);
  background: rgba(174, 215, 232, 0.28);
  border: 1px solid rgba(49, 127, 146, 0.13);
  border-radius: 12px;
  font-size: 0.96rem;
  font-weight: 650;
  line-height: 1.45;
}

.im-home-service-area span {
  position: relative;
  padding-left: 24px;
}

.im-home-service-area span::before {
  position: absolute;
  top: 0;
  left: 0;
  color: var(--im-teal);
  content: "✓";
  font-weight: 900;
}

.im-home-feature h3 {
  color: var(--im-home-heading);
}

.im-home-feature p {
  color: var(--im-home-body);
  font-size: 0.98rem;
  line-height: 1.62;
}

/* Moxie section */

.im-home-moxie-copy {
  width: min(100%, 750px);
  margin: 0 auto 29px;
  color: var(--im-home-body);
  font-size: 1.06rem;
  line-height: 1.68;
  text-wrap: balance;
}

.im-home-service-list div {
  font-size: 0.98rem;
  line-height: 1.55;
}

.im-home-scheduling-line {
  margin-bottom: 17px;
  color: var(--im-home-body);
}

.im-home-scheduling-line a {
  color: var(--im-teal-dark);
}

/* Insurance */

.im-home-insurance > .im-home-panel > p:not(.im-eyebrow),
.im-home-small {
  color: var(--im-home-muted);
}

/* Mobile */

@media (max-width: 640px) {
  .im-home .im-eyebrow {
    font-size: 0.7rem;
    line-height: 1.4;
    letter-spacing: 0.09em;
  }

  .im-home-hero__original-copy {
    max-width: 350px;
  }

  .im-home-hero__original-copy p {
    font-size: 1.03rem;
    line-height: 1.66;
    text-wrap: pretty;
  }

  .im-home-intro {
    margin-bottom: 21px;
    font-size: 1.13rem;
    line-height: 1.55;
  }

  .im-home-service-area {
    padding: 15px 16px;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    font-size: 0.94rem;
    text-align: left;
  }

  .im-home-service-area span {
    width: 100%;
  }

  .im-home-moxie-copy {
    margin-bottom: 25px;
    font-size: 1rem;
    line-height: 1.64;
    text-wrap: pretty;
  }

  .im-home-service-list div {
    font-size: 0.95rem;
    line-height: 1.5;
  }

  .im-home-feature p {
    font-size: 0.98rem;
  }

  .im-home-scheduling-line {
    font-size: 0.97rem;
    line-height: 1.55;
  }
}


/* CHECKMARK-FREE HOMEPAGE FLOW V11 */

/*
 * The service-area checklist and six-item check grid are no longer
 * used. The homepage now relies on shorter cards and clear headings.
 */

.im-home-intro {
  width: min(100%, 790px);
  margin: 0 auto 34px;
  color: var(--im-home-body);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.12rem, 1.8vw, 1.36rem);
  line-height: 1.58;
  text-wrap: balance;
}

.im-home-features {
  margin-top: 0;
}

.im-home-moxie-copy {
  width: min(100%, 730px);
  margin: 0 auto 32px;
  color: var(--im-home-body);
  font-size: 1.05rem;
  line-height: 1.68;
  text-wrap: balance;
}

.im-home-summary-grid {
  display: grid;
  width: min(100%, 900px);
  margin: 0 auto 35px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 17px;
}

.im-home-summary-card {
  min-width: 0;
  padding: 25px 22px;
  background: rgba(255, 255, 255, 0.68);
  border: 1px solid rgba(49, 127, 146, 0.12);
  border-top: 4px solid rgba(86, 165, 184, 0.72);
  border-radius: 12px;
  box-shadow: 0 7px 22px rgba(49, 86, 94, 0.055);
  text-align: left;
}

.im-home-summary-card p {
  margin: 0;
  color: var(--im-home-body);
  font-size: 0.98rem;
  line-height: 1.58;
}

.im-home-summary-label {
  margin-bottom: 10px !important;
  color: var(--im-home-heading) !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.2rem !important;
  font-weight: 400;
  line-height: 1.25 !important;
}

.im-home-scheduling-line {
  margin: 0 auto 18px;
}

/*
 * Prevent any legacy checklist marks from appearing if an old
 * cached fragment is briefly displayed.
 */
.im-home-service-area span::before,
.im-home-service-list div::before {
  display: none !important;
  content: none !important;
}

@media (max-width: 800px) {
  .im-home-summary-grid {
    grid-template-columns: 1fr;
  }

  .im-home-summary-card {
    width: min(100%, 600px);
    margin-inline: auto;
    text-align: center;
  }
}

@media (max-width: 640px) {
  .im-home-intro {
    margin-bottom: 28px;
    font-size: 1.08rem;
    line-height: 1.6;
    text-wrap: pretty;
  }

  .im-home-moxie-copy {
    margin-bottom: 27px;
    font-size: 1rem;
    line-height: 1.64;
    text-wrap: pretty;
  }

  .im-home-summary-grid {
    margin-bottom: 29px;
    gap: 10px;
  }

  .im-home-summary-card {
    padding: 20px 18px;
    border-top-width: 3px;
    text-align: left;
  }

  .im-home-summary-card p {
    font-size: 0.97rem;
    line-height: 1.55;
  }

  .im-home-summary-label {
    margin-bottom: 7px !important;
    font-size: 1.13rem !important;
  }
}


/* INSURANCE COPY CLEANUP V12 */

.im-home-insurance-grid {
  margin-top: 30px;
  margin-bottom: 34px;
}

.im-home-insurance .im-home-actions {
  margin-top: 0;
}

@media (max-width: 640px) {
  .im-home-insurance-grid {
    margin-top: 25px;
    margin-bottom: 27px;
  }
}


/* INSURANCE LOGO OPTICAL SCALE V17 */

.im-home-insurance-grid > * {
  min-height: 92px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
}

.im-home-insurance-grid img {
  display: block;
  width: auto;
  height: 46px;
  max-width: 86%;
  object-fit: contain;
  object-position: center;
  margin: 0 auto;
}

/* Optical balancing by logo */
.im-home-insurance-grid img[src*="insurance-bcbs"] {
  height: 50px;
}

.im-home-insurance-grid img[src*="insurance-carelon"] {
  height: 78px;
  max-width: 92%;
}

.im-home-insurance-grid img[src*="insurance-aetna"] {
  height: 56px;
}

.im-home-insurance-grid img[src*="insurance-united"] {
  height: 62px;
  max-width: 92%;
}

.im-home-insurance-grid img[src*="insurance-cigna"] {
  height: 58px;
}

.im-home-insurance-grid img[src*="curative-logo"] {
  height: 52px;
}

.im-home-insurance-grid img[src*="insurance-quest"] {
  height: 54px;
}

@media (max-width: 640px) {
  .im-home-insurance-grid > * {
    min-height: 86px;
  }

  .im-home-insurance-grid img {
    height: 42px;
    max-width: 84%;
  }

  .im-home-insurance-grid img[src*="insurance-bcbs"] {
    height: 46px;
  }

  .im-home-insurance-grid img[src*="insurance-carelon"] {
    height: 68px;
    max-width: 90%;
  }

  .im-home-insurance-grid img[src*="insurance-aetna"] {
    height: 50px;
  }

  .im-home-insurance-grid img[src*="insurance-united"] {
    height: 54px;
    max-width: 90%;
  }

  .im-home-insurance-grid img[src*="insurance-cigna"] {
    height: 52px;
  }

  .im-home-insurance-grid img[src*="curative-logo"] {
    height: 48px;
  }

  .im-home-insurance-grid img[src*="insurance-quest"] {
    height: 48px;
  }
}

/* TIGHTLY CROPPED INSURANCE LOGOS V18 */

.im-home-insurance-grid img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 86% !important;
  max-height: 64px !important;
  margin: 0 auto !important;
  object-fit: contain !important;
}

.im-home-insurance-grid img[src*="carelon-tight"] {
  max-width: 82% !important;
  max-height: 50px !important;
}

.im-home-insurance-grid img[src*="aetna-tight"] {
  max-width: 88% !important;
  max-height: 66px !important;
}

.im-home-insurance-grid img[src*="united-tight"] {
  max-width: 91% !important;
  max-height: 70px !important;
}

.im-home-insurance-grid img[src*="cigna-tight"] {
  max-width: 90% !important;
  max-height: 68px !important;
}

@media (max-width: 640px) {
  .im-home-insurance-grid img {
    max-width: 88% !important;
    max-height: 58px !important;
  }

  .im-home-insurance-grid img[src*="carelon-tight"] {
    max-width: 84% !important;
    max-height: 44px !important;
  }

  .im-home-insurance-grid img[src*="aetna-tight"] {
    max-width: 90% !important;
    max-height: 60px !important;
  }

  .im-home-insurance-grid img[src*="united-tight"] {
    max-width: 93% !important;
    max-height: 64px !important;
  }

  .im-home-insurance-grid img[src*="cigna-tight"] {
    max-width: 92% !important;
    max-height: 62px !important;
  }
}

/* CARELON STACKED LOGO SIZE FIX V19 */

.im-home-insurance-grid img[src*="insurance-carelon-tight-v2"] {
  display: block !important;
  width: auto !important;
  height: 92px !important;
  max-width: none !important;
  max-height: none !important;
  margin: -8px auto !important;
  object-fit: contain !important;
  transform: scale(1.12);
  transform-origin: center;
}

@media (max-width: 640px) {
  .im-home-insurance-grid img[src*="insurance-carelon-tight-v2"] {
    height: 78px !important;
    margin: -5px auto !important;
    transform: scale(1.1);
  }
}


/* CARELON FINAL VISUAL BALANCE V20 */

.im-home-insurance-grid img[src*="insurance-carelon-tight-v2"] {
  width: auto !important;
  height: 76px !important;
  max-width: 84% !important;
  max-height: none !important;
  margin: 0 auto !important;
  transform: none !important;
  object-fit: contain !important;
}

@media (max-width: 640px) {
  .im-home-insurance-grid img[src*="insurance-carelon-tight-v2"] {
    height: 66px !important;
    max-width: 86% !important;
    margin: 0 auto !important;
    transform: none !important;
  }
}

/* INSURANCE TILE AND CARELON FINAL BALANCE V21 */

/*
 * Every insurance card is forced to the same dimensions.
 * Large artwork can no longer stretch its surrounding tile.
 */
.im-home-insurance-grid > * {
  box-sizing: border-box !important;
  display: flex !important;
  width: 100% !important;
  height: 108px !important;
  min-height: 108px !important;
  max-height: 108px !important;
  padding: 12px 14px !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}

/*
 * Slightly larger than the previous Carelon setting,
 * while remaining contained within the fixed-size tile.
 */
.im-home-insurance-grid img[src*="insurance-carelon-tight-v2"] {
  display: block !important;
  width: auto !important;
  height: 84px !important;
  max-width: 90% !important;
  max-height: 84px !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
}

/* Keep the text-only final tile centered too. */
.im-home-insurance-grid > *:last-child {
  text-align: center !important;
}

@media (max-width: 640px) {
  .im-home-insurance-grid > * {
    height: 96px !important;
    min-height: 96px !important;
    max-height: 96px !important;
    padding: 10px 12px !important;
  }

  .im-home-insurance-grid img[src*="insurance-carelon-tight-v2"] {
    height: 72px !important;
    max-width: 91% !important;
    max-height: 72px !important;
  }
}

/* UNIFIED INSURANCE ACTIONS V28 */

.im-home-insurance .im-home-insurance-actions {
  display: flex !important;
  width: 100% !important;
  margin: 32px auto 0 !important;
  padding: 0 !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 18px !important;
}

.im-home-insurance
.im-home-insurance-actions
.im-insurance-action {
  display: inline-flex !important;
  flex: 0 0 300px !important;

  width: 300px !important;
  min-width: 300px !important;
  max-width: 300px !important;

  height: 54px !important;
  min-height: 54px !important;
  max-height: 54px !important;

  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 20px !important;

  align-items: center !important;
  justify-content: center !important;

  position: static !important;
  inset: auto !important;
  transform: none !important;
  translate: none !important;

  border: 2px solid var(--im-teal) !important;
  border-radius: 999px !important;

  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-align: center !important;
  white-space: nowrap !important;
}

.im-home-insurance
.im-home-insurance-actions
.im-insurance-action--primary {
  color: #ffffff !important;
  background: var(--im-teal) !important;
}

.im-home-insurance
.im-home-insurance-actions
.im-insurance-action--secondary {
  color: var(--im-teal-dark) !important;
  background: transparent !important;
}

.im-home-insurance
.im-home-insurance-actions
.im-insurance-action:hover,
.im-home-insurance
.im-home-insurance-actions
.im-insurance-action:focus {
  color: #ffffff !important;
  background: var(--im-teal-dark) !important;
  border-color: var(--im-teal-dark) !important;
}

@media (max-width: 720px) {
  .im-home-insurance .im-home-insurance-actions {
    margin-top: 27px !important;
    flex-direction: column !important;
    gap: 11px !important;
  }

  .im-home-insurance
  .im-home-insurance-actions
  .im-insurance-action {
    flex-basis: 50px !important;

    width: min(100%, 285px) !important;
    min-width: 0 !important;
    max-width: 285px !important;

    height: 50px !important;
    min-height: 50px !important;
    max-height: 50px !important;

    font-size: 14px !important;
  }
}

/* INSURANCE PRIMARY BUTTON PIXEL ALIGNMENT V29 */

@media (min-width: 721px) {
  body
  .im-home
  .im-home-insurance
  .im-home-insurance-actions
  .im-insurance-action--primary {
    position: relative !important;
    top: -7px !important;
    transform: none !important;
  }

  body
  .im-home
  .im-home-insurance
  .im-home-insurance-actions
  .im-insurance-action--primary:hover,
  body
  .im-home
  .im-home-insurance
  .im-home-insurance-actions
  .im-insurance-action--primary:focus {
    top: -7px !important;
    transform: none !important;
  }
}
