/* Timberline shared iPhone reading layer. */
@media (max-width: 760px) {
  html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    scroll-padding-top: 4rem;
  }

  body {
    min-width: 0;
    font-size: 17px;
  }

  main, header, footer, nav, section, article, div {
    min-width: 0;
  }

  h1, h2, h3 {
    overflow-wrap: anywhere;
    text-wrap: balance;
  }

  p, li {
    text-wrap: pretty;
  }

  img, picture, video, svg {
    max-width: 100%;
    height: auto;
  }

  :is(.eyebrow, .kicker, .overline, .section-number, .section-label,
      .story-label, .label, .case, .novel-status, .release, .status,
      .series, .book-kind, .launch-subtitle) {
    font-size: 13px !important;
    line-height: 1.45 !important;
    letter-spacing: min(.14em, 1.5px) !important;
  }

  :is(.bio, .novel-copy, .book-copy, .story-copy, .feature-teaser,
      .intro, .lede, .deck) {
    font-size: 17px !important;
    line-height: 1.6 !important;
  }

  :is(a.button, a.action, a.cta, button.button, button.action,
      button.menu-toggle, button.nav-toggle, a.section-link, a.nav-link) {
    min-width: 44px;
    min-height: 48px;
    font-size: 13px !important;
    line-height: 1.25 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  header :is(a, button), footer a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }

  footer a {
    min-width: 44px !important;
  }

  :is(a.text-link, .link-row a, .book-card h3 a, .shelf-card h2 a,
      a.email, a.email-link, details summary, details a) {
    min-height: 44px !important;
    display: inline-flex;
    align-items: center;
  }

  :is(details summary, details a) {
    font-size: 14px !important;
    line-height: 1.4 !important;
  }

  :is(a.cover-frame, a.mini-cover, a.actual-cover, .book-card > a,
      .shelf-card > a):has(img) {
    min-height: 44px !important;
    display: block;
  }

  :is(a.tf-social-icon, a.footer-social-icon) {
    width: 52px !important;
    height: 44px !important;
    min-width: 52px !important;
    min-height: 44px !important;
    flex: 0 0 52px !important;
  }

  :is(a.social, a.publisher) {
    min-width: 44px !important;
    min-height: 44px !important;
    flex-shrink: 0 !important;
  }

  :is(.not-found p > a, .journal-meta a, .journal-card-meta a,
      .essay-sources a, .journal-book-link a, a.text-button, button.text-button,
      .contact-list a, a[href^="mailto:"]) {
    min-height: 44px !important;
    display: inline-flex;
    align-items: center;
  }

  main.panel > a {
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center;
  }

  footer nav.footer-socials a.footer-social-icon {
    width: 52px !important;
    min-width: 52px !important;
    max-width: none !important;
    padding-inline: 7px !important;
    flex: 0 0 52px !important;
  }

  :is(a.publisher-home-link, a.skip) {
    min-width: 44px !important;
    min-height: 44px !important;
  }

  header nav a {
    min-width: 44px !important;
    padding-inline: 4px !important;
  }

  .author-standard-footer {
    font-size: 14px !important;
    line-height: 1.5 !important;
  }

  .author-standard-footer :is(.asf-name, .asf-publisher, .asf-links a) {
    min-height: 44px !important;
  }

  .author-standard-footer .asf-social {
    display: inline-grid !important;
    place-items: center !important;
  }

  input, select, textarea {
    font-size: 16px !important;
    min-height: 44px !important;
  }

  button.primary, button.menu-close {
    min-width: 44px !important;
    min-height: 44px !important;
  }
}

@media (max-width: 380px) {
  body {
    font-size: 16px;
  }

  :is(a.button, a.action, a.cta, button.button, button.action,
      button.menu-toggle, button.nav-toggle) {
    width: 100%;
  }

  .naoki-final-header {
    flex-wrap: wrap !important;
  }

  .naoki-final-date {
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    text-align: center !important;
  }
}

@media (max-width: 760px) and (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

@media (max-width: 380px) {
  .site-header {
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: start !important;
    gap: 10px !important;
    padding: 18px !important;
  }
  .site-header nav {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 6px 12px !important;
  }
  .hero-copy {
    padding-top: 150px !important;
  }
}
