/* =========================
   FONTS
========================= */

@font-face{

    font-family:'Futura PT';

    src:url('/assets/fonts/FuturaPT-Book.woff2') format('woff2');

    font-weight:400;

    font-style:normal;
}

@font-face{

    font-family:'Futura PT';

    src:url('/assets/fonts/FuturaPT-Light.woff2') format('woff2');

    font-weight:300;

    font-style:normal;
}

@font-face{

    font-family:'Futura PT';

    src:url('/assets/fonts/FuturaPT-Medium.woff2') format('woff2');

    font-weight:500;

    font-style:normal;
}

/* =========================
   RESET
========================= */

*{

    margin:0;
    padding:0;

    box-sizing:border-box;
}

html{

    scroll-behavior:smooth;
}

body{

    background:#ffffff;

    color:#111111;

    font-family:'Futura PT',sans-serif;

    overflow-x:hidden;

    -webkit-font-smoothing:antialiased;
}

/* =========================
   GLOBAL
========================= */

a{

    text-decoration:none;

    color:inherit;
}

img{

    width:100%;

    display:block;
}

video{

    width:100%;

    display:block;
}

/* =========================
   HERO
========================= */

.hero-section{

    position:relative;

    width:100%;

    height:100vh;

    overflow:hidden;
}

.hero-video{

    position:absolute;

    top:0;
    left:0;

    width:100%;
    height:100%;

    object-fit:cover;
}

.hero-overlay{

    position:absolute;

    inset:0;

    background:
    rgba(0,0,0,.35);
}

.hero-content{

    position:relative;

    z-index:2;

    width:100%;
    height:100%;

    display:flex;

    flex-direction:column;

    align-items:center;
    justify-content:center;

    text-align:center;

    color:#ffffff;

    padding:20px;
}

.hero-subtitle{

    font-size:11px;

    letter-spacing:.4em;

    margin-bottom:24px;
}

.hero-title{

    font-size:clamp(70px,14vw,220px);

    font-weight:300;

    letter-spacing:.12em;

    line-height:1;
}

.hero-description{

    margin-top:24px;

    max-width:720px;

    font-size:18px;

    line-height:1.9;

    opacity:.9;
}

.hero-buttons{

    display:flex;

    gap:20px;

    margin-top:42px;
}

.hero-btn{

    min-width:220px;

    height:58px;

    display:flex;

    align-items:center;
    justify-content:center;

    border:1px solid #ffffff;

    color:#ffffff;

    font-size:12px;

    letter-spacing:.18em;

    text-transform:uppercase;

    transition:.35s ease;
}

.hero-btn:hover{

    background:#ffffff;

    color:#000000;
}

.hero-btn-light{

    background:#ffffff;

    color:#000000;
}

.hero-btn-light:hover{

    background:transparent;

    color:#ffffff;
}

/* =========================
   FEATURED
========================= */

.featured-section{

    padding:140px 60px;
}

.section-heading{

    text-align:center;

    margin-bottom:70px;
}

.section-heading span{

    display:block;

    font-size:11px;

    letter-spacing:.35em;

    text-transform:uppercase;

    margin-bottom:22px;

    color:#777777;
}

.section-heading h2{

    font-size:clamp(42px,6vw,90px);

    font-weight:300;

    line-height:1.1;
}

.featured-grid{

    display:grid;

    grid-template-columns:
    repeat(3,1fr);

    gap:28px;
}

.featured-card{

    position:relative;

    overflow:hidden;

    background:#f5f5f5;
}

.featured-card img{

    height:760px;

    object-fit:cover;

    transition:1s ease;
}

.featured-card:hover img{

    transform:scale(1.05);
}

.featured-content{

    position:absolute;

    left:0;
    bottom:0;

    width:100%;

    padding:40px;

    color:#ffffff;

    background:
    linear-gradient(
    transparent,
    rgba(0,0,0,.7)
    );
}

.featured-content h3{

    font-size:32px;

    font-weight:400;

    margin-bottom:12px;
}

.featured-content span{

    font-size:12px;

    letter-spacing:.2em;

    text-transform:uppercase;
}

/* =========================
   EDITORIAL
========================= */

.editorial-section{

    position:relative;

    height:90vh;

    overflow:hidden;
}

.editorial-video{

    position:absolute;

    inset:0;

    width:100%;
    height:100%;

    object-fit:cover;
}

.editorial-overlay{

    position:absolute;

    inset:0;

    background:
    rgba(0,0,0,.45);
}

.editorial-content{

    position:relative;

    z-index:2;

    height:100%;

    display:flex;

    flex-direction:column;

    align-items:center;
    justify-content:center;

    text-align:center;

    color:#ffffff;

    padding:20px;
}

.editorial-content span{

    font-size:11px;

    letter-spacing:.35em;

    text-transform:uppercase;

    margin-bottom:24px;
}

.editorial-content h2{

    font-size:clamp(42px,7vw,110px);

    font-weight:300;

    line-height:1.1;

    max-width:1200px;
}

/* =========================
   SERVICES
========================= */

.services-preview{

    padding:140px 60px;

    background:#f8f8f6;
}

.services-grid{

    display:grid;

    grid-template-columns:
    repeat(2,1fr);

    gap:28px;
}

.service-box{

    background:#ffffff;

    padding:70px;

    transition:.4s ease;
}

.service-box:hover{

    transform:translateY(-8px);
}

.service-box h3{

    font-size:34px;

    font-weight:400;

    margin-bottom:22px;
}

.service-box p{

    font-size:16px;

    line-height:2;

    color:#666666;
}

/* =========================
   NEWSLETTER
========================= */

.newsletter-section{

    padding:140px 24px;

    background:#ffffff;
}

.newsletter-inner{

    max-width:900px;

    margin:auto;

    text-align:center;
}

.newsletter-inner span{

    display:block;

    margin-bottom:20px;

    font-size:11px;

    letter-spacing:.35em;

    text-transform:uppercase;

    color:#777777;
}

.newsletter-inner h2{

    font-size:clamp(42px,6vw,90px);

    font-weight:300;

    line-height:1.1;

    margin-bottom:40px;
}

.newsletter-form{

    display:flex;

    gap:16px;
}

.newsletter-form input{

    flex:1;

    height:70px;

    border:
    1px solid rgba(0,0,0,.1);

    padding:0 24px;

    outline:none;

    font-size:16px;
}

.newsletter-form button{

    min-width:220px;

    background:#000000;

    color:#ffffff;

    border:none;

    font-size:12px;

    letter-spacing:.2em;

    text-transform:uppercase;

    cursor:pointer;
}

/* =========================
   MOBILE
========================= */

@media(max-width:992px){

    .featured-grid,
    .services-grid{

        grid-template-columns:1fr;
    }

}

@media(max-width:768px){

    .featured-section,
    .services-preview{

        padding:90px 24px;
    }

    .featured-card img{

        height:520px;
    }

    .hero-buttons{

        flex-direction:column;

        width:100%;
    }

    .hero-btn{

        width:100%;
    }

    .service-box{

        padding:40px;
    }

    .newsletter-form{

        flex-direction:column;
    }

    .newsletter-form button{

        width:100%;

        height:70px;
    }




}



