/* Shared layout safeguards for the primary site and editorial guides. */
html,
body {
  max-width: 100%;
  overflow-x: clip;
}

img,
svg,
video,
iframe {
  max-width: 100%;
}

.hero-inner > *,
.feat-grid > *,
.hours-inner > *,
.quote-grid > *,
.buy-grid > *,
.story-grid > *,
.grid > *,
.market-box > *,
.fgrid > * {
  min-width: 0;
}

.home-page .hero-line--single {
  white-space: nowrap;
}

.home-page .hero-line--location {
  font-size: 0.72em;
  font-weight: 700;
  letter-spacing: 0.01em;
  margin-top: 0.08em;
}

.fbrand p,
.fcol a,
.foot,
.lead,
.answer,
.question,
.fact,
.step {
  overflow-wrap: anywhere;
}

@media (min-width: 1025px) {
  .nw {
    flex-wrap: nowrap;
  }

  .ticker {
    margin-inline: auto;
  }

  .nr {
    flex-wrap: nowrap;
  }
}

@media (min-width: 1025px) and (max-width: 1180px) {
  .nw {
    gap: 10px;
    padding-inline: 16px;
  }

  .nr {
    gap: 6px;
  }

  .ticker {
    gap: 10px;
  }

  .nb,
  .lang-pill,
  .menu > summary {
    padding-inline: 10px;
  }

  .nb .lbl-full {
    display: none;
  }

  .nb .lbl-min {
    display: inline;
  }
}

@media (max-width: 600px) {
  .home-page .nr .nb {
    display: none;
  }

  .hero h1,
  .hero-line--wide {
    white-space: normal;
    text-wrap: balance;
  }

  .hero h1 {
    font-size: clamp(1.55rem, 7.5vw, 1.9rem);
  }

  .home-page .hero h1 .hero-line:first-child {
    font-size: 1.08em;
    line-height: 1.12;
  }

  .home-page .hero h1 .hero-line:last-child {
    font-size: 0.72em;
    line-height: 1.35;
  }

  .hero-badge,
  .hero-sub,
  .phead p,
  .cband p {
    max-width: 100%;
  }

  .hero-ctas > *,
  .phead-ctas > *,
  .buttons > * {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .fgrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 18px;
  }

  .fbrand,
  .fcol:last-child {
    grid-column: 1 / -1;
  }

  .fcol:last-child ul {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
  }

  .fcol:last-child ul li {
    margin: 0;
  }

  .rbgs {
    flex-wrap: wrap;
  }

  .rbg {
    white-space: normal;
  }

  header .nav {
    gap: 12px;
  }

  header .brand img {
    width: 142px;
  }

  .toc-inner {
    padding: 18px;
  }

  .formula,
  .steps,
  .facts,
  .faq {
    min-width: 0;
  }

  .table {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .cta .buttons {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .cta .btn {
    width: 100%;
    text-align: center;
  }

  .foot {
    justify-content: center;
    text-align: center;
  }
}

@media (max-width: 380px) {
  .hero h1 {
    font-size: clamp(1.42rem, 8vw, 1.72rem);
  }

  .fgrid {
    grid-template-columns: 1fr;
  }

  .fbrand,
  .fcol:last-child {
    grid-column: auto;
  }
}

@supports not (overflow: clip) {
  html,
  body {
    overflow-x: hidden;
  }
}
