
/* Desktop guarantee: the mobile break cannot create gaps */
  display: none !important;
  height: 0 !important;
  line-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* Minimal mobile refinements without altering layout/content/design */
img { max-width: 100%; height: auto; }

/* Let form fields shrink gracefully on narrow screens */
input, select, textarea { max-width: 100%; }

/* Older/narrow devices support */
@media (max-width: 360px) {
  input, select, textarea { min-width: 0 !important; width: 100% !important; }
  /* Improve tap target size without changing layout for larger screens */
  button, .btn, a.button { min-height: 44px; }
  nav a, .nav a, a[role="button"] { min-height: 44px; display: inline-flex; align-items: center; }
}

/* Accessibility: visible focus ring for keyboard users */
:focus-visible { outline: 2px solid #555; outline-offset: 2px; }

/* Respect users who prefer reduced motion */

}

/* Mobile-only inline press sheet preview (scrollable) */
@media (max-width: 600px) {
  #press .press-preview-mobile { display: block; margin-top: 12px; }
  #press .press-iframe { width: 100%; height: 70vh; border: 0; }
}
@media (min-width: 601px) {
  #press .press-preview-mobile { display: none; }
}


  .landing .hero-title .hero-line {
    display: block !important;
    white-space: normal !important; /* prevent awkward mid-word breaks */
    word-break: normal !important;
    hyphens: manual !important;
  }
  .landing .hero-title .hero-line-1 { margin-bottom: 2px; }
  /* Prevent funny word cuts anywhere in hero */
  .landing h1, .landing h2, .landing .tagline {
    overflow-wrap: normal !important;
  }
}



  .landing .hero-title .hero-line {
    display: block !important;
    white-space: normal !important;
    word-break: normal !important;
    hyphens: manual !important;
  }
  .landing .hero-title .hero-line-1 { margin-bottom: 2px; }
  .landing h1, .landing h2, .landing .tagline {
    overflow-wrap: normal !important;
  }
}

@media (max-width: 640px) {
  .landing .card {
    margin: 40px auto !important;   /* preserve top spacing, center horizontally */
    text-align: center !important;
  }
  .landing .hero-title {
    letter-spacing: 1.2px !important;
    line-height: 1.05 !important;
    font-size: 2.2rem !important;
  }
  .landing .hero-title .hero-line {
    display: block !important;
    white-space: normal !important;
    word-break: normal !important;
    hyphens: manual !important;
  }
  .landing .hero-title .hero-line-1 { margin-bottom: 2px; }
  .landing h1, .landing h2, .landing .tagline {
    overflow-wrap: normal !important;
  }
}

/* === Refined Mobile Fixes (2025-09-01) === */
@media (max-width: 640px) {
  .landing .card {
    margin: 40px auto !important;
    text-align: center !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .landing .hero-title {
    width: 100%;
    text-align: center !important;
    margin: 0 auto !important;
  }
  .landing .hero-title .hero-line {
    display: block !important;
    white-space: normal !important;
    word-break: keep-all !important;
  }
  .landing .card div[style*="font-size:1rem"] {
    text-align: center !important;
    width: 100%;
  }

  /* Fix hamburger menu alignment */
  nav ul, .nav ul, .menu ul {
    padding-left: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }
  nav ul li, .nav ul li, .menu ul li {
    display: block !important;
    text-align: center !important;
  }
}

/* === Mobile polish: center hero + menu (2025-09-01-b) === */
@media (max-width: 640px) {
  /* Ensure the landing card and inner hero are visually centered */
  .landing .card { margin: 40px auto !important; text-align: center !important; }
  .landing .hero-title { display: inline-block !important; margin: 0 auto !important; text-align: center !important; }
  .landing .hero-title .hero-line { display:block !important; white-space: normal !important; }
  /* Center the "A Novel by..." byline */
  .landing .card > div[style*="A Novel by"], .landing .byline {
    display: block !important;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Hamburger menu: align all items uniformly, including Press Kit */
  #site-nav ul { padding-left: 0 !important; margin: 0 auto !important; text-align:center !important; }
  #site-nav ul li { display:block !important; }
  #site-nav a { display:block !important; text-align:center !important; padding: 12px 16px !important; }
  /* Override any inline flex on the Press Kit link */
  #site-nav a[style*="display: flex"] { display:block !important; align-items: initial !important; justify-content: initial !important; }
}

/* === Mobile title edge safety (2025-09-01-c) === */
@media (max-width: 640px) {
  /* Add a bit more inner breathing room so the letters don't touch the edge */
  .landing .card {
    padding-left: 30px !important;
    padding-right: 30px !important;
  }
  /* Slightly smaller title and reduced tracking to keep glyphs away from the "cliff" */
  .landing .hero-title {
    font-size: 2.0rem !important;
    letter-spacing: 0.8px !important;
  }
}

/* === Mobile fixes bundle (2025-09-01-d) === */
@media (max-width: 820px) {
  /* Keep landing card centered and add breathing room */
  .landing .card {
    margin: 40px auto !important;
    padding-left: 30px !important;
    padding-right: 30px !important;
    text-align: center !important;
  }
  /* Title adjustments */
  .landing .hero-title {
    display: inline-block !important;
    margin: 0 auto !important;
    text-align: center !important;
    font-size: 2.0rem !important;
    letter-spacing: 0.8px !important;
    line-height: 1.1 !important;
  }
  .landing .hero-title .hero-line {
    display: block !important;
    white-space: normal !important;
    word-break: keep-all !important;
  }
  /* Center the byline under the title */
  .landing .card > div[style*="A Novel by"], .landing .byline {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
  }
  /* Hamburger nav uniformity */
  #site-nav ul { padding-left: 0 !important; margin: 0 auto !important; text-align: center !important; }
  #site-nav ul li { display: block !important; }
  #site-nav a { display: block !important; text-align: center !important; padding: 12px 16px !important; }
  #site-nav li+li a { border-top: 1px solid rgba(255,255,255,.12) !important; }
  /* Reset inline flex for Press Kit */
  #site-nav a[style*="display: flex"] {
    display: block !important;
    align-items: initial !important;
    justify-content: initial !important;
    text-align: center !important;
  }
}
/* Ensure fragments ticker always scrolls */
#fragments-ticker {
  animation: scroll-left 28s linear infinite !important;
}

}

/* === Mobile (≤820px) layout fixes for landing + menu + ticker (2025-09-01) === */
@media (max-width: 820px) {
  /* Landing card centered with safe inner margins */
  .landing .card { 
    margin: 40px auto !important; 
    text-align: center !important; 
    padding-left: 30px !important; 
    padding-right: 30px !important; 
  }

  /* Title: always stack as two lines and center */
  .landing .hero-title { 
    display: inline-block !important; 
    margin: 0 auto !important; 
    text-align: center !important; 
    font-size: 2.0rem !important; 
    letter-spacing: 0.8px !important; 
    line-height: 1.08 !important;
  }
  .landing .hero-title .hero-line { 
    display: block !important; 
    white-space: normal !important;  /* keep exact words per line */
    word-break: normal !important; 
    hyphens: manual !important; 
  }
  .landing .hero-title .hero-line-1 { margin-bottom: 2px; }

  /* Byline: ensure perfect centering even with inline styles */
  .landing .card > div[style*="A Novel by"], 
  .landing .byline {
    display: block !important;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Hamburger menu: normalize all items including Press Kit */
  #site-nav ul { 
    padding-left: 0 !important; 
    margin: 0 auto !important; 
    text-align: center !important; 
  }
  #site-nav ul li { width: 100% !important; }
  #site-nav a { 
    display: block !important; 
    text-align: center !important; 
    padding: 12px 16px !important; 
    border-top: 1px solid rgba(255,255,255,.12) !important;
  }
  /* Override any inline flex on specific links (e.g., Press Kit) */
  #site-nav a[style] { 
    display: block !important; 
    align-items: initial !important; 
    justify-content: initial !important; 
    text-align: center !important; 
    padding: 12px 16px !important; 
  }
}

/* Accessibility: keep most motion reduced, but allow ticker to animate */
@media (prefers-reduced-motion: reduce) {
  /* Do not disable the fragments ticker */
  #fragments-ticker { animation-duration: 28s !important; animation-name: scroll-left !important; animation-iteration-count: infinite !important; animation-timing-function: linear !important; }
}

/* Normalize nav link margins */
@media (max-width: 820px) {
  #site-nav a {
    margin: 0 !important;
    text-indent: 0 !important;
  }
  #site-nav li { margin: 0 !important; padding: 0 !important; }
}

/* Mobile-only forced line break between title spans */
@media (max-width: 820px) {
}

/* Final mobile nav normalization */
@media (max-width: 820px) {
  #site-nav ul { padding-left: 0 !important; margin: 0 auto !important; text-align: center !important; }
  #site-nav li { width: 100% !important; margin: 0 !important; padding: 0 !important; }
  #site-nav a { display: block !important; text-align: center !important; padding: 12px 16px !important; border-top: 1px solid rgba(255,255,255,.12) !important; margin: 0 !important; text-indent: 0 !important; }
}


@media (max-width: 820px){
    display: block !important;
    height: 0 !important;
    line-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }
}
/* Clean mobile-only line break for title */
.mobile-line-break { display: none !important; }
@media (max-width: 820px) {
  .mobile-line-break { display: block !important; height: 0; line-height: 0; }
}

/* === Desktop title merge (≥821px): remove gap, single line === */
@media (min-width: 821px) {
  .landing .hero-title .hero-line { 
    display: inline !important; 
    white-space: normal !important; 
    margin: 0 !important; 
    padding: 0 !important;
  }
  .landing .hero-title .hero-line-1::after {
    content: " ";
  }
  .mobile-line-break { display: none !important; height: 0 !important; line-height: 0 !important; }
}

/* Hide stray press preview block on mobile */
@media (max-width: 767px){ .press-preview-mobile{ display:none !important; } }
