/* Pre-launch responsive and accessibility hardening. */
html,
body {
  max-width: 100%;
  overflow-x: clip;
}

.site-shell,
.header-row,
.hero-content,
.hero-copy,
.article-hero .site-shell,
.article-wrap,
.section-head,
.story-copy,
.editorial-copy,
.date-copy {
  min-width: 0;
}

h1,
h2,
h3,
p,
li,
a {
  overflow-wrap: break-word;
}

.hero h1,
.hero h2,
.article-hero h1,
.blog-hero h1,
.section-title {
  max-width: 100%;
}

.hero h2.hero-title {
  margin: 0 0 24px;
  font: clamp(50px, 5.4vw, 72px)/1.02 Georgia, serif;
  letter-spacing: -1.2px;
}

.hero h2.hero-title span {
  color: var(--gold, #d0aa68);
}

@media (max-width: 767px) {
  .site-shell {
    width: calc(100% - 28px) !important;
    max-width: calc(100% - 28px) !important;
  }

  .header-row {
    gap: 8px !important;
  }

  .brand {
    min-width: 0;
  }

  .brand-copy {
    min-width: 0;
    white-space: nowrap;
    font-size: 13px !important;
  }

  .brand-copy small {
    display: none !important;
  }

  .main-nav {
    flex: 0 0 auto;
    gap: 0 !important;
  }

  .main-nav > a:not(.header-cta) {
    display: none !important;
  }

  .header-cta {
    display: inline-flex !important;
    margin-left: 0 !important;
    padding: 8px 10px !important;
    white-space: nowrap;
    font-size: 11px !important;
  }

  .hero h1,
  .hero h2.hero-title,
  .article-hero h1,
  .blog-hero h1 {
    font-size: clamp(32px, 9.5vw, 40px) !important;
    line-height: 1.07 !important;
    letter-spacing: -.4px !important;
  }

  .hero-copy,
  .article-hero .dek,
  .blog-hero p {
    max-width: 100% !important;
    font-size: 16px !important;
  }

  .hero-actions,
  .hero .btn,
  .hero .btn-main {
    max-width: 100%;
  }

  .hero-actions .btn {
    width: 100%;
  }

  .article-hero .hero-image,
  .blog-hero .hero-visual,
  .blog-hero .hero-image {
    max-width: 100%;
  }
}

@media (max-width: 380px) {
  .brand-copy {
    font-size: 12px !important;
  }

  .header-cta {
    padding-right: 8px !important;
    padding-left: 8px !important;
    font-size: 10px !important;
  }
}
