/* =========================================================
   YUGA WEAR
   ARCHITECTURE SERIES
========================================================= */

:root {

    --architecture-black: #101010;

    --architecture-white: #ffffff;

    --architecture-offwhite: #f7f5f1;

    --architecture-text: #171717;

    --architecture-muted: #707070;

    --architecture-border: #e5e3df;

    --architecture-orange: #ff5a00;

    --architecture-orange-dark: #e64f00;

    --architecture-radius: 14px;

}


/* =========================================================
   RESET
========================================================= */

.architecture-container {

    width: min(
        calc(100% - 80px),
        1180px
    );

    margin: 0 auto;

}


.architecture-hero *,
.architecture-intro *,
.architecture-products *,
.architecture-philosophy *,
.architecture-next * {

    box-sizing: border-box;

}



/* =========================================================
   HERO
========================================================= */

.architecture-hero {

    position: relative;

    min-height: 720px;

    display: flex;

    align-items: flex-end;

    overflow: hidden;

    background:
        linear-gradient(
            90deg,
            #111111 0%,
            #111111 35%,
            #26211c 65%,
            #111111 100%
        );

}


/*
   The background is intentionally dark.
   Replace this with a collection image later if desired.
*/

.architecture-hero::before {

    content: "";

    position: absolute;

    inset: 0;

    background:
        radial-gradient(
            circle at 75% 50%,
            rgba(255, 90, 0, .12),
            transparent 35%
        );

}


.architecture-hero-overlay {

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(0,0,0,.9),
            rgba(0,0,0,.4),
            rgba(0,0,0,.8)
        );

}


.architecture-hero-content {

    position: relative;

    z-index: 2;

    width: min(
        calc(100% - 80px),
        1180px
    );

    margin:
        0 auto
        105px;

}


.architecture-eyebrow {

    display: flex;

    align-items: center;

    gap: 12px;

    margin-bottom: 28px;

    color: var(--architecture-orange);

    font-size: 10px;

    font-weight: 800;

    letter-spacing: 3px;

}


.architecture-eyebrow::before {

    content: "";

    width: 32px;

    height: 1px;

    background:
        var(--architecture-orange);

}


.architecture-hero h1 {

    max-width: 900px;

    margin: 0;

    color: white;

    font-size: clamp(
        62px,
        9vw,
        128px
    );

    font-weight: 800;

    line-height: .86;

    letter-spacing: -6px;

}


.architecture-hero h1 span {

    display: block;

    color:
        var(--architecture-orange);

}


.architecture-hero-content > p {

    max-width: 520px;

    margin:
        35px 0
        35px;

    color: #c1c1c1;

    font-size: 16px;

    line-height: 1.7;

}


.architecture-hero-meta {

    display: flex;

    align-items: center;

    gap: 15px;

    color: #aaa;

    font-size: 9px;

    font-weight: 800;

    letter-spacing: 2px;

}


.meta-line {

    width: 50px;

    height: 1px;

    background: #555;

}


.architecture-scroll {

    position: absolute;

    right: 45px;

    bottom: 45px;

    z-index: 3;

    display: flex;

    align-items: center;

    gap: 12px;

    color: #aaa;

    font-size: 8px;

    font-weight: 700;

    letter-spacing: 2px;

    writing-mode: vertical-rl;

}


.architecture-scroll i {

    color:
        var(--architecture-orange);

}



/* =========================================================
   INTRO
========================================================= */

.architecture-intro {

    padding:
        130px
        0;

    background:
        var(--architecture-offwhite);

}


.intro-number {

    color:
        var(--architecture-orange);

    font-size: 10px;

    font-weight: 800;

    letter-spacing: 2px;

}


.architecture-intro .architecture-container {

    display: grid;

    grid-template-columns:
        180px
        1fr;

    gap: 70px;

}


.architecture-label {

    display: block;

    margin-bottom: 20px;

    color:
        var(--architecture-orange);

    font-size: 9px;

    font-weight: 800;

    letter-spacing: 2.5px;

}


.intro-content h2 {

    max-width: 850px;

    margin: 0 0 35px;

    color:
        var(--architecture-text);

    font-size: clamp(
        50px,
        7vw,
        90px
    );

    line-height: .92;

    letter-spacing: -4px;

}


.intro-content h2 span {

    color:
        var(--architecture-orange);

}


.intro-content p {

    max-width: 650px;

    margin: 0 0 18px;

    color:
        var(--architecture-muted);

    font-size: 16px;

    line-height: 1.85;

}


.intro-statement {

    display: flex;

    flex-wrap: wrap;

    gap: 12px;

    margin-top: 45px;

}


.intro-statement span {

    padding:
        11px
        16px;

    border:
        1px solid
        var(--architecture-border);

    color:
        var(--architecture-text);

    font-size: 9px;

    font-weight: 800;

    letter-spacing: 1.5px;

}



/* =========================================================
   PRODUCTS
========================================================= */

.architecture-products {

    padding:
        120px
        0
        130px;

    background:
        var(--architecture-white);

}


.products-header {

    display: flex;

    justify-content: space-between;

    align-items: flex-end;

    gap: 50px;

    margin-bottom: 65px;

}


.products-header h2 {

    margin: 0;

    color:
        var(--architecture-text);

    font-size: 50px;

    line-height: 1;

    letter-spacing: -2.5px;

}


.products-header > p {

    max-width: 300px;

    margin: 0;

    color:
        var(--architecture-muted);

    font-size: 13px;

    line-height: 1.7;

}



/* =========================================================
   PRODUCT CARD
========================================================= */

.architecture-product {

    display: grid;

    grid-template-columns:
        minmax(0, 1.35fr)
        minmax(350px, .65fr);

    min-height: 610px;

    margin-bottom: 25px;

    overflow: hidden;

    background:
        var(--architecture-offwhite);

    border:
        1px solid
        var(--architecture-border);

    border-radius:
        var(--architecture-radius);

}


.architecture-product-image {

    position: relative;

    min-height: 610px;

    overflow: hidden;

    display: block;

    background: #ddd;

}


.architecture-product-image img {

    position: absolute;

    inset: 0;

    width: 100%;

    height: 100%;

    object-fit: cover;

    transition:
        opacity .6s ease,
        transform .8s cubic-bezier(.2,.7,.2,1);

}


.architecture-image-back {

    opacity: 1;

}


.architecture-image-front {

    opacity: 0;

}


.architecture-product-image:hover
.architecture-image-back {

    opacity: 0;

}


.architecture-product-image:hover
.architecture-image-front {

    opacity: 1;

}


.architecture-product-image:hover img {

    transform: scale(1.025);

}


.collection-product-badge {

    position: absolute;

    top: 25px;

    left: 25px;

    z-index: 5;

    padding:
        10px
        15px;

    background:
        var(--architecture-black);

    color: white;

    font-size: 9px;

    font-weight: 800;

    letter-spacing: 1.5px;

}


.collection-product-badge.limited {

    background:
        var(--architecture-orange);

}


.image-hover-label {

    position: absolute;

    right: 25px;

    bottom: 25px;

    z-index: 5;

    display: flex;

    align-items: center;

    gap: 10px;

    padding:
        12px
        16px;

    background:
        rgba(255,255,255,.95);

    color:
        var(--architecture-black);

    font-size: 9px;

    font-weight: 800;

    letter-spacing: 1.2px;

    opacity: 0;

    transform:
        translateY(8px);

    transition:
        opacity .3s ease,
        transform .3s ease;

}


.architecture-product-image:hover
.image-hover-label {

    opacity: 1;

    transform:
        translateY(0);

}


.image-hover-label i {

    color:
        var(--architecture-orange);

}



/* =========================================================
   PRODUCT INFORMATION
========================================================= */

.architecture-product-info {

    display: flex;

    flex-direction: column;

    padding:
        60px 50px 45px;

}


.product-index {

    margin-bottom: 60px;

    color: #aaa;

    font-size: 9px;

    font-weight: 800;

    letter-spacing: 2px;

}


.architecture-product-category {

    display: block;

    margin-bottom: 18px;

    color:
        var(--architecture-orange);

    font-size: 9px;

    font-weight: 800;

    letter-spacing: 2.5px;

}


.architecture-product-info h3 {

    margin: 0;

    color:
        var(--architecture-text);

    font-size: 38px;

    line-height: .98;

    letter-spacing: -1.7px;

}


.architecture-product-info h3 span {

    display: block;

}


.architecture-location {

    display: flex;

    align-items: center;

    gap: 8px;

    margin-top: 22px;

    color: #777;

    font-size: 9px;

    font-weight: 700;

    letter-spacing: 1.2px;

}


.architecture-location i {

    color:
        var(--architecture-orange);

}


.architecture-product-info > p {

    max-width: 430px;

    margin:
        35px 0
        30px;

    color:
        var(--architecture-muted);

    font-size: 14px;

    line-height: 1.8;

}


.architecture-product-bottom {

    display: flex;

    align-items: flex-end;

    justify-content: space-between;

    gap: 20px;

    margin-top: auto;

    padding-top: 30px;

    border-top:
        1px solid
        var(--architecture-border);

}


.architecture-price {

    color:
        var(--architecture-text);

    font-size: 25px;

    font-weight: 800;

    letter-spacing: -.8px;

}


.architecture-shop-link {

    display: inline-flex;

    align-items: center;

    gap: 10px;

    color:
        var(--architecture-orange);

    font-size: 9px;

    font-weight: 800;

    letter-spacing: 1.5px;

    text-decoration: none;

}


.architecture-shop-link span {

    transition:
        transform .25s ease;

}


.architecture-shop-link:hover span {

    transform:
        translateX(5px);

}



/* =========================================================
   SECOND PRODUCT
========================================================= */

.product-ellora {

    grid-template-columns:
        minmax(350px, .65fr)
        minmax(0, 1.35fr);

}


.product-ellora
.architecture-product-info {

    order: -1;

}


.product-ellora
.architecture-product-image {

    order: 2;

}



/* =========================================================
   PHILOSOPHY
========================================================= */

.architecture-philosophy {

    padding:
        130px
        0;

    background:
        var(--architecture-black);

}


.philosophy-grid {

    display: grid;

    grid-template-columns:
        200px
        1fr;

    gap: 80px;

}


.philosophy-label span {

    color:
        var(--architecture-orange);

    font-size: 9px;

    font-weight: 800;

    letter-spacing: 2px;

}


.philosophy-content h2 {

    max-width: 850px;

    margin: 0 0 25px;

    color: white;

    font-size: clamp(
        50px,
        7vw,
        90px
    );

    line-height: .9;

    letter-spacing: -4px;

}


.philosophy-content h2 span {

    color:
        var(--architecture-orange);

}


.philosophy-content > p {

    margin: 0;

    color: #999;

    font-size: 17px;

}


.philosophy-line {

    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap: 18px;

    margin-top: 50px;

}


.philosophy-line span {

    width: 45px;

    height: 1px;

    background:
        var(--architecture-orange);

}


.philosophy-line strong {

    color: white;

    font-size: 9px;

    letter-spacing: 2px;

}



/* =========================================================
   NEXT NAVIGATION
========================================================= */

.architecture-next {

    padding:
        35px
        0;

    background:
        var(--architecture-black);

    border-top:
        1px solid #292929;

}


.architecture-next
.architecture-container {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 30px;

}


.back-collections,
.explore-drop {

    display: inline-flex;

    align-items: center;

    gap: 12px;

    color: #aaa;

    font-size: 9px;

    font-weight: 800;

    letter-spacing: 1.5px;

    text-decoration: none;

    transition:
        color .25s ease;

}


.back-collections:hover {

    color: white;

}


.explore-drop {

    color:
        var(--architecture-orange);

}


.explore-drop span,
.back-collections span {

    transition:
        transform .25s ease;

}


.explore-drop:hover span {

    transform:
        translateX(5px);

}



/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1000px) {

    .architecture-container,
    .architecture-hero-content {

        width:
            calc(100% - 50px);

    }


    .architecture-product {

        grid-template-columns:
            1fr;

    }


    .architecture-product-image {

        min-height:
            550px;

    }


    .product-ellora
    .architecture-product-info {

        order: 1;

    }


    .product-ellora
    .architecture-product-image {

        order: 2;

    }


    .architecture-product-info {

        min-height:
            450px;

    }

}



/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 700px) {

    .architecture-container,
    .architecture-hero-content {

        width:
            calc(100% - 32px);

    }


    .architecture-hero {

        min-height:auto;
        padding-top: 15%;

    }


    .architecture-hero-content {

        margin-bottom:
            80px;

    }


    .architecture-hero h1 {

        font-size:
            56px;

        letter-spacing:
            -3px;

    }


    .architecture-hero-content > p {

        font-size:
            14px;

    }


    .architecture-scroll {

        display:
            none;

    }


    .architecture-intro {

        padding:
            80px
            0;

    }


    .architecture-intro
    .architecture-container {

        display:
            block;

    }


    .intro-number {

        margin-bottom:
            35px;

    }


    .intro-content h2 {

        font-size:
            52px;

        letter-spacing:
            -3px;

    }


    .intro-content p {

        font-size:
            14px;

    }


    .architecture-products {

        padding:
            80px
            0;

    }


    .products-header {

        display:
            block;

        margin-bottom:
            40px;

    }


    .products-header h2 {

        font-size:
            40px;

    }


    .products-header > p {

        margin-top:
            20px;

    }


    .architecture-product {

        display:
            flex;

        flex-direction:
            column;

        margin-bottom:
            18px;

        border-radius:
            10px;

    }


    .architecture-product-image {

        min-height:
            470px;

    }


    .product-ellora
    .architecture-product-image {

        order:
            1;

    }


    .product-ellora
    .architecture-product-info {

        order:
            2;

    }


    .architecture-product-info {

        min-height:
            430px;

        padding:
            35px
            25px
            30px;

    }


    .product-index {

        margin-bottom:
            35px;

    }


    .architecture-product-info h3 {

        font-size:
            32px;

    }


    .architecture-product-info > p {

        font-size:
            13px;

    }


    .architecture-product-bottom {

        padding-top:
            25px;

    }


    .architecture-price {

        font-size:
            22px;

    }


    .architecture-shop-link {

        font-size:
            8px;

    }


    .image-hover-label {

        opacity:
            1;

        transform:
            none;

        right:
            15px;

        bottom:
            15px;

    }


    .architecture-philosophy {

        padding:
            85px
            0;

    }


    .philosophy-grid {

        display:
            block;

    }


    .philosophy-label {

        margin-bottom:
            35px;

    }


    .philosophy-content h2 {

        font-size:
            51px;

        letter-spacing:
            -3px;

    }


    .philosophy-content > p {

        font-size:
            14px;

        line-height:
            1.7;

    }


    .architecture-next
    .architecture-container {

        flex-direction:row;

        align-items:
            flex-start;

    }

}



/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 430px) {

    .architecture-hero h1 {

        font-size:
            48px;

    }


    .architecture-product-image {

        min-height:
            410px;

    }


    .architecture-product-info h3 {

        font-size:
            29px;

    }


    .architecture-product-bottom {

        align-items:
            center;

    }

}



/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .architecture-product-image img,
    .image-hover-label,
    .architecture-shop-link span,
    .explore-drop span {

        transition:
            none;

    }

}
