/* Larger homepage problem tiles. No changes to HERO or the advisor dialog. */
.type-index #nl-problem-nav-pilot .nl-problem-nav-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
.type-index #nl-problem-nav-pilot .nl-problem-nav-image {
  height: clamp(175px, 19vw, 240px);
}
.type-index #nl-problem-nav-pilot .nl-problem-nav-title {
  height: 64px;
  margin-top: -10px;
  padding: 10px 12px;
  font-size: clamp(19px, 1.6vw, 24px);
}
.type-index #nl-problem-nav-pilot .nl-problem-nav-card::before {
  width: 36px;
  height: 36px;
  top: 12px;
  right: 12px;
  background-size: 22px 22px;
}
.type-index #nl-problem-nav-pilot .nl-problem-nav-card[aria-busy="true"]::before {
  width: 26px;
  height: 26px;
  top: 17px;
  right: 17px;
}
@media (max-width: 767px) {
  .type-index #nl-problem-nav-pilot .nl-problem-nav-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 12px;
  }
  .type-index #nl-problem-nav-pilot .nl-problem-nav-image {
    height: clamp(135px, 42vw, 200px);
  }
  .type-index #nl-problem-nav-pilot .nl-problem-nav-title {
    height: 58px;
    margin-top: -8px;
    padding: 8px 6px;
    font-size: 17px;
  }
  .type-index #nl-problem-nav-pilot .nl-problem-nav-card::before {
    width: 30px;
    height: 30px;
    top: 9px;
    right: 9px;
    background-size: 18px 18px;
  }
  .type-index #nl-problem-nav-pilot .nl-problem-nav-card[aria-busy="true"]::before {
    width: 22px;
    height: 22px;
    top: 13px;
    right: 13px;
  }
}

/* HERO CTA feedback. Scoped colors override styly7.css generic link hover. */
#nl-hero-20261007 .nl-hero__button {
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  transition: transform 180ms ease, box-shadow 180ms ease,
    background-color 180ms ease, border-color 180ms ease;
}
#nl-hero-20261007 .nl-hero__button--primary {
  background-color: var(--nl-blue, #38bddd) !important;
  color: #fff !important;
}
#nl-hero-20261007 .nl-hero__button--secondary {
  background-color: #fffffff0 !important;
  color: var(--nl-text, #081722) !important;
}
#nl-hero-20261007 .nl-hero__button > span:first-child {
  color: inherit;
}
#nl-hero-20261007 .nl-hero__button .nl-hero__arrow {
  transition: transform 180ms ease;
}
#nl-hero-20261007 .nl-hero__button:focus-visible {
  outline: 3px solid #172b39;
  outline-offset: 4px;
}
/* Touch browsers keep readable colors even when they retain :hover. */
@media (hover: hover) and (pointer: fine) {
  #nl-hero-20261007 .nl-hero__button:hover {
    transform: translateY(-3px);
    box-shadow: 0 9px 22px #129fb838;
  }
  #nl-hero-20261007 .nl-hero__button--primary:hover {
    background-color: #129fb8 !important;
    border-color: #129fb8;
  }
  #nl-hero-20261007 .nl-hero__button--secondary:hover {
    background-color: #e4f8fc !important;
    border-color: #38bddd;
  }
  #nl-hero-20261007 .nl-hero__button:hover .nl-hero__arrow {
    transform: translateX(4px);
  }
}
#nl-hero-20261007 .nl-hero__button:active {
  transform: translateY(1px) scale(.98);
  box-shadow: 0 2px 5px #08172226;
  transition-duration: 70ms;
}
#nl-hero-20261007 .nl-hero__button--primary:active {
  background-color: #0e879f !important;
  border-color: #0e879f;
}
#nl-hero-20261007 .nl-hero__button--secondary:active {
  background-color: #c9eff7 !important;
  border-color: #129fb8;
}
#nl-hero-20261007 .nl-hero__button:active .nl-hero__arrow {
  transform: translateX(2px);
}
@media (prefers-reduced-motion: reduce) {
  #nl-hero-20261007 .nl-hero__button,
  #nl-hero-20261007 .nl-hero__button .nl-hero__arrow {
    transition: none;
    transform: none !important;
  }
}
