/*
 * Consult for Impact tablet contract.
 * Portrait: 768-900px. Landscape: 901-1180px.
 * This layer is loaded last so tablet layouts do not inherit a mixture of
 * phone and scaled-desktop rules.
 */
@media (min-width: 740px) and (max-width: 1180px) and (min-height: 700px) {
  html.cfi-option-a-preview,
  html.cfi-option-a-preview body {
    overflow-x: hidden;
  }

  /* Two-tier navigation */
  html.cfi-option-a-preview .ci-headwrap {
    height: 118px !important;
  }

  html.cfi-option-a-preview .ci-t1nav,
  .os-tier1 {
    min-height: 54px !important;
    padding: 7px 32px !important;
    flex-wrap: nowrap !important;
  }

  html.cfi-option-a-preview .ci-nav,
  .os-nav {
    min-height: 64px !important;
    height: 64px !important;
    padding: 0 32px !important;
    flex-wrap: nowrap !important;
  }

  html.cfi-option-a-preview .t1-links,
  html.cfi-option-a-preview .cfi-links,
  .os-tier1links,
  .os-navlinks,
  .os-nav-apply {
    display: none !important;
  }

  html.cfi-option-a-preview .cfi-bl-burger,
  html.cfi-option-a-preview .ci-burger,
  .bl-burger,
  .os-cfi-burger {
    width: 42px !important;
    height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: none !important;
    border-radius: 8px !important;
  }

  html.cfi-option-a-preview .cfi-bl-burger,
  .bl-burger {
    border: 1px solid rgba(226, 232, 240, 0.28) !important;
    background: transparent !important;
    color: #e2e8f0 !important;
  }

  html.cfi-option-a-preview .ci-burger,
  .os-cfi-burger {
    border: 1px solid #cbd3ca !important;
    background: #fffdf8 !important;
    color: #073b2f !important;
  }

  /* The compact sticky copy exists in the About markup before it is active. */
  .os-sticky:not(.show) .os-cfi-burger {
    display: none !important;
  }

  html.cfi-option-a-preview .ci-burger svg {
    stroke: #073b2f !important;
  }

  html.cfi-option-a-preview .ci-nav img,
  .os-nav img {
    height: 38px !important;
  }

  /* Boundlearn dropdown, shared by main and About */
  html.cfi-option-a-preview .cfi-mobile-boundlearn-panel,
  .bl-mnav-panel {
    position: fixed !important;
    top: 62px !important;
    right: 20px !important;
    bottom: auto !important;
    left: auto !important;
    width: min(400px, calc(100vw - 40px)) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: calc(100svh - 82px) !important;
    padding: 14px 18px 18px !important;
    overflow-y: auto !important;
    border: 1px solid rgba(212, 175, 55, 0.24) !important;
    border-radius: 10px !important;
    background: #0b1221 !important;
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.38) !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    font-family: "Manrope", "Helvetica Neue", Arial, sans-serif !important;
  }

  html.cfi-option-a-preview
    .cfi-bl-burger[aria-expanded="false"]
    + .cfi-mobile-boundlearn-panel {
    display: none !important;
  }

  html.cfi-option-a-preview
    .cfi-bl-burger[aria-expanded="true"]
    + .cfi-mobile-boundlearn-panel {
    display: flex !important;
  }

  .bl-mnav-cb:not(:checked) ~ .bl-mnav-panel {
    display: none !important;
  }

  .bl-mnav-cb:checked ~ .bl-mnav-panel {
    display: flex !important;
  }

  html.cfi-option-a-preview .cfi-mobile-boundlearn-panel > a,
  html.cfi-option-a-preview .cfi-mobile-boundlearn-panel summary,
  .bl-mnav-panel > a,
  .bl-mnav-programs summary {
    width: 100% !important;
    min-height: 42px !important;
    display: flex !important;
    align-items: center !important;
    padding: 8px 4px !important;
    color: #e2e8f0 !important;
    font-family: "Manrope", "Helvetica Neue", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
  }

  html.cfi-option-a-preview .cfi-mobile-boundlearn-panel summary,
  .bl-mnav-programs summary {
    justify-content: space-between !important;
  }

  html.cfi-option-a-preview .cfi-mobile-boundlearn-panel details > a,
  .bl-mnav-program-list a {
    display: block !important;
    padding: 7px 14px !important;
    color: #d8dee6 !important;
    font-family: "Manrope", "Helvetica Neue", Arial, sans-serif !important;
    font-size: 13px !important;
  }

  html.cfi-option-a-preview .cfi-mobile-boundlearn-panel .bl-mobile-actions,
  .bl-mnav-panel .bl-mobile-actions {
    width: 100% !important;
  }

  html.cfi-option-a-preview .cfi-bl-apply,
  .bl-mnav-panel .bl-mobile-apply {
    min-height: 46px !important;
    width: 100% !important;
    margin-top: 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 7px !important;
    background: #d4af37 !important;
    color: #0b1221 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
  }

  /* CFI dropdown, shared visual language */
  html.cfi-option-a-preview .ci-mnav-panel {
    display: none !important;
  }

  html.cfi-option-a-preview .cfi-mobile-program-panel,
  .os-cfi-menu {
    position: fixed !important;
    z-index: 320 !important;
    top: 126px !important;
    right: 20px !important;
    bottom: auto !important;
    left: auto !important;
    width: min(420px, calc(100vw - 40px)) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: calc(100svh - 146px) !important;
    padding: 12px 16px 16px !important;
    overflow-y: auto !important;
    border: 1px solid #cbd3ca !important;
    border-radius: 10px !important;
    background: #f7f1e6 !important;
    color: #073b2f !important;
    box-shadow: 0 18px 44px rgba(7, 59, 47, 0.22) !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
  }

  html.cfi-option-a-preview
    .cfi-mobile-program-panel[data-menu-open="false"] {
    display: none !important;
  }

  html.cfi-option-a-preview
    .cfi-mobile-program-panel[data-menu-open="true"] {
    display: flex !important;
  }

  .os-cfi-cb:not(:checked) + .os-cfi-menu {
    display: none !important;
  }

  .os-cfi-cb:checked + .os-cfi-menu {
    display: flex !important;
  }

  html.cfi-option-a-preview .cfi-mobile-program-panel > div:first-child,
  .os-cfi-menu-header {
    min-height: 42px !important;
    margin: 0 0 4px !important;
  }

  html.cfi-option-a-preview .cfi-mobile-program-panel > div:first-child img,
  .os-cfi-menu-header img {
    height: 34px !important;
    filter: none !important;
  }

  html.cfi-option-a-preview .cfi-mobile-program-panel > div:first-child button,
  .os-cfi-close {
    width: 38px !important;
    height: 38px !important;
    border: 1px solid #cbd3ca !important;
    border-radius: 7px !important;
    background: #fffdf8 !important;
    color: #073b2f !important;
  }

  html.cfi-option-a-preview .cfi-mobile-program-panel > a,
  .os-cfi-menu-link {
    width: 100% !important;
    min-height: 40px !important;
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 8px 2px !important;
    border: 0 !important;
    border-bottom: 1px solid #d8ddd4 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #073b2f !important;
    font-family: "Manrope", "Helvetica Neue", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    text-align: left !important;
  }

  html.cfi-option-a-preview .cfi-mobile-program-actions,
  .os-menu-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin: 10px 0 0 !important;
  }

  html.cfi-option-a-preview .cfi-mobile-program-actions > a,
  .os-menu-actions .os-cfi-menu-cta,
  .os-menu-actions .os-cfi-menu-contact {
    min-height: 44px !important;
    margin: 0 !important;
    padding: 11px 12px !important;
    border-radius: 7px !important;
    font-family: "Manrope", "Helvetica Neue", Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 750 !important;
    text-align: center !important;
  }

  html.cfi-option-a-preview .cfi-mobile-program-actions > a:first-child,
  .os-menu-actions .os-cfi-menu-cta {
    background: #647b4f !important;
    color: #fff !important;
  }

  html.cfi-option-a-preview .cfi-mobile-program-actions > a:last-child,
  .os-menu-actions .os-cfi-menu-contact {
    border: 1px solid #b7c3b8 !important;
    background: #fffdf8 !important;
    color: #073b2f !important;
  }

  /* Hero */
  html.cfi-option-a-preview .cfi-hero,
  html.cfi-option-a-preview .cfi-hero-content {
    width: 100% !important;
    min-height: 100svh !important;
    height: 100svh !important;
  }

  html.cfi-option-a-preview .cfi-hero-content {
    padding: 0 40px 48px !important;
  }

  html.cfi-option-a-preview .cfi-hero h1 {
    max-width: 620px !important;
    font-size: clamp(50px, 6.4vw, 64px) !important;
  }

  /* Program overview */
  html.cfi-option-a-preview .cfi-intro-live {
    height: 380px !important;
    aspect-ratio: auto !important;
  }

  html.cfi-option-a-preview .cfi-intro-copy {
    top: 0 !important;
    left: 4.5% !important;
    width: 42% !important;
    height: 100% !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    transform: none !important;
  }

  html.cfi-option-a-preview
    .cfi-option-page
    > section.cfi-section.cfi-intro-live
    > .cfi-intro-copy {
    transform: none !important;
  }

  html.cfi-option-a-preview .cfi-intro-copy p {
    max-width: 42ch !important;
  }

  html.cfi-option-a-preview .cfi-intro-stat strong {
    font-size: clamp(42px, 5.5vw, 52px) !important;
  }

  /* Why Join */
  html.cfi-option-a-preview .cfi-impact {
    min-height: 440px !important;
    height: auto !important;
    grid-template-columns: clamp(245px, 30vw, 300px) minmax(0, 1fr) !important;
  }

  html.cfi-option-a-preview .cfi-impact .cfi-section-heading {
    min-height: 440px !important;
    padding: 44px 32px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    text-align: left !important;
  }

  html.cfi-option-a-preview .cfi-impact .cfi-section-body {
    min-width: 0 !important;
    padding: 28px 36px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  html.cfi-option-a-preview .cfi-impact-mobile-carousel {
    width: min(100%, 640px) !important;
    margin-inline: auto !important;
  }

  html.cfi-option-a-preview .cfi-impact-mobile-page {
    padding-top: 6px !important;
  }

  html.cfi-option-a-preview .cfi-impact-benefit {
    min-height: 102px !important;
  }

  /* Program cards */
  html.cfi-option-a-preview .cfi-tracks {
    grid-template-columns: clamp(245px, 30vw, 300px) minmax(0, 1fr) !important;
  }

  html.cfi-option-a-preview .cfi-tracks .cfi-section-body {
    padding: 32px 36px 26px !important;
  }

  html.cfi-option-a-preview .cfi-track-carousel {
    width: min(100%, 620px) !important;
    margin-inline: auto !important;
  }

  html.cfi-option-a-preview #tracks .cfi-track-card {
    height: 430px !important;
    min-height: 430px !important;
  }

  /* Mentor cards */
  html.cfi-option-a-preview .cfi-mentor-grid {
    width: min(100%, 980px) !important;
    margin-inline: auto !important;
    padding: 24px 28px 30px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }

  html.cfi-option-a-preview .cfi-mentor-grid > div {
    min-height: 184px !important;
  }

  html.cfi-option-a-preview
    .cfi-mentor-grid
    > div
    > div:first-child {
    padding: 16px 14px 14px 18px !important;
  }

  html.cfi-option-a-preview
    .cfi-mentor-grid
    > div
    > div:first-child
    > div:first-child {
    font-size: 18px !important;
  }

  html.cfi-option-a-preview
    .cfi-mentor-grid
    > div
    > div:first-child
    > div:not(:first-child) {
    font-size: 11.5px !important;
    line-height: 1.35 !important;
  }

  html.cfi-option-a-preview
    .cfi-mentor-grid
    > div
    > div:first-child
    > a {
    min-height: 34px !important;
    padding: 7px 10px !important;
    font-size: 11px !important;
  }

  /* Shared footer composition */
  html.cfi-option-a-preview .cfi-footer,
  html.cfi-option-a-preview footer:last-of-type,
  .os-footer {
    padding: 52px 32px 34px !important;
  }

  html.cfi-option-a-preview .ci-foot-grid,
  .os-foot-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 30px 28px !important;
  }

  html.cfi-option-a-preview .ci-foot-grid > div:first-child,
  .os-foot-grid > div:first-child {
    grid-column: 1 / -1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
  }

  html.cfi-option-a-preview
    .ci-foot-grid
    > div:first-child
    [data-bl-footer-copy],
  .os-foot-grid > div:first-child [data-bl-footer-copy] {
    max-width: 460px !important;
    margin: 16px auto 0 !important;
  }

  html.cfi-option-a-preview
    .ci-foot-grid
    > div:first-child
    > div,
  .os-foot-grid > div:first-child > div {
    justify-content: center !important;
  }

  html.cfi-option-a-preview .ci-foot-grid > div:nth-child(n + 2),
  .os-foot-grid > div:nth-child(n + 2) {
    grid-column: auto !important;
  }

  .os-foot-links--programs > div:last-child {
    display: flex !important;
    flex-direction: column !important;
    gap: 11px !important;
  }
}

/* Mobile CFI drawers use the approved tablet navigation typography. */
@media (max-width: 760px),
  (orientation: landscape) and (max-width: 950px) and (max-height: 500px) {
  html.cfi-option-a-preview #cfi-mobile-navigation > a,
  .os-cfi-menu .os-cfi-menu-link {
    font-family: "Manrope", "Helvetica Neue", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
  }
}

/* Keep CFI's programme trigger on the same right guide as Boundlearn. */
@media (min-width: 740px) and (max-width: 1180px) and (min-height: 700px) {
  html.cfi-option-a-preview .ci-nav .ci-burger {
    margin-right: -4px !important;
  }
}

@media (orientation: portrait) and (min-width: 740px) and (max-width: 900px) and (min-height: 700px) {
  .os-nav .os-cfi-burger {
    margin-right: -12px !important;
  }
}

@media (orientation: landscape) and (min-width: 901px) and (max-width: 1180px) and (min-height: 700px) {
  .os-nav .os-cfi-burger {
    margin-right: -8px !important;
  }
}

@media (orientation: landscape) and (min-width: 601px) and (max-width: 950px) and (max-height: 500px) {
  .os-nav .os-cfi-burger {
    margin-right: -16px !important;
  }
}

/* Final phone-landscape edge contract inside direct pages and approval iframes. */
@media (orientation: landscape) and (max-width: 950px) and (max-height: 500px) {
  html.cfi-option-a-preview body .ci-headwrap .ci-nav,
  html.cfi-option-a-preview body .ci-sticky {
    padding-right: 16px !important;
    padding-left: 16px !important;
  }
}

/* Phone-landscape shell alignment: match the 16px Boundlearn edge inset. */
@media (orientation: landscape) and (max-width: 950px) and (max-height: 500px) {
  html.cfi-option-a-preview .ci-nav,
  html.cfi-option-a-preview .ci-sticky {
    padding-right: 16px !important;
    padding-left: 16px !important;
  }
}

/* CFI portrait: preserve the action buttons after the program header docks. */
@media (orientation: portrait) and (max-width: 760px) {
  html.cfi-option-a-preview body #cfi-mobile-navigation .cfi-mobile-program-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin: 18px 0 0 !important;
  }

  html.cfi-option-a-preview body #cfi-mobile-navigation .cfi-mobile-program-actions > a {
    box-sizing: border-box !important;
    display: flex !important;
    min-height: 50px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 13px 12px !important;
    border-radius: 9px !important;
    font-family: "Manrope", "Helvetica Neue", Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-align: center !important;
  }
}

@media (min-width: 740px) and (max-width: 900px) and (min-height: 700px) and (orientation: portrait) {
  html.cfi-option-a-preview .cfi-hero-content {
    padding-bottom: 54px !important;
  }

  html.cfi-option-a-preview .cfi-mobile-program-panel,
  .os-cfi-menu {
    width: min(390px, calc(100vw - 40px)) !important;
  }

  .os-hero {
    min-height: 470px !important;
    grid-template-columns: minmax(0, 47%) minmax(0, 53%) !important;
  }

  .os-hero-media {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-height: 470px !important;
    order: 0 !important;
  }

  .os-hero-copy {
    grid-column: 1 !important;
    grid-row: 1 !important;
    padding: 44px 32px !important;
    align-items: flex-start !important;
    text-align: left !important;
  }

  .os-hero-copy h1,
  .os-hero-copy p {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  .os-hero-copy h1 {
    font-size: 34px !important;
  }

  .os-hero-media img {
    object-position: 56% 20% !important;
  }
}

@media (min-width: 901px) and (max-width: 1180px) and (min-height: 700px) and (orientation: landscape) {
  html.cfi-option-a-preview .cfi-intro-live {
    height: 360px !important;
  }

  html.cfi-option-a-preview .cfi-hero-content {
    padding-bottom: 44px !important;
  }

  html.cfi-option-a-preview .cfi-founder {
    align-items: flex-start !important;
    padding-inline: 48px !important;
    text-align: left !important;
  }

  html.cfi-option-a-preview .cfi-founder > div:nth-child(3) {
    justify-content: flex-start !important;
  }

  html.cfi-option-a-preview .cfi-founder > ul {
    margin-left: 0 !important;
    text-align: left !important;
  }

  html.cfi-option-a-preview .cfi-founder > ul > li {
    justify-content: flex-start !important;
    text-align: left !important;
  }

  html.cfi-option-a-preview .cfi-founder > a {
    margin-left: 0 !important;
  }

  /* About uses a real tablet canvas instead of a scaled 1440px desktop. */
  .os-hero {
    min-height: 500px !important;
    grid-template-columns: minmax(0, 1fr) minmax(430px, 48%) !important;
  }

  .os-hero-media {
    min-height: 500px !important;
    order: 0 !important;
  }

  .os-hero-copy {
    padding: 58px 42px !important;
    align-items: flex-start !important;
    text-align: left !important;
  }

  .os-hero-copy h1,
  .os-hero-copy p {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  .os-hero-copy h1 {
    font-size: 42px !important;
  }

  .os-sect {
    padding-right: 56px !important;
    padding-left: 56px !important;
  }
}

/* Tablet correction pass: preserve the approved product system. */
@media (min-width: 740px) and (max-width: 1180px) and (min-height: 700px) {
  /* Main and About use the same paper CFI bar and green logo. */
  html.cfi-option-a-preview .ci-nav,
  .os-nav {
    border-bottom: 1px solid #d8ddd4 !important;
    background: #f7f1e6 !important;
  }

  html.cfi-option-a-preview .ci-nav > a:first-child img,
  .os-nav > a:first-child img {
    filter: none !important;
  }

  /* Restore the shared Boundlearn menu typography from SparkLab. */
  html.cfi-option-a-preview .cfi-mobile-boundlearn-panel,
  .bl-mnav-panel {
    font-family: "Cinzel", Georgia, serif !important;
  }

  html.cfi-option-a-preview .cfi-mobile-boundlearn-panel > a,
  html.cfi-option-a-preview .cfi-mobile-boundlearn-panel summary,
  .bl-mnav-panel > a,
  .bl-mnav-programs summary {
    min-height: 48px !important;
    padding: 11px 4px !important;
    font-family: "Cinzel", Georgia, serif !important;
    font-size: 17px !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
  }

  html.cfi-option-a-preview .cfi-mobile-boundlearn-panel details > a,
  .bl-mnav-program-list a {
    font-family: "Cinzel", Georgia, serif !important;
    font-size: 13.5px !important;
  }

  html.cfi-option-a-preview .cfi-bl-apply,
  .bl-mnav-panel .bl-mobile-apply {
    font-family: "Manrope", "Helvetica Neue", Arial, sans-serif !important;
  }

  /* The legacy mixed drawer must never appear on tablet. */
  html.cfi-option-a-preview body .ci-mnav-panel {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  /* Current CFI drawer: paper, green logo, olive action. */
  html.cfi-option-a-preview .cfi-mobile-program-panel,
  .os-cfi-menu {
    border-color: #cbd3ca !important;
    background: #f7f1e6 !important;
    color: #073b2f !important;
  }

  html.cfi-option-a-preview
    .cfi-mobile-program-panel
    .bl-program-mobile-brand
    img,
  .os-cfi-menu-header .bl-program-mobile-brand img {
    filter: none !important;
  }

  /* Main and About share the same compact CFI sticky bar. */
  html.cfi-option-a-preview .ci-sticky,
  .os-sticky {
    min-height: 64px !important;
    height: 64px !important;
    padding: 0 32px !important;
    border-bottom: 1px solid #d8ddd4 !important;
    background: #f7f1e6 !important;
  }

  html.cfi-option-a-preview .ci-sticky-links,
  html.cfi-option-a-preview .ci-sticky-apply,
  .os-sticky-links,
  .os-sticky-apply {
    display: none !important;
  }

  html.cfi-option-a-preview .ci-sticky img,
  .os-sticky img {
    height: 38px !important;
    filter: none !important;
  }

  html.cfi-option-a-preview .ci-sticky-burger,
  .os-sticky .os-cfi-burger {
    width: 42px !important;
    height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #cbd3ca !important;
    border-radius: 8px !important;
    background: #fffdf8 !important;
    color: #073b2f !important;
  }

  /* Why Join: center the actual viewport, track, and controls. */
  html.cfi-option-a-preview .cfi-impact {
    grid-template-columns: clamp(220px, 28vw, 280px) minmax(0, 1fr) !important;
  }

  html.cfi-option-a-preview .cfi-impact .cfi-section-body {
    padding-inline: 24px !important;
  }

  html.cfi-option-a-preview .cfi-impact-mobile-carousel,
  html.cfi-option-a-preview .cfi-impact-mobile-viewport {
    width: min(100%, 570px) !important;
    margin-inline: auto !important;
  }

  html.cfi-option-a-preview .cfi-impact-mobile-page > * {
    width: min(100%, 530px) !important;
    margin-inline: auto !important;
  }

  html.cfi-option-a-preview
    .cfi-impact-mobile-carousel
    > .cfi-carousel-controls,
  html.cfi-option-a-preview .cfi-impact-mobile-carousel .cfi-carousel-dots {
    width: 100% !important;
    justify-content: center !important;
  }

  /* Founder / Our Story is a heading band followed by one information row. */
  html.cfi-option-a-preview .cfi-founder {
    width: 100% !important;
    padding: 0 32px 38px !important;
    display: grid !important;
    grid-template-columns: minmax(190px, 0.8fr) minmax(300px, 1.55fr) auto !important;
    align-items: center !important;
    gap: 18px 28px !important;
    border-top: 1px solid #d8ddd4 !important;
    border-left: 0 !important;
    text-align: left !important;
  }

  html.cfi-option-a-preview .cfi-founder > div:first-child {
    grid-column: 1 / -1 !important;
    padding-top: 38px !important;
    text-align: center !important;
  }

  html.cfi-option-a-preview .cfi-founder > h2 {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: none !important;
    margin: -2px 0 10px !important;
    padding: 0 0 30px !important;
    border-bottom: 1px solid #d8ddd4 !important;
    font-size: 32px !important;
    text-align: center !important;
  }

  html.cfi-option-a-preview .cfi-founder > div:nth-child(3) {
    grid-column: 1 !important;
    justify-content: flex-start !important;
    margin: 0 !important;
    text-align: left !important;
  }

  html.cfi-option-a-preview .cfi-founder > ul {
    grid-column: 2 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    text-align: left !important;
  }

  html.cfi-option-a-preview .cfi-founder > ul > li {
    justify-content: flex-start !important;
    text-align: left !important;
  }

  html.cfi-option-a-preview
    .cfi-founder
    > ul
    > li
    > span:first-child {
    display: block !important;
  }

  html.cfi-option-a-preview .cfi-founder > a {
    grid-column: 3 !important;
    min-width: 112px !important;
    margin: 0 !important;
    justify-content: center !important;
  }
}

@media (min-width: 740px) and (max-width: 900px) and (min-height: 700px) and (orientation: portrait) {
  html.cfi-option-a-preview .ci-headwrap,
  .os-headwrap {
    height: 118px !important;
    display: block !important;
  }

  html.cfi-option-a-preview .ci-t1nav,
  .os-tier1 {
    width: 100% !important;
  }

  html.cfi-option-a-preview .ci-nav,
  .os-nav {
    width: 100% !important;
  }

  html.cfi-option-a-preview .cfi-mobile-program-panel,
  .os-cfi-menu {
    top: 126px !important;
  }

  html.cfi-option-a-preview
    .ci-mobile.cfi-sticky-active
    .cfi-mobile-program-panel,
  body:has(.os-sticky.show) .os-cfi-menu {
    top: 72px !important;
  }

  html.cfi-option-a-preview .cfi-founder {
    min-height: 250px !important;
    padding: 0 16px 0 0 !important;
    grid-template-columns:
      minmax(198px, 27%)
      minmax(0, 1fr)
      104px !important;
    grid-template-rows: 96px minmax(132px, auto) !important;
    column-gap: 16px !important;
    row-gap: 0 !important;
    align-items: stretch !important;
    border-top: 1px solid #d8ddd4 !important;
    text-align: left !important;
  }

  html.cfi-option-a-preview .cfi-founder > div:first-child {
    grid-column: 1 !important;
    grid-row: 1 !important;
    height: 100% !important;
    padding: 0 24px 8px 28px !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: flex-start !important;
    border-right: 1px solid #d8ddd4 !important;
    text-align: left !important;
  }

  html.cfi-option-a-preview .cfi-founder > h2 {
    grid-column: 1 !important;
    grid-row: 2 !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 24px 24px 28px !important;
    display: block !important;
    border-right: 1px solid #d8ddd4 !important;
    border-bottom: 0 !important;
    font-size: 27px !important;
    text-align: left !important;
  }

  html.cfi-option-a-preview .cfi-founder > div:nth-child(3) {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: center !important;
    justify-content: flex-start !important;
    margin: 0 !important;
    text-align: left !important;
  }

  html.cfi-option-a-preview .cfi-founder > ul {
    grid-column: 2 !important;
    grid-row: 2 !important;
    align-self: start !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding-top: 2px !important;
    gap: 8px !important;
    text-align: left !important;
  }

  html.cfi-option-a-preview .cfi-founder > ul > li {
    justify-content: flex-start !important;
    text-align: left !important;
  }

  html.cfi-option-a-preview
    .cfi-founder
    > ul
    > li
    > span:last-child {
    font-size: 11.5px !important;
    line-height: 1.4 !important;
  }

  html.cfi-option-a-preview .cfi-founder > a {
    grid-column: 3 !important;
    grid-row: 1 / 3 !important;
    align-self: center !important;
    min-width: 104px !important;
    margin: 0 !important;
    padding: 11px 14px !important;
    justify-content: center !important;
  }

  html.cfi-option-a-preview .cfi-mentor-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    transform: none !important;
  }

  html.cfi-option-a-preview .cfi-mentor-grid > div {
    display: grid !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* Keep the complete 01-06 sequence centered inside the portrait panel. */
  html.cfi-option-a-preview .cfi-impact-mobile-carousel,
  html.cfi-option-a-preview .cfi-impact-mobile-viewport {
    width: min(100%, 470px) !important;
    margin-inline: auto !important;
  }

  html.cfi-option-a-preview .cfi-impact-mobile-page > * {
    width: 100% !important;
  }

  html.cfi-option-a-preview .cfi-hero,
  html.cfi-option-a-preview .cfi-hero-content {
    min-height: calc(100svh - 118px) !important;
    height: calc(100svh - 118px) !important;
  }

  /* Portrait footer: centered brand and all link groups in one row. */
  html.cfi-option-a-preview .ci-foot-grid > div:first-child,
  .os-foot-grid > div:first-child {
    align-items: center !important;
    text-align: center !important;
  }

  html.cfi-option-a-preview
    .ci-foot-grid
    > div:first-child
    > div,
  .os-foot-grid > div:first-child > div {
    justify-content: center !important;
  }
}

@media (min-width: 901px) and (max-width: 1180px) and (min-height: 700px) and (orientation: landscape) {
  /* Landscape keeps the two full-width brand bars stacked. */
  html.cfi-option-a-preview .ci-headwrap,
  .os-headwrap {
    height: 121px !important;
    display: block !important;
  }

  html.cfi-option-a-preview .ci-t1nav,
  .os-tier1 {
    width: 100% !important;
    min-height: 57px !important;
    height: 57px !important;
    padding: 0 28px !important;
  }

  html.cfi-option-a-preview .ci-nav,
  .os-nav {
    width: 100% !important;
    min-height: 64px !important;
    height: 64px !important;
    padding: 0 28px !important;
  }

  html.cfi-option-a-preview .cfi-mobile-boundlearn-panel,
  .bl-mnav-panel {
    top: 64px !important;
    right: 20px !important;
    left: auto !important;
  }

  html.cfi-option-a-preview .cfi-mobile-program-panel,
  .os-cfi-menu {
    top: 129px !important;
    width: min(390px, calc(100vw - 40px)) !important;
  }

  html.cfi-option-a-preview .cfi-hero,
  html.cfi-option-a-preview .cfi-hero-content {
    min-height: calc(100svh - 121px) !important;
    height: calc(100svh - 121px) !important;
  }

  /* A compact, balanced programme overview for landscape. */
  html.cfi-option-a-preview .cfi-intro-live {
    height: 320px !important;
  }

  html.cfi-option-a-preview .cfi-intro-copy {
    top: 0 !important;
    left: 0 !important;
    width: 50% !important;
    height: 100% !important;
    padding: 0 52px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    transform: none !important;
  }

  html.cfi-option-a-preview
    .cfi-option-page
    > section.cfi-section.cfi-intro-live
    > .cfi-intro-copy {
    transform: none !important;
  }

  html.cfi-option-a-preview .cfi-intro-copy p {
    max-width: 43ch !important;
  }

  html.cfi-option-a-preview .cfi-intro-stat {
    top: 0 !important;
    width: 16.6667% !important;
    height: 100% !important;
    justify-content: center !important;
  }

  html.cfi-option-a-preview .cfi-intro-stat-one {
    left: 50% !important;
  }

  html.cfi-option-a-preview .cfi-intro-stat-two {
    left: 66.6667% !important;
  }

  html.cfi-option-a-preview .cfi-intro-stat-three {
    left: 83.3334% !important;
  }

  html.cfi-option-a-preview
    .cfi-intro-lines-responsive
    .line-one {
    left: 50% !important;
  }

  html.cfi-option-a-preview
    .cfi-intro-lines-responsive
    .line-two {
    left: 66.6667% !important;
  }

  html.cfi-option-a-preview
    .cfi-intro-lines-responsive
    .line-three {
    left: 83.3334% !important;
  }

  /*
   * Landscape founder row: the story statement owns the left panel, while
   * the portrait, credentials, and CTA share one information panel.
   */
  html.cfi-option-a-preview .cfi-founder {
    min-height: 232px !important;
    padding: 0 28px 0 0 !important;
    grid-template-columns:
      minmax(220px, 28%)
      minmax(178px, 0.8fr)
      minmax(0, 1.4fr)
      112px !important;
    grid-template-rows: 1fr 1fr !important;
    column-gap: 20px !important;
    row-gap: 0 !important;
    align-items: stretch !important;
  }

  html.cfi-option-a-preview .cfi-founder > div:first-child {
    grid-column: 1 !important;
    grid-row: 1 !important;
    height: 100% !important;
    padding: 0 30px 8px !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    border-right: 1px solid #d8ddd4 !important;
    text-align: center !important;
  }

  html.cfi-option-a-preview .cfi-founder > h2 {
    grid-column: 1 !important;
    grid-row: 2 !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 30px !important;
    display: block !important;
    border-right: 1px solid #d8ddd4 !important;
    border-bottom: 0 !important;
    font-size: 28px !important;
    text-align: center !important;
  }

  html.cfi-option-a-preview .cfi-founder > div:nth-child(3) {
    grid-column: 2 !important;
    grid-row: 1 / 3 !important;
    align-self: center !important;
  }

  html.cfi-option-a-preview .cfi-founder > ul {
    grid-column: 3 !important;
    grid-row: 1 / 3 !important;
    align-self: center !important;
  }

  html.cfi-option-a-preview .cfi-founder > a {
    grid-column: 4 !important;
    grid-row: 1 / 3 !important;
    align-self: center !important;
  }

  /* Landscape footer: brand left, three link groups stay in one row. */
  html.cfi-option-a-preview .ci-foot-grid > div:first-child,
  .os-foot-grid > div:first-child {
    align-items: flex-start !important;
    text-align: left !important;
  }

  html.cfi-option-a-preview
    .ci-foot-grid
    > div:first-child
    [data-bl-footer-copy],
  .os-foot-grid > div:first-child [data-bl-footer-copy] {
    margin-left: 0 !important;
  }

  html.cfi-option-a-preview
    .ci-foot-grid
    > div:first-child
    > div,
  .os-foot-grid > div:first-child > div {
    justify-content: flex-start !important;
  }
}

@media (min-width: 740px) and (max-width: 1180px) and (min-height: 700px) {
  html.cfi-option-a-preview .ci-mobile #tracks .cfi-track-grid {
    gap: 0 !important;
  }
}

/*
 * The approval canvas has a 1px frame on each side, so its nominal 768px
 * portrait renders the page at 766px. Keep that width on the tablet contract
 * instead of allowing the phone carousel rules to take over.
 */
@media (min-width: 720px) and (max-width: 900px) and (min-height: 700px) and (orientation: portrait) {
  /* Our Program: copy on the left, three equal stat columns on the right. */
  html.cfi-option-a-preview
    .ci-mobile
    .cfi-option-page
    > section.cfi-section.cfi-intro-live {
    height: 360px !important;
    aspect-ratio: auto !important;
  }

  html.cfi-option-a-preview
    .ci-mobile
    .cfi-option-page
    > section.cfi-section.cfi-intro-live
    > .cfi-intro-copy {
    top: 0 !important;
    left: 4.5% !important;
    width: 41.5% !important;
    height: 100% !important;
    padding: 0 22px 0 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    transform: none !important;
    text-align: left !important;
  }

  html.cfi-option-a-preview
    .ci-mobile
    .cfi-intro-copy
    .cfi-intro-kicker,
  html.cfi-option-a-preview .ci-mobile .cfi-intro-copy p {
    width: 100% !important;
    max-width: 38ch !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    text-align: left !important;
  }

  html.cfi-option-a-preview .ci-mobile .cfi-intro-stat {
    top: 0 !important;
    width: 16.6667% !important;
    height: 100% !important;
    padding: 0 12px !important;
    justify-content: center !important;
  }

  html.cfi-option-a-preview .ci-mobile .cfi-intro-stat-one {
    left: 50% !important;
  }

  html.cfi-option-a-preview .ci-mobile .cfi-intro-stat-two {
    left: 66.6667% !important;
  }

  html.cfi-option-a-preview .ci-mobile .cfi-intro-stat-three {
    left: 83.3334% !important;
  }

  html.cfi-option-a-preview
    .ci-mobile
    .cfi-intro-shape-olive-right {
    display: none !important;
  }

  html.cfi-option-a-preview
    .ci-mobile
    .cfi-intro-lines-responsive
    .line-one,
  html.cfi-option-a-preview
    .ci-mobile
    .cfi-intro-lines-responsive
    .line-two,
  html.cfi-option-a-preview
    .ci-mobile
    .cfi-intro-lines-responsive
    .line-three {
    top: 0 !important;
    right: auto !important;
    bottom: 0 !important;
    width: 1px !important;
    height: auto !important;
  }

  html.cfi-option-a-preview
    .ci-mobile
    .cfi-intro-lines-responsive
    .line-one {
    left: 50% !important;
  }

  html.cfi-option-a-preview
    .ci-mobile
    .cfi-intro-lines-responsive
    .line-two {
    left: 66.6667% !important;
  }

  html.cfi-option-a-preview
    .ci-mobile
    .cfi-intro-lines-responsive
    .line-three {
    left: 83.3334% !important;
  }

  html.cfi-option-a-preview .ci-mobile .cfi-intro-stat strong {
    font-size: clamp(40px, 5.8vw, 48px) !important;
  }

  /* Mentors: all four cards remain visible in a compact 2x2 grid. */
  html.cfi-option-a-preview
    .ci-mobile
    #mentors
    .cfi-mentor-carousel {
    width: 100% !important;
    padding: 0 !important;
    display: contents !important;
    overflow: visible !important;
  }

  html.cfi-option-a-preview
    .ci-mobile
    #mentors
    .cfi-mentor-carousel
    > .cfi-carousel-controls {
    display: none !important;
  }

  html.cfi-option-a-preview
    .ci-mobile
    #mentors
    .cfi-mentor-carousel
    .cfi-mentor-grid {
    width: 100% !important;
    margin: 0 !important;
    padding: 24px 22px 30px !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
    transform: none !important;
  }

  html.cfi-option-a-preview
    .ci-mobile
    #mentors
    .cfi-mentor-grid
    > div {
    width: auto !important;
    min-width: 0 !important;
    min-height: 184px !important;
    max-width: none !important;
    display: grid !important;
    grid-template-columns: minmax(0, 58%) minmax(0, 42%) !important;
    flex: initial !important;
    visibility: visible !important;
    opacity: 1 !important;
    scroll-snap-align: none !important;
    transform: none !important;
  }

  html.cfi-option-a-preview
    .ci-mobile
    #mentors
    .cfi-mentor-grid
    > div
    > div:first-child {
    padding: 15px 12px 13px 16px !important;
  }

  html.cfi-option-a-preview
    .ci-mobile
    #mentors
    .cfi-mentor-grid
    > div
    > div:nth-child(2) {
    min-height: 184px !important;
  }

  /* Our Story: statement left; profile, credentials, and CTA aligned right. */
  html.cfi-option-a-preview .ci-mobile #mentors .cfi-founder {
    min-height: 304px !important;
    padding: 0 18px 14px 0 !important;
    display: grid !important;
    grid-template-columns: minmax(198px, 27%) minmax(0, 1fr) 108px !important;
    grid-template-rows: 92px minmax(144px, auto) 54px !important;
    column-gap: 16px !important;
    row-gap: 0 !important;
    align-items: stretch !important;
    text-align: left !important;
  }

  html.cfi-option-a-preview
    .ci-mobile
    #mentors
    .cfi-founder
    > div:first-child {
    grid-column: 1 !important;
    grid-row: 1 !important;
    height: 100% !important;
    padding: 0 24px 8px 28px !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: flex-start !important;
    border-right: 1px solid #d8ddd4 !important;
    text-align: left !important;
  }

  html.cfi-option-a-preview
    .ci-mobile
    #mentors
    .cfi-founder
    > h2 {
    grid-column: 1 !important;
    grid-row: 2 / 4 !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 24px 24px 28px !important;
    border-right: 1px solid #d8ddd4 !important;
    border-bottom: 0 !important;
    font-size: 27px !important;
    text-align: left !important;
  }

  html.cfi-option-a-preview
    .ci-mobile
    #mentors
    .cfi-founder
    > div:nth-child(3) {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: center !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 14px !important;
    text-align: left !important;
  }

  html.cfi-option-a-preview
    .ci-mobile
    #mentors
    .cfi-founder
    > ul {
    grid-column: 2 / 4 !important;
    grid-row: 2 !important;
    align-self: start !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 4px 0 0 !important;
    gap: 9px !important;
    text-align: left !important;
  }

  html.cfi-option-a-preview
    .ci-mobile
    #mentors
    .cfi-founder
    > ul
    > li {
    justify-content: flex-start !important;
    text-align: left !important;
  }

  html.cfi-option-a-preview
    .ci-mobile
    #mentors
    .cfi-founder
    > ul
    > li
    > span:first-child {
    display: block !important;
  }

  html.cfi-option-a-preview
    .ci-mobile
    #mentors
    .cfi-founder
    > ul
    > li
    > span:last-child {
    font-size: 11.5px !important;
    line-height: 1.42 !important;
  }

  html.cfi-option-a-preview
    .ci-mobile
    #mentors
    .cfi-founder
    > a {
    grid-column: 2 / 4 !important;
    grid-row: 3 !important;
    align-self: start !important;
    justify-self: start !important;
    min-width: 108px !important;
    margin: 5px 0 0 !important;
    padding: 11px 14px !important;
    justify-content: center !important;
  }
}

/*
 * Compact landscape viewports can be wider than a conventional phone. Keep
 * this short-height overlap on the full hero instead of inheriting the
 * reduced tablet hero, which places the programme logo over the headline.
 */
@media (orientation: landscape) and (max-width: 1180px) and (max-height: 600px) {
  .os-sticky:not(.show) .os-cfi-burger {
    display: none !important;
  }

  .os-sticky.show ~ .os-page-inner .os-nav .os-cfi-burger {
    display: none !important;
  }

  html.cfi-option-a-preview .cfi-hero,
  html.cfi-option-a-preview .cfi-hero-content {
    min-height: var(--cfi-hero-height, 100svh) !important;
    height: var(--cfi-hero-height, 100svh) !important;
  }

  html.cfi-option-a-preview .cfi-hero-content {
    justify-content: flex-end !important;
    padding: 116px 32px 22px !important;
  }
}

/* Tablet portrait reuses the approved phone hero-overlay programme bar. */
@media (min-width: 761px) and (max-width: 1180px) and (min-height: 501px) {
  html.cfi-option-a-preview .ci-headwrap {
    position: relative !important;
    z-index: 80 !important;
    height: 0 !important;
    overflow: visible !important;
  }

  html.cfi-option-a-preview .ci-nav {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    min-height: 70px !important;
    height: 70px !important;
    padding: 0 24px !important;
    border: 0 !important;
    background: transparent !important;
    overflow: visible !important;
  }

  html.cfi-option-a-preview .ci-nav > a:first-child img {
    height: 42px !important;
    filter: brightness(0) invert(1) !important;
  }

  html.cfi-option-a-preview .ci-nav .ci-burger {
    border-color: rgba(255, 255, 255, .5) !important;
    background: rgba(255, 255, 255, .08) !important;
    color: #fff !important;
  }

  html.cfi-option-a-preview .ci-nav .ci-burger svg {
    stroke: currentColor !important;
  }

  html.cfi-option-a-preview .ci-nav .ci-burger[aria-expanded="true"] svg {
    display: none !important;
  }

  html.cfi-option-a-preview .ci-nav .ci-burger[aria-expanded="true"]::before {
    content: "\00d7";
    font: 400 29px/1 Arial, sans-serif;
    color: currentColor;
  }

  html.cfi-option-a-preview #cfi-mobile-navigation {
    position: absolute !important;
    z-index: 2400 !important;
    inset: calc(100% - 1px) 0 auto 0 !important;
    width: 100% !important;
    max-width: none !important;
    max-height: calc(100svh - 126px) !important;
    margin: 0 !important;
    overflow-y: auto !important;
    border-radius: 0 0 14px 14px !important;
    border-color: rgba(255, 255, 255, .2) !important;
    background: rgba(13, 30, 25, .8) !important;
    -webkit-backdrop-filter: blur(18px) saturate(125%) !important;
    backdrop-filter: blur(18px) saturate(125%) !important;
    box-shadow: 0 18px 40px rgba(0, 0, 0, .22) !important;
    color: #fff !important;
  }

  html.cfi-option-a-preview #cfi-mobile-navigation > div:first-child,
  html.cfi-option-a-preview #cfi-mobile-navigation .program-panel-logo,
  html.cfi-option-a-preview #cfi-mobile-navigation .cfi-menu-brand,
  html.cfi-option-a-preview #cfi-mobile-navigation .bl-program-mobile-brand,
  html.cfi-option-a-preview #cfi-mobile-navigation .cfi-mobile-menu-logo-link {
    display: none !important;
  }

  html.cfi-option-a-preview #cfi-mobile-navigation > a {
    color: #fff !important;
    border-color: rgba(255, 255, 255, .16) !important;
  }

  html.cfi-option-a-preview .cfi-hero,
  html.cfi-option-a-preview .cfi-hero-content {
    min-height: calc(100svh - 56px) !important;
    height: calc(100svh - 56px) !important;
  }
}

/* CFI owns its compact programme drawers; About stays cream in both header states. */
@media (max-width: 760px),
  (orientation: landscape) and (max-width: 950px) and (max-height: 500px) {
  html.cfi-option-a-preview #cfi-mobile-navigation {
    position: absolute !important;
    z-index: 2400 !important;
    inset: calc(100% - 1px) 0 auto 0 !important;
    width: 100% !important;
    max-width: none !important;
    max-height: calc(100svh - 63px) !important;
    margin: 0 !important;
    overflow-y: auto !important;
    border-radius: 0 0 14px 14px !important;
    box-shadow: 0 18px 40px rgba(0, 0, 0, .22) !important;
  }

  html.cfi-option-a-preview #cfi-mobile-navigation[data-menu-anchor="hero"] {
    border-color: rgba(255, 255, 255, .2) !important;
    background: rgba(13, 30, 25, .76) !important;
    -webkit-backdrop-filter: blur(18px) saturate(125%) !important;
    backdrop-filter: blur(18px) saturate(125%) !important;
    color: #fff !important;
  }

  html.cfi-option-a-preview #cfi-mobile-navigation[data-menu-anchor="hero"] a,
  html.cfi-option-a-preview #cfi-mobile-navigation[data-menu-anchor="hero"] button {
    color: #fff !important;
    border-color: rgba(255, 255, 255, .18) !important;
  }

  html.cfi-option-a-preview #cfi-mobile-navigation[data-menu-anchor="sticky"] {
    border-color: #d8d2c7 !important;
    background: #f4efe5 !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    color: #073b2f !important;
  }

  html.cfi-option-a-preview :is(.ci-nav, .ci-sticky) {
    overflow: visible !important;
  }

  .os-nav,
  .os-sticky {
    overflow: visible !important;
  }

  .os-cfi-menu:not([data-menu-anchor]) {
    position: fixed !important;
    z-index: 2400 !important;
    inset: 137px 0 auto 0 !important;
    width: 100% !important;
    max-width: none !important;
    max-height: calc(100svh - 137px) !important;
    margin: 0 !important;
    overflow-y: auto !important;
    border-radius: 0 0 14px 14px !important;
    box-shadow: 0 18px 40px rgba(0, 0, 0, .22) !important;
    animation: none !important;
    transform: none !important;
  }

  .os-cfi-menu:not([data-menu-anchor]) .os-cfi-menu-header {
    display: none !important;
  }

  .os-cfi-menu[data-menu-anchor] {
    position: absolute !important;
    z-index: 2400 !important;
    inset: calc(100% - 1px) 0 auto 0 !important;
    width: 100% !important;
    max-width: none !important;
    max-height: calc(100svh - 63px) !important;
    margin: 0 !important;
    overflow-y: auto !important;
    border-radius: 0 0 14px 14px !important;
    box-shadow: 0 18px 40px rgba(0, 0, 0, .22) !important;
    animation: none !important;
    transform: none !important;
  }

  .os-cfi-menu[data-menu-anchor] {
    border-color: #d8d2c7 !important;
    background: #f4efe5 !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    color: #073b2f !important;
  }

  .os-cfi-menu[data-menu-anchor] :is(a, label) {
    color: #073b2f !important;
    border-color: rgba(7, 59, 47, .18) !important;
  }

  .os-cfi-menu[data-menu-anchor] .os-cfi-menu-cta {
    color: #fff !important;
  }

  .os-cfi-menu[data-menu-anchor] .os-cfi-menu-contact {
    border-color: #073b2f !important;
    background: transparent !important;
    color: #073b2f !important;
  }

  html.cfi-option-a-preview #cfi-mobile-navigation > div:first-child,
  html.cfi-option-a-preview #cfi-mobile-navigation .program-panel-logo,
  html.cfi-option-a-preview #cfi-mobile-navigation .cfi-menu-brand,
  html.cfi-option-a-preview #cfi-mobile-navigation .bl-program-mobile-brand,
  html.cfi-option-a-preview #cfi-mobile-navigation .cfi-mobile-menu-logo-link {
    display: none !important;
  }

  html.cfi-option-a-preview .ci-burger[aria-expanded="true"] svg,
  html.cfi-option-a-preview .ci-sticky-burger[aria-expanded="true"] svg {
    display: none !important;
  }

  html.cfi-option-a-preview .ci-burger[aria-expanded="true"]::before,
  html.cfi-option-a-preview .ci-sticky-burger[aria-expanded="true"]::before {
    content: "\00d7";
    font: 400 29px/1 Arial, sans-serif;
    color: currentColor;
  }

  html.cfi-option-a-preview .ci-burger[aria-expanded="true"] {
    border-color: rgba(255, 255, 255, .42) !important;
    background: rgba(7, 59, 47, .18) !important;
    color: #fff !important;
  }

  html.cfi-option-a-preview #cfi-mobile-navigation .cfi-mobile-program-actions > a:first-child {
    background: #647b4f !important;
    color: #fff !important;
  }

  html.cfi-option-a-preview #cfi-mobile-navigation .cfi-mobile-program-actions > a:last-child {
    border-color: #b7c3b8 !important;
    background: #fffdf8 !important;
    color: #073b2f !important;
  }

  html.cfi-option-a-preview .ci-t1nav.bl-unified-header > #cfi-bl-mnav {
    position: absolute !important;
    inset: calc(100% - 1px) 0 auto 0 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    border-radius: 0 0 12px 12px !important;
  }
}

@media (orientation: landscape) and (max-width: 950px) and (max-height: 500px) {
  .os-cfi-menu:not([data-menu-anchor]) {
    inset: 111px 0 auto 0 !important;
    max-height: calc(100svh - 111px) !important;
  }

  .os-cfi-cb:checked + .os-cfi-menu {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    column-gap: 18px !important;
    row-gap: 0 !important;
  }

  .os-cfi-menu .os-cfi-menu-header,
  .os-cfi-menu .os-cfi-menu-link:last-of-type,
  .os-cfi-menu .os-menu-actions {
    grid-column: 1 / -1 !important;
  }

  .os-cfi-menu .os-cfi-menu-link {
    width: auto !important;
  }
}

/* Approved CFI tablet chrome: sticky drawers use cream; footer stays one row. */
@media (min-width: 740px) and (max-width: 1180px) and (min-height: 700px) {
  html.cfi-option-a-preview #cfi-mobile-navigation[data-menu-anchor="sticky"],
  .os-cfi-menu {
    border-color: #d8d2c7 !important;
    background: #f4efe5 !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    color: #073b2f !important;
  }

  .os-nav,
  .os-sticky {
    overflow: visible !important;
  }

  .os-cfi-menu[data-menu-anchor] {
    position: absolute !important;
    z-index: 2400 !important;
    inset: calc(100% - 1px) 0 auto 0 !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    max-height: calc(100svh - 126px) !important;
    margin: 0 !important;
    overflow-y: auto !important;
    border-radius: 0 0 14px 14px !important;
    box-shadow: 0 18px 40px rgba(0, 0, 0, .22) !important;
    animation: none !important;
    transform: none !important;
  }

  .os-cfi-menu[data-menu-anchor] .os-cfi-menu-header {
    display: none !important;
  }

  html.cfi-option-a-preview
    #cfi-mobile-navigation[data-menu-anchor="sticky"]
    > a,
  .os-cfi-menu .os-cfi-menu-link {
    border-bottom-color: rgba(7, 59, 47, .18) !important;
    color: #073b2f !important;
  }

  html.cfi-option-a-preview
    #cfi-mobile-navigation[data-menu-anchor="sticky"]
    .cfi-mobile-program-actions
    > a:first-child,
  .os-cfi-menu .os-cfi-menu-cta {
    border-color: #647b4f !important;
    background: #647b4f !important;
    color: #fff !important;
  }

  html.cfi-option-a-preview
    #cfi-mobile-navigation[data-menu-anchor="sticky"]
    .cfi-mobile-program-actions
    > a:last-child,
  .os-cfi-menu .os-cfi-menu-contact {
    border-color: #073b2f !important;
    background: transparent !important;
    color: #073b2f !important;
  }

  html.cfi-option-a-preview .ci-foot-grid,
  .os-foot-grid {
    grid-template-columns: minmax(225px, 1.7fr) repeat(3, minmax(0, 1fr)) !important;
    gap: 24px 22px !important;
    align-items: start !important;
  }

  html.cfi-option-a-preview .ci-foot-grid > div:first-child,
  .os-foot-grid > div:first-child {
    grid-column: auto !important;
    align-items: flex-start !important;
    text-align: left !important;
  }

  html.cfi-option-a-preview
    .ci-foot-grid
    > div:first-child
    [data-bl-footer-copy],
  .os-foot-grid > div:first-child [data-bl-footer-copy] {
    max-width: 320px !important;
    margin: 16px 0 0 !important;
  }

  html.cfi-option-a-preview
    .ci-foot-grid
    > div:first-child
    > div,
  .os-foot-grid > div:first-child > div {
    justify-content: flex-start !important;
  }
}
