/* Mobile-only reading and navigation refinements; desktop layouts remain unchanged. */
.home-sections-link { display: none; }

@media (max-width: 800px) {
  body[data-page="home"] .section-nav::after { display: none; }
  body[data-page="home"] .section-nav.has-more-right::after {
    content: "左滑查看更多 ›";
    display: flex;
    width: 112px;
    justify-content: flex-end;
    padding-right: 12px;
    background: linear-gradient(90deg, #fff0, #fff 28%);
    color: #c51b30;
    font-family: var(--sans);
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
    pointer-events: none;
  }
}

@media (max-width: 700px) {
  body:not([data-page="home"]) #site-header {
    position: sticky;
    top: 0;
    z-index: 30;
    background: #fff;
  }

  .masthead-inner { min-height: 64px; }
  .site-brand .brand-caption { font-size: 17px; line-height: 1.3; }
  .site-brand .brand-caption small { font-size: 11px; letter-spacing: 0; }

  body[data-page="home"] .home-sections-link {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 9px;
    min-height: 44px;
    padding: 8px 11px;
    border: 1px solid #dde0e3;
    color: #191b1f;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
  }

  .home-sections-link span { color: #c51b30; font-size: 17px; line-height: 1; }

  .menu-toggle {
    display: flex;
    position: relative;
    width: 80px;
    min-width: 80px;
    height: 44px;
    align-items: flex-end;
    padding: 11px 10px 11px 43px;
    gap: 6px;
    border: 1px solid #dde0e3;
  }

  .menu-toggle span { width: 18px; flex: 0 0 1px; }
  .menu-toggle::before {
    content: "栏目";
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
  }

  .menu-toggle[aria-expanded="true"] { border-color: #c51b30; }

  .home-sections-link:focus-visible,
  .menu-toggle:focus-visible,
  .section-nav a:focus-visible { outline-color: #c51b30; }

  .mobile-menu {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 14px;
    padding: 8px 18px 18px;
    border-bottom: 1px solid #dde0e3;
    box-shadow: 0 12px 20px #191b1f0d;
  }

  .mobile-menu a {
    display: flex;
    min-width: 0;
    min-height: 48px;
    align-items: center;
    padding: 10px 0;
    font-size: 14px;
    font-weight: 500;
    overflow-wrap: anywhere;
  }

  .mobile-menu a:last-child { color: #c51b30; font-weight: 700; }

  body[data-page="home"] .section-nav .nav-inner > a {
    min-height: 50px;
    padding: 13px 16px;
    font-size: 14px;
  }

  body[data-page="home"] .section-nav .nav-inner { -webkit-overflow-scrolling: touch; }

  .eyebrow { font-size: 12px; letter-spacing: .1em; }
  .content-note { font-size: 13px; line-height: 1.7; }
  .section-heading h2 { font-size: 32px; }

  body[data-page="home"] .hero-slogan { font-size: 13px; }
  body[data-page="home"] .hero-meta { font-size: 12px; }
  body[data-page="home"] .hero-meta b { font-size: 13px; }
  body[data-page="home"] .hero-news-link { min-height: 44px; font-size: 14px; }

  .overview-copy > p { font-size: 14px; }
  .topic-line span { font-size: 12px; }

  #speaker-grid .speaker-card-body { min-width: 0; }
  #speaker-grid .speaker-role,
  #speaker-grid .speaker-topic {
    min-height: 0;
    font-size: 13px;
    line-height: 1.6;
    overflow-wrap: anywhere;
  }

  .agenda-intro { grid-template-columns: 70px minmax(0, 1fr); }
  .agenda-intro p {
    display: block;
    grid-column: 2;
    margin: 0;
    font-size: 14px;
    line-height: 1.55;
  }
  .agenda-intro .button { grid-column: 2; justify-self: start; min-height: 44px; font-size: 13px; }
  .agenda-tabs button { min-width: 0; min-height: 56px; }
  .agenda-tabs span { font-size: 12px; line-height: 1.4; }
  .agenda-row { grid-template-columns: 94px minmax(0, 1fr); }
  .agenda-row time { font-size: 12px; line-height: 1.5; }
  .agenda-row h3 { font-size: 15px; line-height: 1.5; overflow-wrap: anywhere; }
  .agenda-row p { font-size: 12px; line-height: 1.5; }

  .media-section .media-lead { font-size: 14px; line-height: 1.75; }
  .media-tier-grid { gap: 16px; }
  .media-tier { min-width: 0; padding: 20px 18px 22px; }
  .media-tier-top { align-items: flex-start; font-size: 12px; line-height: 1.5; }
  .media-tier-type {
    min-width: 0;
    max-width: 58%;
    font-size: 12px;
    line-height: 1.5;
    overflow-wrap: anywhere;
  }
  .media-tier h3 { margin: 16px 0 12px; font-size: 23px; overflow-wrap: anywhere; }
  .media-tier-price { gap: 8px; align-items: baseline; }
  .media-tier-price strong { font-size: clamp(28px, 8vw, 34px); overflow-wrap: anywhere; }
  .media-tier-price span { font-size: 13px; }
  .media-tier-summary { min-height: 0; margin: 14px 0 18px; font-size: 14px; line-height: 1.7; }
  .media-tier li {
    padding: 11px 0 11px 20px;
    font-size: 14px;
    line-height: 1.65;
    overflow-wrap: anywhere;
  }
  .media-tier li::before { top: 11px; }
  .media-bottom { padding: 20px; }
  .media-bottom p { font-size: 13px; line-height: 1.7; }
  .media-bottom .button {
    display: flex;
    width: 100%;
    min-height: 48px;
    justify-content: space-between;
    margin-top: 16px;
    font-size: 14px;
  }
  .media-disclaimer { font-size: 12px; line-height: 1.75; }

  .guide-section .venue-card h3 { overflow-wrap: anywhere; }
  .guide-section .venue-date { font-size: 14px; }
  .guide-section .venue-location-label { font-size: 13px; }
  .guide-section .venue-address { font-size: 16px; overflow-wrap: anywhere; }
  .guide-section .venue-actions a,
  .guide-section .venue-actions button { min-height: 48px; font-size: 14px; }
  .guide-section .venue-copy-status { font-size: 13px; }
  .guide-section .faq-list summary { min-height: 52px; font-size: 16px; }
  .guide-section .faq-list details p { font-size: 14px; line-height: 1.75; }

  body[data-page="speakers"] .directory-heading p,
  body[data-page="speakers"] .directory-count span { font-size: 14px; line-height: 1.6; }
  body[data-page="speakers"] .speaker-row-role,
  body[data-page="speakers"] .speaker-row-topic { font-size: 14px; line-height: 1.55; }

  body[data-page="article"] .breadcrumb { flex-wrap: wrap; font-size: 12px; }
  body[data-page="article"] .article-header h1,
  body[data-page="article"] .article-body h2 { overflow-wrap: anywhere; }
  body[data-page="article"] .article-end p { font-size: 13px; line-height: 1.7; }
  body[data-page="article"] .article-actions { flex-wrap: wrap; gap: 12px 20px; }
  body[data-page="article"] .article-actions a,
  body[data-page="article"] .article-actions button { min-height: 44px; font-size: 13px; }

  .footer-main p,
  .footer-links { font-size: 12px; }
  .footer-bottom { font-size: 11px; line-height: 1.7; overflow-wrap: anywhere; }
}

@media (max-width: 500px) {
  body[data-page="home"] .hero-kicker { font-size: 13px; }
  #speaker-grid .speaker-card { grid-template-columns: 96px minmax(0, 1fr); gap: 16px; }
  #speaker-grid .speaker-art { height: 146px; }
  .guide-section .venue-actions { gap: 10px; }
  .guide-section .venue-actions a,
  .guide-section .venue-actions button { flex: 1 1 126px; }
}
