/* Presentation only: pricing, quotation, routing and gallery behavior remain independent. */
body { background: #f6f1e9; color: #493327; }
#app-background { opacity: .12; }
main.container { max-width: 1440px; padding-top: 20px; padding-bottom: 28px; }
.language-grid { display: grid; grid-template-columns: repeat(5, minmax(44px, 1fr)); gap: 6px; padding: 8px; border: 1px solid #d9c6af; border-radius: 20px; background: #fffcf7; box-shadow: 0 5px 20px #4b2c2008; }
.language-flag { display: flex; align-items: center; justify-content: center; width: 46px; height: 44px; border-radius: 12px; border: 1px solid transparent; transition: background .15s, transform .15s; font-size: 25px; line-height: 1; }
.language-flag:hover { background: #f2e5d3; transform: translateY(-1px); }
.language-flag[aria-current=page] { background: #f3e4cc; border-color: #a47543; box-shadow: inset 0 0 0 1px #a4754333; }
.language-flag:focus-visible, .read-more-toggle:focus-visible { outline: 2px solid #895b2d; outline-offset: 3px; }
.read-more .excerpt { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.read-more-toggle { display: inline-block; min-height: 44px; color: #875124; font-size: .85rem; font-weight: 600; text-decoration: underline; text-underline-offset: 4px; }
main > section { margin-bottom: 32px !important; }
.section-frame { border: 1px solid #ddcbb7; border-radius: 24px; background: #fffdf8; box-shadow: 0 8px 28px #492d1c06; padding: 24px; }
#overview .section-frame { border-inline-start: 4px solid #be9257; }
#pricing { padding: 20px; border-radius: 28px; background: #eee4d6; border: 1px solid #dcc8ae; }
#pricing > div:first-child { margin-top: 4px; margin-bottom: 20px; }
#pricing > div:nth-child(3) { margin-top: 24px; }
#pricing h2, #gallery h2 { font-family: Georgia, 'Times New Roman', serif; font-weight: 500; letter-spacing: -.025em; }
#pricing article { box-shadow: 0 3px 14px #492d1c06; }
#pricing td { overflow-wrap: anywhere; }
#pricing td .read-more-toggle { font-size: .75rem; }
.price-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.note-panel { margin-top: 20px; padding: 24px; border-radius: 24px; border: 1px solid #ddcbb7; background: #fffaf1; }
.note-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.note-card { padding: 18px; border-radius: 16px; border: 1px solid #e8dacc; background: #fffdf9; line-height: 1.65; }
.info-panel { margin-bottom: 20px; padding: 18px; border: 1px solid #d7ccba; border-inline-start: 4px solid #aa8452; border-radius: 16px; background: #faf5eb; }
.info-panel p, .info-panel svg { color: #674932; }
.info-panel .read-more p { font-size: .95rem; line-height: 1.7; }
.specimen-strip { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; max-width: 560px; margin: 0 auto 24px; padding: 10px; background: #fffcf7; border: 1px solid #ddcbb7; border-radius: 20px; }
.specimen-strip img { width: 100%; height: auto; aspect-ratio: 1; }
.section-nav { border: 1px solid #ddcbb7; border-radius: 18px; background: #fffcf7ee; margin-bottom: 24px; }
.section-nav button, .section-nav a { min-width: 0; overflow-wrap: anywhere; flex: 1; padding-inline: 8px; }
.guide-links { border: 1px solid #e4d6c5; gap: 8px 20px; }
.guide-links a { text-decoration: underline; text-underline-offset: 4px; }
.quota-dialog { border: 1px solid #d5b994; border-radius: 24px; background: #fffaf2; color: #4b2c20; padding: 24px; width: min(560px, calc(100% - 24px)); max-height: 85dvh; overflow: auto; margin: auto; box-shadow: 0 24px 80px #21150e40; }
.quota-dialog::backdrop { background: #241a1366; backdrop-filter: blur(4px); }
.quota-dialog h3 { font-size: 1.4rem; font-weight: 600; margin-bottom: 12px; }
.quota-dialog p { line-height: 1.7; margin-bottom: 12px; }
.quota-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.quota-actions button, .quota-actions a { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 16px; border: 1px solid #bd9b75; border-radius: 12px; font-weight: 600; }
.quota-actions .primary { background: #4b2c20; color: #fffaf2; }
.quota-dialog textarea { width: 100%; min-height: 170px; padding: 12px; border: 1px solid #d5b994; border-radius: 12px; font-size: 13px; }
@media (max-width: 639px) {
 main.container { padding-inline: 12px; }
 .section-frame, .note-panel { padding: 18px; border-radius: 20px; }
 #pricing { padding: 12px; border-radius: 22px; }
 .price-cards, .note-grid { grid-template-columns: minmax(0, 1fr); }
 .section-nav button, .section-nav a { padding-inline: 4px; font-size: 11px; }
 main > header { margin-bottom: 24px !important; }
}
@media print {
 .read-more .excerpt { display: block; overflow: visible; }
 .read-more-toggle, .quota-dialog { display: none !important; }
}
@media (prefers-reduced-motion: reduce) { .language-flag { transition: none; } }
@media (min-width: 640px) and (max-width: 1023px) {
 main > header h1 { font-size: 42px; }
 main > header > .grid { padding: 28px; gap: 24px; }
}
