* {
    box-sizing:border-box;
}


body {
    margin:0;
    font-family:Arial, Helvetica, sans-serif;
    color:#243746;
}


/* ================= HERO ================= */

.hero {

    background:#123F68;
    padding:0 8% 50px;
    color:white;

}


header {

    height:70px;

    display:flex;
    justify-content:space-between;
    align-items:center;

    border-bottom:1px solid rgba(255,255,255,0.25);

}


.logo {

    font-size:32px;
    font-weight:bold;
    letter-spacing:1px;

}


nav a {

    color:white;
    text-decoration:none;
    margin-left:30px;

}


/* ================= HOME HERO ================= */

.hero-top {

    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;

    padding:35px 0 45px;

}


.hero h1 {

    margin:0;

    font-size:44px;
    line-height:1.18;
    font-weight:600;

}


.hero-right p {

    font-size:17px;
    line-height:1.5;
    margin-top:5px;

}



/* ================= CONTACT ================= */

.contact-box {

    margin-top:30px;

    padding-top:20px;

    border-top:1px solid rgba(255,255,255,0.3);

    display:flex;
    align-items:center;
    gap:30px;

}


.contact-info {

    display:flex;
    flex-direction:column;

}


.contact-info strong {

    font-size:13px;
    text-transform:uppercase;
    letter-spacing:1px;

    margin-bottom:10px;

    opacity:.8;

}


.contact-info a {

    color:white;

    text-decoration:none;

    font-size:18px;

    margin-bottom:5px;

}



/* ================= BUTTON ================= */

.btn {

    display:inline-block;

    padding:14px 32px;

    background:transparent;

    color:white;

    border:1px solid white;

    border-radius:5px;

    text-decoration:none;

    font-weight:bold;

    transition:.2s;

}


.btn:hover {

    background:white;
    color:#123F68;

}



/* ================= IMAGE ================= */

.hero-image {

    width:100%;

    margin-bottom:-160px;

    position:relative;
    z-index:2;

}


.hero-image img {

    width:100%;

    height:420px;

    object-fit:cover;

    object-position:center 25%;

    border-radius:8px;

    display:block;

}



/* ================= STATS ================= */

.stats {

    display:flex;

    justify-content:space-around;

    text-align:center;

    padding:120px 8% 30px;

}


.stat {

    font-size:18px;

}


.stat strong {

    display:block;

    font-size:38px;

    margin-bottom:6px;

    color:#123F68;

}



/* ================= SERVICES ================= */

.services {

    padding:20px 8% 80px;

    background:#F7FAFC;

}


.services h2 {

    text-align:center;

    font-size:40px;

    color:#102A43;

}


.cards {

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

    margin-top:50px;

}


.card {

    background:white;

    padding:35px;

    border-radius:8px;

    box-shadow:0 5px 20px rgba(0,0,0,.08);

}


.card h3 {

    color:#102A43;

    font-size:22px;

}


.card p {

    line-height:1.6;

}



/* ================= SUBPAGES ================= */



.intro p {

    max-width:900px;

    font-size:19px;

    line-height:1.7;

}



/* O NAS */

.intro,
.about-intro {

    padding:50px 0;

}


.about-layout {

    display:grid;
    grid-template-columns:1fr 350px;
    gap:70px;

    padding:0;

}



.company-box {

    background:white;

    color:#243746;

    padding:30px;

    border-radius:8px;

    align-self:start;

}


.company-box h3 {

    margin-top:0;

    color:#123F68;

}


.company-box a {

    display:block;

    color:#123F68;

    text-decoration:none;

    margin-top:10px;

}



/* CONTENT */

.content {

    padding:70px 8%;

}


.content h2 {

    color:#102A43;

    font-size:36px;

    margin-top:40px;

}


.content h2:first-child {

    margin-top:0;

}


.content h3 {

    color:#123F68;

    font-size:24px;

    margin-top:35px;

}


.content p {

    max-width:900px;

    font-size:18px;

    line-height:1.7;

}



/* REFERENCES IMAGE */

.reference-image {

    width:100%;

    max-width:900px;

    margin:30px auto;

}


.reference-image img {

    width:100%;

    border-radius:8px;

}





/* ================= SUBPAGE HERO ================= */


.subpage-hero {
    padding-bottom:40px;
}


.subpage-hero .intro {

    padding:50px 0 40px;

}


.about-layout {

    display:grid;

    grid-template-columns:1fr 350px;

    gap:70px;

}


.subpage-hero h1 {

    font-size:44px;

    line-height:1.18;

    font-weight:600;

    margin:0 0 25px;

}


.subpage-hero p {

    font-size:18px;

    line-height:1.6;

    margin-top:15px;

    margin-bottom:15px;

}


.subpage-hero .intro {

    height:330px;
    padding:50px 0;

    overflow:hidden;

}


.logo {

    font-size:32px;
    font-weight:bold;
    letter-spacing:1px;

    color:white;
    text-decoration:none;

}


/* ================= FOOTER ================= */

footer {

    background:#123F68;

    color:white;

    padding:30px 8%;

}



/* ================= MOBILE ================= */

@media(max-width:900px) {


header {

    height:auto;

    padding:15px 0;

}


.subpage-hero .intro {
        height:auto;
        overflow:visible;
}


.logo {

    font-size:28px;

}


nav {

    display:flex;

    flex-wrap:wrap;

    justify-content:center;

    gap:10px 20px;

}


nav a {

    margin-left:0;

    font-size:14px;

}

.hero-top {

    grid-template-columns:1fr;

    gap:30px;

}


.hero h1 {

    font-size:38px;

}


.contact-box {

    flex-direction:column;

    align-items:flex-start;

}


.hero-image {

    margin-bottom:-80px;

}


.hero-image img {

    height:300px;

}


.stats {

    flex-direction:column;

    gap:35px;

}


.cards {

    grid-template-columns:1fr;

}


.intro h1 {

    font-size:40px;

}


.about-layout {

    grid-template-columns:1fr;

}


}