.home-articles-style-1 {
    margin: 0 -15px;
}

.home-articles-style-2 {
    padding: 100px 40px;
    background-color: #0E1D42;
    overflow: hidden;
}

.home-articles-style-3 {
    max-width: 1314px;
    margin: 0 auto;
}

.home-articles-style-4 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 40px;
}

.home-articles-style-5 {
    font-family: 'Andale Mono', monospace;
    font-size: 40px;
    color: #FFF;
    margin: 0;
    font-weight: normal;
}

.home-articles-style-6 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 24px;
    border: 1px solid #FFF;
    color: #FFF;
    font-family: 'Avenir', sans-serif;
    font-size: 16px;
    border-radius: 4px;
    text-decoration: none;
}

.home-articles-style-7 {
    padding: 0 15px;
    outline: none;
}

.home-articles-style-8 {
    background-color: #FFF;
    border-radius: 4px;
    overflow: hidden;
}

.home-articles-style-9 {
    width: 100%;
    height: 250px;
    object-fit: cover;
}

.home-articles-style-10 {
    padding: 24px;
}

.home-articles-style-11 {
    font-family: 'Andale Mono', monospace;
    font-size: 20px;
    color: #0E1D42;
    margin: 0 0 16px;
    font-weight: normal;
}

.home-articles-style-12 {
    font-family: 'Avenir', sans-serif;
    font-size: 14px;
    line-height: 20px;
    color: #6E778E;
    margin: 0;
}

@keyframes marquee {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

.home-brand_marquee-style-1 {
    background-color: #0E1D42;
    padding: 40px 0;
    overflow: hidden;
    white-space: nowrap;
}

.home-brand_marquee-style-2 {
    display: inline-block;
    animation: marquee 20s linear infinite;
}

.home-brand_marquee-style-3 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 200px;
    color: #fff;
    font-family: 'Andale Mono', monospace;
    font-size: 24px;
    margin: 0 40px;
}

.home-brand_marquee-style-4 {
    height: 60px;
}

@media (max-width: 1024px) {
    .ds-community-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 600px) {
    .ds-community-grid {
        grid-template-columns: repeat(1, 1fr) !important;
    }
}

.home-community-style-1 {
    padding: 100px 0;
    background-color: #0E1D42;
    text-align: center;
}

.home-community-style-2 {
    font-family: 'Andale Mono', monospace;
    font-size: 40px;
    color: #FFF;
    margin: 0 0 20px;
    font-weight: normal;
}

.home-community-style-3 {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-bottom: 40px;
}

.home-community-style-4 {
    color: #FFF;
    font-size: 24px;
    display: inline-block;
}

.home-community-style-5 {
    color: #FFF;
    font-size: 24px;
    display: inline-block;
}

.home-community-style-6 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    width: 100%;
}

.home-community-style-7 {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
}

.home-discover_sake-style-1 {
    position: relative;
    padding: 120px 40px;
    background: url('../../images/home/discover_sake_bg.jpg') center/cover no-repeat;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.home-discover_sake-style-2 {
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.6);
}

.home-discover_sake-style-3 {
    position: relative;
    font-family: 'Andale Mono', monospace;
    font-size: 64px;
    color: #0E1D42;
    margin: 0 0 30px;
    font-weight: normal;
    z-index: 1;
}

.home-discover_sake-style-4 {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 40px;
    margin-bottom: 40px;
    z-index: 1;
}

.home-discover_sake-style-5 {
    font-family: 'Avenir', sans-serif;
    font-size: 18px;
    color: #0E1D42;
    text-decoration: none;
    font-weight: bold;
}

.home-discover_sake-style-6 {
    font-family: 'Avenir', sans-serif;
    font-size: 18px;
    color: #0E1D42;
    text-decoration: none;
}

.home-discover_sake-style-7 {
    font-family: 'Avenir', sans-serif;
    font-size: 18px;
    color: #0E1D42;
    text-decoration: none;
}

.home-discover_sake-style-8 {
    font-family: 'Avenir', sans-serif;
    font-size: 18px;
    color: #0E1D42;
    text-decoration: none;
}

.home-discover_sake-style-9 {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 32px;
    background-color: #85A443;
    color: #fff;
    font-family: 'Avenir', sans-serif;
    font-size: 16px;
    border-radius: 4px;
    text-decoration: none;
    z-index: 1;
}

.home-event-style-1 {
    position: relative;
    padding: 120px 40px;
    background: url('../../images/home/event_bg.jpg') center/cover no-repeat;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.home-event-style-2 {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
}

.home-event-style-3 {
    position: relative;
    font-family: 'Andale Mono', monospace;
    font-size: 40px;
    line-height: 56px;
    color: #FFF;
    margin: 0 0 40px;
    font-weight: normal;
    z-index: 1;
    max-width: 800px;
}

.home-event-style-4 {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 32px;
    background-color: #85A443;
    color: #fff;
    font-family: 'Avenir', sans-serif;
    font-size: 16px;
    border-radius: 4px;
    text-decoration: none;
    z-index: 1;
}

.home-featured_sake-style-1 {
    flex: 1;
    min-width: 0;
}

.home-featured_sake-style-2 {
    padding: 100px 40px;
    background-color: #FFFEF3;
    overflow: hidden;
}

.home-featured_sake-style-3 {
    max-width: 1314px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    gap: 60px;
}

.home-featured_sake-style-4 {
    flex: 0 0 250px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.home-featured_sake-style-5 {
    font-family: 'Andale Mono', monospace;
    font-size: 32px;
    color: #4C512A;
    margin: 0;
    font-weight: normal;
}

.home-featured_sake-style-6 {
    font-family: 'Andale Mono', monospace;
    font-size: 32px;
    color: #94977F;
    margin: 0;
    font-weight: normal;
}

.home-featured_sake-style-7 {
    font-family: 'Andale Mono', monospace;
    font-size: 32px;
    color: #94977F;
    margin: 0;
    font-weight: normal;
}

.home-featured_sake-style-8 {
    margin-top: 20px;
}

.home-featured_sake-style-9 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 32px;
    background-color: #85A443;
    color: #fff;
    font-family: 'Avenir', sans-serif;
    font-size: 16px;
    border-radius: 4px;
    text-decoration: none;
}

.home-featured_sake-style-10 {
    padding: 0 15px;
    outline: none;
}

.home-featured_sake-style-11 {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}

.home-featured_sake-style-12 {
    background-color: #FFFFFF;
    width: 100%;
    height: 350px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #E5E5E5;
}

.home-featured_sake-style-13 {
    max-height: 80%;
    object-fit: contain;
}

.home-featured_sake-style-14 {
    text-align: center;
}

.home-featured_sake-style-15 {
    font-family: 'Andale Mono', monospace;
    font-size: 20px;
    color: #0E1D42;
    margin: 0 0 8px;
    font-weight: normal;
}

.home-featured_sake-style-16 {
    font-family: 'Avenir', sans-serif;
    font-size: 14px;
    color: #6E778E;
    margin: 0;
}

.home-hero_banner-style-1 {
    position: relative;
    width: 100%;
    height: 800px;
    background: url('../../images/home/hero_banner.png') center/cover no-repeat;
    display: flex;
    justify-content: center;
    align-items: center;
}

.home-hero_banner-style-2 {
    width: 80%;
    max-width: 900px;
    height: 400px;
    background-color: #0E1D42;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.home-hero_banner-style-3 {
    position: absolute;
    bottom: 20px;
    right: 20px;
    width: 150px;
    height: 150px;
    background-image: radial-gradient(#FFFEF3 2px, transparent 2px);
    background-size: 20px 20px;
    opacity: 0.2;
}

.home-introduction-style-1 {
    padding: 100px 40px;
    background-color: #FFFEF3;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.home-introduction-style-2 {
    color: #0E1D42;
    font-family: 'Andale Mono', monospace;
    font-size: 48px;
    line-height: 60px;
    text-align: center;
    max-width: 800px;
    margin: 0 0 40px;
    font-weight: normal;
}

.home-introduction-style-3 {
    display: flex;
    gap: 40px;
    margin-bottom: 60px;
    font-family: 'Avenir', sans-serif;
    font-size: 16px;
}

.home-introduction-style-4 {
    color: #4C512A;
    text-decoration: none;
    border-bottom: 2px solid #4C512A;
    padding-bottom: 4px;
}

.home-introduction-style-5 {
    color: #94977F;
    text-decoration: none;
}

.home-introduction-style-6 {
    color: #94977F;
    text-decoration: none;
}

.home-introduction-style-7 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 60px;
    max-width: 1000px;
}

.home-introduction-style-8 {
    width: 400px;
    height: 400px;
    object-fit: cover;
}

.home-introduction-style-9 {
    flex: 1;
    min-width: 300px;
    font-family: 'Avenir', sans-serif;
    font-size: 16px;
    line-height: 24px;
    color: #0E1D42;
    margin: 0;
}

.home-sake_academy-style-1 {
    padding: 100px 40px;
    background-color: #FFFEF3;
}

.home-sake_academy-style-2 {
    max-width: 1314px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    gap: 60px;
    align-items: center;
}

.home-sake_academy-style-3 {
    flex: 1;
    min-width: 300px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.home-sake_academy-style-4 {
    font-family: 'Andale Mono', monospace;
    font-size: 40px;
    color: #0E1D42;
    margin: 0;
    font-weight: normal;
}

.home-sake_academy-style-5 {
    font-family: 'Avenir', sans-serif;
    font-size: 16px;
    line-height: 24px;
    color: #0E1D42;
    margin: 0;
}

.home-sake_academy-style-6 {
    display: flex;
    gap: 20px;
    margin: 20px 0;
}

.home-sake_academy-style-7 {
    width: 100px;
    height: 100px;
    border-radius: 50%;
}

.home-sake_academy-style-8 {
    width: 100px;
    height: 100px;
    border-radius: 50%;
}

.home-sake_academy-style-9 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 32px;
    background-color: #85A443;
    color: #fff;
    font-family: 'Avenir', sans-serif;
    font-size: 16px;
    border-radius: 4px;
    text-decoration: none;
}

.home-sake_academy-style-10 {
    flex: 1;
    min-width: 300px;
}

.home-sake_academy-style-11 {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.home-sake_life-style-1 {
    padding: 100px 40px;
    background-color: #FFFEF3;
}

.home-sake_life-style-2 {
    max-width: 1314px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.home-sake_life-style-3 {
    font-family: 'Andale Mono', monospace;
    font-size: 48px;
    color: #0E1D42;
    margin: 0 0 60px;
    font-weight: normal;
}

.home-sake_life-style-4 {
    display: flex;
    flex-wrap: wrap;
    gap: 60px;
    width: 100%;
    align-items: center;
}

.home-sake_life-style-5 {
    flex: 1;
    min-width: 300px;
}

.home-sake_life-style-6 {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.home-sake_life-style-7 {
    flex: 0 0 400px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 24px;
}

.home-sake_life-style-8 {
    font-family: 'Avenir', sans-serif;
    font-size: 20px;
    color: #4C512A;
    margin: 0;
    font-weight: bold;
    letter-spacing: 2px;
}

.home-sake_life-style-9 {
    height: 200px;
    object-fit: contain;
}

.home-sake_life-style-10 {
    font-family: 'Avenir', sans-serif;
    font-size: 16px;
    line-height: 24px;
    color: #0E1D42;
    margin: 0;
}

.home-sake_life-style-11 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 32px;
    background-color: #85A443;
    color: #fff;
    font-family: 'Avenir', sans-serif;
    font-size: 16px;
    border-radius: 4px;
    text-decoration: none;
}

/* Removing default main paddings if needed to allow full-width sections */
.ec-layoutRole__main {
    padding: 0;
    max-width: 100%;
}

.ec-layoutRole__contents {
    max-width: 100%;
    margin: 0;
    padding: 0;
}

/* Hide default EC-CUBE layout blocks */
.ec-layoutRole__contentTop,
.ec-layoutRole__mainTop,
.ec-layoutRole__mainBottom,
.ec-layoutRole__contentBottom,
.ec-layoutRole__left,
.ec-layoutRole__right,
.ec-headerRole,
.ec-categoryNaviRole {
    display: none !important;
}

.ec-layoutRole__contents {
    max-width: 100% !important;
    padding: 0 !important;
}

.ec-layoutRole__main {
    padding: 0 !important;
}

/* Custom Slick Slider Styles */
.slick-prev,
.slick-next {
    z-index: 10;
    width: 40px;
    height: 40px;
}

.slick-prev {
    left: 20px;
}

.slick-next {
    right: 20px;
}

.slick-prev:before,
.slick-next:before {
    font-size: 40px;
    color: #fff;
    opacity: 0.8;
}

.event-slider .slick-dots {
    bottom: 30px;
}

.event-slider .slick-dots li button:before {
    color: #fff;
    font-size: 16px;
    opacity: 0.5;
}

.event-slider .slick-dots li.slick-active button:before {
    color: var(--light-green-100);
    opacity: 1;
}

.articles-slider .slick-prev,
.articles-slider .slick-next {
    width: 30px;
    height: 30px;
}

.articles-slider .slick-prev {
    left: -40px;
}

.articles-slider .slick-next {
    right: -40px;
}

.articles-slider .slick-prev:before,
.articles-slider .slick-next:before {
    color: var(--blue-100);
    font-size: 30px;
}

.featured-sake-slider .slick-prev,
.featured-sake-slider .slick-next {
    width: 30px;
    height: 30px;
}

.featured-sake-slider .slick-prev {
    left: -30px;
}

.featured-sake-slider .slick-next {
    right: -10px;
}

.featured-sake-slider .slick-prev:before,
.featured-sake-slider .slick-next:before {
    color: var(--blue-100);
    font-size: 30px;
}

.home-index-style-1 {
    width: 100%;
    overflow: hidden;
}
.home-community-style-17 { width: 100%; }
.home-community-style-18 { width: 100%; height: auto; display: block; }
.home-hero_banner-style-19 { position: relative; width: 100%; height: 800px; overflow: hidden; }
.home-hero_banner-style-20 { width: 100%; height: 100%; }
.home-hero_banner-style-21 { height: 800px; outline: none; }
.home-hero_banner-style-22 { width: 100%; height: 100%; background: url('../../img/hero_sake_01.png') center/cover no-repeat; }
.home-hero_banner-style-23 { height: 800px; outline: none; }
.home-hero_banner-style-24 { width: 100%; height: 100%; background: url('../../img/hero_sake_02.png') center/cover no-repeat; }
.home-hero_banner-style-25 { height: 800px; outline: none; }
.home-hero_banner-style-26 { width: 100%; height: 100%; background: url('../../img/hero_sake_03.png') center/cover no-repeat; }
.home-hero_banner-style-27 { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 80%; max-width: 1000px; height: 500px; background-color: rgba(14, 29, 66, 0.9); border-radius: 4px; display: flex; flex-direction: column; align-items: center; justify-content: center; z-index: 5; pointer-events: none; }
.home-hero_banner-style-28 { position: absolute; bottom: 20px; right: 20px; width: 150px; height: 150px; background-image: radial-gradient(#FFFEF3 2px, transparent 2px); background-size: 20px 20px; opacity: 0.2; }
.home-hero_banner-style-29 { font-family: 'Andale Mono', monospace; font-size: 48px; margin-bottom: 20px; color: #FFFEF3; position: relative; z-index: 2; pointer-events: auto; font-weight: normal; }
.home-hero_banner-style-30 { position: relative; z-index: 2; pointer-events: auto; display: inline-flex; align-items: center; justify-content: center; padding: 12px 32px; background-color: #85A443; color: #fff; font-family: 'Avenir', sans-serif; font-size: 16px; border-radius: 4px; text-decoration: none; }
.home-hero_banner-style-31 { position: absolute; bottom: 40px; left: 50%; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; color: #FFFEF3; z-index: 5; }
.home-hero_banner-style-32 { font-family: 'Avenir', sans-serif; font-size: 16px; margin-bottom: 10px; }
.home-hero_banner-style-33 { animation: bounce 2s infinite; }
.home-community-style-34 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; width: 100%; }
.home-community-style-35 { width: 100%; aspect-ratio: 1; object-fit: cover; }
@media (max-width: 1024px) {
    .home-community-style-34 { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 600px) {
    .home-community-style-34 { grid-template-columns: repeat(1, 1fr) !important; }
}

/* Home responsive layer: desktop rules above remain unchanged. */
@media (max-width: 1023px) {
    .home-hero_banner-style-19,
    .home-hero_banner-style-21,
    .home-hero_banner-style-23,
    .home-hero_banner-style-25 { height: 680px; }

    .home-hero_banner-style-27 { width: min(88%, 680px); height: 420px; }
    .home-hero_banner-style-29 { font-size: 40px; text-align: center; }

    .home-introduction-style-1,
    .home-discover_sake-style-1,
    .home-featured_sake-style-2,
    .home-sake_life-style-1,
    .home-sake_academy-style-1,
    .home-community-style-1 { padding-left: 32px; padding-right: 32px; }

    .home-introduction-style-7,
    .home-featured_sake-style-3,
    .home-sake_academy-style-2,
    .home-sake_life-style-4 { gap: 32px; }

    #site_header #menu_tabs { height: 76px; }
    #site_header #menu_tabs > div {
        position: relative;
        gap: 16px;
        padding-left: 24px;
        padding-right: 24px;
    }
    #site_header #menu_tabs img {
        width: clamp(112px, 18vw, 150px);
        height: auto;
        max-height: 58px;
        object-fit: contain;
    }
    #site_header #mobile_menu_toggle {
        display: inline-flex !important;
        flex: 0 0 auto;
        cursor: pointer;
    }
    #site_header #header_main_nav {
        display: none !important;
        position: absolute;
        top: 76px;
        left: 0;
        right: 0;
        width: 100%;
        max-height: calc(100vh - 76px);
        padding: 18px 24px 22px;
        overflow-x: hidden;
        overflow-y: auto;
        background: #FFFEF3;
        box-shadow: 0 8px 14px rgba(14, 29, 66, 0.14);
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
    }
    #site_header #header_main_nav.mobile-menu-open { display: flex !important; }
    #site_header #header_main_nav > a {
        display: block;
        flex: none;
        width: 100%;
        height: auto;
        min-height: 44px;
        padding: 10px 0;
        font-size: 15px;
        line-height: 1.5;
        text-align: left;
        white-space: normal;
    }
    #site_header #header_main_nav > div {
        width: 100%;
        min-height: 44px;
        justify-content: flex-start;
        padding-top: 8px;
    }
    #site_header #header_main_nav select { min-height: 44px; font-size: 14px; }
    #site_content { padding-top: 76px !important; }

    #footer_custom > div {
        gap: 40px;
        padding-left: 32px;
        padding-right: 32px;
    }
    #footer_custom > div > div:first-child > div:first-child,
    #footer_custom > div > div:first-child > div:nth-child(2) {
        flex-wrap: wrap;
        gap: 32px;
    }
    #footer_custom nav { min-width: 0; }
    #footer_custom nav > div { flex-wrap: wrap; gap: 8px 24px; }
    #footer_custom > div > div:first-child > div:nth-child(2) > div:last-child {
        min-width: 0;
        padding: 32px 0;
        flex-wrap: wrap;
    }
    #footer_custom input { max-width: 100%; }
}

@media (max-width: 600px) {
    .home-hero_banner-style-19,
    .home-hero_banner-style-21,
    .home-hero_banner-style-23,
    .home-hero_banner-style-25 { height: 560px; }

    .home-hero_banner-style-27 { width: calc(100% - 40px); height: 340px; }
    .home-hero_banner-style-29 { font-size: 30px; line-height: 1.15; }
    .home-hero_banner-style-31 { bottom: 24px; }

    .home-introduction-style-1,
    .home-discover_sake-style-1,
    .home-featured_sake-style-2,
    .home-sake_life-style-1,
    .home-sake_academy-style-1,
    .home-community-style-1 { padding: 64px 20px; }

    .home-introduction-style-2,
    .home-discover_sake-style-3,
    .home-sake_life-style-3 { font-size: 34px; line-height: 1.2; }
    .home-introduction-style-3 { gap: 20px; margin-bottom: 40px; flex-wrap: wrap; justify-content: center; }
    .home-introduction-style-7,
    .home-featured_sake-style-3,
    .home-sake_academy-style-2,
    .home-sake_life-style-4 { display: flex; flex-direction: column; gap: 32px; }
    .home-introduction-style-8 { width: 100%; height: auto; max-width: 400px; }
    .home-introduction-style-9,
    .home-sake_academy-style-3,
    .home-sake_academy-style-10,
    .home-sake_life-style-5 { min-width: 0; width: 100%; }

    .home-discover_sake-style-4 { gap: 18px; margin-bottom: 32px; }
    .home-discover_sake-style-5,
    .home-discover_sake-style-6,
    .home-discover_sake-style-7,
    .home-discover_sake-style-8 { font-size: 16px; }

    .home-featured_sake-style-4 { flex: 0 0 auto; width: 100%; gap: 16px; }
    .home-featured_sake-style-5,
    .home-featured_sake-style-6,
    .home-featured_sake-style-7 { font-size: 26px; }
    .home-featured_sake-style-12 { height: 280px; }

    .home-sake_life-style-7 { flex: 0 0 auto; width: 100%; }
    .home-sake_life-style-3 { margin-bottom: 36px; }
    .home-sake_academy-style-4 { font-size: 34px; line-height: 1.2; }

    .home-event-style-1 { padding: 80px 20px; }
    .home-event-style-3 { font-size: 30px; line-height: 1.25; }
    .home-event-style-4,
    .home-discover_sake-style-9,
    .home-featured_sake-style-9,
    .home-sake_academy-style-9,
    .home-sake_life-style-11 { width: 100%; max-width: 320px; }

    .home-community-style-2 { font-size: 32px; }
    .home-community-style-3 { gap: 12px; flex-wrap: wrap; }
    .home-community-style-4,
    .home-community-style-5 { font-size: 20px; }
    .home-brand_marquee-style-3 { width: 150px; font-size: 20px; margin: 0 20px; }

    #site_header #menu_tabs > div { padding-left: 20px; padding-right: 20px; }
    #site_header #header_main_nav { padding-left: 20px; padding-right: 20px; }

    /* Footer: stack the existing rows so no fixed desktop width can overflow. */
    #footer_custom > div { gap: 34px; padding: 40px 20px 32px; }
    #footer_custom > div > div:first-child { gap: 36px; }
    #footer_custom > div > div:first-child > div:first-child,
    #footer_custom > div > div:first-child > div:nth-child(2) { flex-direction: column; align-items: flex-start; gap: 28px; }
    #footer_custom img { width: 190px; height: auto; }
    #footer_custom nav { width: 100%; gap: 8px; }
    #footer_custom nav > div { width: 100%; flex-wrap: wrap; gap: 8px 20px; }
    #footer_custom nav a { font-size: 14px; line-height: 1.7; }
    #footer_custom > div > div:first-child > div:nth-child(2) { gap: 24px; }
    #footer_custom > div > div:first-child > div:nth-child(2) > div:last-child { width: 100%; padding: 0; flex-wrap: wrap; }
    #footer_custom input { width: 100%; min-width: 0; padding: 14px 18px; }
    #footer_custom button { width: 100%; padding: 14px 18px; }
    #footer_custom > div > div:last-child { gap: 24px; }
    #footer_custom > div > div:last-child > div:last-child { flex-wrap: wrap; gap: 8px 20px; }
    #footer_custom > div > div:last-child p,
    #footer_custom > div > div:last-child a { font-size: 13px; line-height: 1.7; }

    /* Introduction tabs and content */
    .homepage-wrapper .intro-tab-link { font-size: 22px !important; line-height: 1.25 !important; }
    .homepage-wrapper .intro-tab-content { flex-direction: column !important; gap: 24px !important; }
    .homepage-wrapper .intro-tab-content img { width: 100% !important; height: auto !important; max-width: 450px; }
    .homepage-wrapper .intro-tab-content > div { width: 100%; }

    /* Discover navigation must wrap instead of forcing page width. */
    .homepage-wrapper .home-discover_sake-style-1 > div { padding-left: 20px !important; padding-right: 20px !important; }
    .homepage-wrapper .home-discover_sake-style-1 h2 { font-size: 36px !important; line-height: 1.2 !important; }
    .homepage-wrapper .home-discover_sake-style-1 h2 + div { flex-wrap: wrap !important; white-space: normal !important; gap: 12px 18px !important; }
    .homepage-wrapper .home-discover_sake-style-1 h2 + div a { font-size: 18px !important; line-height: 1.35 !important; }

    /* Featured sake: allow slider to use the available viewport. */
    .homepage-wrapper .featured-sake-slider { width: 100% !important; }
    .homepage-wrapper .featured-sake-slider .slick-list { margin: 0 -8px; }
    .homepage-wrapper .featured-sake-slider .slick-slide { padding: 0 8px; }
    .homepage-wrapper .featured-sake-slider .slick-slide > div { width: 100%; }
    .homepage-wrapper .featured-sake-slider .slick-prev { left: -8px !important; }
    .homepage-wrapper .featured-sake-slider .slick-next { right: -8px !important; }
    .homepage-wrapper .featured-sake-slider .slick-dots { bottom: -30px !important; }

    /* Articles cards and controls */
    .homepage-wrapper .articles-slider .slick-prev { left: 0 !important; }
    .homepage-wrapper .articles-slider .slick-next { right: 0 !important; }
    .homepage-wrapper .articles-slider .slick-slide { padding: 0 6px; }
    .homepage-wrapper .articles-slider img { height: 200px !important; }
    .homepage-wrapper .articles-slider h3 { font-size: 24px !important; line-height: 1.2 !important; }

    /* Academy badges stack cleanly and preserve readable labels. */
    .homepage-wrapper .home-sake_academy-style-2 { padding-left: 20px !important; padding-right: 20px; }
    .homepage-wrapper .home-sake_academy-style-2 > div:first-child { width: 100%; min-width: 0; }
    .homepage-wrapper .home-sake_academy-style-2 > div:last-child { width: 100% !important; }
    .homepage-wrapper .home-sake_academy-style-2 > div:first-child > div:first-child > div:nth-child(2) { flex-wrap: wrap; justify-content: center; }
    .homepage-wrapper .home-sake_academy-style-2 > div:first-child > div:first-child > div:nth-child(2) > div:nth-child(2) { display: none; }
    .homepage-wrapper .home-sake_academy-style-2 img { max-width: 120px; height: auto; }

    /* Community fixed desktop height is removed only on mobile. */
    .homepage-wrapper .home-community-style-34 { height: auto !important; }
}
