.site-header,
.site-header * {
    box-sizing: border-box;
}

/* Final readable theme - terminal override. */
:root {
    --zg-ink: #17120e;
    --zg-deep: #16100b;
    --zg-deep-soft: #241a12;
    --zg-paper: #f5eee2;
    --zg-paper-soft: #eee1cf;
    --zg-wood: #7a5635;
    --zg-oak: #c6a77b;
    --zg-gold: #9b7041;
    --zg-gold-soft: #c2a06a;
    --zg-muted: #5f554a;
    --zg-line: rgba(122, 86, 53, .22);
}

body,
.home-page,
.brand-page,
.story-page,
.factory-page,
.shop-page,
.culture-page,
.news-page,
.info-page,
.policy-page {
    color: var(--zg-ink) !important;
}

.site-header,
.site-header-pc,
.site-header-sp,
.site-menu-container,
.site-mega-menu,
.site-footer {
    background: var(--zg-deep) !important;
    color: #f5eee2 !important;
    border-color: rgba(194, 160, 106, .28) !important;
}

.site-nav-link,
.site-menu-nav a,
.site-mega-list a,
.site-footer a,
.site-footer strong {
    color: #f5eee2 !important;
}

.site-mega-list small,
.site-menu-subnav,
.site-copyright {
    color: rgba(245, 238, 226, .74) !important;
}

/* Final readable theme - terminal override. */
:root {
    --zg-ink: #17120e;
    --zg-deep: #16100b;
    --zg-deep-soft: #241a12;
    --zg-paper: #f5eee2;
    --zg-paper-soft: #eee1cf;
    --zg-wood: #7a5635;
    --zg-oak: #c6a77b;
    --zg-gold: #9b7041;
    --zg-gold-soft: #c2a06a;
    --zg-muted: #5f554a;
    --zg-line: rgba(122, 86, 53, .22);
}

body,
.home-page,
.brand-page,
.story-page,
.factory-page,
.shop-page,
.culture-page,
.news-page,
.info-page,
.policy-page {
    color: var(--zg-ink) !important;
}

.site-header,
.site-header-pc,
.site-header-sp,
.site-menu-container,
.site-mega-menu,
.site-footer {
    background: var(--zg-deep) !important;
    color: #f5eee2 !important;
    border-color: rgba(194, 160, 106, .28) !important;
}

.site-nav-link,
.site-menu-nav a,
.site-mega-list a,
.site-footer a,
.site-footer strong {
    color: #f5eee2 !important;
}

.site-mega-list small,
.site-menu-subnav,
.site-copyright {
    color: rgba(245, 238, 226, .74) !important;
}

/* Final readable theme: keep the wood tone while restoring body text contrast. */
:root {
    --zg-ink: #17120e;
    --zg-deep: #16100b;
    --zg-deep-soft: #241a12;
    --zg-paper: #f5eee2;
    --zg-paper-soft: #eee1cf;
    --zg-wood: #7a5635;
    --zg-oak: #c6a77b;
    --zg-gold: #9b7041;
    --zg-gold-soft: #c2a06a;
    --zg-muted: #5f554a;
    --zg-line: rgba(122, 86, 53, .22);
}

body,
.home-page,
.brand-page,
.story-page,
.factory-page,
.shop-page,
.culture-page,
.news-page,
.info-page,
.policy-page {
    color: var(--zg-ink) !important;
}

h1,
h2,
h3,
h4,
.common-ttl-1,
.story-title,
.story-section-copy h2,
.factory-hero-copy h1,
.intro-heading h2,
.commitment-block h2,
.belief-copy h2,
.factory-card-copy h2,
.process-heading h2,
.process-item h3,
.shop-hero h1,
.shop-areas h2,
.stage-text h1,
.stage-text h2,
.stage-shop-list h2,
.experience-intro h1,
.experience-section h2,
.experience-closing h2,
.shop-company-card h2,
.shop-detail-heading h2,
.shop-store-info h3,
.culture-hero h1,
.culture-section-head h2,
.culture-related h2,
.culture-list h2,
.culture-pickup-card h3,
.culture-detail-head h1,
.culture-detail-body h2,
.culture-detail-body .article-ttl,
.news-hero h1,
.news-list-page strong,
.news-detail h1,
.news-detail-body h2,
.company-hero h1,
.policy-hero h1,
.policy-container h2 {
    color: var(--zg-ink) !important;
}

p,
li,
dd,
.section-lead,
.factory-comment,
.brand-detail p,
.brand-content p,
.brand-content li,
.brand-content dd,
.brand-content dt,
.story-section-copy p,
.factory-hero-copy p,
.intro-text p,
.factory-card-copy p,
.commitment-block p,
.process-item p,
.belief-copy p,
.factory-commitment p,
.factory-belief p,
.stage-text p,
.experience-intro p,
.experience-card p,
.experience-closing p,
.shop-company-card p,
.shop-detail-heading p,
.shop-area-intro,
.shop-store-info .address,
.shop-store-info dl,
.shop-store-info dd,
.culture-pickup-card p,
.culture-list p,
.culture-detail-head div,
.culture-detail-body,
.culture-detail-body p,
.culture-sidebar a,
.news-detail-body,
.news-detail-body p,
.company-profile dd,
.policy-container,
.policy-container p,
.policy-container li {
    color: var(--zg-muted) !important;
}

.site-header,
.site-header-pc,
.site-header-sp,
.site-menu-container,
.site-mega-menu,
.site-footer {
    background: var(--zg-deep) !important;
    color: #f5eee2 !important;
    border-color: rgba(194, 160, 106, .28) !important;
}

.site-nav-link,
.site-menu-nav a,
.site-mega-list a,
.site-footer a,
.site-footer strong {
    color: #f5eee2 !important;
}

.site-mega-list small,
.site-menu-subnav,
.site-copyright {
    color: rgba(245, 238, 226, .74) !important;
}

/* Dark Walnut Gold final text contrast: titles white/gold, body text white on dark backgrounds. */
body,
.home-page,
.brand-page,
.story-page,
.factory-page,
.shop-page,
.culture-page,
.news-page,
.info-page,
.policy-page {
    color: var(--zg-ink, #f0e5d2) !important;
}

h1,
h2,
h3,
h4,
.common-ttl-1,
.story-title,
.story-section-copy h2,
.factory-hero-copy h1,
.intro-heading h2,
.commitment-block h2,
.belief-copy h2,
.factory-card-copy h2,
.process-heading h2,
.process-item h3,
.shop-hero h1,
.shop-areas h2,
.stage-text h1,
.stage-text h2,
.stage-shop-list h2,
.experience-intro h1,
.experience-section h2,
.experience-closing h2,
.shop-company-card h2,
.shop-detail-heading h2,
.shop-store-info h3,
.culture-hero h1,
.culture-section-head h2,
.culture-related h2,
.culture-list h2,
.culture-pickup-card h3,
.culture-detail-head h1,
.culture-detail-body h2,
.culture-detail-body .article-ttl,
.news-hero h1,
.news-list-page strong,
.news-detail h1,
.news-detail-body h2,
.company-hero h1,
.policy-hero h1,
.policy-container h2 {
    color: var(--zg-ink, #f0e5d2) !important;
}

p,
li,
dd,
.phs-copy p,
.story-detail-card p,
.section-lead,
.factory-comment,
.brand-detail p,
.brand-content p,
.brand-content li,
.brand-content dd,
.brand-content dt,
.story-section-copy p,
.factory-hero-copy p,
.intro-text p,
.factory-card-copy p,
.commitment-block p,
.process-item p,
.belief-copy p,
.factory-commitment p,
.factory-belief p,
.stage-text p,
.experience-intro p,
.experience-card p,
.experience-closing p,
.shop-company-card p,
.shop-detail-heading p,
.shop-area-intro,
.shop-store-info .address,
.shop-store-info dl,
.shop-store-info dd,
.culture-pickup-card p,
.culture-list p,
.culture-detail-head div,
.culture-detail-body,
.culture-detail-body p,
.culture-sidebar a,
.news-detail-body,
.news-detail-body p,
.company-hero strong,
.company-profile dd,
.policy-container,
.policy-container p,
.policy-container li {
    color: rgba(240, 229, 210, .92) !important;
}

.mv-kicker,
.section-label,
.culture-category,
.date-view span,
.news-list time,
.news-list span,
.brand-detail span,
.text-link,
.bdr-btn,
.date-view time,
.story-title::after,
.story-section-copy h2::before,
.factory-hero-copy span,
.intro-heading span,
.commitment-block span,
.process-heading span,
.belief-copy span,
.factory-card-copy time,
.factory-card-copy h3,
.shop-hero .eyebrow,
.shop-detail-kicker,
.shop-store-brand,
.shop-store-info dt,
.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,
.news-hero p,
.news-list-page time,
.news-list-page span,
.news-detail header p,
.news-detail header div,
.company-hero p,
.policy-hero p,
.company-profile dt,
.policy-container h3,
.policy-container a,
.policy-date {
    color: var(--zg-gold, #bd9a62) !important;
}

.site-copyright,
.site-mega-list small,
.brand-content small,
.brand-content span:not(.text-link),
.site-menu-subnav {
    color: rgba(240, 229, 210, .72) !important;
}

/* Dark Walnut Gold final overrides: color-only, keep layout unchanged. */
:root {
    --zg-ink: #f0e5d2;
    --zg-deep: #050302;
    --zg-deep-soft: #0e0804;
    --zg-paper: #050302;
    --zg-paper-soft: #0e0804;
    --zg-wood: #9f6a3e;
    --zg-oak: #c6a77b;
    --zg-gold: #bd9a62;
    --zg-gold-soft: #c6a77b;
    --zg-muted: #9a876d;
    --zg-line: rgba(189, 154, 98, .38);
}

.site-header,
.site-header-pc,
.site-header-sp,
.site-menu-container,
.site-mega-menu,
.site-footer {
    background: var(--zg-deep) !important;
    color: var(--zg-ink) !important;
    border-color: var(--zg-line) !important;
}

.site-nav-link,
.site-menu-nav a,
.site-mega-list a,
.site-footer a,
.site-footer strong {
    color: var(--zg-ink) !important;
}

.site-nav-link:hover,
.site-nav-link.is-active,
.site-menu-nav a.is-active,
.site-mega-list a:hover,
.site-footer a:hover {
    color: var(--zg-gold) !important;
    opacity: 1 !important;
}

.site-mega-list small,
.site-menu-subnav,
.site-copyright {
    color: var(--zg-muted) !important;
}

.site-mega-card,
.site-mega-card.tone-olive,
.site-mega-card.tone-slate,
.site-mega-card.tone-ink,
.site-culture-visual {
    background: linear-gradient(135deg, #1b120c, var(--zg-deep)) !important;
    color: var(--zg-gold) !important;
}

/* Walnut gold theme: color-only refresh, no layout changes. */
:root {
    --zg-ink: #f0e5d2;
    --zg-deep: #050302;
    --zg-deep-soft: #0e0804;
    --zg-paper: #050302;
    --zg-paper-soft: #0e0804;
    --zg-wood: #9f6a3e;
    --zg-oak: #c6a77b;
    --zg-gold: #bd9a62;
    --zg-gold-soft: #c6a77b;
    --zg-muted: #9a876d;
    --zg-line: rgba(189, 154, 98, .38);
}

.site-header,
.site-header-pc,
.site-header-sp {
    background: var(--zg-deep);
    color: var(--zg-ink);
    border-bottom: 1px solid var(--zg-line);
}

.site-nav-link,
.site-menu-nav a {
    color: var(--zg-ink);
}

.site-nav-link:hover,
.site-nav-link.is-active,
.site-menu-nav a.is-active {
    color: var(--zg-gold);
    opacity: 1;
}

.site-mega-menu,
.site-menu-container {
    background: var(--zg-deep-soft);
    color: var(--zg-ink);
    border-top: 1px solid var(--zg-line);
}

.site-mega-list a {
    color: var(--zg-ink);
}

.site-mega-list small,
.site-menu-subnav {
    color: var(--zg-muted);
}

.site-mega-list a:hover,
.site-menu-subnav a:hover {
    color: var(--zg-gold);
    opacity: 1;
}

.site-mega-card,
.site-culture-visual {
    background: linear-gradient(135deg, #1b120c, var(--zg-deep));
    color: var(--zg-gold);
}

.site-mega-card.tone-olive,
.site-mega-card.tone-slate,
.site-mega-card.tone-ink {
    background: linear-gradient(135deg, #1b120c, var(--zg-deep));
}

.site-footer {
    background: var(--zg-deep);
    color: var(--zg-ink);
    border-top: 1px solid var(--zg-line);
}

.site-footer-group a,
.site-footer-group strong,
.site-copyright {
    color: var(--zg-muted);
}

.site-footer-group a:hover {
    color: var(--zg-gold);
}

@media (max-width: 900px) {
    .site-header-sp,
    .site-menu-container {
        background: var(--zg-deep);
        color: var(--zg-ink);
    }
}

:root {
    --zg-ink: #17120e;
    --zg-deep: #14100c;
    --zg-deep-soft: #1f1710;
    --zg-paper: #f3ebdd;
    --zg-paper-soft: #efe4d2;
    --zg-wood: #7a5635;
    --zg-oak: #c6a77b;
    --zg-gold: #b08a55;
    --zg-gold-soft: #c2a06a;
    --zg-muted: #7a7065;
    --zg-line: rgba(122, 86, 53, .2);
}

.site-header a,
.site-footer a {
    color: inherit;
    text-decoration: none;
}

.site-header {
    position: relative;
    z-index: 5000;
    background: #000;
    color: #fff;
    font-family: Georgia, "Times New Roman", "PingFang SC", "Microsoft Yahei", serif;
}

.site-header-pc {
    display: grid;
    grid-template-columns: 230px minmax(0, 1fr);
    align-items: center;
    min-width: 1088px;
    height: 64px;
    padding: 0 42px;
    background: #000;
}

.site-logo,
.site-footer-logo {
    display: inline-flex;
    align-items: center;
    gap: 13px;
    transition: opacity .2s ease;
}

.site-logo-img {
    display: block;
    width: 210px;
    height: auto;
}

.site-footer-logo-img {
    width: 184px;
}

.site-logo:hover,
.site-footer-logo:hover {
    opacity: .6;
}

.site-logo-mark {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border: 1px solid currentColor;
    border-radius: 50%;
    font-size: 14px;
    letter-spacing: .06em;
}

.site-logo-text {
    font-size: 10px;
    line-height: 1.35;
    letter-spacing: .2em;
}

.site-nav {
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 28px;
    height: 64px;
}

.site-nav-item {
    display: flex;
    align-items: center;
}

.site-nav-link {
    display: flex;
    align-items: center;
    height: 64px;
    border: 0;
    background: transparent;
    color: #fff;
    font: inherit;
    font-size: 12px;
    letter-spacing: .16em;
    cursor: pointer;
    transition: opacity .2s ease;
}

.site-nav-link:hover,
.site-nav-link.is-active {
    opacity: .58;
}

.site-utility-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px 12px;
    color: rgba(255, 255, 255, .72);
    font-family: Arial, "PingFang SC", "Microsoft Yahei", sans-serif;
    font-size: 10px;
    line-height: 1.5;
    letter-spacing: .05em;
}

.site-utility-links a:hover {
    color: #fff;
}

.site-mega-menu {
    display: none;
    position: absolute;
    top: 64px;
    left: 0;
    width: 100%;
    min-height: 304px;
    padding: 0;
    background: #1f2529;
    color: #fff;
    border: 0;
    box-shadow: none;
}

.site-nav-dropdown:hover .site-mega-menu,
.site-nav-dropdown:focus-within .site-mega-menu {
    display: block;
}

.site-mega-inner {
    display: grid;
    grid-template-columns: minmax(320px, 42%) minmax(0, 1fr);
    min-height: 304px;
}

.site-mega-list {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 24px;
    padding: 46px 0 46px max(80px, calc((100vw - 1120px) / 2));
    list-style: none;
    margin: 0;
}

.site-mega-list a {
    display: block;
    color: #fff;
    font-size: 15px;
    letter-spacing: .1em;
    transition: opacity .2s ease;
}

.site-mega-list small {
    display: block;
    margin-top: 5px;
    color: rgba(255, 255, 255, .6);
    font-family: Arial, "PingFang SC", "Microsoft Yahei", sans-serif;
    font-size: 11px;
    line-height: 1.5;
    letter-spacing: .03em;
}

.site-mega-list a:hover {
    opacity: .58;
}

.site-mega-preview {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    min-height: 304px;
}

.site-mega-card {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 304px;
    color: rgba(255, 255, 255, .68);
    font-size: 24px;
    letter-spacing: .2em;
    background: linear-gradient(135deg, #3b342b, #17191b);
}

.site-mega-card.tone-olive { background: linear-gradient(135deg, #3b4037, #151817); }
.site-mega-card.tone-slate { background: linear-gradient(135deg, #343a40, #151719); }
.site-mega-card.tone-ink { background: linear-gradient(135deg, #20242c, #0b0d11); }

.site-mega-inner.site-culture-menu {
    grid-template-columns: minmax(320px, 46%) minmax(0, 1fr);
}

.site-culture-visual {
    min-height: 304px;
    background: linear-gradient(135deg, rgba(120, 96, 68, .78), rgba(12, 14, 16, .96));
}

.site-header-sp {
    display: none;
}

.site-footer {
    background: linear-gradient(180deg, #19120d, #0f0b08);
    color: var(--zg-paper);
    padding: 68px 0 42px;
    font-family: Georgia, "Times New Roman", "PingFang SC", "Microsoft Yahei", serif;
    border-top: 1px solid rgba(194, 160, 106, .16);
}

.site-footer-inner {
    width: min(1120px, calc(100% - 56px));
    margin: 0 auto;
}

.site-footer-logo {
    display: flex;
    width: max-content;
    margin: 0 auto 44px;
    letter-spacing: .16em;
}

.site-footer-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 36px;
}

.site-footer-group {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.site-footer-group a,
.site-footer-group strong {
    color: rgba(243, 235, 221, .72);
    font-family: Arial, "PingFang SC", "Microsoft Yahei", sans-serif;
    font-size: 12px;
    line-height: 1.6;
    letter-spacing: .06em;
    font-weight: 400;
}

.site-footer-group a:hover {
    color: var(--zg-gold-soft);
}

.site-copyright {
    margin: 208px 0 0;
    color: rgba(243, 235, 221, .42);
    font-family: Arial, "PingFang SC", "Microsoft Yahei", sans-serif;
    font-size: 11px;
    letter-spacing: .08em;
    text-align: center;
}

@media (max-width: 900px) {
    .site-header-pc {
        display: none;
    }

    .site-header-sp {
        display: flex;
        position: relative;
        align-items: center;
        justify-content: space-between;
        height: 64px;
        padding: 0 5vw;
        background: #000;
        color: #fff;
    }

    .site-header-sp .site-logo-mark {
        width: 38px;
        height: 38px;
        font-size: 12px;
    }

    .site-header-sp .site-logo-text {
        font-size: 9px;
    }

    .site-logo-img {
        width: 152px;
    }

    .site-menu-switch {
        position: relative;
        z-index: 3;
        width: 42px;
        height: 42px;
        border: 0;
        background: transparent;
        color: #fff;
        cursor: pointer;
    }

    .site-menu-switch span,
    .site-menu-switch span::before,
    .site-menu-switch span::after {
        content: '';
        display: block;
        position: absolute;
        left: 9px;
        width: 24px;
        height: 1px;
        background: currentColor;
        transition: transform .25s ease, opacity .25s ease;
    }

    .site-menu-switch span { top: 20px; }
    .site-menu-switch span::before { left: 0; top: -8px; }
    .site-menu-switch span::after { left: 0; top: 8px; }

    .site-menu-container {
        display: none;
        position: absolute;
        top: 64px;
        left: 0;
        right: 0;
        min-height: calc(100vh - 64px);
        background: #111;
        color: #fff;
    }

    .site-menu-container.is-active,
    .site-header-sp.is-open .site-menu-container {
        display: block;
    }

    .site-menu-body {
        padding: 9vw 8vw 14vw;
    }

    .site-menu-nav,
    .site-menu-subnav {
        display: flex;
        flex-direction: column;
    }

    .site-menu-nav {
        gap: 5vw;
        font-size: 7vw;
        letter-spacing: .12em;
    }

    .site-menu-nav a.is-active {
        color: #d8bd87;
    }

    .site-menu-subnav {
        gap: 3vw;
        margin-top: 10vw;
        color: rgba(255, 255, 255, .66);
        font-family: Arial, "PingFang SC", "Microsoft Yahei", sans-serif;
        font-size: 3.2vw;
        letter-spacing: .04em;
    }

    .site-footer {
        padding: 14vw 0 22vw;
    }

    .site-footer-inner {
        width: min(100% - 8vw, 680px);
    }

    .site-footer-grid {
        grid-template-columns: 1fr;
        gap: 8vw;
    }

    .site-copyright {
        margin: 46px 0 0;
        text-align: left;
    }
}

/* Final readable theme - terminal override. */
:root {
    --zg-ink: #17120e;
    --zg-deep: #16100b;
    --zg-deep-soft: #241a12;
    --zg-paper: #f5eee2;
    --zg-paper-soft: #eee1cf;
    --zg-wood: #7a5635;
    --zg-oak: #c6a77b;
    --zg-gold: #9b7041;
    --zg-gold-soft: #c2a06a;
    --zg-muted: #5f554a;
    --zg-line: rgba(122, 86, 53, .22);
}

body,
.home-page,
.brand-page,
.story-page,
.factory-page,
.shop-page,
.culture-page,
.news-page,
.info-page,
.policy-page {
    color: var(--zg-ink) !important;
}

.site-header,
.site-header-pc,
.site-header-sp,
.site-menu-container,
.site-mega-menu,
.site-footer {
    background: var(--zg-deep) !important;
    color: #f5eee2 !important;
    border-color: rgba(194, 160, 106, .28) !important;
}

.site-nav-link,
.site-menu-nav a,
.site-mega-list a,
.site-footer a,
.site-footer strong {
    color: #f5eee2 !important;
}

.site-mega-list small,
.site-menu-subnav,
.site-copyright {
    color: rgba(245, 238, 226, .74) !important;
}
