/* Larger text for the areas marked in pig-1, pig-2, and pig-3. */
.ticker span { font-size: 1.125rem; }
.section-nav a, .mobile-header-nav a { font-size: 1rem; min-height: 44px; line-height: 1.35; }
.section-kicker { font-size: 1rem; line-height: 1.5; letter-spacing: .1em; }
.split-intro > p:last-child, .subfeature-copy > p:last-child { font-size: 1.25rem; line-height: 1.65; }
.search-path-grid span { font-size: 1rem; line-height: 1.5; letter-spacing: .08em; }
.search-path-grid h3 { font-size: clamp(2rem, 3.5vw, 3rem); line-height: 1.12; }
.search-path-grid p { font-size: 1.25rem; line-height: 1.6; }
.rating-card { gap: 24px; }
.rating-card span { font-size: 1.125rem; line-height: 1.4; max-width: none; }
@media (max-width: 620px) {
  /* Keep shortcut menus on a single swipeable row. */
  .section-nav { flex-wrap: nowrap; overflow-x: auto; gap: 9px; }
  .section-nav a { padding: 9px 14px; }
  .rating-card { min-height: 155px; }
}

/* Additional text marked in IMG_9570 and IMG_9571. */
.screenshot-card p { font-size: 1.25rem; line-height: 1.6; }
.hero .eyebrow { font-size: 1rem; line-height: 1.5; }
.hero .hero-lede { font-size: clamp(1.25rem, 1.8vw, 1.5rem); line-height: 1.65; }
.hero .hero-lede .hero-price-highlight { color: #ff2020; font-size: 2em; font-weight: 900; line-height: 1; white-space: nowrap; }
.site-header .header-cta { font-size: 1rem; min-height: 44px; }

/* All repeated shortcut menus behave like the mobile header menu. */
.section-nav, .mobile-header-nav {
  min-width: 0;
  max-width: 100%;
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-inline: contain;
  scrollbar-width: none;
  scroll-snap-type: x proximity;
  scroll-padding-inline: 4px;
}
.section-nav::-webkit-scrollbar, .mobile-header-nav::-webkit-scrollbar { display: none; }
.section-nav a, .mobile-header-nav a {
  flex: 0 0 auto;
  white-space: nowrap;
  scroll-snap-align: start;
}
@media (max-width: 620px) {
  .site-header .header-cta { font-size: 1rem; padding: 9px 8px; }
  .site-header { min-height: 136px; }
}
@media (max-width: 380px) {
  .site-header .header-cta { padding-inline: 9px; }
}

/* Emphasize affordable prices and available chart history. */
.pny-text-highlight { color: #e00000; font-size: 1.45em; font-weight: 900; line-height: 1.25; }

/* Annotated search controls inside their matching colored cards. */
.search-path-grid article > div { min-width: 0; }
.search-path-grid .search-location-image { display: block; width: 100%; max-width: 420px; height: auto; margin: 24px auto 0; border: 2px solid var(--ink); border-radius: 16px; }

/* Official PennyGems app logo supplied by the owner. */
.brand .brand-mark { display: block; flex: 0 0 48px; width: 48px; height: 48px; padding: 0; border-radius: 10px; background: url("./pennygems-logo.png") center / contain no-repeat; }

/* Final download section: phone left, larger download cards right. */
.closing { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 48px; }
.closing > div { grid-column: 2; grid-row: 1; min-width: 0; }
.closing .closing-phone { grid-column: 1; grid-row: 1; width: min(90%, 420px); }
.closing .store-links { max-width: 584px; grid-template-columns: repeat(2, minmax(0, 240px)); gap: 80px; }
.closing .store-links a::after { min-height: 52px; font-size: 22px; }
@media (min-width: 701px) and (max-width: 1100px) {
  .closing .store-links { grid-template-columns: minmax(0, 240px); gap: 64px; justify-content: end; }
}
@media (max-width: 700px) {
  .closing { grid-template-columns: minmax(0, 1fr) minmax(180px, 1.25fr); gap: 24px 20px; min-height: 0; padding-block: 64px; }
  .closing > div { display: contents; }
  .closing .section-kicker, .closing h2, .closing > div > p { grid-column: 1 / -1; margin-block: 0; }
  .closing .closing-phone { grid-column: 1; grid-row: 4; width: 100%; margin: 0; align-self: center; transform: none; }
  .closing .store-links { grid-column: 2; grid-row: 4; grid-template-columns: minmax(0, 240px); gap: 64px; max-width: 240px; justify-self: end; }
}
