/* ---------- mobile (767px and below) ---------- */
@media screen and (min-width: 320px) {
    .hero-text h1 {
        font-size: 36px;
    }
    #brands-section {
        min-height: 0;
        margin: 40px 0;
        padding: 0 24px;
    }
    
    .brand-description {
        width: 100%;
        min-height: 0;
    }
    
    .brand-description h1 {
        font-size: 28px;
        line-height: 36px;
    }
    
    .brand-description p {
        margin: 12px 0 24px;
        font-size: 14px;
        line-height: 20px;
    }
    
    .logo-list {
        width: 100%;
        height: auto;
        margin: 0;
        padding: 0;
        flex-wrap: wrap;
        justify-content: center;
        gap: 24px 16px;
    }
    
    .logo-list li {
        width: calc(50% - 8px);
        display: flex;
        justify-content: center;
    }
    
    .logo-list img {
        max-width: 100%;
        max-height: 56px;
        width: auto;
        height: auto;
        object-fit: contain;
    }
    
    /* ---------- Offer: image on top, text below ---------- */
    #offer-section {
        padding: 0 24px;
        gap: 48px;
    }
    
    .offer-column,
    .offer-column-reverse {
        width: 100%;
        min-height: 0;
        flex-direction: column;
        gap: 24px;
    }
    
    .offer-image {
        width: 100%;
        max-width: 255px;
        height: auto;
        aspect-ratio: 255 / 260;
    }
    
    .offer-description {
        width: 100%;
        max-width: 255px;
    }
    
    .offer-description h2 {
        font-size: 20px;
        line-height: 28px;
    }
    
    .offer-description p,
    .offer-description li {
        font-size: 12px;
        line-height: 18px;
    }
    
    .offer-description ul {
        padding-left: 18px;
    }
    
    /* ---------- Story: heading stacked, smaller text and button ---------- */
    #our-story-section {
        min-height: 0;
        margin: 40px 0;
        padding: 48px 24px;
    }
    
    .story-description {
        width: 100%;
        height: auto;
    }
    
    .story-description h1 {
        width: 100%;
        margin: 0 0 16px;
        font-size: 32px;
        line-height: 40px;
    }
    
    .story-description h1 span {
        display: block;
    }
    
    .story-text {
        width: 100%;
        margin: 0 0 24px;
    }
    
    .story-description p {
        font-size: 12px;
        line-height: 18px;
    }
    
    .story-button {
        width: 228px;
        height: 48px;
        font-size: 14px;
    }
    
    /* ---------- Why Us: one card at a time with left / right arrows ---------- */
    #why-us-section {
        height: auto;
        gap: 32px;
        padding: 0 16px;
    }
    
    .why-us-header {
        width: 100%;
        max-width: 422px;
        height: auto;
        justify-content: flex-start;
        gap: 12px;
    }
    
    .why-us-header h2 {
        font-size: 32px;
        line-height: 40px;
    }
    
    .why-us-header p {
        height: auto;
        font-size: 12px;
        line-height: 18px;
    }
    
    .why-us-carousel {
        display: flex;
        align-items: center;
        gap: 8px;
        width: 100%;
        max-width: 360px;
    }
    
    .why-us-arrow {
        display: flex;
        flex: none;
        align-items: center;
        justify-content: center;
        width: 36px;
        height: 36px;
        padding: 0;
        border: 0;
        background: none;
        color: var(--primary);
        cursor: pointer;
    }
    
    .why-us-list {
        flex: 1 1 0;
        min-width: 0;
        width: auto;
        gap: 0;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }
    
    .why-us-list::-webkit-scrollbar {
        display: none;
    }
    
    .why-card {
        flex: 0 0 100%;
        width: 100%;
        height: auto;
        scroll-snap-align: center;
        scroll-snap-stop: always;
    }
    
    .why-card p {
        font-size: 14px;
        line-height: 20px;
    }
}

@media screen and (min-width: 595px) and (max-width: 767.98px) {
    .hero-text h1 {
        font-size: 50px;
    }
}