/* Shared screen typography. Keep the A4 print layout in style.css unchanged. */
@media screen {
  :root { --muted:#d0cdc1; --gold:#cfb888; }
  body { font-size:1.375rem; line-height:2; overflow-wrap:anywhere; }
  main { min-width:0; }
  h1,h2,h3 { line-height:1.65; }
  h2,.room-intro h2,.compare h2 { font-size:2rem; }
  h3,.paths .path h3,.card h3 { font-size:1.625rem; }
  .small,small,.eyebrow,.num,.path-visual .num,.caption,.note,.slip,footer,table,
  .paths .small,.card p,.card button,.bar,.brand small,
  .hero-actions .textlink,.archive-steps li,
  .editorial-illustration figcaption,.editorial-strip .small,
  .query-label,.quick-search button,.motif-shortcuts button,
  .search-controls button,.search-controls a,.filter-chip,
  .result-options label,.result-options select,.page-numbers button,
  .search-pagination > button,.advanced-search summary > span,
  .search-card .num,.search-card .result-alias,.search-card .result-review,
  .crest-view-status,.crest-view-note {
    font-size:1.125rem;
    line-height:1.85;
  }
  .eyebrow,.num { letter-spacing:.1em; }
  label,input,select,textarea,button,.button,.detail dl {
    font-size:1.25rem;
    line-height:1.8;
  }
  button,.button,input,select { min-height:3rem; }
  button,.button { white-space:normal; max-width:100%; }
  input,select,textarea { min-width:0; max-width:100%; }
  .source-list { padding-left:1.6em; }
  .source-list li { padding:18px 0; }
  .source-list small { margin-top:8px; }
  .prose { max-width:44rem; }
  .prose p,.kamon-article p { margin:1.1em 0; }
  header { flex-wrap:wrap; gap:16px 32px; }
  header nav { max-width:none; justify-content:flex-start; font-size:1.125rem; gap:8px 28px; flex-wrap:wrap; }
  header nav a,footer .links a { display:inline-flex; align-items:center; min-height:2.75rem; }
  .brand { font-size:1.75rem; }
  .brand small { letter-spacing:.12em; }
  .detail { grid-template-columns:minmax(0,420px) minmax(0,1fr); gap:40px; }
  .detail > div { min-width:0; }
  .detail dl { grid-template-columns:6.5em minmax(0,1fr); }
  .detail .plate { padding:28px; }
  .crest-view-modes { max-width:100%; width:100%; flex-wrap:wrap; gap:4px; }
  .crest-view-modes button,.crest-3d-tools button { font-size:1.25rem; min-height:3rem; line-height:1.6; padding:10px 14px; }
  .crest-view-modes button { flex:1 1 7em; }
  .crest-view-note { margin-top:12px; }
  .hero.home-hero h1 { font-size:clamp(2rem,2.8vw,2.25rem); }
  .hero.home-hero h1 strong { font-size:clamp(2rem,4.2vw,3.25rem); white-space:normal; }
  .hero-lead,.home-hero .hero-lead { font-size:1.375rem; line-height:2; }
  .home-hero { gap:40px; }
  .catalog { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .card h3 { font-size:1.5rem; }
  .card button { min-height:3rem; }
  .bar { flex-wrap:wrap; }
  .archive-drawing { position:relative; height:auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .archive-source,.archive-memory,.archive-crest { position:static; transform:none; width:auto; height:auto; padding:18px 12px; }
  .archive-source,.archive-memory,.archive-crest > .serif { font-size:1.25rem; }
  .archive-source span,.archive-memory span,.archive-crest .num { font-size:1.125rem; line-height:1.85; }
  .archive-crest { grid-column:1/-1; }
  .archive-crest .crest { max-width:140px; }
  .query-row input { font-size:1.375rem; }
  .result-options { min-width:0; }
  .result-options label { min-width:0; }
  .result-options select { max-width:100%; }
  .quick-search button,.motif-shortcuts button,.initial-shortcuts button,.page-numbers button { min-height:3rem; }
  .search-results.is-list .card { grid-template-columns:100px minmax(0,1fr); }
  .search-heading .illustrated-intro h1 { white-space:normal; }
  .search-heading .illustrated-intro-copy p { font-size:1.375rem; }
  .kamon-article h2 { font-size:2.25rem; }
  .kamon-article h3 { font-size:1.75rem; }
  .kamon-article .article-lead,.kamon-article .family-card p { font-size:1.375rem; line-height:2; }
  .kamon-article .family-card .eyebrow,
  .kamon-article .family-card .textlink,
  .kamon-article .article-toc,.kamon-article .article-toc span,
  .kamon-article .motif-comparison span { font-size:1.125rem; line-height:1.85; }
  .kamon-article .family-cards { grid-template-columns:1fr; max-width:960px; gap:28px; }
  .kamon-article .family-card { padding:30px; }
  .kamon-article .family-card p { max-width:38em; }
  .kamon-article .article-toc { gap:0 24px; justify-content:start; }
  .kamon-article .article-toc a { padding:18px 0; }
  .kamon-article .place-card dl { font-size:1.375rem; grid-template-columns:6em minmax(0,1fr); gap:12px; }
  .kamon-article .article-cite { font-size:1.125rem; line-height:1.6; vertical-align:baseline; display:inline-block; text-align:center; min-width:2.75rem; min-height:2.75rem; margin:0 2px; padding:6px 4px; }
  .kamon-article .article-questions h3 { font-size:1.625rem; }
  .kamon-article .place-grid { gap:0 40px; }
  @media (max-width:1000px) {
    .detail,.hero { grid-template-columns:1fr; }
    .detail .plate,.home-hero .plate { max-width:500px; }
    .intro-grid { grid-template-columns:1fr; }
    .kamon-article .place-grid { grid-template-columns:1fr; }
    .paths { grid-template-columns:1fr; }
  }
  @media (max-width:760px) {
    header { display:block; padding:20px; }
    header nav { margin-top:16px; gap:8px 22px; }
    .brand small { display:block; margin:0; }
    main { padding:30px 20px 60px; }
    .detail { grid-template-columns:minmax(0,1fr); gap:30px; }
    .detail .plate { padding:20px; }
    .detail dl { grid-template-columns:minmax(0,1fr); gap:4px; }
    .detail dd { margin-bottom:16px; }
    .catalog { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .card { padding:18px; }
    .search-results.is-list .card { grid-template-columns:80px minmax(0,1fr); }
    .query-row { flex-wrap:wrap; }
    .query-row input { flex-basis:100%; }
    .result-options { grid-template-columns:minmax(0,1fr); }
    .result-options label:last-child { grid-column:auto; }
    .main-filters label { min-width:100%; }
    .search-heading .illustrated-intro { grid-template-columns:minmax(0,1fr); }
    .search-heading .editorial-illustration { width:180px; max-width:90%; }
    .search-heading .illustrated-intro h1 { font-size:2rem; }
    .kamon-article h2 { font-size:2rem; }
    .kamon-article .family-card { padding:24px; }
    .kamon-article .article-toc { grid-template-columns:1fr; }
    .kamon-article .place-card dl { grid-template-columns:1fr; gap:4px; }
    .kamon-article .place-card dd { margin-bottom:16px; }
    .motif-comparison { grid-template-columns:1fr; max-width:420px; }
    .compare { grid-template-columns:minmax(0,1fr); }
    .consult { padding:28px 20px; }
    .consult .buttons { flex-direction:column; align-items:stretch; }
  }
  @media (max-width:480px) {
    .catalog { grid-template-columns:minmax(0,1fr); }
    .paths .path { grid-template-columns:60px minmax(0,1fr); padding:20px 14px; gap:14px; }
    .path-visual .pictogram { width:56px; height:56px; }
    .path-visual .num { position:static; }
    .path-visual { display:block; }
    .archive-drawing { grid-template-columns:1fr; }
    .archive-crest { grid-column:auto; }
    .formgrid { grid-template-columns:minmax(0,1fr); }
  }
}
