/* Mobile reading takes priority over fitting content into a fixed-height screen.
   Desktop composition remains in story.css / reader.css. */
@media (max-width:900px) {
  body { font-size:16px; line-height:1.65; }
  .button, .reading-guide .button { min-height:48px; font-size:16px; line-height:1.4; }
  .header .button { min-height:44px; font-size:14px; padding:9px 12px; gap:8px; }
  .menu-toggle { min-height:44px; min-width:44px; }
  .mobile-menu .nav-disclosure>summary, .mobile-menu .nav-dropdown a,
  .mobile-menu>a, .mobile-menu .language-nav a { font-size:16px; min-height:48px; }
  .reading-guide { width:calc(100% - 36px); }
  .reader-screen { min-height:0; }
  .reader-overview { gap:18px; padding-bottom:24px; }
  .reader-topline .breadcrumbs { font-size:14px; gap:6px 10px; }
  .breadcrumbs a { padding-block:6px; }
  .reader-title h1 { font-size:30px; line-height:1.15; }
  .reader-title p, .reader-brief .eyebrow, .reader-heading .eyebrow,
  .reader-panel-heading .eyebrow { font-size:14px; }
  .reader-overview-grid { gap:20px; }
  .reader-image { min-height:0; aspect-ratio:4 / 3; }
  .reader-image figcaption { font-size:13px; padding:40px 14px 12px; }
  .reader-brief { display:block; }
  .reader-brief p { font-size:17px; line-height:1.65; }
  .reader-essential>a { padding-block:15px; }
  .reader-essential>a strong { font-size:18px; line-height:1.4; }
  .reader-essential>a>span { font-size:15px; }
  .reader-bottomline strong { font-size:16px; }
  .reader-down { min-height:48px; }
  .reader-down>span, .reader-down strong, .reader-up { font-size:14px; }
  .reader-up { padding-block:10px; }
  .reader-heading h2, .reader-reading-area h2 { font-size:25px; }
  .reader-topics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
  .reader-topics>a { font-size:15px; min-height:52px; padding:12px 10px; overflow-wrap:break-word; }
  .reader-other>a, .reader-other .content-related strong { font-size:14px; min-height:44px; }
  .reader-reading-area p, .reader-flow .service-rows dd, .reader-flow .model-groups dd,
  .reader-flow .content-note p, .reader-flow .content-steps p,
  .reader-flow .content-related span>span, .reader-flow .guide-card p,
  .reader-flow .code-fields dd { font-size:16px; line-height:1.65; }
  .reader-flow .service-rows dt, .reader-flow .model-groups dt,
  .reader-flow .content-note strong, .reader-flow .content-steps h3,
  .reader-flow .content-related strong, .reader-flow .faq-list summary,
  .reader-flow .guide-card h3 { font-size:18px; line-height:1.4; }
  .reader-flow .service-rows>div { padding-block:16px; gap:7px; }
  .reader-flow .faq-list summary { padding-block:18px; }
  .reader-flow .guide-card, .reading-guide[data-reader-kind=collection] .guide-card {
    grid-template-columns:80px minmax(0,1fr); gap:14px; padding-block:18px;
  }
  .reader-flow .guide-card>img, .reading-guide[data-reader-kind=collection] .guide-card>img { width:80px; height:80px; }
  .reader-flow .guide-category, .reader-flow .guide-read { font-size:14px; }
  .reading-guide[data-reader-kind=collection] .guide-read { font-size:0; }
  .reader-search .code-search>label, .reader-search .code-search input { font-size:16px; }
  .reader-search .code-search input, .reader-search .code-search-line .button { min-height:48px; }
  .reader-search .code-search p, .reader-coverage summary, .reader-coverage p,
  .reader-flow .code-fields dt, .reader-flow .code-summary>span,
  .reader-actions>span, .reader-foot { font-size:14px; line-height:1.6; }
  .reader-flow .code-token, .reader-flow .code-summary strong { font-size:16px; }
  .reader-flow .code-entry>summary { padding-block:18px; gap:12px; }
  .reader-flow .code-fields dd { overflow-wrap:anywhere; }
  .reader-foot { flex-wrap:wrap; }
  .overview-heading .eyebrow, .diagnosis-content .eyebrow { font-size:14px; }
  .overview-heading>p, .service-index p, .diagnosis-content p,
  .diagnosis-content li, .diagnosis-content li span { font-size:16px; line-height:1.65; }
  .service-index h3 { font-size:23px; line-height:1.2; }
  .service-link, .section-next, .diagnosis-content a { font-size:16px; min-height:48px; }
  .service-card-visual h3 { bottom:18px; }
  .service-photo { margin:0; }
  .quick-hours, .contact-address, .quick-email,
  .location-hours, .location-address, .location-email, .location-call,
  .location-request p, .section-intro p { font-size:16px; }
  .contact-links>a, .location-contact>a { min-height:44px; }
  .contact-links { padding-right:0; }
  .quick-map { position:static; margin-top:12px; min-height:44px; font-size:15px; }
  .quick-phone, .location-contact .phone { font-size:24px; }
  .footer-main { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
  .footer-brand { grid-column:1 / -1; }
  .footer-brand>p, .footer-email, .footer-contacts { font-size:16px; }
  .footer-contacts { max-width:100%; }
  .footer-contacts>div { justify-content:flex-start; gap:16px; }
  .footer-group h2 { font-size:17px; }
  .footer-group>a { font-size:15px; min-height:44px; overflow-wrap:break-word; }
  .footer-bottom { font-size:14px; }
  .footer-bottom a, .footer-bottom button { min-height:44px; display:inline-flex; align-items:center; }
  .footer-contacts a, .footer-email { min-height:44px; }
}
@media (max-width:900px) {
  .header { padding-inline:14px; gap:8px; }
  .header .nav-actions { gap:0; }
  .header .menu-label { display:none; }
  .header .logo { width:104px; }
  .service-deck { padding-inline:0; }
  .deck-enhanced .deck-stage { height:auto; min-height:0; grid-template-rows:auto auto; }
  .deck-enhanced .deck-panels { display:grid; }
  .deck-enhanced .deck-panel { display:flex; position:relative; grid-area:1 / 1; align-self:start; inset:auto; padding-top:76px; }
  .deck-enhanced .deck-panel.is-leaving { visibility:hidden; }
  .deck-visual { position:relative; inset:auto; order:-1; width:100%; height:auto; aspect-ratio:16 / 9; }
  .deck-visual img { object-fit:cover; object-position:center; }
  .deck-visual::after { background:linear-gradient(0deg,#151515,transparent 30%); }
  .deck-copy { padding:12px 18px 24px; }
  .deck-copy h1, .deck-copy h2 { font-size:32px; line-height:1.15; }
  .deck-copy .eyebrow { font-size:14px; }
  .deck-description { font-size:17px; line-height:1.6; max-width:none; }
  .deck-copy .button { font-size:16px; min-height:48px; }
  .deck-related { font-size:16px; }
  .deck-related>span { font-size:14px; }
  .deck-related a { min-height:48px; }
  .deck-controls { padding:7px 18px 0; }
  .brand-guidance { font-size:12px; }
  .chapter-nav { overflow-x:auto; justify-content:flex-start; gap:22px; scrollbar-width:thin; scrollbar-color:#a68a4b #222; }
  .chapter-nav a { flex:none; font-size:16px; min-height:44px; }
  .deck-autoplay { top:auto; bottom:12px; right:12px; min-height:44px; font-size:14px; }
  .quick-contact { padding:8px 18px 20px; }
  .overview-heading h2 { font-size:30px; }
  .location-card { padding:16px; }
  .location-summary { min-width:0; }
}
@media (max-width:360px) {
  .footer-main { grid-template-columns:1fr; }
  .reader-title h1 { font-size:28px; }
  .reader-flow .guide-card, .reading-guide[data-reader-kind=collection] .guide-card { grid-template-columns:1fr; }
  .reader-flow .guide-card>img, .reading-guide[data-reader-kind=collection] .guide-card>img { width:100%; height:auto; aspect-ratio:16 / 9; }
}
