body { margin:0; background:var(--neo-color-bg); font-family:var(--neo-font-body); color:var(--neo-color-text); -webkit-font-smoothing:antialiased; }
  a { color:var(--neo-color-accent); text-decoration:none; }
  a:hover { color:var(--neo-color-accent-hover); }
  details > summary { list-style:none; cursor:pointer; outline-offset:2px; }
  details > summary::-webkit-details-marker { display:none; }
  details[open] [data-chev] { transform:rotate(180deg); }
  [data-rail]::-webkit-scrollbar { display:none; }
  [data-rail] { scrollbar-width:none; }
  [data-mob-btn] { display:none; }
  @media (max-width:1130px) {
    [data-nav-links] { display:none !important; }
    [data-nav-signin] { display:none !important; }
    [data-mob-btn] { display:flex !important; }
    [data-nav-bar] { padding:14px 20px !important; }
  }
  @media (max-width:1024px) {
    .wrapx { padding-left:28px !important; padding-right:28px !important; }
    .gcol { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
    .g2 { grid-template-columns:minmax(0,1fr) !important; }
    .g3 { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
    .g4 { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
    .tier3 { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
    .fs-a { font-size:44px !important; }
    .fs-b { font-size:32px !important; }
  }
  @media (max-width:760px) {
    .wrapx { padding-left:20px !important; padding-right:20px !important; }
    .gcol { grid-template-columns:minmax(0,1fr) !important; gap:20px !important; }
    .g2, .g3, .g4, .tier3 { grid-template-columns:minmax(0,1fr) !important; gap:14px !important; }
    .frow { flex-direction:column !important; align-items:flex-start !important; gap:22px !important; }
    .frow > * { min-width:0; max-width:100%; }
    .fs-a { font-size:34px !important; line-height:1.15 !important; }
    .fs-b { font-size:27px !important; line-height:1.2 !important; }
    .ctas { align-items:stretch !important; }
    .ctas > a { justify-content:center !important; }
    .hidesm { display:none !important; }
  }

/* The jump bar scrolls sideways rather than wrapping to three rows on narrow desktops. */
@media (max-width: 1024px) {
  [data-jump-bar] {
    flex-wrap: nowrap !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  [data-jump-bar] > a {
    flex: none;
  }
}

/* The FAQ is two hand-balanced columns; one column once there is no room for two. */
@media (max-width: 900px) {
  [data-faq-grid] {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* The site's green focus ring instead of the browser's blue one */
#faq details > summary:focus,
#m-faq details > summary:focus {
  outline: none;
}

#faq details > summary:focus-visible,
#m-faq details > summary:focus-visible {
  outline: 2px solid var(--neo-color-accent);
  outline-offset: 2px;
  border-radius: 10px;
}

/* Tier cards keep their own height when the grid drops to two columns. */
@media (max-width: 1024px) and (min-width: 761px) {
  .tier3 > *:last-child {
    grid-column: 1 / -1;
  }
}
