/* ==========================================================
   TANLAB
   ========================================================== */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,500&family=Montserrat:wght@300;400;500;600&display=swap');


:root {

    --cream: #fff8f2;
    --cream-2: #f9ebe1;

    --brown: #422820;
    --brown-soft: #75564d;

    --rose: #c66b73;
    --rose-dark: #a64f59;
    --rose-light: #f3d8d6;

    --gold: #d6a15d;

    --border: rgba(81, 47, 39, 0.13);

    --serif: "Cormorant Garamond", Georgia, serif;
    --sans: "Montserrat", Arial, sans-serif;

}


/* RESET */

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}


html {
    scroll-behavior: smooth;
}


body {

    background:
        radial-gradient(
            circle at 50% 0%,
            #fffdf9 0%,
            var(--cream) 45%,
            #f8e9df 100%
        );

    color: var(--brown);

    font-family: var(--sans);

    overflow-x: hidden;

}


a {
    color: inherit;
}



/* ==========================================================
   HEADER
   ========================================================== */

.tanlab-header {

    position: absolute;

    top: 22px;
    left: 0;

    width: 100%;

    z-index: 1000;

}


.tanlab-nav {

    position: relative;

    width: calc(100% - 80px);

    max-width: 1500px;

    height: 78px;

    margin: 0 auto;

    padding: 0 34px;

    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        150px
        minmax(0, 1fr);

    align-items: center;


    background:
        rgba(255, 248, 242, .92);

    border:
        1px solid rgba(255,255,255,.7);

    border-radius: 100px;


    box-shadow:
        0 14px 45px rgba(59, 27, 20, .14);


    backdrop-filter:
        blur(20px);

    -webkit-backdrop-filter:
        blur(20px);

}



/* NAV */

.nav {

    display: flex;

    align-items: center;

    gap: clamp(14px, 1.5vw, 30px);

}


.nav-right {
    justify-content: flex-end;
}


.nav a {

    position: relative;

    text-decoration: none;

    color: #50372f;

    font-size: 10px;

    font-weight: 500;

    letter-spacing: 1.3px;

    text-transform: uppercase;

    white-space: nowrap;

    transition:
        color .25s ease,
        opacity .25s ease;

}


.nav a:hover {
    color: var(--rose);
}


.nav a.active::after {

    content: "";

    position: absolute;

    left: 50%;
    bottom: -11px;

    width: 28px;
    height: 1px;

    transform: translateX(-50%);

    background: var(--rose);

}



/* LOGO */

.tanlab-logo {

    position: relative;

    width: 145px;
    height: 125px;

    display: flex;

    align-items: center;
    justify-content: center;

    justify-self: center;

    text-decoration: none;

}


.tanlab-logo::before {

    content: "";

    position: absolute;

    width: 118px;
    height: 118px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(255,255,255,.99) 0%,
            rgba(255,247,238,.98) 65%,
            rgba(246,221,204,.95) 100%
        );

    box-shadow:
        0 8px 30px rgba(72,37,27,.18);

}


.logo-glow {

    position: absolute;

    width: 125px;
    height: 125px;

    border-radius: 50%;

    border:
        1px solid rgba(213, 161, 93, .5);

}


.tanlab-logo img {

    position: relative;

    z-index: 2;

    width: 100px;
    height: 100px;

    object-fit: cover;

    border-radius: 50%;

}



/* BUTTON */

.visit-button {

    display: flex;

    align-items: center;

    gap: 8px;

    padding:
        14px 20px !important;

    border-radius:
        50px;

    background:
        linear-gradient(
            135deg,
            #d67b83,
            #bd606a
        );

    color:
        white !important;

    box-shadow:
        0 7px 18px rgba(183,81,94,.25);

    transition:
        transform .25s ease,
        box-shadow .25s ease !important;

}


.visit-button:hover {

    transform:
        translateY(-2px);

    box-shadow:
        0 10px 25px rgba(183,81,94,.35);

}


.calendar-icon {
    font-size: 12px;
}



/* MOBILE MENU */

.mobile-menu {
    display: none;
}



/* ==========================================================
   HERO
   ========================================================== */

.hero {

    position: relative;

    width: 100%;

    height: 690px;

    display: grid;

    grid-template-columns:
        1fr 1fr;

    overflow: hidden;

}



/* HERO PANEL */

.hero-side {

    position: relative;

    display: block;

    overflow: hidden;

    color: white;

    text-decoration: none;

}



/* BACKGROUND */

.hero-image {

    position: absolute;

    inset: 0;

    background-repeat: no-repeat;

    background-size: cover;

    transition:
        transform 1.2s cubic-bezier(.2,.7,.2,1),
        filter .7s ease;

}


.hero-tanning .hero-image {

    background-image:
        url("../images/hero-opalanie.png");

    background-position:
        center 45%;

}


.hero-therapy .hero-image {

    background-image:
        url("../images/hero-redlight.png");

    background-position:
        center center;

}



/* DARK OVERLAYS */

.hero-shade {

    position: absolute;

    inset: 0;

    z-index: 1;

}


.hero-tanning .hero-shade {

    background:

        linear-gradient(
            90deg,
            rgba(22, 12, 14, .72) 0%,
            rgba(22, 12, 14, .38) 43%,
            rgba(22, 12, 14, .06) 100%
        ),

        linear-gradient(
            0deg,
            rgba(25,15,15,.12),
            rgba(25,15,15,.05)
        );

}


.hero-therapy .hero-shade {

    background:

        linear-gradient(
            90deg,
            rgba(52, 10, 8, .27) 0%,
            rgba(48, 7, 7, .36) 50%,
            rgba(30, 5, 7, .60) 100%
        );

}



/* HOVER */

.hero-side:hover .hero-image {

    transform:
        scale(1.045);

    filter:
        saturate(1.08)
        contrast(1.02);

}



/* HERO COPY */

.hero-copy {

    position: absolute;

    z-index: 5;

    left: 10%;

    top: 51%;

    transform:
        translateY(-50%);

    max-width:
        430px;

}


.hero-therapy .hero-copy {
    left: 12%;
}


.hero-symbol {

    margin-bottom: 4px;

    font-size: 30px;

    color: #fff3d8;

}


.therapy-symbol {
    color: #ffd5cf;
}


.hero-small-title {

    display: block;

    margin-bottom: 8px;

    font-size: 13px;

    font-weight: 500;

    letter-spacing: 6px;

    text-transform: uppercase;

}


.hero-copy h1 {

    max-width: 520px;

    font-family:
        var(--serif);

    font-size:
        clamp(60px, 5vw, 91px);

    font-weight: 500;

    line-height: .76;

    letter-spacing: -3px;

    text-shadow:
        0 5px 25px rgba(0,0,0,.2);

}


.hero-copy h1 span {
    display: block;
}


.hero-separator {

    width: 50px;
    height: 1px;

    margin:
        31px 0 17px;

    background:
        rgba(255,255,255,.75);

}


.hero-copy p {

    margin-bottom:
        24px;

    font-size:
        10px;

    font-weight:
        400;

    line-height:
        1.85;

    letter-spacing:
        2.4px;

    text-transform:
        uppercase;

}



/* HERO BUTTON */

.hero-cta {

    display:
        inline-flex;

    align-items:
        center;

    gap:
        22px;

    padding:
        15px 23px;

    background:
        #fff3e7;

    color:
        var(--brown);

    border-radius:
        50px;

    font-size:
        9px;

    font-weight:
        600;

    letter-spacing:
        1px;

    text-transform:
        uppercase;

    box-shadow:
        0 7px 20px rgba(0,0,0,.10);

    transition:
        transform .25s ease,
        box-shadow .25s ease;

}


.hero-cta b {

    font-size:
        16px;

    font-weight:
        400;

}


.therapy-cta {

    background:
        linear-gradient(
            135deg,
            #d47b83,
            #b95662
        );

    color:
        white;

}


.hero-side:hover .hero-cta {

    transform:
        translateY(-3px);

    box-shadow:
        0 10px 30px rgba(0,0,0,.18);

}



/* ==========================================================
   HOME CARDS
   ========================================================== */

.home-cards {

    position:
        relative;

    z-index:
        20;

    width:
        calc(100% - 80px);

    max-width:
        1500px;

    margin:
        -55px auto 0;

    display:
        grid;

    grid-template-columns:
        1.05fr 1fr;

    gap:
        20px;

}


.home-card {

    min-height:
        280px;

    padding:
        27px 30px 30px;

    border:
        1px solid var(--border);

    border-radius:
        22px;

    background:
        rgba(255,248,242,.96);

    box-shadow:
        0 15px 50px rgba(75,38,29,.09);

    backdrop-filter:
        blur(12px);

}



/* CARD HEADER */

.card-header {

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        20px;

    margin-bottom:
        22px;

}


.card-header h2 {

    font-family:
        var(--serif);

    font-size:
        29px;

    font-weight:
        600;

}


.card-header a {

    display:
        flex;

    align-items:
        center;

    gap:
        8px;

    color:
        var(--rose);

    font-size:
        8px;

    font-weight:
        600;

    letter-spacing:
        1px;

    text-decoration:
        none;

    text-transform:
        uppercase;

}



/* ==========================================================
   BEDS
   ========================================================== */

.beds-preview {

    display:
        grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap:
        14px;

}


.bed-preview {

    color:
        var(--brown);

    text-decoration:
        none;

}


.bed-placeholder {

    position:
        relative;

    height:
        125px;

    margin-bottom:
        10px;

    overflow:
        hidden;

    border-radius:
        12px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    transition:
        transform .3s ease;

}


.bed-preview:hover
.bed-placeholder {

    transform:
        translateY(-4px);

}


.bed-placeholder span {

    font-family:
        var(--serif);

    font-size:
        45px;

    color:
        rgba(255,255,255,.7);

}


.bed-placeholder.orange {

    background:
        linear-gradient(
            135deg,
            #f9ae54,
            #bd5145
        );

}


.bed-placeholder.blue {

    background:
        linear-gradient(
            135deg,
            #6b86d4,
            #343071
        );

}


.bed-placeholder.gold {

    background:
        linear-gradient(
            135deg,
            #f1bc55,
            #d36b45
        );

}


.bed-preview h3 {

    margin-bottom:
        4px;

    font-family:
        var(--serif);

    font-size:
        18px;

    font-weight:
        600;

}


.bed-preview p {

    color:
        #9a7469;

    font-size:
        7px;

    font-weight:
        500;

    letter-spacing:
        1px;

    text-transform:
        uppercase;

}



/* ==========================================================
   THERAPY
   ========================================================== */

.therapy-features {

    min-height:
        185px;

    display:
        grid;

    grid-template-columns:
        repeat(5, 1fr);

    align-items:
        center;

}


.therapy-feature {

    position:
        relative;

    padding:
        0 10px;

    text-align:
        center;

}


.therapy-feature:not(:last-child)::after {

    content:
        "";

    position:
        absolute;

    right:
        0;

    top:
        8%;

    width:
        1px;

    height:
        84%;

    background:
        var(--border);

}


.feature-circle {

    width:
        58px;

    height:
        58px;

    margin:
        0 auto 13px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    border:
        1px solid rgba(194,96,108,.25);

    border-radius:
        50%;

    background:
        #fae7e1;

    color:
        var(--rose);

    font-family:
        var(--serif);

    font-size:
        26px;

}


.therapy-feature p {

    font-size:
        7px;

    font-weight:
        600;

    line-height:
        1.55;

    letter-spacing:
        .7px;

    text-transform:
        uppercase;

}



/* ==========================================================
   VALUES
   ========================================================== */

.values-bar {

    width:
        calc(100% - 80px);

    max-width:
        1500px;

    margin:
        24px auto 35px;

    padding:
        20px 0;

    display:
        grid;

    grid-template-columns:
        repeat(4, 1fr);

    border-top:
        1px solid var(--border);

    border-bottom:
        1px solid var(--border);

}


.value {

    min-height:
        34px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        13px;

    font-size:
        8px;

    font-weight:
        500;

    letter-spacing:
        1.3px;

    text-transform:
        uppercase;

}


.value:not(:last-child) {

    border-right:
        1px solid var(--border);

}


.value span {

    color:
        var(--rose);

    font-family:
        var(--serif);

    font-size:
        23px;

}



/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 1100px) {

    .tanlab-nav {

        display:
            flex;

        justify-content:
            space-between;

    }


    .nav {
        display: none;
    }


    .mobile-menu {

        width:
            38px;

        height:
            38px;

        border:
            0;

        background:
            transparent;

        display:
            flex;

        flex-direction:
            column;

        justify-content:
            center;

        gap:
            5px;

        cursor:
            pointer;

    }


    .mobile-menu span {

        display:
            block;

        width:
            24px;

        height:
            1px;

        background:
            var(--brown);

    }


    .hero {

        height:
            auto;

        grid-template-columns:
            1fr;

    }


    .hero-side {
        height: 620px;
    }


    .home-cards {

        margin-top:
            20px;

        grid-template-columns:
            1fr;

    }

}



/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 700px) {

    .tanlab-header {
        top: 12px;
    }


    .tanlab-nav {

        width:
            calc(100% - 24px);

        height:
            65px;

        padding:
            0 20px;

    }


    .tanlab-logo {

        width:
            90px;

        height:
            90px;

    }


    .tanlab-logo::before {

        width:
            78px;

        height:
            78px;

    }


    .logo-glow {

        width:
            82px;

        height:
            82px;

    }


    .tanlab-logo img {

        width:
            67px;

        height:
            67px;

    }


    .hero-side {
        height: 560px;
    }


    .hero-copy {

        left:
            8%;

        top:
            57%;

    }


    .hero-therapy .hero-copy {
        left: 8%;
    }


    .hero-copy h1 {

        font-size:
            58px;

    }


    .hero-small-title {

        font-size:
            10px;

        letter-spacing:
            5px;

    }


    .home-cards {

        width:
            calc(100% - 24px);

    }


    .home-card {

        padding:
            23px 18px;

    }


    .card-header {

        align-items:
            flex-start;

    }


    .card-header h2 {

        font-size:
            25px;

    }


    .beds-preview {

        grid-template-columns:
            1fr;

    }


    .bed-placeholder {
        height: 220px;
    }


    .therapy-features {

        grid-template-columns:
            repeat(2, 1fr);

        gap:
            30px 10px;

    }


    .therapy-feature::after {
        display: none;
    }


    .values-bar {

        width:
            calc(100% - 24px);

        grid-template-columns:
            1fr 1fr;

        gap:
            22px 5px;

    }


    .value {
        border-right: 0 !important;
    }

}