@media (max-width: 1020px) {
  .tpls-header-inner { min-height: 88px; }
  .tpls-menu-toggle { display: block; }
  .tpls-primary-nav {
    display: none; position: absolute; top: 100%; left: 20px; right: 20px; background: var(--tpls-offwhite);
    border: 3px solid var(--tpls-ink); border-radius: 12px; padding: 1.25rem; box-shadow: 7px 7px 0 var(--tpls-blue);
  }
  .tpls-primary-nav.is-open { display: grid; }
  .tpls-nav-list { display: grid; gap: 1rem; }
  .tpls-search-toggle { justify-self: start; }
  .tpls-primary-nav .tpls-button { margin-top: 1rem; }
  .tpls-card-grid { grid-template-columns: 1fr 1fr; }
  .tpls-archive-grid { grid-template-columns: 1fr 1fr; }
  .tpls-archive-card-featured { grid-column: 1 / -1; }
  .tpls-values { grid-template-columns: 1fr 1fr; gap: 1rem; }
  .tpls-value, .tpls-value:first-child { border: 0; text-align: center; padding: 1rem; }
  .tpls-value:first-child { grid-column: 1 / -1; }
  .tpls-footer-grid { grid-template-columns: 1.2fr 1.2fr repeat(2, 1fr); }
  .tpls-newsletter-grid {
    grid-template-columns: .8fr 1.2fr;
    grid-template-areas:
      "title form"
      "bot form";
    row-gap: .75rem;
  }
  .tpls-mailbot-peek { --tpls-mailbot-size: clamp(245px, 36vw, 300px); }
  .tpls-story-grid { grid-template-columns: 1fr 1fr; }
  .tpls-story-grid > :last-child { grid-column: 1 / -1; }
  .tpls-team-grid { grid-template-columns: repeat(3, 1fr); }
  .tpls-post-endcap-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .tpls-container { width: min(100% - 28px, 620px); }
  .tpls-brand-copy strong { font-size: .95rem; }
  .tpls-header-inner { min-height: 76px; }
  .tpls-hero, .tpls-page-hero { padding-top: 2.5rem; min-height: 0; }
  .tpls-hero-grid { grid-template-columns: 1fr; }
  .tpls-hero-copy { text-align: center; }
  .tpls-brush-title,
  .tpls-page-hero .tpls-brush-title,
  .tpls-post-hero-copy .tpls-brush-title,
  .tpls-archive-hero .tpls-brush-title { font-size: clamp(3.8rem, 18vw, 6rem); }
  .tpls-hero-copy > p { margin-inline: auto; }
  .tpls-button-row { justify-content: center; }
  .tpls-hero-art, .tpls-page-hero .tpls-hero-art { min-height: 430px; margin-top: 3rem; }
  .tpls-hero-mascot-sprite, .tpls-hero-bot-sprite { height: var(--tpls-hero-mascot-height-mobile, clamp(340px, 70vw, 430px)); max-width: min(96%, 520px); }
  .tpls-mascot-callout { right: 2%; font-size: 1rem; }
  .tpls-doodle-star { left: 3%; top: 46%; }
  .tpls-doodle-bolt { right: 3%; top: 67%; }
  .tpls-doodle-heart { right: 5%; top: 39%; font-size: 2.35rem; }
  .tpls-doodle-crown { left: 33%; right: auto; top: -12%; font-size: 3.5rem; }
  .tpls-section-heading { align-items: flex-start; flex-direction: column; }
  .tpls-card-grid { grid-template-columns: 1fr; }
  .tpls-archive-grid, .tpls-archive-card-featured { grid-template-columns: 1fr; }
  .tpls-archive-card-featured .tpls-archive-card-media,
  .tpls-archive-card-featured .tpls-archive-card-media img { min-height: 240px; }
  .tpls-archive-hero-inner { text-align: center; }
  .tpls-archive-intro, .tpls-archive-intro p { margin-inline: auto; }
  .tpls-experience-card { display: grid; grid-template-columns: 1fr 1fr; }
  .tpls-card-media { aspect-ratio: auto; height: 100%; min-height: 220px; }
  .tpls-values { grid-template-columns: 1fr; }
  .tpls-value:first-child { grid-column: auto; }
  .tpls-value { border-top: 1px dashed rgba(7,20,38,.3); }
  .tpls-newsletter-grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "title"
      "form"
      "bot";
    gap: 1.2rem;
    text-align: center;
  }
  .tpls-mailbot-peek { --tpls-mailbot-size: min(320px, 84vw); }
  .tpls-newsletter-band h2 { margin-inline: auto; }
  .tpls-footer-grid { grid-template-columns: 1fr 1fr; }
  .tpls-story-grid, .tpls-contact-layout, .tpls-roles-layout, .tpls-legal-shell, .tpls-post-hero-grid, .tpls-post-shell, .tpls-comments-shell { grid-template-columns: 1fr; }
  .tpls-comments-shell > [aria-hidden="true"] { display: none; }
  .tpls-error-grid { grid-template-columns: 1fr; }
  .tpls-legal-sidebar, .tpls-post-sidebar { position: static; transform: none; }
  .tpls-post-hero-copy { text-align: center; }
  .tpls-search-form { margin-inline: auto; }
  .tpls-search-summary { margin-inline: auto; }
  .tpls-post-meta, .tpls-post-hero-copy .tpls-button-row { justify-content: center; }
  .tpls-post-hero-copy > p { margin-inline: auto; }
  .tpls-post-featured-image, .tpls-post-featured-placeholder { transform: rotate(0deg); }
  .tpls-story-grid > :last-child { grid-column: auto; }
  .tpls-team-grid { grid-template-columns: 1fr 1fr; }
  .tpls-contact-cards { grid-template-columns: 1fr; }
  .tpls-coming-soon-card { grid-template-columns: 1fr; text-align: left; }
  .tpls-coming-soon-card .tpls-card-media { min-height: 260px; }
}

@media (max-width: 460px) {
  .tpls-experience-card { display: block; }
  .tpls-archive-card { transform: none; }
  .tpls-archive-card:nth-child(even) { transform: none; }
  .tpls-coming-soon-card { text-align: center; }
  .tpls-card-media { min-height: 0; aspect-ratio: 4/3; }
  .tpls-coming-soon-card .tpls-card-media { min-height: 0; aspect-ratio: 4/3; }
  .tpls-button-row { display: grid; }
  .tpls-hero-art, .tpls-page-hero .tpls-hero-art { min-height: 360px; }
  .tpls-hero-mascot-sprite, .tpls-hero-bot-sprite { height: var(--tpls-hero-mascot-height-small, clamp(300px, 78vw, 360px)); }
  .tpls-newsletter-form, .tpls-newsletter-shortcode-form form { display: grid; }
  .tpls-newsletter-form button { border-left: 0; border-top: 3px solid var(--tpls-ink); min-height: 52px; }
  .tpls-search-panel { padding-top: 5rem; }
  .tpls-search-panel-card { transform: none; }
  .tpls-search-panel.is-open .tpls-search-panel-card { transform: none; }
  .tpls-search-panel-form { display: grid; }
  .tpls-search-panel-form button { min-height: 52px; border-left: 0; border-top: 3px solid var(--tpls-ink); }
  .tpls-search-form { display: grid; transform: none; }
  .tpls-search-form button { min-height: 52px; border-left: 0; border-top: 3px solid var(--tpls-ink); }
  .tpls-footer-grid, .tpls-team-grid, .tpls-form-grid { grid-template-columns: 1fr; }
  .tpls-post-nav { grid-template-columns: 1fr; }
  .tpls-post-nav div,
  .tpls-post-nav div:last-child { text-align: center; }
  .tpls-field-full { grid-column: auto; }
  .tpls-footer-grid { text-align: center; }
  .tpls-socials { justify-content: center; }
}
