html { background: #f5f0e7; }
.culture-page { margin: 0; color: #15120e; background: #f5f0e7; font-family: Georgia, 'Times New Roman', serif; }
.culture-loading { position: fixed; inset: 0; z-index: 1000; background: #f5f0e7; transition: .45s ease; }
.culture-loading.is-hidden { opacity: 0; visibility: hidden; }
.culture-header { position: fixed; top: 0; left: 0; right: 0; z-index: 50; display: grid; grid-template-columns: 220px 1fr 220px; align-items: center; height: 44px; padding: 0 42px; background: linear-gradient(180deg, rgba(245,240,231,.94), rgba(245,240,231,0)); }
.culture-logo { display: inline-flex; gap: 12px; align-items: center; color: #15120e; text-decoration: none; letter-spacing: .16em; }
.culture-logo span { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid rgba(21,18,14,.45); font-size: 13px; }
.culture-logo strong { font: 400 11px/1.35 Arial, sans-serif; }
.culture-main-nav { display: flex; justify-content: center; gap: 26px; white-space: nowrap; }
.culture-main-nav a { color: rgba(21,18,14,.66); text-decoration: none; font: 11px/1.2 Arial, sans-serif; letter-spacing: .14em; padding-bottom: 8px; border-bottom: 1px solid transparent; }
.culture-main-nav a:hover, .culture-main-nav a.is-active { color: #15120e; border-color: #15120e; }
.culture-hero { min-height: 410px; display: grid; place-items: center; text-align: center; padding: 120px 24px 60px; background: radial-gradient(circle at 50% 0%, rgba(145,100,45,.16), transparent 35%), #f5f0e7; }
.culture-hero p { margin: 0 0 18px; color: #8e6d3d; font: 11px/1 Arial, sans-serif; letter-spacing: .32em; }
.culture-hero h1 { margin: 0; font-size: clamp(44px, 8vw, 104px); font-weight: 400; letter-spacing: .16em; }
.culture-hero strong { margin-top: 20px; font-weight: 400; color: #8e6d3d; }
.culture-container { width: min(1140px, calc(100% - 40px)); margin: 0 auto; }
.culture-section-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 34px; }
.culture-section-head span { color: #c8a66f; font: 11px/1 Arial, sans-serif; letter-spacing: .22em; }
.culture-section-head h2, .culture-related h2 { margin: 0; font-weight: 400; letter-spacing: .16em; text-align: center; }
.culture-pickup { padding: 68px 0 82px; background: #15120e; color: #f5f0e7; overflow: hidden; }
.culture-pickup-carousel { position: relative; }
.culture-pickup-viewport { overflow: hidden; }
.culture-pickup-track { display: flex; transition: transform .7s cubic-bezier(.22,.61,.36,1); will-change: transform; }
.culture-pickup-slide { flex: 0 0 100%; box-sizing: border-box; }
.culture-pickup-card { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(320px, .75fr); min-height: 520px; color: inherit; text-decoration: none; background: rgba(245,240,231,.04); border: 1px solid rgba(245,240,231,.1); overflow: hidden; }
.culture-pickup-image { min-height: 520px; overflow: hidden; background: #ddd; }
.culture-pickup-card img { width: 100%; height: 100%; object-fit: cover; background: #ddd; transition: transform .7s ease; }
.culture-pickup-card:hover img { transform: scale(1.04); }
.culture-pickup-body { display: flex; flex-direction: column; justify-content: center; padding: 44px 42px 48px; }
.culture-pickup-card span { color: #c8a66f; font: 11px/1 Arial, sans-serif; letter-spacing: .14em; }
.culture-pickup-card h3 { margin: 18px 0 18px; font-size: clamp(28px, 3vw, 44px); font-weight: 400; line-height: 1.35; }
.culture-pickup-card p { margin: 0 0 28px; color: rgba(245,240,231,.74); font-size: 16px; line-height: 1.85; }
.culture-pickup-card time, .culture-list time { color: #9c7b49; font: 12px/1 Arial, sans-serif; letter-spacing: .12em; }
.culture-pickup-controls { display: flex; align-items: center; justify-content: center; gap: 24px; margin-top: 34px; }
.culture-pickup-controls button { padding: 0; color: rgba(245,240,231,.76); background: none; border: 0; font: 11px/1 Arial, sans-serif; letter-spacing: .18em; cursor: pointer; }
.culture-pickup-controls button:hover { color: #fff; }
.culture-pickup-controls button:disabled { opacity: .35; cursor: default; }
.culture-pickup-dots { display: flex; align-items: center; gap: 9px; min-height: 12px; }
.culture-pickup-dots button { width: 7px; height: 7px; padding: 0; border: 1px solid rgba(245,240,231,.58); border-radius: 50%; text-indent: -999px; overflow: hidden; }
.culture-pickup-dots button.is-active { background: #c8a66f; border-color: #c8a66f; }
.culture-list-section { padding: 82px 0 110px; }
.culture-layout { display: block; }
.culture-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 46px 32px; }
.culture-list li a { display: flex; flex-direction: column; height: 100%; color: inherit; text-decoration: none; }
.culture-card-image { overflow: hidden; background: #ddd; }
.culture-list img { display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; background: #ddd; transition: transform .5s ease; }
.culture-list a:hover img { transform: scale(1.04); }
.culture-card-info { display: flex; flex: 1; flex-direction: column; min-height: 220px; padding: 24px 24px 26px; background: #fff; box-shadow: 0 18px 36px rgba(65,45,20,.08); box-sizing: border-box; }
.culture-list h2 { margin: 0 0 12px; font-size: 22px; line-height: 1.45; font-weight: 400; }
.culture-list p { margin: 0 0 18px; color: rgba(21,18,14,.72); line-height: 1.72; }
.culture-list time { display: block; margin-top: auto; }
.culture-list span { display: inline-block; margin-top: 14px; font: 11px/1 Arial, sans-serif; letter-spacing: .14em; color: #8e6d3d; }
.culture-sidebar { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: 42px; margin-top: 70px; padding-top: 34px; border-top: 1px solid rgba(21,18,14,.14); }
.culture-sidebar-group div { display: flex; flex-wrap: wrap; gap: 10px 18px; }
.culture-sidebar h3 { margin: 0 0 16px; font: 12px/1 Arial, sans-serif; letter-spacing: .18em; color: #8e6d3d; text-transform: uppercase; }
.culture-sidebar h3:first-child { margin-top: 0; }
.culture-sidebar a { color: rgba(21,18,14,.72); text-decoration: none; line-height: 1.6; font-size: 14px; }
.culture-sidebar a:hover { color: #15120e; }
.culture-detail { padding: 150px 0 80px; }
.culture-detail-head { text-align: center; max-width: 920px; margin: 0 auto 54px; }
.culture-detail-head p { margin: 0 0 16px; color: #8e6d3d; letter-spacing: .12em; }
.culture-detail-head h1 { margin: 0 0 18px; font-size: clamp(32px, 5vw, 62px); font-weight: 400; line-height: 1.25; }
.culture-detail-head div { color: rgba(21,18,14,.7); line-height: 1.7; }
.culture-detail-head time { display: block; margin: 20px 0 32px; color: #8e6d3d; font: 12px/1 Arial, sans-serif; letter-spacing: .12em; }
.culture-detail-head img { width: min(904px, 100%); aspect-ratio: 16/10; object-fit: cover; }
.culture-detail-body { max-width: 920px; margin: 0 auto; line-height: 2; font-size: 16px; }
.culture-detail-body img { max-width: 100%; height: auto; display: block; margin: 26px auto; }
.culture-detail-body .article-ttl { margin: 40px 0 18px; font-size: 28px; font-weight: 400; line-height: 1.45; }
.culture-detail-body .article-comment { margin-bottom: 30px; }
.culture-back { display: table; margin: 48px auto 0; padding: 14px 28px; border: 1px solid rgba(21,18,14,.35); color: #15120e; text-decoration: none; font: 11px/1 Arial, sans-serif; letter-spacing: .14em; }
.culture-related { padding: 64px 0; background: #15120e; color: #f5f0e7; }
.culture-footer { display: flex; justify-content: space-between; padding: 34px 42px; background: #15120e; color: rgba(245,240,231,.72); font: 11px/1.2 Arial, sans-serif; letter-spacing: .18em; }
.culture-footer a { color: inherit; text-decoration: none; }
.language-switch { position: fixed; right: 24px; bottom: 24px; z-index: 80; font-family: Arial, sans-serif; }
.language-switch-current { width: 48px; height: 48px; color: #f5f0e7; border: 1px solid rgba(245,240,231,.35); background: rgba(21,18,14,.9); font-size: 11px; cursor: pointer; }
.language-switch-panel { position: absolute; right: 0; bottom: 56px; min-width: 130px; padding: 12px; opacity: 0; visibility: hidden; transform: translateY(8px); background: rgba(21,18,14,.95); border: 1px solid rgba(245,240,231,.2); transition: .2s ease; }
.language-switch:hover .language-switch-panel, .language-switch.is-open .language-switch-panel { opacity: 1; visibility: visible; transform: translateY(0); }
.language-switch-title { margin-bottom: 8px; color: #c8a66f; font-size: 10px; letter-spacing: .18em; }
.language-switch-panel a { display: block; padding: 9px 0; color: rgba(245,240,231,.72); text-decoration: none; font-size: 11px; letter-spacing: .12em; }
.language-switch-panel a.is-active, .language-switch-panel a:hover { color: #fff; }
@media (max-width: 1100px) { .culture-pickup-card { grid-template-columns: 1.2fr .8fr; min-height: 460px; } .culture-pickup-image { min-height: 460px; } .culture-list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 38px 24px; } }
@media (max-width: 900px) { .culture-header { display:none!important; } .culture-main-nav { justify-content: flex-start; overflow-x: auto; gap: 18px; padding-bottom: 6px; } .culture-header-spacer { display: none; } .culture-section-head { display: block; text-align: center; } .culture-section-head h2 { margin-top: 12px; } .culture-pickup-card { grid-template-columns: 1fr; min-height: 0; } .culture-pickup-image { min-height: 0; aspect-ratio: 16/10; } .culture-pickup-body { padding: 30px 26px 34px; } .culture-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } .culture-sidebar { grid-template-columns: 1fr; gap: 30px; margin-top: 52px; } .culture-footer { padding: 28px 20px; flex-direction: column; gap: 16px; } }
@media (max-width: 640px) { .culture-container { width: min(100% - 28px, 1140px); } .culture-hero { min-height: 330px; padding-top: 96px; } .culture-pickup { padding: 50px 0 62px; } .culture-pickup-card h3 { font-size: 24px; } .culture-pickup-card p { min-height: 0; } .culture-pickup-controls { gap: 16px; } .culture-list-section { padding: 58px 0 80px; } .culture-list { grid-template-columns: 1fr; gap: 36px; } }

/* Walnut gold theme: color-only overrides. */
html, .culture-page, .culture-list-section, .culture-detail { background: var(--zg-deep, #050302); color: var(--zg-ink, #f0e5d2); }
.culture-loading { background: var(--zg-deep, #050302); }
.culture-header, .culture-footer, .culture-related, .culture-pickup { background: var(--zg-deep, #050302); color: var(--zg-ink, #f0e5d2); border-color: var(--zg-line, rgba(189,154,98,.38)); }
.culture-hero { background: radial-gradient(circle at 68% 20%, #624026, #17100b 48%, var(--zg-deep, #050302) 100%); color: var(--zg-ink, #f0e5d2); }
.culture-hero p, .culture-hero strong, .culture-section-head span, .culture-pickup-card span, .culture-pickup-card time, .culture-list time, .culture-list span, .culture-sidebar h3, .culture-detail-head p, .culture-detail-head time { color: var(--zg-gold, #bd9a62); }
.culture-hero h1, .culture-section-head h2, .culture-related h2, .culture-list h2, .culture-pickup-card h3, .culture-detail-head h1, .culture-detail-body .article-ttl, .culture-detail-body h2 { color: var(--zg-ink, #f0e5d2); }
.culture-pickup-card p, .culture-list p, .culture-sidebar a, .culture-detail-head div, .culture-detail-body { color: var(--zg-muted, #9a876d); }
.culture-pickup-card, .culture-card-info, .culture-list li a, .culture-back { background: var(--zg-deep-soft, #0e0804); color: var(--zg-ink, #f0e5d2); border-color: var(--zg-line, rgba(189,154,98,.38)); box-shadow: none; }
.culture-pickup-image, .culture-card-image, .culture-list img, .culture-detail-head img, .culture-detail-body img { background: linear-gradient(145deg, #1b120c, #624026 54%, var(--zg-deep, #050302)); filter: saturate(.82) contrast(1.08) sepia(.14) brightness(.82); }
.culture-back, .culture-sidebar a:hover { color: var(--zg-gold, #bd9a62); }

/* Final readable culture layer. */
html,
.culture-page,
.culture-list-section,
.culture-detail,
.culture-pickup {
    background: var(--zg-paper, #f5eee2) !important;
    color: var(--zg-ink, #17120e) !important;
}

.culture-loading {
    background: var(--zg-paper, #f5eee2) !important;
}

.culture-hero,
.culture-related {
    background: radial-gradient(circle at 72% 24%, rgba(176, 138, 85, .22), transparent 32%), #120d09 !important;
    color: #f5eee2 !important;
}

.culture-hero h1,
.culture-related h2 {
    color: #f5eee2 !important;
}

.culture-hero h1 {
    color: var(--zg-gold, #9b7041) !important;
}

.culture-section-head h2,
.culture-list h2,
.culture-pickup-card h3,
.culture-detail-head h1,
.culture-detail-body .article-ttl,
.culture-detail-body h2 {
    color: var(--zg-ink, #17120e) !important;
}

.culture-pickup-card p,
.culture-list p,
.culture-sidebar a,
.culture-detail-head div,
.culture-detail-body {
    color: var(--zg-muted, #5f554a) !important;
}

.culture-pickup-card,
.culture-card-info,
.culture-list li a,
.culture-back {
    background: rgba(255, 250, 242, .74) !important;
    color: var(--zg-ink, #17120e) !important;
    border-color: rgba(122, 86, 53, .22) !important;
}

.culture-pickup-image,
.culture-card-image,
.culture-list img,
.culture-detail-head img,
.culture-detail-body img {
    filter: saturate(.96) contrast(1.02) sepia(.04) brightness(1) !important;
}

.culture-detail-page .topic-path li:last-child {
    color: var(--zg-gold, #9b7041) !important;
}
