/* OSLOC 2026: portada construida por capas reales, no una imagen con texto. */
.osloc-hero {
    --osloc-deep: #062A40;
    --osloc-corporate: #0A4B73;
    --osloc-ice: #D9EAF2;
    --osloc-white: #FEFEFE;
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: center;
    overflow: hidden;
    width: 100vw;
    max-width: none;
    min-height: clamp(625px, 82vh, 870px);
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    background: linear-gradient(108deg, #062A40 0%, #0A4B73 70%, #062A40 100%);
    color: var(--osloc-white);
    font-family: 'Poppins', sans-serif;
}
.osloc-hero *, .osloc-hero *::before, .osloc-hero *::after {
    box-sizing: border-box;
}
.osloc-hero__photo {
    position: absolute;
    z-index: -3;
    inset: 0;
    background-repeat: no-repeat;
    background-position: center 49%;
    background-size: cover;
}
.osloc-hero__photo--pending {
    background-image: radial-gradient(circle at 78% 45%, rgba(15,98,140,.45), transparent 60%);
}
.osloc-hero__wash {
    position: absolute;
    z-index: -2;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(6,42,64,.82) 0%, rgba(6,42,64,.67) 30%, rgba(6,42,64,.35) 58%, rgba(6,42,64,.18) 100%),
        linear-gradient(0deg, rgba(6,42,64,.20), transparent 35%);
    pointer-events: none;
}
.osloc-hero__inner {
    width: min(100% - 84px, 1190px);
    max-width: 1190px;
    margin: 0 auto;
    padding: 92px 0 104px;
    position: relative;
    z-index: 1;
}
.osloc-hero__content {
    max-width: min(670px, 61%);
}
.osloc-hero__eyebrow {
    display: block;
    width: fit-content;
    padding: 0 0 17px;
    margin: 0 0 28px;
    color: #D9EAF2 !important;
    border-bottom: 1px solid rgba(217,234,242,.7);
    font: 600 11px/1.4 'Poppins',sans-serif !important;
    letter-spacing: .22em;
}
.osloc-hero__title {
    font-family: 'Poppins', sans-serif !important;
    color: #FEFEFE !important;
    font-size: clamp(39px, 4vw, 65px) !important;
    font-weight: 600 !important;
    letter-spacing: -.04em !important;
    line-height: 1.16 !important;
    text-transform: none !important;
    margin: 0 0 30px !important;
    max-width: 670px;
    text-align: left !important;
}
.osloc-hero__title span {
    color: #D9EAF2 !important;
}
.osloc-hero__description {
    max-width: 560px;
    font: 400 clamp(15px,1.35vw,18px)/1.85 'Poppins',sans-serif !important;
    letter-spacing: 0;
    color: #F0F6F9 !important;
    margin: 0 0 37px !important;
    text-align: left !important;
}
.osloc-hero__cta, .osloc-hero__cta:link, .osloc-hero__cta:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    padding: 17px 24px 17px 27px;
    min-height: 56px;
    color: #062A40 !important;
    background: #FEFEFE !important;
    border: 1px solid #FEFEFE;
    border-radius: 4px;
    text-decoration: none !important;
    font: 600 13px/1.4 'Poppins', sans-serif !important;
    letter-spacing: .01em;
    box-shadow: 0 5px 25px rgba(0,0,0,.075);
    transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease;
}
.osloc-hero__cta svg { width: 19px; height: 19px; flex: 0 0 19px; }
.osloc-hero__cta:hover, .osloc-hero__cta:focus-visible {
    color: #FEFEFE !important;
    background: #0A4B73 !important;
    border-color: #D9EAF2 !important;
    transform: translateY(-2px);
}
.osloc-hero__cta:focus-visible {
    outline: 3px solid #D9EAF2;
    outline-offset: 4px;
}
.osloc-hero__bottomline {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #0F628C, rgba(217,234,242,.25));
    pointer-events: none;
}
@media (max-width: 1199px) {
    .osloc-hero__content { max-width: min(605px, 65%); }
    .osloc-hero__title { font-size: clamp(37px, 4.4vw, 56px) !important; }
}
@media (max-width: 991px) {
    .osloc-hero { min-height: 690px; }
    .osloc-hero__inner { width: min(100% - 52px, 760px); }
    .osloc-hero__content { max-width: 82%; }
    .osloc-hero__wash {
        background: linear-gradient(90deg, rgba(6,42,64,.94), rgba(6,42,64,.76) 57%, rgba(6,42,64,.47));
    }
    .osloc-hero__photo { background-position: 63% center; }
    .osloc-hero__title { font-size: clamp(35px,5vw,51px) !important; }
}
@media (max-width: 600px) {
    .osloc-hero { min-height: 625px; }
    .osloc-hero__inner { width: calc(100% - 44px); padding: 68px 0 79px; }
    .osloc-hero__content { max-width: 100%; }
    .osloc-hero__eyebrow { font-size: 9px !important; letter-spacing: .14em; margin-bottom: 23px; }
    .osloc-hero__title { font-size: clamp(31px,8vw,44px) !important; line-height: 1.2 !important; letter-spacing: -.03em !important; margin-bottom: 22px !important; }
    .osloc-hero__description { font-size: 15px !important; line-height: 1.78 !important; max-width: 390px; margin-bottom: 28px !important; }
    .osloc-hero__cta { min-height: 53px; font-size: 12px !important; padding: 14px 16px !important; }
    .osloc-hero__photo { background-position: 69% center; }
    .osloc-hero__wash { background: linear-gradient(90deg, rgba(6,42,64,.94), rgba(6,42,64,.83) 70%, rgba(6,42,64,.67)); }
}
@media (prefers-reduced-motion: reduce) {
    .osloc-hero__cta { transition: none; }
}
