/* Home Page CSS file */
/* ------------------------------------------------- */

/* Cover Section */
/* ------------------------------------------------- */

section.cover .heading-1 span.eyebrow {
    font-family: "Circular Std", sans-serif;
}

/* Range Section */
/* ------------------------------------------------- */

section.range {
    padding: var(--space-11) 0 0;
}

.range-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-9);
    margin-top: var(--space-5);
    margin-bottom: var(--space-11);
}

.range-content-area {
    display: flex;
    flex-direction: column;
    gap: var(--space-7);
}

.range-buttons {
    display: flex;
    flex-direction: row;
    gap: var(--space-5);
}

.range-grid {
    display: flex;
    flex-direction: column;
    gap: var(--space-7);
}

.range-row {
    display: flex;
    gap: var(--space-7);
}

a.single-range {
    display: flex;
    flex-direction: column;
    padding: var(--space-7);
    position: relative;
    width: calc(50% - var(--space-7) / 2);
    height: 45vw;
    max-height: 800px;
    min-height: 400px;
    overflow: hidden;
    box-sizing: border-box;
    text-decoration: none;
    transition: width 0.6s cubic-bezier(0, 0, 0.2, 1);
}

a.single-range:only-child {
    width: 100%;
}

.range-row:has(a.single-range:hover) a.single-range {
    width: calc(45% - var(--space-7) / 2);
}

.range-row:has(a.single-range:hover) a.single-range:hover {
    width: calc(55% - var(--space-7) / 2);
}

.range-row:has(a.single-range:hover) a.single-range:only-child {
    width: 100%;
}

a.single-range > img {
    position: absolute;
    left: -5%;
    top: -10%;
    width: 110%;
    height: 120%;
    object-fit: cover;
    will-change: transform;
    transition: transform 0.6s ease;
}

a.single-range:hover > img {
    transform: scale(1.05);
}

a.single-range .range-brand-logo {
    max-width: 240px;
    width: auto;
    height: auto;
    filter: invert(1) brightness(9);
}

a.single-range:before {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 50.89%, rgba(0, 0, 0, 0.70) 88.35%);
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    content: '';
    opacity: 0;
    transition: 0.6s ease;
}

.single-range-content {
    position: relative;
    padding: var(--space-6);
    display: flex;
    gap: var(--space-9);
    align-items: end;
    margin-top: auto;
    z-index: 2;
    justify-content: space-between;
}

.single-range-content-text {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

a.single-range p,
.single-range-content-text .heading-5 {
    color: var(--neutral-25);
    max-width: 389px;
}

a.single-range:hover:before {
    opacity: 1;
}

.single-range-content-text p.body-small {
    opacity: 0;
    max-height: 0;
    transition: opacity ease 0.6s, max-height ease 0.6s;
}

.single-range-content-svg {
    opacity: 0;
    transition: ease 0.6s;
}

a.single-range:hover .single-range-content-svg {
    opacity: 1;
}

a.single-range:hover .single-range-content-text p.body-small {
    opacity: 1;
    max-height: 200px;
    transition: opacity ease 0.6s, max-height ease 0.6s;
}

/* Content Section */
/* ------------------------------------------------- */

section.content {
    padding: var(--space-11) 0;
}

section.content .wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-9);
    align-items: center;
}

.content-text-area {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

.content-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Story Section */
/* ------------------------------------------------- */

section.story {
    position: relative;
    padding: var(--space-11) 0;
    overflow: hidden;
}

section.story img {
    position: absolute;
    left: 0;
    top: 0;
    width: 60%;
    height: 100%;
    object-fit: cover;
    object-position: right center;
    z-index: 0;
}

section.story::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to left, var(--neutral-25) 50%, rgba(255, 255, 255, 0));
    z-index: 1;
    pointer-events: none;
}

section.story .wrap {
    display: grid;
    grid-template-columns: 0.8fr 1fr;
    position: relative;
    z-index: 2;
}

section.story .story-content {
    grid-column: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: var(--space-7);
}

section.story .story-text {
    max-width: 775px;
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

section.story .story-text p {
    color: var(--neutral-950);
}

/* Instagram Section */
/* ------------------------------------------------- */

section.instagram {
    padding: var(--space-11) 0 0;
}

section.instagram .wrap {
    display: flex;
    flex-direction: column;
    gap: var(--space-7);
    align-items: stretch;
}

.instagram-header {
    display: flex;
    gap: var(--space-4);
    align-items: center;
    justify-content: center;
}

.instagram-logo svg {
    width: clamp(32px, 7.2vw, 72px);
    height: clamp(32px, 7.2vw, 72px);
}

.instagram-gallery {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: var(--space-7);
    width: 100%;
}

.gallery-item {
    aspect-ratio: 1/1;
    display: flex;
    overflow: hidden;
    position: relative;
    background: var(--neutral-500);
}

.gallery-item img {
    width: 110%;
    height: 120%;
    object-fit: cover;
    position: absolute;
    top: -10%;
    left: -5%;
    will-change: transform;
    transition: transform 0.6s ease;
}

.gallery-item:hover img {
    transform: scale(1.05);
}

section.instagram .button {
    margin-left: auto;
    margin-right: auto;
}

/* Responsive */
/* ------------------------------------------------- */

@media (max-width: 1080px) {
    section.story img {
        width: 100%;
    }
}

@media (max-width: 960px) {
    section.story .wrap {
        grid-template-columns: 1fr;
    }

    section.story .story-content {
        grid-column: 1 / -1;
    }

    section.story::before {
        background: linear-gradient(to left, var(--neutral-25), rgba(255, 255, 255, 0.85));
    }

    section.content .wrap {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 800px) {
    .range-layout {
        grid-template-columns: 1fr;
    }

    .range-row {
        flex-direction: column;
    }

    a.single-range {
        width: 100%;
    }

    .range-row:has(a.single-range:hover) a.single-range {
        width: 100%;
    }

    .range-row:has(a.single-range:hover) a.single-range:hover {
        width: 100%;
    }

    .single-range-content-text p.body-small {
        opacity: 1;
        max-height: 200px;
    }

    .single-range-content-svg {
        opacity: 1;
    }

    .instagram-gallery {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 600px) {
    .range-buttons {
        flex-direction: column;
    }

    .instagram-gallery {
        grid-template-columns: 1fr;
    }
}
