:root {
    --turquoise: #00b4bb;
    --dark: #005666;
    --cyan: #54b7c7;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
    color: #15252a;
}

.topbar {
    height: 64px;
    background: var(--turquoise);
    color: white;
}

.topbar-inner {
    max-width: 1250px;
    margin: auto;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 0 25px;
}

.languages {
    display: flex;
    gap: 12px;
    align-items: center;
}

.languages button {
    color: white;
    background: none;
    border: 0;
    cursor: pointer;
    font-size: 15px;
    padding: 9px 3px;
}

.languages button[aria-pressed=true] {
    text-decoration: underline;
    text-underline-offset: 5px;
    font-weight: bold;
}

.hero {
    min-height: 550px;
    background: #ddd url('../images/Foto_Inicio.jpg') center center/cover no-repeat;
    position: relative;
}

.hero-content {
    position: relative;
    max-width: 1250px;
    margin: auto;
    text-align: right;
    padding: 95px 32px 50px;
}

.hero h1 {
    font-size: clamp(29px, 4vw, 53px);
    color: var(--turquoise);
    margin: 0;
    font-weight: 800;
}

.subtitle {
    font: italic bold clamp(19px, 2.4vw, 30px) Georgia, serif;
    color: var(--dark);
    margin: 2px 0 18px;
}

.contact-btn,
.jobs-btn {
    display: inline-block;
    text-decoration: none;
    color: white;
    background: var(--turquoise);
    padding: 13px 18px;
    font-weight: bold;
}

.contact {
    background: #fff;
    text-align: center;
    padding: 34px 16px 42px;
}

.contact h2 {
    color: var(--dark);
    margin: 0 0 12px;
}

.contact p {
    margin: 0 0 10px;
}

.email {
    color: #007d88;
    font-weight: bold;
    font-size: clamp(16px, 2.5vw, 22px);
    overflow-wrap: anywhere;
}

.linkedin {
    background: linear-gradient(110deg, #005463, #008c98);
    color: white;
    text-align: center;
    padding: 20px 16px 30px;
}

.linkedin-wordmark {
    font-size: 39px;
    font-weight: 800;
    letter-spacing: -2px;
    color: #000;
}

.linkedin-wordmark span {
    background: #0877b5;
    color: #fff;
    border-radius: 3px;
    padding: 0 4px;
    margin-left: 2px;
}

.linkedin h2 {
    font-size: 23px;
    margin: 18px 0 8px;
}

.linkedin p {
    color: #b7d0d4;
    font-size: 18px;
    margin: 0 0 26px;
}

.jobs-btn {
    background: var(--cyan);
    font-size: 14px;
    padding: 12px 26px;
    border-radius: 3px;
}

footer {
    background: var(--turquoise);
    text-align: center;
    padding: 19px 16px 10px;
}

.social {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-bottom: 25px;
}

.social a {
    background: white;
    color: var(--turquoise);
    border-radius: 50%;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    text-decoration: none;
}

.social svg {
    width: 24px;
    height: 24px;
    fill: currentColor;
}

footer small {
    font-size: 14px;
    color: var(--dark);
}

@media (max-width: 650px) {
    .topbar-inner {
        padding: 0 14px;
    }

    .languages {
        gap: 5px;
    }

    .languages button {
        font-size: 13px;
    }

    .hero {
        min-height: 460px;
        background-position: 35% center;
    }

    .hero-content {
        padding: 65px 18px 35px;
        text-align: center;
        background: linear-gradient(to bottom, rgba(255, 255, 255, .82), rgba(255, 255, 255, 0));
    }

    .subtitle {
        margin-top: 12px;
    }

}
