/* La demostración utiliza la misma escala de lectura que la página principal. */
body { font-size: 1.125rem; line-height: 1.7; }
.demo-bar, .demo-bar a { font-size: .8125rem; line-height: 1.5; letter-spacing: .025em; }
.demo-bar { flex-wrap: wrap; gap: 12px; }
.site-header nav { font-size: 1rem; gap: 24px; }
.ask-link { font-size: 1rem; line-height: 1.5; }
.motion-toggle { width: 44px; height: 44px; font-size: 1rem; flex-shrink: 0; }
.eyebrow, .hero .eyebrow, .product-detail .eyebrow { font-size: .8125rem; line-height: 1.7; letter-spacing: .1em; }
.hero-description, .idea-copy > p:not(.eyebrow) { font-size: 1.125rem; line-height: 1.75; max-width: 520px; }
.button, .hero .button, .closing .button, #inquiry-form .button { font-size: 1rem; line-height: 1.5; min-height: 50px; gap: 20px; }
.hero-index, .hero-index > span, .photo-note, .hero-art-number { font-size: .75rem; line-height: 1.6; letter-spacing: .025em; }
.hero-index { flex-wrap: wrap; }
.round-stamp > span { font-size: .6875rem; letter-spacing: .025em; }
.ribbon > div { font-size: .9375rem; }
.section-heading > p, .idea-copy .demo-explanation { font-size: 1.0625rem !important; line-height: 1.75; }
.filters button { font-size: 1rem; min-height: 44px; padding: 10px 14px; }
.filters button span { font-size: .8125rem; }
.search { min-width: 220px; }
.search input, .search input::placeholder { font-size: 1rem; }
.catalog-status { font-size: .9375rem; line-height: 1.6; }
.product-tag { font-size: .8125rem; letter-spacing: .035em; }
.product-info small { font-size: 1rem; line-height: 1.7; }
.product-bottom, .product-bottom > i { font-size: .8125rem; line-height: 1.6; letter-spacing: .025em; flex-wrap: wrap; }
.idea-art > p { font-size: 1rem; line-height: 1.7; }
.idea-number { font-size: .8125rem; }
.text-link { font-size: 1rem; line-height: 1.6; }
.faq-list summary { font-size: 1.1875rem; line-height: 1.5; }
.faq-list details > p { font-size: 1.0625rem; line-height: 1.8; }
footer { flex-wrap: wrap; }
footer p, footer > a:last-child { font-size: .8125rem; line-height: 1.7; letter-spacing: .025em; }
.dialog-top > span { font-size: .8125rem; line-height: 1.5; letter-spacing: .025em; }
.dialog-close { width: 44px; height: 44px; font-size: 1rem; flex-shrink: 0; }
.detail-copy > p:not(.eyebrow) { font-size: 1.0625rem; line-height: 1.8; }
#product-specs { font-size: .9375rem; line-height: 1.6; grid-template-columns: 100px 1fr; }
.sample-label { font-size: .8125rem; line-height: 1.7; letter-spacing: .025em; }
#inquiry-form label { font-size: 1rem; line-height: 1.6; }
#inquiry-form select, #inquiry-form textarea, #inquiry-form textarea::placeholder { font-size: 1.0625rem; line-height: 1.6; }
.local-note { font-size: .9375rem !important; line-height: 1.7 !important; }
.inquiry-result h3 { font-size: 1.125rem; line-height: 1.6; }
.inquiry-result #inquiry-preview { font-size: 1rem; line-height: 1.7; }
.inquiry-result button, #copy-status { font-size: .9375rem; line-height: 1.7; }
@media (max-width: 1100px) {
  .site-header nav { display: none; }
  .hero { grid-template-columns: 1fr 1fr; gap: 30px; }
  .catalog-tools { align-items: stretch; flex-direction: column; }
  .filters { flex-wrap: wrap; gap: 8px; }
  .search { width: 100%; }
  .idea, .shop-faq { grid-template-columns: 1fr; gap: 40px; }
  .idea-copy { max-width: 650px; }
  .closing { flex-wrap: wrap; }
}
@media (max-width: 600px) {
  .demo-bar, .demo-bar a { font-size: .75rem; }
  .ask-link { font-size: .875rem; max-width: 150px; }
  .header-actions { gap: 8px; }
  .hero-description { font-size: 1.0625rem; max-width: 100%; }
  .hero-index, .hero-index > span { font-size: .75rem; gap: 12px; }
  .photo-note, .hero-art-number { font-size: .6875rem; }
  .photo-note { max-width: 65%; }
  .round-stamp { width: 100px; height: 100px; }
  .hero-art { padding-bottom: 50px; }
  .filters { flex-wrap: wrap; justify-content: flex-start; }
  .filters button { font-size: .9375rem; padding: 10px 12px; }
  .filters button > span { font-size: .75rem; }
  .idea-copy > p:not(.eyebrow) { font-size: 1.0625rem; }
  .faq-list summary { font-size: 1.125rem; }
  footer { align-items: flex-start; flex-direction: column; }
  footer p { max-width: 100%; margin-left: 0; }
  .detail-copy > p:not(.eyebrow) { font-size: 1.0625rem; }
}
