:root { --paper: #f3f5f0; }
[hidden] { display: none !important; }
.skip-link { position: fixed; top: -100px; left: 20px; z-index: 200; padding: 12px; background: white; }
.skip-link:focus { top: 10px; }
button, .button, .text-link, .light-link, .card-detail-link { white-space: nowrap; }
.button { color: var(--primary-contrast); }
.brand { min-width: 0; }
.brand-logo { max-width: 100px; max-height: 48px; object-fit: contain; }
.brand b { overflow-wrap: anywhere; }
.hero-desc { white-space: pre-line; }
.hero h1 { overflow-wrap: anywhere; }
.hero-copy { min-width: 0; }
.nav-category { position: relative; height: 100%; }
.nav-dropdown { position: absolute; z-index: 65; top: 100%; left: 0; min-width: 180px; max-width: 300px; display: none; padding: 8px; background: white; border: 1px solid var(--line); box-shadow: 0 10px 24px #173e321a; }
.nav-category:hover .nav-dropdown, .nav-category:focus-within .nav-dropdown { display: block; }
.header .nav-dropdown a { display: block; height: auto; padding: 8px 12px; overflow-wrap: anywhere; }
.empty { padding: 30px; background: var(--pale); color: var(--muted); }
.section-description { margin: -12px 0 28px; color: var(--muted); font-size: 14px; }
.collection-copy { min-height: 150px; }
.collection-copy h3 { padding-right: 45px; overflow-wrap: anywhere; }
.custom-photo, .empty-photo { background-image: none; }
.custom-photo img { width: 100%; height: 100%; object-fit: cover; }
.empty-photo { display: grid; place-items: center; text-align: center; padding: 20px; background: var(--pale); color: var(--muted); }
.product-info { display: flex; flex-direction: column; flex: 1; }
.product-info h3, .product-info p { overflow-wrap: anywhere; }
.product-info p { flex: 1; }
.card-detail-link { display: flex; justify-content: space-between; gap: 12px; margin-top: 20px; padding: 12px 0 0; border: 0; border-top: 1px solid var(--line); background: transparent; color: var(--forest); font-size: 14px; text-align: left; }
.catalog-all { margin-top: 24px; }
.product-specifications { padding-left: 20px; margin: 24px 0; color: var(--muted); }
.guide-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; }
.preview-article { white-space: pre-line; margin-top: 24px; }
.journal-entry { padding: 0 0 25px; border-bottom: 1px solid #dde4d5; }
.journal-entry + .journal-entry { padding-top: 25px; }
.journal-entry:last-child { border: 0; }
.journal-entry h3, .journal-feature h3 { overflow-wrap: anywhere; }
.journal-feature-copy > p { color: var(--muted); font-size: 14px; margin-top: 12px; }
.journal-grid .article-read { display: inline-flex; justify-content: space-between; gap: 24px; margin-top: 20px; padding: 0; width: auto; border: 0; background: transparent; color: var(--forest); font-size: 14px; }
.quote-person > div { min-width: 0; }
.quote-person b { overflow-wrap: anywhere; }
.quote-count { white-space: nowrap; }
.footer-contact { display: flex; flex-wrap: wrap; gap: 8px 28px; padding: 0 0 28px; color: var(--muted); font-size: 14px; overflow-wrap: anywhere; }
.footer-main p { max-width: 520px; }
.footer-main .brand { flex-shrink: 0; }
.inquiry-modal .inquiry-submit { color: var(--primary-contrast); }
@media (max-width: 1100px) { .header nav { gap: 16px; } .header-inner { gap: 15px; } }
@media (max-width: 760px) {
    .nav-category { height: auto; }
    .header .nav-category > a { display: block; }
    .nav-dropdown { display: none !important; }
    .hero-actions { flex-wrap: wrap; }
    .collection-copy { min-height: 0; }
    .collection-copy h3 { padding-right: 0; }
    .collection-copy .round-arrow { display: none; }
    .guide-actions .button { max-width: 100%; }
    .footer-main { flex-wrap: wrap; }
    .footer-main p { width: 100%; }
    .product-card .card-detail-link { font-size: 13px; }
}
