/*! gr-fix.css: Greenridge fleet-wide mobile polish layer.
 * Loaded at the end of <head>, after each page's inline <style>, so equal-
 * specificity rules win the cascade. Rules are surgical and mostly mobile-
 * scoped. Oct 2026 mobile pass. */

/* iOS: suppress the grey tap-flash on interactive elements. Brand :active /
   :hover states still provide feedback. */
a, button, summary, label, [role="button"], .btn, .mbtn, .thm {
  -webkit-tap-highlight-color: transparent;
}

/* In-page anchors must clear the fixed/sticky header when jumped to.
   :where() keeps specificity at 0 so any page-specific value still wins. */
:where([id]) { scroll-margin-top: 84px; }

/* Defensive responsive-media reset (prevents any future image from forcing
   horizontal scroll). Type selectors, so any class-based sizing still wins. */
img, video { max-width: 100%; height: auto; }

@media (max-width: 760px) {
  /* Footer column links: real >=44px tap rows instead of ~18-26px text. */
  .fcol a {
    min-height: 44px;
    display: flex;
    align-items: center;
    padding: 3px 0;
    margin-bottom: 2px;
    font-size: 15px;
  }

  /* Legal / inline footer link rows: comfortable tap targets and a little
     more breathing room between wrapped rows. */
  .fleg-links a, .flinks a, .fleg a, .ft-leg-links a {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 3px 2px;
  }
  .fleg-links, .flinks { row-gap: 2px; }

  /* Footer social icons up to a 44px hit area. */
  .fsocial a, .ft-social a {
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  /* All button-style CTAs comfortably tappable on phones. */
  .btn { min-height: 44px; }

  /* Delta Brokers footer SEO link blocks: give wrapped city/industry links a
     little tap height and spacing instead of a dense run. */
  .fseo-col a { display: inline-block; padding: 6px 0; margin-right: 16px; }

  /* Long tracked kickers wrap gracefully instead of crowding the edge. */
  .kick { flex-wrap: wrap; }
}

/* Make whole "explore" cards tappable, not just the small link (opt-in via the
   .xplore class on the card grid). */
.xplore .cell { position: relative; }
.xplore .cell .go::after { content: ""; position: absolute; inset: 0; z-index: 1; }

/* On the smallest phones, let the signature display headline ease below its
   ~2.8rem clamp floor so long headings stop locking oversized and wrapping
   awkwardly. Still large and impactful (~38px); desktop cap unchanged. */
@media (max-width: 420px) {
  .display { font-size: clamp(2.4rem, 9vw, 6rem); }
}

/* Flagship hero stat row: tighter spacing so the three stats sit cleanly
   instead of the last one wrapping under a divider. */
@media (max-width: 560px) {
  .hero-read .c { padding-right: 16px; margin-right: 16px; }
}

/* Edge-to-edge on notched phones (paired with viewport-fit=cover in the meta):
   drop the fixed nav below the status bar / notch, and inset the nav + content
   from a side notch in landscape. The nav element carries no padding of its own,
   and env() is 0 on devices without a notch, so this is a no-op everywhere else. */
@supports (top: env(safe-area-inset-top)) {
  header.nav { padding-top: env(safe-area-inset-top); }
  @media (orientation: landscape) {
    body { padding-left: env(safe-area-inset-left); padding-right: env(safe-area-inset-right); }
    header.nav { padding-left: env(safe-area-inset-left); padding-right: env(safe-area-inset-right); }
  }
}

/* First-visit-per-session brand intro: hide the splash on repeat views this session. */
html.gri-seen .gr-intro{display:none!important}
