/* ===========================
   ALEX BARBER
   Version 0.1
=========================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Manrope',sans-serif;
    background:#f8f6f3;
    color:#222;
    line-height:1.6;

    padding-top:78px;
}

img{

    max-width:100%;

    display:block;

}

a{

    text-decoration:none;

    color:inherit;

}

.container{

    width:min(1200px,92%);

    margin:auto;

}



/* ===========================
HEADER
=========================== */

header{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    z-index:1000;
}

.header{

    height:78px;

    display:flex;

    align-items:center;

    justify-content:space-between;

}

.logo-small img{

    width:56px;

}

nav{

    display:flex;

    align-items:center;

    gap:35px;

}

nav a{

    font-size:15px;

    font-weight:600;

    transition:.25s;

}

nav a:hover{

    color:#8b7355;

}

.book{

    background:#1f1f1f;

    color:#fff;

    padding:14px 24px;

    border-radius:12px;

}

.book:hover{

    background:#333;

}

.lang{

    display:flex;

    gap:12px;

    margin-left:10px;

}



/* ===========================
HERO
=========================== */

.hero{
    padding-top:50px;
    padding-bottom:50px;
}

.hero-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    align-items:flex-start;
}

.hero-left,
.hero-right{
    align-self:start;
}


.hero h1{
    font-family:'Cormorant Garamond',serif;
    font-size:72px;
    font-weight:700;
    margin:0 0 15px;
}

.subtitle{

    font-size:34px;

    line-height:1.25;

    margin-bottom:25px;

}

.city{

    color:#777;

    margin-bottom:35px;

    letter-spacing:1px;

}

.button{

    display:inline-block;

    background:#1f1f1f;

    color:#fff;

    padding:18px 42px;

    border-radius:14px;

    font-size:17px;

    font-weight:600;

    transition:.25s;

}

.button:hover{

    background:#333;

    transform:translateY(-2px);

}

.info{

    display:flex;

    flex-wrap:wrap;

    gap:20px;

    margin-top:40px;

    color:#666;

    font-size:15px;

}

.hero-right img{
    width:100%;
    max-height:460px;
    object-fit:cover;
    border-radius:26px;
    display:block;
}
/* ===========================
SERVICES
=========================== */

section{

    padding:90px 0;

}

#services{
    padding-top:30px;
}

.services-action{
    text-align:center;
    margin-top:35px;
}

.services-action .button{
    display:inline-block;
}

h2{

    text-align:center;

    font-family:'Cormorant Garamond',serif;

    font-size:56px;

    margin-bottom:25px;

}

.cards{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:24px;

}

.card{
    background:#fff;
    border-radius:22px;
    padding:30px;
    text-align:center;
    box-shadow:0 15px 45px rgba(0,0,0,.05);
    transition:.25s;
}

.card:hover{
    transform:translateY(-6px);
    box-shadow:0 20px 50px rgba(0,0,0,.08);
}

.card h3{
    font-size:22px;
    line-height:1.3;
    margin-bottom:16px;
}

.service-icon{ 
font-size:46px; margin-bottom:22px; 
}

.duration{
    color:#888;
    font-size:17px;
    margin-bottom:18px;
}

.price{
    font-size:44px;
    font-weight:700;
    color:#222;
    line-height:1;
}


/* ===========================
CONTACT
=========================== */

.contact-card{

    max-width:520px;

    margin:auto;

    background:#fff;

    padding:45px;

    border-radius:22px;

    box-shadow:0 15px 45px rgba(0,0,0,.05);

}

.contact-item{
    display:flex;
    align-items:flex-start;
    gap:18px;
    margin-bottom:22px;
}

.contact-item .icon{
    width:30px;
    flex-shrink:0;
    font-size:22px;
    text-align:center;
}

.contact-item strong{
    font-weight:700;
    color:#222;
}

.contact-card p{

    margin-bottom:18px;

}

.maps{

    display:inline-block;

    margin-top:20px;

    background:#1f1f1f;

    color:#fff;

    padding:15px 30px;

    border-radius:12px;

}



/* ===========================
FOOTER
=========================== */

footer{

    padding:40px 0;

    border-top:1px solid #e6e0d9;

}

.footer{

    text-align:center;

    color:#777;

}



/* ===========================
MOBILE
=========================== */

@media(max-width:900px){

.hero-grid{

grid-template-columns:1fr;

text-align:center;

}

.hero-logo{

margin:auto auto 30px;

}

.info{

justify-content:center;

}

.cards{

grid-template-columns:1fr;

}

nav{

gap:18px;

font-size:14px;

}

.subtitle{

font-size:26px;

}

.hero h1{

font-size:54px;

}

}

