/*
==================================================
 V. Isles & Co. Law Firm
 style.css
==================================================
*/

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Source+Sans+3:wght@300;400;500;600;700&display=swap');

:root{

    --navy:#0F223D;
    --navy-light:#183458;

    --gold:#B08D57;
    --gold-light:#C8A46D;

    --white:#ffffff;
    --offwhite:#F8F8F8;
    --light:#EFEFEF;

    --text:#2D2D2D;
    --muted:#666666;

    --shadow:0 10px 35px rgba(0,0,0,.08);

    --radius:12px;

    --transition:.30s ease;

    --container:1200px;

}

/**************************************************
 RESET
**************************************************/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{

    scroll-behavior:smooth;

}

body{

    font-family:'Source Sans 3',sans-serif;

    color:var(--text);

    background:#fff;

    line-height:1.75;

    -webkit-font-smoothing:antialiased;

}

img{

    max-width:100%;

    display:block;

}

a{

    text-decoration:none;

    transition:var(--transition);

}

ul{

    list-style:none;

}

.container{

    width:min(92%,var(--container));

    margin:auto;

}

/**************************************************
 TYPOGRAPHY
**************************************************/

h1,h2,h3,h4{

    font-family:'Cormorant Garamond',serif;

    color:var(--navy);

    line-height:1.15;

}

h1{

    font-size:4rem;

    font-weight:700;

}

h2{

    font-size:3rem;

    margin-bottom:25px;

}

h3{

    font-size:1.8rem;

}

p{

    margin-bottom:18px;

    color:#444;

}

.section-title{

    text-align:center;

    margin-bottom:60px;

}

.section-title span{

    color:var(--gold);

    text-transform:uppercase;

    letter-spacing:3px;

    font-size:.85rem;

    font-weight:700;

}

.section-title h2{

    margin-top:10px;

}

/**************************************************
 BUTTONS
**************************************************/

.btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    padding:15px 34px;

    border-radius:5px;

    font-weight:600;

    transition:var(--transition);

}

.btn-primary{

    background:var(--gold);

    color:white;

}

.btn-primary:hover{

    background:#9D7742;

    transform:translateY(-3px);

}

.btn-outline{

    border:2px solid var(--gold);

    color:white;

}

.btn-outline:hover{

    background:var(--gold);

}

/**************************************************
 HERO
**************************************************/

.hero{

    background:var(--navy);

    color:white;

    position:relative;

    overflow:hidden;

}

.hero .container{

    padding:70px 0 170px;

    text-align:center;

}

.logo{

    width:250px;

    margin:0 auto 35px;

}

.hero h1{

    color:white;

    margin-bottom:10px;

}

.tagline{

    color:var(--gold);

    font-size:1.6rem;

    font-family:'Cormorant Garamond',serif;

    margin-bottom:35px;

}

.hero p{

    color:#E5E5E5;

    font-size:1.15rem;

    max-width:760px;

    margin:auto auto 45px;

}

.hero-buttons{

    display:flex;

    justify-content:center;

    gap:18px;

    flex-wrap:wrap;

}

/**************************************************
 WAVE DIVIDER
**************************************************/

.wave{

    position:absolute;

    bottom:-2px;

    left:0;

    width:100%;

}

.wave svg{

    display:block;

}

/**************************************************
 SECTIONS
**************************************************/

section{

    padding:90px 0;

}

/**************************************************
 MISSION
**************************************************/

.mission{

    background:white;

}

.mission-grid{

    display:grid;

    grid-template-columns:1.2fr .8fr;

    gap:80px;

    align-items:center;

}

.values{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:30px;

}

.value{

    padding:30px;

    border:1px solid #ECECEC;

    border-radius:var(--radius);

    transition:var(--transition);

    background:white;

}

.value:hover{

    transform:translateY(-6px);

    box-shadow:var(--shadow);

}

.value i{

    color:var(--gold);

    font-size:2rem;

    margin-bottom:15px;

}

/**************************************************
 LAWYERS
**************************************************/

.team{

    background:var(--offwhite);

}

.team-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));

    gap:30px;

}

.card{

    background:white;

    border-radius:var(--radius);

    text-align:center;

    padding:40px 30px;

    box-shadow:var(--shadow);

    transition:var(--transition);

}

.card:hover{

    transform:translateY(-8px);

}

.number{

    width:46px;

    height:46px;

    border-radius:50%;

    background:var(--navy);

    color:white;

    display:flex;

    align-items:center;

    justify-content:center;

    margin:0 auto 20px;

    font-weight:700;

}

.card h3{

    font-size:1.5rem;

    margin-bottom:10px;

}

.roll{

    color:var(--gold);

    font-weight:600;

}

/**************************************************
 CONTACT
**************************************************/

.contact{

    background:white;

}

.contact-grid{

    display:grid;

    grid-template-columns:420px 1fr;

    gap:60px;

    align-items:start;

}

.contact-info{

    display:flex;

    flex-direction:column;

    gap:24px;

}

.info-item{

    display:flex;

    gap:20px;

    align-items:flex-start;

}

.info-item i{

    width:50px;

    height:50px;

    border-radius:50%;

    background:var(--navy);

    color:white;

    display:flex;

    justify-content:center;

    align-items:center;

}

.map iframe{

    width:100%;

    height:420px;

    border:0;

    border-radius:var(--radius);

    box-shadow:var(--shadow);

}

/**************************************************
 FOOTER
**************************************************/

footer{

    background:var(--navy);

    color:#D9D9D9;

    padding:40px 0;

}

.footer-grid{

    display:flex;

    justify-content:space-between;

    align-items:center;

    flex-wrap:wrap;

    gap:20px;

}

.footer-logo{

    width:170px;

}

footer p{

    color:#D9D9D9;

    margin:0;

}

/**************************************************
 ANIMATIONS
**************************************************/

.fade-up{

    opacity:0;

    transform:translateY(25px);

    animation:fadeUp .8s forwards;

}

@keyframes fadeUp{

    to{

        opacity:1;

        transform:none;

    }

}

/**************************************************
 RESPONSIVE
**************************************************/

@media(max-width:992px){

    h1{

        font-size:3rem;

    }

    h2{

        font-size:2.4rem;

    }

    .mission-grid{

        grid-template-columns:1fr;

    }

    .contact-grid{

        grid-template-columns:1fr;

    }

}

@media(max-width:768px){

    .hero .container{

        padding:55px 0 120px;

    }

    .logo{

        width:180px;

    }

    .hero-buttons{

        flex-direction:column;

    }

    .btn{

        width:100%;

    }

    .values{

        grid-template-columns:1fr;

    }

    .footer-grid{

        text-align:center;

        justify-content:center;

    }

}