#home .hero-approved-features,
#home .hero-approved-slogan,
#home .hero-cta-arrow,
#home .hero-subtitle-sub-desktop,
#home .hero-trust-badge-desktop {
  display: none;
}

@media (min-width: 1024px) {
  html body #home.hero.section-shell > .hero-card,
  html.home-start-clean body #home.hero.section-shell > .hero-card,
  html.anchor-focus-mode body #home.hero.section-shell.anchor-focus-target > .hero-card {
    grid-template-columns: minmax(0, 1.42fr) minmax(330px, .92fr) !important;
    align-items: start !important;
    gap: clamp(28px, 2.8cqi, 44px) !important;
    min-height: 0 !important;
    padding: clamp(28px, 2.6cqi, 38px) !important;
  }

  html body #home .hero-copy {
    min-width: 0 !important;
    align-self: start !important;
    padding-top: 0 !important;
  }

  html body #home .mobile-hero-intro {
    display: block !important;
    margin: 0 !important;
  }

  html body #home .mobile-hero-intro .mobile-portrait-card {
    display: none !important;
  }

  html body #home .mobile-hero-intro h1 {
    margin: 0 !important;
    max-width: 100% !important;
    font-size: clamp(42px, 3.55cqi, 50px) !important;
    line-height: .99 !important;
    letter-spacing: -.048em !important;
    color: #0d2c59 !important;
    text-wrap: wrap !important;
  }

  html body #home .hero-subtitle {
    margin: clamp(16px, 1.35cqi, 21px) 0 0 !important;
    display: grid !important;
    gap: 4px !important;
  }

  html body #home .hero-subtitle-main {
    font-size: clamp(22px, 1.9cqi, 29px) !important;
    line-height: 1.15 !important;
    color: #46586e !important;
    font-weight: 760 !important;
  }

  html body #home .hero-subtitle-sub-mobile {
    display: none !important;
  }

  html body #home .hero-subtitle-sub-desktop {
    display: block !important;
  }

  html body #home .hero-subtitle-sub {
    font-size: clamp(16px, 1.28cqi, 20px) !important;
    line-height: 1.34 !important;
    color: #6b7b91 !important;
  }

  html body #home .hero-summary-list {
    display: none !important;
  }

  html body #home .hero-approved-features {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0 !important;
    margin-top: clamp(25px, 2.15cqi, 34px) !important;
  }

  html body #home .hero-approved-feature {
    appearance: none !important;
    border: 0 !important;
    background: transparent !important;
    display: grid !important;
    grid-template-columns: clamp(44px, 3.2cqi, 54px) minmax(0, 1fr) !important;
    align-items: start !important;
    gap: clamp(10px, .85cqi, 14px) !important;
    min-width: 0 !important;
    padding: 0 clamp(17px, 1.55cqi, 23px) 0 0 !important;
    margin: 0 !important;
    text-align: left !important;
    position: relative !important;
    cursor: pointer !important;
    color: inherit !important;
  }

  html body #home .hero-approved-feature + .hero-approved-feature {
    padding-left: clamp(17px, 1.55cqi, 23px) !important;
  }

  html body #home .hero-approved-feature + .hero-approved-feature::before {
    content: "";
    position: absolute;
    left: 0;
    top: 4px;
    bottom: 4px;
    width: 1px;
    background: #d5dee8;
  }

  html body #home .hero-approved-feature-icon {
    width: clamp(44px, 3.2cqi, 54px) !important;
    height: clamp(44px, 3.2cqi, 54px) !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 50% !important;
    background: #eff4f9 !important;
    color: #1b5d9d !important;
  }

  html body #home .hero-approved-feature-icon svg {
    width: 50% !important;
    height: 50% !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.8 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
  }

  html body #home .hero-approved-feature > span:last-child {
    display: grid !important;
    gap: 5px !important;
    min-width: 0 !important;
  }

  html body #home .hero-approved-feature b {
    font-size: clamp(14px, 1.08cqi, 17px) !important;
    line-height: 1.2 !important;
    color: #213956 !important;
  }

  html body #home .hero-approved-feature small {
    display: block !important;
    font-size: clamp(13px, .97cqi, 15.5px) !important;
    line-height: 1.3 !important;
    color: #667992 !important;
    font-weight: 500 !important;
  }

  html body #home .hero-approved-slogan {
    display: block !important;
    margin: clamp(30px, 2.55cqi, 40px) 0 0 !important;
    color: #184d87 !important;
    font-size: clamp(25px, 2.1cqi, 33px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em !important;
    font-weight: 820 !important;
  }

  html body #home .hero-actions {
    margin-top: clamp(20px, 1.65cqi, 26px) !important;
  }

  html body #home .hero-actions .btn-primary {
    min-height: clamp(58px, 4.6cqi, 68px) !important;
    padding: 0 clamp(28px, 2.2cqi, 38px) !important;
    border-radius: 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: clamp(22px, 2cqi, 32px) !important;
    font-size: clamp(17px, 1.35cqi, 21px) !important;
    line-height: 1 !important;
    font-weight: 820 !important;
    white-space: nowrap !important;
  }

  html body #home .hero-cta-arrow {
    display: inline-block !important;
    font-size: 1.45em !important;
    line-height: .8 !important;
    font-weight: 500 !important;
  }

  html body #home .hero-actions + .hero-trust-badges {
    margin-top: clamp(22px, 1.8cqi, 28px) !important;
  }

  html body #home .hero-trust-badges {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px 9px !important;
    padding-top: 0 !important;
    align-content: flex-start !important;
    max-width: 100% !important;
  }

  html body #home .hero-trust-badge-desktop {
    display: inline-flex !important;
  }

  html body #home .hero-trust-badge {
    min-height: 38px !important;
    padding: 7px 16px !important;
    border-radius: 999px !important;
    border: 1px solid #d3dce6 !important;
    background: #ffffff !important;
    color: #20262f !important;
    font-size: clamp(12.5px, .98cqi, 15px) !important;
    line-height: 1.1 !important;
    font-weight: 600 !important;
    box-shadow: none !important;
  }

  html body #home .hero-trust-badge:hover,
  html body #home .hero-trust-badge:focus-visible {
    color: #111820 !important;
    border-color: #aab7c5 !important;
    background: #fbfcfd !important;
    box-shadow: none !important;
  }

  html body #home.hero.section-shell > .hero-card > .portrait-card-approved {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    justify-self: stretch !important;
    align-self: start !important;
  }

  html body #home .portrait-frame-approved {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 642 / 754 !important;
    overflow: hidden !important;
    border-radius: 30px !important;
    background: #eef2f6 !important;
  }

  html body #home .portrait-frame-approved > img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  html body #home .hero-irs-hotspot {
    position: absolute !important;
    left: 6.2% !important;
    top: 4.3% !important;
    width: 23.5% !important;
    height: 19.7% !important;
    border-radius: 50% !important;
    z-index: 2 !important;
  }

  html body #home .hero-irs-hotspot:focus-visible {
    outline: 3px solid rgba(246,179,33,.78) !important;
    outline-offset: 4px !important;
  }
}

@media (max-width: 820px) {
  html body #home.hero.section-shell {
    --dst-mobile-hero-available-height: calc(
      var(--dst-mobile-vh)
      - var(--mobile-header-height)
      - var(--dst-mobile-header-correction)
    );
    height: var(--dst-mobile-hero-available-height) !important;
    min-height: 0 !important;
    padding-top: var(--dst-mobile-hero-edge-gap) !important;
    padding-bottom: calc(var(--dst-mobile-hero-edge-gap) + var(--dst-mobile-safe-bottom)) !important;
    box-sizing: border-box !important;
    container-type: size !important;
    container-name: dst-mobile-hero !important;
    overflow: hidden !important;
  }

  html body #home.hero.section-shell > .hero-card,
  html.home-start-clean body #home.hero.section-shell > .hero-card,
  html.anchor-focus-mode body #home.hero.section-shell.anchor-focus-target > .hero-card {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    box-sizing: border-box !important;
    display: block !important;
    padding: clamp(8px, 1.65cqh, 16px) clamp(11px, 3.5vw, 17px) !important;
    border-radius: clamp(17px, 2.8cqh, 22px) !important;
    overflow: hidden !important;
  }

  html body #home .hero-copy {
    height: 100% !important;
    min-height: 0 !important;
    max-width: none !important;
    display: grid !important;
    grid-template-rows: auto auto auto auto auto auto !important;
    align-content: space-between !important;
    gap: clamp(3px, .9cqh, 8px) !important;
  }

  html body #home .mobile-hero-intro {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) clamp(82px, 25vw, 118px) !important;
    gap: clamp(7px, 2.5vw, 12px) !important;
    align-items: start !important;
    margin: 0 !important;
    min-height: 0 !important;
  }

  html body #home .mobile-hero-intro h1 {
    margin: 0 !important;
    font-size: clamp(21px, min(6.9vw, 4.8cqh), 31px) !important;
    line-height: 1.01 !important;
    letter-spacing: -.05em !important;
    text-wrap: balance !important;
    color: #0d2c59 !important;
  }

  html body #home .mobile-portrait-card-approved {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    align-self: start !important;
  }

  html body #home .mobile-portrait-frame-approved {
    position: relative !important;
    width: 100% !important;
    height: clamp(104px, min(34vw, 22cqh), 168px) !important;
    border-radius: clamp(12px, 2.1cqh, 17px) !important;
    overflow: hidden !important;
    border: 1px solid rgba(16,38,64,.12) !important;
    background: #eef2f6 !important;
    box-shadow: 0 7px 18px rgba(20,47,82,.09) !important;
  }

  html body #home .mobile-portrait-frame-approved img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center top !important;
    display: block !important;
  }

  html body #home .mobile-irs-hotspot {
    position: absolute !important;
    left: 6.2% !important;
    top: 4.3% !important;
    width: 23.5% !important;
    height: 19.7% !important;
    border-radius: 50% !important;
    z-index: 2 !important;
  }

  html body #home .mobile-irs-hotspot:focus-visible {
    outline: 3px solid rgba(246,179,33,.78) !important;
    outline-offset: 2px !important;
  }

  html body #home .hero-subtitle {
    display: grid !important;
    gap: clamp(1px, .25cqh, 3px) !important;
    margin: 0 !important;
    min-height: 0 !important;
  }

  html body #home .hero-subtitle-main {
    font-size: clamp(14px, min(4.35vw, 3.05cqh), 19px) !important;
    line-height: 1.12 !important;
    color: #46586e !important;
    font-weight: 760 !important;
  }

  html body #home .hero-subtitle-sub-mobile { display: block !important; }
  html body #home .hero-subtitle-sub-desktop { display: none !important; }

  html body #home .hero-subtitle-sub {
    font-size: clamp(11.5px, min(3.3vw, 2.45cqh), 14.5px) !important;
    line-height: 1.22 !important;
    color: #6b7b91 !important;
  }

  html body #home .hero-summary-list { display: none !important; }

  html body #home .hero-approved-features {
    display: grid !important;
    grid-template-rows: repeat(3, auto) !important;
    gap: clamp(3px, .65cqh, 6px) !important;
    margin: 0 !important;
    min-height: 0 !important;
  }

  html body #home .hero-approved-feature {
    appearance: none !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    border: 1px solid #d8e1eb !important;
    border-radius: clamp(10px, 1.8cqh, 14px) !important;
    background: #ffffff !important;
    display: grid !important;
    grid-template-columns: clamp(28px, 5.6cqh, 36px) minmax(0,1fr) !important;
    gap: clamp(6px, 1.1cqh, 8px) !important;
    align-items: center !important;
    padding: clamp(4px, .75cqh, 8px) clamp(7px, 2.6vw, 10px) !important;
    text-align: left !important;
    margin: 0 !important;
    color: inherit !important;
    box-shadow: 0 3px 9px rgba(20,47,82,.04) !important;
    overflow: hidden !important;
  }

  html body #home .hero-approved-feature + .hero-approved-feature {
    padding-left: clamp(7px, 2.6vw, 10px) !important;
  }

  html body #home .hero-approved-feature + .hero-approved-feature::before { content: none !important; }

  html body #home .hero-approved-feature-icon {
    width: clamp(28px, 5.6cqh, 36px) !important;
    height: clamp(28px, 5.6cqh, 36px) !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 50% !important;
    background: #eff4f9 !important;
    color: #1b5d9d !important;
  }

  html body #home .hero-approved-feature-icon svg {
    width: 50% !important;
    height: 50% !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.8 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
  }

  html body #home .hero-approved-feature > span:last-child {
    display: grid !important;
    gap: 0 !important;
    min-width: 0 !important;
    align-content: center !important;
  }

  html body #home .hero-approved-feature b {
    font-size: clamp(11.5px, min(3.15vw, 2.35cqh), 15px) !important;
    line-height: 1.12 !important;
    color: #213956 !important;
  }

  html body #home .hero-approved-feature small {
    display: block !important;
    font-size: clamp(9.8px, min(2.75vw, 1.95cqh), 13px) !important;
    line-height: 1.14 !important;
    color: #667992 !important;
    font-weight: 500 !important;
  }

  html body #home .hero-approved-slogan {
    display: block !important;
    margin: 0 !important;
    color: #184d87 !important;
    font-size: clamp(13.5px, min(3.85vw, 2.75cqh), 18px) !important;
    line-height: 1.06 !important;
    letter-spacing: -.028em !important;
    font-weight: 820 !important;
  }

  html body #home .hero-actions {
    margin: 0 !important;
    min-height: 0 !important;
  }

  html body #home .hero-actions .btn-primary {
    width: 100% !important;
    min-height: clamp(36px, 6.6cqh, 44px) !important;
    padding: 0 clamp(10px, 3.5vw, 14px) !important;
    border-radius: clamp(11px, 1.8cqh, 14px) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(6px, 1.1cqh, 8px) !important;
    font-size: clamp(13.5px, min(3.8vw, 2.65cqh), 17px) !important;
    line-height: 1.06 !important;
    font-weight: 820 !important;
    white-space: normal !important;
    text-align: center !important;
  }

  html body #home .hero-cta-arrow {
    display: inline-block !important;
    font-size: 1.18em !important;
    line-height: .8 !important;
    font-weight: 500 !important;
  }

  html body #home .hero-actions + .hero-trust-badges { margin: 0 !important; }

  html body #home .hero-trust-badges {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
    gap: clamp(3px, .55cqh, 5px) !important;
    padding: 0 !important;
    max-width: none !important;
    min-height: 0 !important;
  }

  html body #home .hero-trust-badge,
  html body #home .hero-trust-badge-desktop {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: clamp(23px, 4.35cqh, 29px) !important;
    padding: clamp(2px, .45cqh, 4px) clamp(4px, 1.5vw, 7px) !important;
    border-radius: 999px !important;
    border: 1px solid #d3dce6 !important;
    background: #ffffff !important;
    color: #20262f !important;
    font-size: clamp(8.8px, min(2.3vw, 1.72cqh), 11.5px) !important;
    line-height: 1.05 !important;
    font-weight: 650 !important;
    text-align: center !important;
    justify-content: center !important;
    align-items: center !important;
    white-space: normal !important;
    box-shadow: none !important;
  }
}

@container dst-section (max-width: 1050px) {
  @media (min-width: 1024px) {
    html body #home.hero.section-shell > .hero-card,
    html.home-start-clean body #home.hero.section-shell > .hero-card,
    html.anchor-focus-mode body #home.hero.section-shell.anchor-focus-target > .hero-card {
      grid-template-columns: minmax(0, 1.25fr) minmax(300px, .8fr) !important;
      gap: 24px !important;
      padding: 26px !important;
    }

    html body #home .mobile-hero-intro h1 {
      font-size: clamp(39px, 4.2cqi, 47px) !important;
    }

    html body #home .hero-approved-features {
      gap: 0 !important;
    }

    html body #home .hero-approved-feature {
      grid-template-columns: 42px minmax(0, 1fr) !important;
      padding-right: 12px !important;
    }

    html body #home .hero-approved-feature + .hero-approved-feature {
      padding-left: 12px !important;
    }

    html body #home .hero-approved-feature-icon {
      width: 42px !important;
      height: 42px !important;
    }
  }
}

/* v966 unified non-phone Hero height contract.
   Width selects composition; available block-size owns density.
   No device-specific max-height patches. */
@media (min-width: 821px) {
  html body #home.hero.section-shell {
    height: calc(100dvh - var(--dst-header-height)) !important;
    min-height: 0 !important;
    max-height: none !important;
    box-sizing: border-box !important;
    padding-top: clamp(8px, 1.45vh, 16px) !important;
    padding-bottom: clamp(8px, 1.45vh, 16px) !important;
    overflow: hidden !important;
    container-type: size !important;
    container-name: dst-hero-stage !important;
  }

  html body #home.hero.section-shell > .hero-card,
  html.home-start-clean body #home.hero.section-shell > .hero-card,
  html.anchor-focus-mode body #home.hero.section-shell.anchor-focus-target > .hero-card {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }
}

@media (max-width: 820px) {
  @container dst-mobile-hero (min-width: 600px) {
    html body #home .hero-copy {
      grid-template-rows: auto auto auto auto auto auto !important;
      align-content: space-between !important;
    }
    html body #home .mobile-hero-intro {
      grid-template-columns: minmax(0, 1fr) clamp(170px, 27cqi, 220px) !important;
      gap: clamp(14px, 2.5cqi, 22px) !important;
    }
    html body #home .mobile-hero-intro h1 {
      font-size: clamp(34px, min(5.8cqi, 5.2cqh), 48px) !important;
    }
    html body #home .mobile-portrait-frame-approved {
      height: clamp(190px, min(30cqi, 25cqh), 250px) !important;
    }
    html body #home .hero-approved-features {
      grid-template-rows: repeat(3, auto) !important;
      gap: clamp(7px, .75cqh, 11px) !important;
    }
    html body #home .hero-approved-feature {
      height: auto !important;
      min-height: clamp(64px, 7.4cqh, 88px) !important;
      grid-template-columns: clamp(40px, 5cqh, 50px) minmax(0, 1fr) !important;
      padding: clamp(8px, 1cqh, 12px) clamp(12px, 1.8cqi, 18px) !important;
    }
    html body #home .hero-approved-feature-icon {
      width: clamp(40px, 5cqh, 50px) !important;
      height: clamp(40px, 5cqh, 50px) !important;
    }
    html body #home .hero-approved-feature b {
      font-size: clamp(15px, min(2.1cqi, 1.9cqh), 18px) !important;
    }
    html body #home .hero-approved-feature small {
      font-size: clamp(12.5px, min(1.75cqi, 1.55cqh), 15px) !important;
    }
  }
}

/* Tablet / compact lane: one-screen composition with intrinsic feature rows.
   The block-size still comes from the shared Hero stage above. */
@media (min-width: 821px) and (max-width: 1023px) {
  html body #home.hero.section-shell > .hero-card,
  html.home-start-clean body #home.hero.section-shell > .hero-card,
  html.anchor-focus-mode body #home.hero.section-shell.anchor-focus-target > .hero-card {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: 1fr !important;
    padding: clamp(12px, 2.15cqh, 22px) clamp(16px, 2.8cqi, 26px) !important;
    border-radius: clamp(18px, 2.6cqh, 26px) !important;
  }

  html body #home .hero-copy {
    height: 100% !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-rows: auto auto auto auto auto auto !important;
    align-content: space-between !important;
    gap: clamp(4px, .8cqh, 9px) !important;
  }

  html body #home .mobile-hero-intro {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) clamp(124px, 21cqi, 190px) !important;
    align-items: start !important;
    gap: clamp(14px, 2.2cqi, 24px) !important;
    margin: 0 !important;
  }

  html body #home .mobile-hero-intro h1 {
    margin: 0 !important;
    font-size: clamp(30px, min(5.2cqi, 5.8cqh), 46px) !important;
    line-height: 1.01 !important;
    letter-spacing: -.048em !important;
    color: #0d2c59 !important;
    text-wrap: balance !important;
  }

  html body #home .mobile-portrait-card-approved {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
  }

  html body #home .mobile-portrait-frame-approved {
    position: relative !important;
    width: 100% !important;
    height: clamp(145px, min(24cqi, 28cqh), 220px) !important;
    border-radius: clamp(16px, 2.4cqh, 22px) !important;
    overflow: hidden !important;
    border: 1px solid rgba(16,38,64,.12) !important;
    background: #eef2f6 !important;
  }

  html body #home .mobile-portrait-frame-approved img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center top !important;
    display: block !important;
  }

  html body #home .hero-subtitle {
    margin: 0 !important;
    display: grid !important;
    gap: clamp(2px, .35cqh, 4px) !important;
  }
  html body #home .hero-subtitle-main {
    font-size: clamp(18px, min(2.9cqi, 3.4cqh), 25px) !important;
    line-height: 1.12 !important;
  }
  html body #home .hero-subtitle-sub-mobile { display: block !important; }
  html body #home .hero-subtitle-sub-desktop { display: none !important; }
  html body #home .hero-subtitle-sub {
    font-size: clamp(13px, min(2cqi, 2.35cqh), 17px) !important;
    line-height: 1.22 !important;
  }
  html body #home .hero-summary-list { display: none !important; }

  html body #home .hero-approved-features {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: repeat(3, auto) !important;
    gap: clamp(8px, 1.2cqi, 14px) !important;
    margin: 0 !important;
  }

  html body #home .hero-approved-feature,
  html body #home .hero-approved-feature + .hero-approved-feature {
    height: auto !important;
    min-height: clamp(58px, 7.6cqh, 88px) !important;
    display: grid !important;
    grid-template-columns: clamp(38px, 5.2cqh, 48px) minmax(0,1fr) !important;
    align-items: center !important;
    gap: clamp(7px, 1cqi, 11px) !important;
    padding: clamp(7px, 1.1cqh, 11px) clamp(9px, 1.3cqi, 13px) !important;
    border: 1px solid #d8e1eb !important;
    border-radius: clamp(12px, 1.8cqh, 17px) !important;
    background: #fff !important;
    text-align: left !important;
  }
  html body #home .hero-approved-feature + .hero-approved-feature::before { content: none !important; }
  html body #home .hero-approved-feature-icon {
    width: clamp(38px, 5.2cqh, 48px) !important;
    height: clamp(38px, 5.2cqh, 48px) !important;
  }
  html body #home .hero-approved-feature-icon svg {
    width: 50% !important;
    height: 50% !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.8 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
  }
  html body #home .hero-approved-feature > span:last-child { gap: 1px !important; }
  html body #home .hero-approved-feature b {
    font-size: clamp(12.5px, min(1.75cqi, 2.15cqh), 16px) !important;
    line-height: 1.12 !important;
  }
  html body #home .hero-approved-feature small {
    font-size: clamp(10.5px, min(1.45cqi, 1.75cqh), 13.5px) !important;
    line-height: 1.15 !important;
  }

  html body #home .hero-approved-slogan {
    display: block !important;
    margin: 0 !important;
    font-size: clamp(17px, min(2.6cqi, 3cqh), 23px) !important;
    line-height: 1.06 !important;
  }

  html body #home .hero-actions { margin: 0 !important; }
  html body #home .hero-actions .btn-primary {
    min-height: clamp(42px, 6.1cqh, 52px) !important;
    padding: 0 clamp(18px, 2.4cqi, 28px) !important;
    font-size: clamp(15px, min(2cqi, 2.4cqh), 18px) !important;
    border-radius: clamp(12px, 1.7cqh, 15px) !important;
  }
  html body #home .hero-cta-arrow { display: inline-block !important; }

  html body #home .hero-trust-badges {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(2, auto) !important;
    gap: clamp(4px, .7cqh, 7px) clamp(6px, .9cqi, 10px) !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html body #home .hero-trust-badge,
  html body #home .hero-trust-badge-desktop {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: clamp(27px, 4.2cqh, 34px) !important;
    padding: clamp(3px, .5cqh, 5px) clamp(6px, .9cqi, 9px) !important;
    font-size: clamp(9.5px, min(1.35cqi, 1.55cqh), 12px) !important;
    line-height: 1.08 !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: normal !important;
  }

  html body #home.hero.section-shell > .hero-card > .portrait-card-approved {
    display: none !important;
  }
}

/* Wide composition: same desktop layout, but all vertical density is owned by
   the Hero stage block-size rather than independent vh rules. */
@media (min-width: 1024px) {
  html body #home.hero.section-shell > .hero-card,
  html.home-start-clean body #home.hero.section-shell > .hero-card,
  html.anchor-focus-mode body #home.hero.section-shell.anchor-focus-target > .hero-card {
    align-items: stretch !important;
    gap: clamp(18px, min(2.7cqi, 4cqh), 42px) !important;
    padding: clamp(14px, 3.3cqh, 34px) clamp(20px, 2.4cqi, 38px) !important;
  }

  html body #home .hero-copy {
    height: 100% !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-rows: auto auto auto auto auto auto !important;
    align-content: space-between !important;
    gap: clamp(4px, .9cqh, 10px) !important;
  }

  html body #home .mobile-hero-intro h1 {
    font-size: clamp(34px, min(3.55cqi, 7.2cqh), 50px) !important;
    line-height: .99 !important;
  }
  html body #home .hero-subtitle { margin: 0 !important; gap: clamp(2px,.4cqh,4px) !important; }
  html body #home .hero-subtitle-main {
    font-size: clamp(18px, min(1.9cqi, 3.9cqh), 29px) !important;
  }
  html body #home .hero-subtitle-sub {
    font-size: clamp(13px, min(1.28cqi, 2.7cqh), 20px) !important;
  }

  html body #home .hero-approved-features {
    margin: 0 !important;
    align-self: center !important;
  }
  html body #home .hero-approved-feature {
    grid-template-columns: clamp(34px, 6.2cqh, 52px) minmax(0, 1fr) !important;
    gap: clamp(8px, min(.85cqi,1.6cqh), 14px) !important;
  }
  html body #home .hero-approved-feature-icon {
    width: clamp(34px, 6.2cqh, 52px) !important;
    height: clamp(34px, 6.2cqh, 52px) !important;
  }
  html body #home .hero-approved-feature b {
    font-size: clamp(12px, min(1.08cqi, 2.25cqh), 17px) !important;
  }
  html body #home .hero-approved-feature small {
    font-size: clamp(10.5px, min(.97cqi, 1.95cqh), 15.5px) !important;
    line-height: 1.22 !important;
  }

  html body #home .hero-approved-slogan {
    margin: 0 !important;
    font-size: clamp(19px, min(2.1cqi, 4.3cqh), 33px) !important;
  }
  html body #home .hero-actions { margin: 0 !important; }
  html body #home .hero-actions .btn-primary {
    min-height: clamp(44px, 7.8cqh, 64px) !important;
    font-size: clamp(15px, min(1.35cqi, 2.7cqh), 21px) !important;
    padding: 0 clamp(22px, 2.1cqi, 36px) !important;
  }
  html body #home .hero-actions + .hero-trust-badges { margin: 0 !important; }
  html body #home .hero-trust-badges {
    gap: clamp(4px, .65cqh, 7px) clamp(6px, .65cqi, 9px) !important;
  }
  html body #home .hero-trust-badge {
    min-height: clamp(28px, 4.6cqh, 38px) !important;
    padding: clamp(4px,.7cqh,7px) clamp(9px,.8cqi,16px) !important;
    font-size: clamp(10.5px, min(.98cqi, 1.8cqh), 15px) !important;
  }

  html body #home.hero.section-shell > .hero-card > .portrait-card-approved {
    height: 100% !important;
    min-height: 0 !important;
    align-self: stretch !important;
    display: block !important;
  }
  html body #home .portrait-frame-approved {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
  }
  html body #home .portrait-frame-approved > img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center top !important;
  }
}

/* v966 component completeness and localized text resilience. */
@media (min-width: 821px) and (max-width: 1023px) {
  html body #home .hero-approved-feature-icon {
    display: grid !important;
    place-items: center !important;
    border-radius: 50% !important;
    background: #eff4f9 !important;
    color: #1b5d9d !important;
  }
  html body #home .hero-approved-feature > span:last-child {
    display: grid !important;
    gap: clamp(2px, .3cqh, 4px) !important;
    min-width: 0 !important;
    align-content: center !important;
  }
  html body #home .hero-approved-feature b,
  html body #home .hero-approved-feature small {
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
  }
  html body #home .hero-approved-slogan {
    color: #184d87 !important;
    letter-spacing: -.03em !important;
    font-weight: 820 !important;
  }
  html body #home .hero-actions .btn-primary {
    width: 100% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(8px, 1.1cqi, 12px) !important;
    font-weight: 820 !important;
    text-align: center !important;
  }
  html body #home .hero-trust-badges {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(3, auto) !important;
  }
}

@media (min-width: 1024px) {
  html body #home .hero-approved-feature,
  html body #home .hero-approved-feature > span:last-child,
  html body #home .hero-approved-feature b,
  html body #home .hero-approved-feature small {
    min-width: 0 !important;
  }
  html body #home .hero-approved-feature b,
  html body #home .hero-approved-feature small {
    overflow-wrap: anywhere !important;
  }
}


/* v967 desktop density: keep the v966 height contract, but do not distribute
   spare block-size between semantic groups. Desktop content stays intrinsic
   at the top; any unused height remains below the content. */
@media (min-width: 1024px) {
  html body #home .hero-copy {
    align-content: start !important;
    gap: 0 !important;
  }

  html body #home .hero-subtitle {
    margin-top: clamp(12px, 2.1cqh, 20px) !important;
  }

  html body #home .hero-approved-features {
    margin-top: clamp(18px, 3.1cqh, 30px) !important;
    align-self: start !important;
  }

  html body #home .hero-approved-slogan {
    margin-top: clamp(20px, 3.5cqh, 34px) !important;
  }

  html body #home .hero-actions {
    margin-top: clamp(14px, 2.5cqh, 24px) !important;
  }

  html body #home .hero-actions + .hero-trust-badges {
    margin-top: clamp(16px, 2.7cqh, 26px) !important;
  }
}

/* v967 wide Hero intrinsic card: the stage owns the viewport limit, while the
   card itself keeps its natural content/photo height and is vertically centered. */
@media (min-width: 1024px) {
  html body #home.hero.section-shell {
    display: grid !important;
    align-items: center !important;
  }

  html body #home.hero.section-shell > .hero-card,
  html.home-start-clean body #home.hero.section-shell > .hero-card,
  html.anchor-focus-mode body #home.hero.section-shell.anchor-focus-target > .hero-card {
    height: auto !important;
    max-height: 100% !important;
    align-items: start !important;
  }

  html body #home .hero-copy {
    height: auto !important;
    align-self: start !important;
  }

  html body #home.hero.section-shell > .hero-card > .portrait-card-approved {
    height: auto !important;
    align-self: start !important;
  }

  html body #home .portrait-frame-approved {
    height: auto !important;
    aspect-ratio: 642 / 754 !important;
  }

  html body #home .portrait-frame-approved > img {
    height: 100% !important;
  }
}

/* v972 localized feature-title resilience: preserve the approved font size and
   reclaim text measure by tightening only the horizontal gutters between the
   three wide feature summaries. This avoids splitting long localized words. */
@media (min-width: 1024px) {
  html body #home .hero-approved-feature {
    padding-right: clamp(11px, .9cqi, 16px) !important;
  }

  html body #home .hero-approved-feature + .hero-approved-feature {
    padding-left: clamp(11px, .9cqi, 16px) !important;
  }
}

@media (min-width: 1024px) {
  html body #home .hero-approved-feature b {
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
    font-size: clamp(10.5px, min(1.02cqi, 2.15cqh), 16px) !important;
  }
}

/* v972 typography resilience: lower the wide feature-title floor so long localized words fit without forced word splitting. */

/* v971 wide Hero balance: increase the desktop Hero card floor to 92% of the available section height
   while keeping the intrinsic-content behavior and the same hard cap for very tall stages. */
@media (min-width: 1024px) {
  html body #home.hero.section-shell > .hero-card,
  html.home-start-clean body #home.hero.section-shell > .hero-card,
  html.anchor-focus-mode body #home.hero.section-shell.anchor-focus-target > .hero-card {
    min-height: min(92cqh, 900px) !important;
    align-items: center !important;
  }

  html body #home .hero-copy,
  html body #home.hero.section-shell > .hero-card > .portrait-card-approved {
    align-self: center !important;
  }
}
