:root{
    --rds-color-content-high:#001E37;
    --rds-color-content-medium:#43637D;
    --rds-color-background:#F7F7F9;
    --rds-color-border:#C1D5E6;
    --rds-color-turquoise:#006A82;
    --rds-color-orange:#FF9C00;
    --rds-font-text:'RepsolSoleTextRegular','Sole Repsol Text',Arial,sans-serif;
    --rds-font-display:'RepsolSoleDisplayRegular','Sole Repsol Display',Arial,sans-serif;
}

*,
*::before,
*::after{
    box-sizing:border-box;
}

*{
    margin:0;
    padding:0;
}

html,
body{
    width:100%;
    min-height:100%;
    margin:0;
    overflow-x:hidden;
}

body{
    background:var(--rds-color-background);
    font-family:var(--rds-font-text);
    color:var(--rds-color-content-high);
    min-height:100vh;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

@font-face{
    font-family:'RepsolSoleTextRegular';
    font-style:normal;
    font-weight:400;
    font-display:swap;
    src:local('RepsolSoleTextRegular'),url('/assets/fonts/SoleRepsolText_W_Rg.woff2') format('woff2');
}

@font-face{
    font-family:'RepsolSoleDisplayRegular';
    font-style:normal;
    font-weight:400;
    font-display:swap;
    src:local('RepsolSoleDisplayRegular'),url('/assets/fonts/SoleRepsolDisplay_W_Rg.woff2') format('woff2');
}

.container{
    position:relative;
    min-height:100vh;
    width:100%;
    padding:clamp(40px, 12vh, 140px) clamp(30px, 6.1vw, 88px) 16px;
    display:flex;
    flex-direction:column;
    overflow:hidden;
}

.content{
    position:relative;
    z-index:1;
    flex:1;
    display:flex;
    flex-direction:column;
}

.illustration{
    display:block;
    width:56px;
    height:56px;
    margin-bottom:24px;
    object-fit:contain;
}

.content-columns{
    display:flex;
    align-items:flex-start;
    gap:clamp(24px, 4.4vw, 64px);
}

.content-block{
    flex:1;
    min-width:0;
}

.content-divider{
    align-self:stretch;
    width:1px;
    background:rgba(0,30,55,0.15);
    flex-shrink:0;
}

h1{
    width:100%;
    max-width:715px;
    font-family:var(--rds-font-display);
    font-style:normal;
    font-weight:400;
    font-size:clamp(20px, 3vw, 48px);
    line-height:1.2;
    color:var(--rds-color-content-high);
    margin-bottom:16px;
}

p{
    width:100%;
    max-width:715px;
    min-height:24px;
    font-family:var(--rds-font-text);
    font-style:normal;
    font-weight:400;
    font-size:12px;
    line-height:16px;
    color:var(--rds-color-content-medium);
    display:flex;
    align-items:center;
    margin-bottom:16px;
}

.contact-button{
    display:inline-flex;
    align-items:center;
    gap:8px;
    align-self:center;
    margin-top:20px;
    text-decoration:none;
    font-family:var(--rds-font-text);
    font-size:10px;
    font-weight:600;
    line-height:14px;
    color:var(--rds-color-content-high);
    border:1px solid var(--rds-color-content-high);
    padding:5px 12px;
    border-radius:24px;
    transition:background 0.2s ease;
}

.contact-button:hover{
    background:rgba(0,30,55,0.05);
}

.contact-button:focus-visible,
.social-links a:focus-visible,
.logo:focus-visible{
    outline:3px solid #009BBE;
    outline-offset:4px;
}

footer{
    position:relative;
    z-index:1;
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-top:24px;
}

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

.social-links a{
    display:flex;
    align-items:center;
    justify-content:center;
    line-height:0;
    width:16px;
    height:16px;
}

.social-links img{
    display:block;
    width:12px;
    height:12px;
    object-fit:contain;
}

.logo{
    display:block;
    width:64px;
    height:auto;
}

.background-bubble{
    position:absolute;
    top:-250px;
    right:-250px;
    width:540px;
    height:540px;
    background-image:url('/assets/logo.png');
    background-size:contain;
    background-repeat:no-repeat;
    background-position:center;
    pointer-events:none;
    z-index:0;
}

@media (max-width: 900px){
    .container{
        padding:40px 30px 16px;
    }

    .content-columns{
        gap:24px;
    }
}

@media (max-width: 480px){
    .container{
        padding:40px 24px;
    }

    .illustration{
        width:56px;
        height:56px;
    }

    .content-columns{
        flex-direction:column;
        gap:32px;
    }

    .content-divider{
        width:100%;
        height:1px;
        align-self:stretch;
    }

    h1{
        max-width:320px;
        font-size:24px;
        line-height:30px;
    }

    p{
        max-width:320px;
        min-height:auto;
        font-size:12px;
        line-height:16px;
        display:block;
    }

    .contact-button{
        margin-top:24px;
        align-self:flex-start;
    }

    footer{
        flex-direction:column;
        align-items:flex-start;
        gap:24px;
    }

    .logo{
        width:72px;
    }

    .background-bubble{
        width:280px;
        height:280px;
        top:-120px;
        right:-120px;
    }
}

@media (prefers-reduced-motion:reduce){
    *,
    *::before,
    *::after{
        scroll-behavior:auto !important;
        transition-duration:0.01ms !important;
    }
}