/* Hallmark · extension of the existing Asyki brand system · copy: source content · pages: products, company, forms, news and services */
@media (min-width: 60rem) { #navigation { gap: var(--space-lg); } }
.breadcrumbs { justify-content: flex-start; flex-wrap: wrap; font-size: var(--text-sm); font-weight: 400; gap: var(--space-sm); margin-bottom: var(--space-xl); }
.breadcrumbs a { text-decoration: underline; }
.page-heading { padding-block: var(--space-xl) var(--space-2xl); background: var(--color-paper-2); }
.page-heading h1 { font-size: var(--text-section); line-height: 1.12; max-width: 24ch; }
.page-heading .lead { margin-top: var(--space-lg); }
.page-heading-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--gap-columns); align-items: center; }
.page-heading-grid:not(:has(figure)) { grid-template-columns: minmax(0, 1fr); }
.page-heading-grid figure img { width: 100%; max-height: 340px; object-fit: contain; border-radius: var(--radius-card); }
.page-body { padding-block: var(--space-2xl) var(--space-3xl); }
.page-body > * + * { margin-top: var(--space-2xl); }
.prose { max-width: 75ch; line-height: 1.75; font-size: var(--text-lg); overflow-wrap: break-word; }
.prose p { max-width: none; }
.prose p + p { margin-top: var(--space-lg); }
.prose h2 { font-size: var(--text-3xl); line-height: 1.2; margin-block: var(--space-xl) var(--space-lg); }
.prose h3 { font-size: var(--text-xl); line-height: 1.3; margin-block: var(--space-xl) var(--space-md); }
.prose > :first-child { margin-top: 0; }
.prose ul, .prose ol { padding-left: var(--space-lg); margin-block: var(--space-lg); }
.prose li + li { margin-top: var(--space-sm); }
.prose a { text-decoration: underline; color: var(--color-accent); }
.source-text { padding-bottom: var(--space-lg); }
.disclosures { width: 100%; }
.source-detail { border-bottom: 1px solid var(--color-rule); }
.source-detail summary { padding: var(--space-lg) var(--space-xs); font-size: var(--text-lg); font-weight: 700; cursor: pointer; overflow-wrap: break-word; }
.source-detail summary:hover { color: var(--color-accent); }
.source-detail[open] summary { color: var(--color-accent); }
.detail-answer { padding: 0 var(--space-lg) var(--space-xl); max-width: none; }
.detail-answer > p, .detail-answer > ul, .detail-answer > ol { max-width: 75ch; }
.table-scroll { max-width: 100%; overflow-x: auto; margin-block: var(--space-lg); }
table { width: 100%; border-collapse: collapse; font-size: var(--text-md); line-height: 1.6; }
th, td { text-align: left; vertical-align: top; border-bottom: 1px solid var(--color-rule); padding: var(--space-md); overflow-wrap: anywhere; }
th { background: var(--color-paper-3); color: var(--color-ink); font-weight: 700; }
td p + p, th p + p { margin-top: var(--space-sm); }
td:last-child a { white-space: nowrap; }
.source-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--gap-columns); align-items: center; }
.source-split img { width: 100%; max-height: 400px; object-fit: contain; }
.people-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gap-columns); }
.people-grid img { width: 100%; height: 280px; object-fit: contain; }
.people-grid figcaption { margin-top: var(--space-lg); }
.people-grid figcaption p { font-size: var(--text-md); }
.product-documents { display: flex; flex-wrap: wrap; align-items: flex-start; gap: var(--gap-columns); }
.product-documents img { max-width: min(100%, 600px); height: auto; }
.source-picture img { max-width: 100%; max-height: 700px; object-fit: contain; }
.product-actions { padding: var(--space-xl); background: var(--color-paper-2); color: var(--color-ink); border-radius: var(--radius-card); }
.product-actions h2 { font-size: var(--text-3xl); line-height: 1.2; }
.product-actions > p { margin-top: var(--space-md); font-size: var(--text-lg); }
.action-links { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-lg); margin-top: var(--space-lg); }
.action-links a:not(.button) { text-decoration: underline; }
.catalog-grid, .news-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2xl) var(--gap-columns); }
.catalog-product, .news-item { padding-bottom: var(--space-lg); border-bottom: 1px solid var(--color-rule); min-width: 0; }
.catalog-product > img, .news-item > img { width: 100%; aspect-ratio: 2.12; object-fit: contain; margin-bottom: var(--space-lg); }
.catalog-product h2, .news-item h2 { font-size: var(--text-title); line-height: 1.3; margin-bottom: var(--space-lg); }
.search-box { max-width: 720px; }
.search-box label { display: block; margin-bottom: var(--space-sm); font-weight: 700; }
.search-box input { width: 100%; min-height: 52px; padding: var(--space-sm) var(--space-md); border: 1px solid var(--color-muted); border-radius: var(--radius-button); background: var(--color-paper); color: var(--color-ink); }
.search-box [role=status] { min-height: 1.6em; margin-top: var(--space-sm); font-size: var(--text-sm); }
.contact-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gap-columns); }
.contact-grid h2 { font-size: var(--text-3xl); margin-bottom: var(--space-lg); }
.contact-grid h3 { margin-block: var(--space-lg) var(--space-sm); }
.contact-grid p { margin-block: var(--space-md); }
.contact-grid address { color: var(--color-ink-2); }
.contact-grid a { color: var(--color-accent); text-decoration: underline; }
.report-form { max-width: 850px; }
.report-form h2 { font-size: var(--text-3xl); margin-bottom: var(--space-lg); }
.form-help { color: var(--color-ink-2); max-width: 75ch; line-height: 1.7; }
.field { margin-block: var(--space-lg); }
.field label { display: block; font-weight: 700; margin-bottom: var(--space-xs); }
.field input, .field select, .field textarea { width: 100%; min-height: 48px; padding: var(--space-sm) var(--space-md); border: 1px solid var(--color-muted); border-radius: var(--radius-button); background: var(--color-paper); color: var(--color-ink); }
.field textarea { resize: vertical; }
.report-form button { margin-top: var(--space-lg); }
.report-form fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.draft-email { text-decoration: underline; }
#report-status { margin-top: var(--space-lg); min-height: 1.6em; }
.footer-sitemap { display: flex; flex-wrap: wrap; gap: var(--space-lg); padding-bottom: var(--space-xl); }
.footer-sitemap a { font-size: var(--text-sm); }
#navigation a[aria-current=page]:not(.button) { text-decoration: underline; text-underline-offset: .35em; }
@media (max-width: 60rem) {
 .header-inner { flex-wrap: wrap; }
 .menu-toggle { display: inline-flex; align-items: center; gap: var(--space-xs); border: 1px solid var(--color-rule); padding: var(--space-sm) var(--space-md); color: var(--color-ink); background: var(--color-paper); border-radius: var(--radius-button); }
 #navigation { width: 100%; flex-direction: column; align-items: stretch; gap: var(--space-xs); padding-bottom: var(--space-lg); }
 .js #navigation:not(.is-open) { display: none; }
 #navigation > a { padding: var(--space-sm); }
 .breadcrumbs { display: flex; }
 .people-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 44rem) {
 .page-heading-grid, .source-split, .catalog-grid, .news-grid, .contact-grid { grid-template-columns: minmax(0, 1fr); }
 .page-heading { padding-block: var(--space-lg) var(--space-xl); }
 .page-heading h1 { font-size: clamp(2.1rem, 8vw, 3rem); }
 .page-body { padding-block: var(--space-xl) var(--space-2xl); }
 .page-body > * + * { margin-top: var(--space-xl); }
 .prose { font-size: var(--text-md); }
 .prose h2, .contact-grid h2, .product-actions h2, .report-form h2 { font-size: var(--text-2xl); }
 .detail-answer { padding: 0 var(--space-xs) var(--space-lg); }
 .source-detail summary { font-size: var(--text-md); }
 th, td { padding: var(--space-sm) var(--space-xs); font-size: var(--text-sm); }
 .people-grid img { height: 185px; }
 .product-actions { padding: var(--space-lg); }
 .action-links { align-items: flex-start; flex-direction: column; }
}

.js nav.breadcrumbs { display: flex; flex-direction: row; align-items: center; gap: var(--space-sm); padding: 0; }
.article-date { font-size: var(--text-sm); color: var(--color-ink-2); margin-bottom: var(--space-lg); }
.source-tabs > section + section { margin-top: var(--space-2xl); }
.source-tabs h2 { font-size: var(--text-3xl); margin-bottom: var(--space-lg); }
.source-tabs .source-picture + .source-picture { margin-top: var(--space-lg); }

@media (min-width: 60.01rem) {
 .catalog-grid, .news-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
 .people-grid:has(> :nth-child(4):last-child) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
 .people-grid:has(> :nth-child(2):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 44.01rem) and (max-width: 60rem) {
 .catalog-product:last-child, .news-item:last-child { grid-column: 1 / -1; }
}
