:root {
    color-scheme: dark;
}

* {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    min-width: 320px;
    min-height: 100%;
    background: #000;
}

body {
    overflow-x: hidden;
}

.hero {
    position: relative;
    width: 100%;
    aspect-ratio: 1920 / 1030;
    overflow: hidden;
    background: #000;
}

.hero__picture,
.hero__interface,
.intro-layer,
.intro-layer__video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.hero__picture {
    z-index: 1;
    display: block;
}

.hero__image,
.intro-layer__video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #000;
}

.hero__interface {
    z-index: 2;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.hero__interface.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.hero__logo {
    position: absolute;
    left: 5.625%;       /* 108 / 1920 */
    top: 9.4174757%;    /* restored approved logo position */
    width: 15.15625%;   /* 291 / 1920 */
    aspect-ratio: 1;
    display: block;
}


.hero__logo{
    background: rgba(255,255,255,.45);
    backdrop-filter: blur(2px);
    padding: clamp(18px, 1.3541667vw, 26px) clamp(14px, 1.3541667vw, 26px) clamp(14px, 1.3541667vw, 26px);
}

.hero__logo img {
    display: block;
    width: 100%;
    height: 100%;
}

.hero__language {
    position: absolute;
    right: 11.3020833%;     /* align with contact button right edge */
    top: 11.9417476%;    /* 12.038835% - 1/1030 */
    display: flex;
    align-items: center;
    gap: 0.35em;
    white-space: nowrap;
    font-family: "Oswald", Arial, sans-serif;
    font-size: clamp(11px, 1.05vw, 20px);
    font-weight: 400;
    line-height: 1.35;
    text-transform: uppercase;
}

.hero__language a,
.hero__nav a {
    color: #111;
    text-decoration: none;
}

.hero__language span {
    color: #111;
}

.hero__nav {
    position: absolute;
    left: auto;
    right: 31.1979167%; /* nav ends 115 px before fixed CONTACT US button */
    top: 20.5825243%;   /* 212 / 1030 */
    height: 6.6990291%; /* 69 / 1030 */
    display: flex;
    align-items: center;
    gap: 5.9895833vw;   /* 115 px at 1920; same spacing toward button */
    white-space: nowrap;
    font-family: "Oswald", Arial, sans-serif;
    font-size: clamp(13px, 1.3020833vw, 25px);
    font-weight: 400;
    line-height: 1;
}

.hero__nav a {
    position: relative;
    display: flex;
    align-items: center;
    height: 100%;
}

.hero__nav a.is-active::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 104px;
    max-width: 130%;
    height: clamp(3px, 0.3125vw, 6px);
    background: #111;
    transform: translateX(-50%);
}

.hero__contact {
    position: absolute;
    left: 74.7916667%;  /* 1436 / 1920 */
    top: 20.8737864%;   /* 215 / 1030 */
    width: 13.90625%;   /* 267 / 1920 */
    height: 6.407767%;  /* 66 / 1030 */
    display: flex;
    align-items: center;
    justify-content: center;
    background: #000;
    color: #fff;
    text-decoration: none;
    white-space: nowrap;
    font-family: "Oswald", Arial, sans-serif;
    font-size: clamp(13px, 1.3020833vw, 25px);
    font-weight: 500;
    line-height: 1;
}

.hero__menu-toggle,
.hero__nav .hero__nav-contact {
    display: none;
}

.intro-layer {
    z-index: 3;
    background: #000;
}

.intro-layer.is-finished {
    visibility: hidden;
    pointer-events: none;
}

/* Tablet intro/hero assets. The interface itself remains unchanged for now. */
@media (min-width: 768px) and (max-width: 1366px) and (min-height: 600px) and (any-pointer: coarse) and (orientation: landscape) {
    .hero {
        aspect-ratio: 1600 / 1000;
    }
}

@media (min-width: 768px) and (max-width: 1366px) and (min-height: 600px) and (any-pointer: coarse) and (orientation: portrait) {
    .hero {
        aspect-ratio: 1000 / 1200;
    }
}

/* Mobile landscape intro/hero assets. Interface tuning will follow separately. */
@media (max-height: 599px) and (any-pointer: coarse) and (orientation: landscape) {
    .hero {
        aspect-ratio: 1280 / 540;
    }
}

/* Mobile portrait intro/hero assets. Interface tuning will follow separately. */
@media (max-width: 767px) and (any-pointer: coarse) and (orientation: portrait) {
    .hero {
        aspect-ratio: 1080 / 1800;
    }
}


.hero__overlay{
    position:absolute;
    left:31.1979167%;          /* 29.9479167% + 24/1920 */
    right:11.3020833%;   /* aligned with CONTACT US right edge */
    top:41.982524%;     /* 28.9320388% + 117/1030 */
    width:auto;
    height:36.4077670%;  /* 35.0485437% + 14/1030 */
    background:rgba(0,0,0,.40);
    z-index:0;
}

.hero__headline {
    position: absolute;
    right: 12.0833333%;  /* 11.3020833% + 15/1920 */
    top: 42.1912621%;  /* 28.9320388% + 117/1030 */
    width: 36.4583333%;
    margin: 0;
    z-index: 1;
    color: #fff;
    font-family: "Oswald", Arial, sans-serif;
    font-size: clamp(38px, 5.2083333vw, 100px);
    font-weight: 400;
    line-height: 1.20;
    letter-spacing: 0;
    text-align: right;
    text-transform: uppercase;
    white-space: nowrap;
    pointer-events: none;
}

.hero__headline span {
    display: block;
}

/* Tablet landscape interface tuning */
@media (min-width: 768px) and (max-width: 1366px) and (min-height: 600px) and (any-pointer: coarse) and (orientation: landscape) {
    .hero__logo {
        left: 5.45%;
        top: 9.0%;
        width: 17.5vw;
        height: 17.5vw;
        aspect-ratio: auto;
        padding: clamp(12px, 1.35vw, 18px);
    }

    .hero__language {
        right: 11.6%;
        top: 11.2%;
        transform: translateY(-50%);
        font-size: clamp(14px, 1.45vw, 18px);
        line-height: 1;
    }

    .hero__nav {
        top: 17.0%;
        height: 7%;
        gap: 5.4vw;
        font-size: clamp(15px, 1.55vw, 18px);
    }

    .hero__contact {
        top: 17.4%;
        font-size: clamp(15px, 1.55vw, 18px);
    }

    .hero__headline {
        right: 13.2%;
        top: 44.6%;
        width: 38.5%;
        font-size: clamp(46px, 5.55vw, 64px);
        line-height: 1.16;
    }
}

/* Tablet portrait interface tuning */
@media (min-width: 768px) and (max-width: 1366px) and (min-height: 600px) and (any-pointer: coarse) and (orientation: portrait) {
    .hero__logo {
        left: 5.8%;
        top: 5%;
        width: 24vw;
        height: 24vw;
        aspect-ratio: auto;
        padding: clamp(14px, 1.8vw, 20px);
    }

    .hero__language {
        right: 10%;
        top: 11%;
        transform: translateY(-50%);
        font-size: clamp(16px, 2.1vw, 20px);
        line-height: 1;
    }

    .hero__language a,
    .hero__language span {
        color: #fff;
    }

    .hero__nav {
        top: 24%;
        height: 7.2%;
        gap: 4vw;
        font-size: clamp(17px, 3vw, 18px);
    }

    .hero__contact {
        top: 24%;
        height: 7.2%;
        font-size: clamp(17px, 3vw, 18px);
    }

    .hero__overlay {
        top: 53.5%;
        right: 12%;
        height: 36%;
    }

    .hero__headline {
        right: 15%;
        top: 58%;
        width: 56%;
        font-size: clamp(50px, 11vw, 66px);
        line-height: 1.15;
    }
}

/* THE SPACE — three independent 1920 px wide background blocks */
.space-section {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: #fff;
    color: #111;
}

.space-section__block {
    position: relative;
    width: 100%;
}

.space-section__block--01 {
    /* Výška sa riadi obsahom. Horné a spodné odsadenie sa škálujú podľa šírky sekcie. */
    min-height: 0;
}

.space-section__block--02 {
    min-height: 0;
}

.space-section__block--03 {
    aspect-ratio: 1920 / 468;
}

.space-section__background {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    display: block;
    width: 100%;
    height: auto;
    max-width: none;
    pointer-events: none;
    user-select: none;
}

.space-section__content {
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    width: 100%;
    padding-top: 3.9791667%;    /* 134 / 1920 */
    padding-right: 14.21875%;   /* 273 / 1920 */
    padding-bottom: calc(4.1666667% + 20px); /* 80 / 1920 */
    padding-left: 16.0%;    /* 243 / 1920 */
}

.space-section__title {
    margin: 0 0 1.8382353% 0;
    font-family: "Oswald", Arial, sans-serif;
    font-size: clamp(30px, 2.6041667vw, 50px);
    font-weight: 500;
    line-height: 1;
    text-transform: uppercase;
}

.space-section__copy {
    width: 100%;
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(16px, 1.1458333vw, 22px);
    font-weight: 400;
    line-height: 1.18;
}

.space-section__copy p {
    margin: 0 0 1.55em 0;
}

.space-section__copy p:last-child {
    margin-bottom: 0;
}


/* THE SPACE — block 02 gallery */
.space-section__gallery {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2.0833333%;       /* 40 / 1920 */
    width: 100%;
    padding-top: 0;
    padding-right: 4.1666667%;  /* 80 / 1920 */
    padding-bottom: calc(3.6458333% + 20px); /* 70 / 1920 */
    padding-left: 16%;
}

.space-section__gallery-item {
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    background: none;
    cursor: zoom-in;
}

.space-section__gallery img {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.photo-lightbox {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: grid;
    place-items: center;
    padding: 32px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 180ms ease, visibility 180ms ease;
}

.photo-lightbox.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.photo-lightbox__backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: rgba(0, 0, 0, 0.88);
    cursor: zoom-out;
}

.photo-lightbox__content {
    position: relative;
    z-index: 1;
    max-width: min(92vw, 1600px);
    max-height: 90vh;
}

.photo-lightbox__image {
    display: block;
    max-width: 100%;
    max-height: 90vh;
    width: auto;
    height: auto;
    object-fit: contain;
}

.photo-lightbox__close {
    position: absolute;
    top: -18px;
    right: -18px;
    z-index: 2;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    background: #fff;
    color: #000;
    font: 400 32px/1 Arial, sans-serif;
    cursor: pointer;
}

body.is-lightbox-open {
    overflow: hidden;
}


/* THE SPACE — block 03 CTA */
.space-section__cta {
    position: absolute;
    inset: 0;
    z-index: 1;
    color: #fff;
    font-family: Arial, Helvetica, sans-serif;
}

.space-section__cta-title {
    position: absolute;
    left: 18.125%;
    top: 10.6837607%;
    width: 67.7083333%;
    margin: 0;
    font-family: "Oswald", Arial, sans-serif;
    font-size: clamp(20px, 2.1875vw, 42px);
    font-weight: 400;
    line-height: 1.14;
    text-transform: uppercase;
}

.space-section__cta-copy {
    position: absolute;
    left: 18.125%;
    top: 40.1709402%;
    width: 59.8958333%;
    margin: 0;
    font-size: clamp(16px, 1.40625vw, 27px);
    font-weight: 400;
    line-height: 1.22;
}

.space-section__cta-button {
    position: absolute;
    right: 17.1666667%;
    bottom: 22.7384615%;
    width: 13.9583333%;
    height: 11.6%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    color: #111;
    text-decoration: none;
    white-space: nowrap;
    font-family: "Oswald", Arial, sans-serif;
    font-size: clamp(14px, 1.1458333vw, 22px);
    font-weight: 500;
    line-height: 1;
}


/* MEMBERSHIP — stage 1: fixed 1920 px background grid + empty card frames */
.membership-section {
    position: relative;
    width: 100%;
    aspect-ratio: 1920 / 1313;
    overflow: hidden;
    background: #fff;
}

.membership-section__background {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: block;
    width: 100%;
    height: auto;
    max-width: none;
    pointer-events: none;
    user-select: none;
}

.membership-section__cards {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
}

.membership-section__card {
    position: absolute;
    top: 0.2%;       /* exact vertical position within 1313 px section */
    width: 35.9375%;       /* 690 / 1920 */
    height: 81.1881188%;   /* equal height for both cards: 1066 / 1313 */
    border: clamp(3px, 0.3125vw, 6px) solid #17191f;
    background: rgba(255,255,255,0.01);
    box-shadow: clamp(8px, 0.9375vw, 18px) clamp(8px, 0.9375vw, 18px) 0 #17191f;
}

.membership-section__card--resident {
    left: 2.9166667%;      /* 56 / 1920 */
}

.membership-section__card--member {
    left: 41.3%;      /* adjusted right card position */
}


/* MEMBERSHIP — card content */
.membership-section__card {
    color: #111;
    font-family: Arial, Helvetica, sans-serif;
    overflow: hidden;
    pointer-events: auto;
}

.membership-card__header {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 10.4127579%;
    border-bottom: clamp(3px, 0.3125vw, 6px) solid #17191f;
}

.membership-card__title {
    margin: 0;
    font-family: "Oswald", Arial, sans-serif;
    font-size: clamp(24px, 2.34375vw, 45px);
    font-weight: 400;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
}

.membership-card__body {
    position: relative;
    height: calc(100% - 10.4127579%);
    padding: 4.6% 5.8% 3.8%;
}

.membership-card__intro {
    margin: 0;
    font-size: clamp(15px, 1.25vw, 24px);
    line-height: 1.22;
    text-align: center;
}

.membership-card__availability {
    margin: 3.4% 0 0;
    font-size: clamp(15px, 1.25vw, 24px);
    font-weight: 700;
    line-height: 1.1;
    text-align: center;
}

.membership-card__divider {
    width: 94%;
    height: clamp(3px, 0.3125vw, 6px);
    margin: 7.6% auto 0;
    background: #17191f;
}

.membership-card__section-title {
    margin: 0;
    font-family: "Oswald", Arial, sans-serif;
    font-size: clamp(20px, 1.6666667vw, 32px);
    font-weight: 400;
    line-height: 1;
    text-transform: uppercase;
}

.membership-card__includes {
    margin-top: 6.4%;
}

.membership-card__includes ul {
    margin: 3.2% 0 0 7.4%;
    padding: 0;
    font-size: clamp(14px, 1.1458333vw, 22px);
    line-height: 1.35;
}

.membership-card__includes li {
    padding-left: 1.2%;
}

.membership-card__conditions {
    position: absolute;
    left: 5.2%;
    right: 5.2%;
    bottom: 3.4%;
}

.membership-card__conditions-box {
    display: grid;
    grid-template-columns: 44% 56%;
    row-gap: 2.3%;
    margin: 4.2% 0 0;
    padding: 5.6% 6.3%;
    background: #dedee0;
    font-size: clamp(14px, 1.1458333vw, 22px);
    line-height: 1.22;
}

.membership-card__conditions-box dt,
.membership-card__conditions-box dd {
    margin: 0;
}

.membership-card__conditions-box dd {
    font-weight: 700;
}

/* CONTACT — stage 1: fixed 1920 px background + two-column layout skeleton */
.contact-section {
    position: relative;
    margin-top: -10vw;
    width: 100%;
    aspect-ratio: 1920 / 828;
    overflow: hidden;
    background: #fff;
}

.contact-section__background {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: block;
    width: 100%;
    height: auto;
    max-width: none;
    pointer-events: none;
    user-select: none;
}

.contact-section__layout {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    pointer-events: none;
}

.contact-section__column {
    position: relative;
    min-width: 0;
}


/* CONTACT — restart stage 2: interested text only */
.contact-section__layout {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
}

.contact-interest {
    position: absolute;
    inset: 0;
    color: #111;
}

.contact-interest__title {
    position: absolute;
    left: 7.4479167%;   /* 143 / 1920 */
    top: 12.6811594%;   /* 105 / 828 */
    margin: 0;
    font-family: "Oswald", Arial, sans-serif;
    font-size: clamp(28px, 2.6041667vw, 50px);
    font-weight: 400;
    line-height: 1;
    text-transform: uppercase;
}

.contact-interest__button {
    position: absolute;
    left: 6.875%;       /* 132 / 1920 */
    top: 22.1014493%;   /* 183 / 828 */
    width: 13.5416667%; /* 260 / 1920 */
    height: 7.7294686%; /* 64 / 828 */
    display: flex;
    align-items: center;
    justify-content: center;
    background: #000;
    color: #fff;
    text-decoration: none;
    font-family: "Oswald", Arial, sans-serif;
    font-size: clamp(14px, 1.1458333vw, 22px);
    font-weight: 500;
    line-height: 1;
    pointer-events: auto;
}

.contact-interest__divider {
    position: absolute;
    left: 22.5520833%;  /* 433 / 1920 */
    top: 12.9227053%;   /* 107 / 828 */
    width: 0.4166667%;  /* 8 / 1920 */
    height: 16.9082126%;/* 140 / 828 */
    background: #17191f;
}

.contact-interest__copy {
    position: absolute;
    left: 24.7916667%;  /* 476 / 1920 */
    top: 19.3236715%;   /* 160 / 828 */
    width: 60%;
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(17px, 1.5625vw, 30px);
    font-weight: 400;
    line-height: 1.2;
}


/* CONTACT — v9.1 black contact details */
.contact-details {
    position: absolute;
    inset: 0;
    z-index: 2;
    color: #fff;
    pointer-events: none;
}

.contact-details__title {
    position: absolute;
    left: 14.1666667%;
    top: 45.6521739%;
    margin: 0;
    font-family: "Oswald", Arial, sans-serif;
    font-size: clamp(28px, 2.6041667vw, 50px);
    font-weight: 400;
    line-height: 1.18;
    text-transform: uppercase;
}

.contact-details__row {
    position: absolute;
    left: 13.3333333%;
    display: flex;
    align-items: center;
    color: #fff;
    text-decoration: none;
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(16px, 1.40625vw, 27px);
    font-weight: 400;
    line-height: 1.22;
    pointer-events: auto;
}

.contact-details__row--email {
    top: 65.7004831%;
}

.contact-details__row--whatsapp {
    top: 79.9516908%;
}

.contact-details__mail-icon {
    display:block;
    flex:0 0 auto;
    width:4.2708333vw;
    max-width:82px;
    aspect-ratio:1;
    margin-right:2.0833333vw;
    background:url('assets/iko-mejl.png') center/contain no-repeat;
}



.contact-details__whatsapp-icon {
    display: block;
    flex: 0 0 auto;
    width: 4.2708333vw;
    max-width: 82px;
    height: auto;
    margin-right: 2.0833333vw;
}

.contact-details__text {
    display: block;
}

.contact-details__logo {
    position: absolute;
    right: 5.9895833%;
    top: 45.1690821%;
    width: 12.5%;
    height: auto;
    display: block;
}


/* footer — placed inside the existing white strip of sekcia4-podklad.png */
.site-footer {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 3;
    height: 7.1256039%; /* 59 / 828 — existing white footer strip */
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 3.3333333%;
    background: transparent;
    color: #000;
    font-family: Arial, Helvetica, sans-serif;
	font-size: clamp(14px, 1.2vw, 22px);
    line-height: 1;
}

.site-footer a {
    color: #000;
    text-decoration: none;
}

.site-footer span {
    margin: 0 0.6em;
}

/* Tablet landscape — taller membership cards without colliding with the next section */
@media (min-width: 768px) and (max-width: 1366px) and (min-height: 600px) and (any-pointer: coarse) and (orientation: landscape) {
    .membership-section {
        aspect-ratio: auto;
        height: calc(68.3854167vw + 64px);
    }

    .membership-section__card {
        height: calc(55.5208333vw + 64px);
    }
}

/* Tablet portrait — CTA text width, taller membership cards and contact title spacing */
@media (min-width: 768px) and (max-width: 1366px) and (min-height: 600px) and (any-pointer: coarse) and (orientation: portrait) {
    /* Keep the CTA background section at its original height; use more horizontal space. */
    .space-section__cta-title {
        left: 17%;
        width: 80%;
    }

    .space-section__cta-copy {
        left: 17%;
        width: 70%;
    }

    /* Add equal extra height to the section and cards so the contact overlap stays unchanged. */
    .membership-section {
        aspect-ratio: auto;
        height: calc(68.3854167vw + 270px);
    }

    .membership-section__card {
        height: calc(55.5208333vw + 270px);
    }

    .membership-card__section-title {
        white-space: nowrap;
    }

    /* Add extra grey space below the last CONDITIONS row on tablet portrait. */
    .membership-card__conditions-box {
        padding-bottom: 12%;
    }

    /* Keep INTERESTED? clear of the vertical divider. */
    .contact-interest__divider {
        left: 27.5%;
    }

    .contact-interest__copy {
        left: 30%;
        top: 15.5%;
        width: 56%;
    }

    .contact-interest__button {
        left: 7%;
        top: 24%;
    }

    /* CONTACT details — independent tablet portrait positioning */
    .contact-details__title {
        left: 14%;
        top: 45%;
    }

    .contact-details__row {
        left: 13%;
    }

    .contact-details__row--email {
        top: 68.5%;
    }

    .contact-details__row--whatsapp {
        top: 80.5%;
    }
}

/* Mobile landscape — use the taller CTA background at its full uncropped ratio. */
@media (max-height: 600px) and (any-pointer: coarse) and (orientation: landscape) {
    .space-section__block--03 {
        aspect-ratio: 1920 / 711;
    }

    .space-section__block--03 .space-section__background-picture {
        position: absolute;
        inset: 0;
        z-index: 0;
        display: block;
    }

    .space-section__block--03 .space-section__background {
        position: static;
        width: 100%;
        height: 100%;
        object-fit: contain;
    }
}

/* Mobile landscape — CTA content positioning for manual tuning */
@media (max-height: 600px) and (any-pointer: coarse) and (orientation: landscape) {
    .space-section__cta-title {
        left: 18.125%;
        top: 5.6837607%;
        width: 67.7083333%;
    }

    .space-section__cta-copy {
        left: 18.125%;
        top: 37.1709402%;
        width: 59.8958333%;
    }

    .space-section__cta-button {
        right: 17.1666667%;
        bottom: 12.7384615%;
        width: 13.9583333%;
        height: 11.6%;
    }
}

/* Mobile landscape — initial hero interface positioning for manual tuning */
@media (max-height: 600px) and (any-pointer: coarse) and (orientation: landscape) {
    .hero__logo {
        left: 3%;
        top: 7%;
        width: 19.6vw;
        height: 19.6vw;
        aspect-ratio: auto;
        padding: 1.5vw;
    }

    .hero__language {
        right: 12.5%;
        top: 16.4%;
        transform: translateY(-50%);
        font-size: clamp(13px, 2vw, 18px);
        line-height: 1;
    }

    .hero__nav {
        right: 33%;
        top: 27%;
        height: 8%;
        gap: 5vw;
        font-size: clamp(14px, 2.6vw, 18px);
    }

    .hero__nav a.is-active::after {
        bottom: -18%;
    }

    .hero__contact {
        left: 71.4%;
	top: 26%;
        width: 16.5%;
        height: 10%;
        font-size: clamp(14px, 2.6vw, 18px);
    }

    .hero__overlay {
        left: 30%;
        right: 12%;
        top: 40%;
        height: 50%;
    }

    .hero__headline {
        right: 14%;
        top: 43%;
        width: 48%;
        font-size: clamp(30px, 5.7vw, 48px);
        line-height: 1.08;
    }
}

/* Mobile portrait — hamburger navigation and initial hero positioning for manual tuning */
@media (max-width: 767px) and (any-pointer: coarse) and (orientation: portrait) {
    .hero__logo {
        left: 8.5%;
        top: 4.5%;
        width: 50vw;
        height: 50vw;
        aspect-ratio: auto;
        padding: 3vw;
        z-index: 2;
    }

    .hero__language {
        right: 12%;
        top: 8%;
        z-index: 4;
        transform: translateY(-50%);
        font-size: clamp(16px, 4.8vw, 22px);
        line-height: 1;
    }

    .hero__language a,
    .hero__language span {
        color: #fff;
    }

    .hero__menu-toggle {
        position: absolute;
        right: 12%;
        top: 13.5%;
        z-index: 5;
        display: flex;
        width: 52px;
        height: 52px;
        padding: 11px;
        border: 0;
        background: #000;
        flex-direction: column;
        align-items: stretch;
        justify-content: center;
        gap: 6px;
        cursor: pointer;
    }

    .hero__menu-toggle span {
        display: block;
        width: 100%;
        height: 3px;
        background: #fff;
        transform-origin: center;
        transition: transform 180ms ease, opacity 180ms ease;
    }

    .hero__menu-toggle[aria-expanded="true"] span:nth-child(1) {
        transform: translateY(9px) rotate(45deg);
    }

    .hero__menu-toggle[aria-expanded="true"] span:nth-child(2) {
        opacity: 0;
    }

    .hero__menu-toggle[aria-expanded="true"] span:nth-child(3) {
        transform: translateY(-9px) rotate(-45deg);
    }

    .hero__nav {
        left: auto;
        right: 7%;
        top: 20.5%;
        z-index: 4;
        width: min(72vw, 290px);
        height: auto;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 10px 0;
        background: rgba(0, 0, 0, 0.96);
        font-size: clamp(20px, 6vw, 28px);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(-8px);
        transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
    }

    .hero__nav.is-open {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
    }

    .hero__nav a {
        height: auto;
        padding: 12px 20px;
        color: #fff;
        justify-content: flex-start;
    }

    .hero__nav a.is-active::after {
        display: none;
    }

    .hero__nav .hero__nav-contact {
        display: flex;
    }

    .hero__contact {
        display: none;
    }

    .hero__overlay {
        left: 8%;
        right: 11%;
        top: 44%;
        height: 36%;
    }

    .hero__headline {
        right: 15%;
        top: 50%;
        width: 80%;
        font-size: clamp(38px, 10vw, 58px);
        line-height: 1.1;
    }
}

/* Mobile landscape — taller membership section and cards so content does not overlap */
@media (max-height: 600px) and (any-pointer: coarse) and (orientation: landscape) {
    .membership-section {
        aspect-ratio: auto;
        height: calc(68.3854167vw + 450px);
    }

    .membership-section__card {
        height: calc(55.5208333vw + 450px);
    }

    .membership-card__conditions-box {
        grid-template-columns: 46% minmax(0, 1fr);
        column-gap: 4%;
        padding-right: 5%;
        padding-bottom: 12%;
        padding-left: 5%;
    }

    .membership-card__conditions-box dt,
    .membership-card__conditions-box dd {
        min-width: 0;
    }

    .membership-card__conditions-box dd {
        overflow-wrap: break-word;
    }
}

/* Mobile landscape — INTERESTED section positioning */
@media (max-height: 600px) and (any-pointer: coarse) and (orientation: landscape) {
    .contact-interest__title {
        top: 8.6811594%;
    }

    .contact-interest__divider {
        left: 32%;
        top: 8.9227053%;
    }

    .contact-interest__copy {
        left: 35%;
        width: 55.75%;
        top: 9%;
    }

    .contact-interest__button {
        top: 19%;
    }
}

/* Mobile landscape — taller contact background and non-overlapping contact content */
@media (max-height: 600px) and (any-pointer: coarse) and (orientation: landscape) {
    .contact-section {
        aspect-ratio: 1920 / 1024;
        background-image: url('assets/sekcia4-podklad-big.png');
        background-position: center top;
        background-repeat: no-repeat;
        background-size: 100% 100%;
    }

    /* Hide the original smaller contact background image in this format. */
    .contact-section__background {
        display: none;
    }

    .contact-details__title {
        left: 17.5%;
        top: 40%;
    }

    .contact-details__row {
        left: 16.8%;
    }

    .contact-details__row--email {
        top: 66%;
    }

    .contact-details__row--whatsapp {
        top: 80%;
    }

    .contact-details__logo {
        top: 42%;
    }

    /* Match the white footer strip in the 1920 × 1024 background. */
    .site-footer {
        height: 5%;
    }
}

/* Mobile portrait — THE SPACE text spacing and size */
@media (max-width: 767px) and (any-pointer: coarse) and (orientation: portrait) {
    .space-section__content {
        padding-top: calc(5.9791667% + 2vw);
    }

    .space-section__title {
        margin-bottom: 4vw;
    }

    .space-section__copy {
        font-size: clamp(18px, 5vw, 21px);
        line-height: 1.12;
    }
}

/* Mobile portrait — gallery photos stacked vertically */
@media (max-width: 767px) and (any-pointer: coarse) and (orientation: portrait) {
    .space-section__gallery {
        grid-template-columns: 1fr;
        gap: 6vw;
    }
}

/* Mobile portrait — taller WE STILL HAVE A FEW SPOTS section and manual positioning */
@media (max-width: 767px) and (any-pointer: coarse) and (orientation: portrait) {
    .space-section__block--03 {
        aspect-ratio: 1358 / 2048;
        background-image: url('assets/sekcia2-podklad-blok03big-portrait3.png');
        background-position: center top;
        background-repeat: no-repeat;
        background-size: 100% 100%;
    }

    /* Hide the original background image only in mobile portrait. */
    .space-section__block--03 .space-section__background-picture,
    .space-section__block--03 > .space-section__background {
        display: none;
    }

    /* Values below can be adjusted independently for mobile portrait. */
    .space-section__cta-title {
        left: 8%;
        top: 6%;
        width: 84%;
        font-size: clamp(24px, 6.6vw, 34px);
        line-height: 1.2;
    }

    .space-section__cta-copy {
        left: 8%;
        top: 44%;
        width: 72%;
        font-size: clamp(17px, 6vw, 22px);
        line-height: 1.14;
    }

    .space-section__cta-button {
        right: 16%;
        bottom: 8%;
        width: 34%;
        height: 8%;
        font-size: clamp(16px, 4.4vw, 20px);
    }
}

/* Mobile portrait — membership cards stacked vertically with natural content height */
@media (max-width: 767px) and (any-pointer: coarse) and (orientation: portrait) {
    .membership-section {
        aspect-ratio: auto;
        height: auto;
        min-height: 0;
        overflow: hidden;
        padding: 5vw 0 12vw;
    }

    .membership-section__background {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .membership-section__cards {
        position: relative;
        inset: auto;
        display: flex;
        flex-direction: column;
        gap: 8vw;
        width: 100%;
        padding: 0 7vw;
        pointer-events: auto;
    }

    .membership-section__card,
    .membership-section__card--resident,
    .membership-section__card--member {
        position: relative;
        top: auto;
        left: auto;
        width: 100%;
        height: auto;
        min-height: 0;
    }

    .membership-card__header {
        height: auto;
        min-height: 16vw;
        padding: 4vw 3vw;
    }

    .membership-card__title {
        font-size: clamp(26px, 7vw, 36px);
        line-height: 1.05;
    }

    .membership-card__body {
        height: auto;
        padding: 6vw 6vw 7vw;
    }

    .membership-card__intro {
        font-size: clamp(18px, 4.8vw, 22px);
        line-height: 1.25;
    }

    .membership-card__availability {
        margin-top: 4vw;
        font-size: clamp(18px, 4.8vw, 22px);
    }

    .membership-card__divider {
        width: 100%;
        margin-top: 7vw;
    }

    .membership-card__includes {
        margin-top: 6vw;
    }

    .membership-card__section-title {
        font-size: clamp(24px, 6vw, 32px);
        white-space: nowrap;
    }

    .membership-card__includes ul {
        margin: 4vw 0 0 6vw;
        font-size: clamp(17px, 4.5vw, 21px);
        line-height: 1.38;
    }

    .membership-card__conditions {
        position: static;
        margin-top: 7vw;
    }

    .membership-card__conditions-box {
        grid-template-columns: 42% minmax(0, 1fr);
        column-gap: 4%;
        row-gap: 2.5vw;
        margin-top: 4vw;
        padding: 5vw 4vw 6vw;
        font-size: clamp(17px, 4.5vw, 21px);
        line-height: 1.25;
    }

    .membership-card__conditions-box dt,
    .membership-card__conditions-box dd {
        min-width: 0;
    }

    .membership-card__conditions-box dd {
        overflow-wrap: break-word;
    }
}

/* Mobile portrait — final contact section with portrait background and readable layout */
@media (max-width: 767px) and (any-pointer: coarse) and (orientation: portrait) {
    .contact-section {
        margin-top: 0;
        aspect-ratio: 1123 / 2048;
        background-image: url('assets/sekcia4-podklad-big-portrait.png');
        background-position: center top;
        background-repeat: no-repeat;
        background-size: 100% 100%;
    }

    /* The portrait background replaces the original desktop contact image. */
    .contact-section__background {
        display: none;
    }

    /* INTERESTED block — white upper part */
    .contact-interest__title {
        left: 14%;
        top: 4.5%;
        font-size: clamp(26px, 7vw, 34px);
    }

    .contact-interest__divider {
        left: 14%;
        top: 10%;
        width: 18%;
        height: 0.8vw;
    }

    .contact-interest__copy {
        left: 14%;
        top: 11.5%;
        width: 76%;
        font-size: clamp(16px, 4.4vw, 20px);
        line-height: 1.18;
    }

    .contact-interest__button {
        left: 14%;
        top: 19%;
        width: 36%;
        height: 5.5%;
        font-size: clamp(16px, 4.5vw, 20px);
    }

    /* Contact details — black lower part */
    .contact-details__title {
        left: 14%;
        top: 35%;
        width: 76%;
        font-size: clamp(28px, 7.8vw, 40px);
        line-height: 1.12;
    }

    .contact-details__row {
        left: 14%;
        width: 76%;
        font-size: clamp(16px, 6vw, 20px);
        line-height: 1.25;
    }

    .contact-details__row--email {
        top: 50%;
    }

    .contact-details__row--whatsapp {
        top: 60%;
    }

    .contact-details__mail-icon,
    .contact-details__whatsapp-icon {
        width: 10vw;
        max-width: none;
        margin-right: 4vw;
    }

    .contact-details__logo {
        right: 50%;
        top: 70%;
        width: 36%;
    }

    /* Footer — white strip at the bottom of the portrait background */
    .site-footer {
        height: 6.34765625%;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 0 3%;
        gap: 0.35em;
        font-size: clamp(9px, 4vw, 15px);
        line-height: 1.15;
        text-align: center;
        white-space: nowrap;
    }

    .site-footer > * {
        width: 100%;
        text-align: center;
    }

    .site-footer span {
        margin: 0 0.35em;
    }
}

/* LEGAL SUBPAGES — desktop layout */
.legal-page {
    background: #fff;
    color: #111;
}

.legal-hero {
    position: relative;
    width: 100%;
    aspect-ratio: 1920 / 590;
    overflow: hidden;
    background: #fff;
}

.legal-hero__image {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.legal-hero__interface {
    position: absolute;
    inset: 0;
    z-index: 1;
}

.legal-hero__logo {
    position: absolute;
    left: 4.0625%;
    top: 12.5254237%;
    width: 11.71875%;
    aspect-ratio: 1;
    display: block;
    padding: 1.25vw;
    background: rgba(255,255,255,.56);
    backdrop-filter: blur(2px);
}

.legal-hero__logo img {
    display: block;
    width: 100%;
    height: 100%;
}

.legal-hero__language {
    position: absolute;
    right: 11.3354167%;
    top: 20.9077966%;
    display: flex;
    align-items: center;
    gap: .35em;
    white-space: nowrap;
    font-family: "Oswald", Arial, sans-serif;
    font-size: clamp(11px, 1.05vw, 20px);
    line-height: 1.35;
    text-transform: uppercase;
    font-weight: 400;
}

.legal-hero__language a,
.legal-hero__language span,
.legal-hero__nav a {
    color: #111;
    text-decoration: none;
}

.legal-hero__nav {
    position: absolute;
    right: 31.1979167%;
    top: 37.0237288%;
    height: 10.1694915%;
    display: flex;
    align-items: center;
    gap: 5.9895833vw;
    white-space: nowrap;
    font-family: "Oswald", Arial, sans-serif;
    font-size: clamp(15px, 1.3020833vw, 25px);
    line-height: 1;
}

.legal-hero__nav a {
    position: relative;
    display: flex;
    align-items: center;
    height: 100%;
}

.legal-hero__nav a.is-active::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 104px;
    max-width: 130%;
    height: clamp(3px, .3125vw, 6px);
    background: #111;
    transform: translateX(-50%);
}

.legal-hero__contact {
    position: absolute;
    left: 74.7916667%;
    top: 36.4847458%;
    width: 13.90625%;
    height: 11.2474576%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #000;
    color: #fff;
    text-decoration: none;
    white-space: nowrap;
    font-family: "Oswald", Arial, sans-serif;
    font-size: clamp(15px, 1.3020833vw, 25px);
    font-weight: 500;
    line-height: 1;
}

.legal-hero__overlay {
    position: absolute;
    left: 31.1979167%;
    right: 14.3020833%;
    top: 54.3050847%;
    height: 28.8135593%;
    background: rgba(0,0,0,.40);
}

.legal-hero__headline {
    position: absolute;
    right: 17.0833333%;
    top: 60.9779661%;
    width: 54.1666667%;
    margin: 0;
    color: #fff;
    font-family: "Oswald", Arial, sans-serif;
    font-size: clamp(44px, 4.4270833vw, 85px);
    font-weight: 400;
    line-height: 1;
    text-align: right;
    text-transform: uppercase;
    white-space: nowrap;
}

.legal-hero__menu-toggle,
.legal-hero__nav-contact {
    display: none;
}

.legal-content {
    position: relative;
    width: 100%;
    min-height: 1077px;
    padding: 5.2083333vw 13.75% 8.3333333vw 16%;
    background-color: #fff;
    background-image: url('assets/text-podstranka-background.webp');
    background-position: center top;
    background-repeat: no-repeat;
    background-size: 100% auto;
    color: #111;
}

.legal-content__inner {
    width: 100%;
    max-width: 1280px;
}

.legal-content__title {
    margin: 0 0 2.25rem;
    font-family: "Oswald", Arial, sans-serif;
    font-size: clamp(34px, 2.6041667vw, 50px);
    font-weight: 500;
    line-height: 1;
    text-transform: uppercase;
}

.legal-content__updated {
    margin: 0 0 2.75rem;
}

.legal-content section {
    margin: 0 0 2.75rem;
}

.legal-content h2 {
    margin: 0 0 .8rem;
    font-family: "Oswald", Arial, sans-serif;
    font-size: clamp(24px, 1.5625vw, 30px);
    font-weight: 500;
    line-height: 1.15;
}

.legal-content h3 {
    margin: 1.25rem 0 .45rem;
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(18px, 1.1458333vw, 22px);
    font-weight: 700;
    line-height: 1.3;
}

.legal-content p,
.legal-content li {
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(16px, 1.0416667vw, 20px);
    font-weight: 400;
    line-height: 1.55;
}

.legal-content p {
    margin: 0 0 1rem;
}

.legal-content ul {
    margin: .7rem 0 1.25rem 1.4em;
    padding: 0;
}

.legal-content li {
    margin-bottom: .35rem;
}

.legal-content a {
    color: #111;
}

.legal-content__details {
    margin: 1rem 0 1.25rem;
    padding: 1.25rem 1.5rem;
    background: rgba(222,222,224,.72);
}

.legal-content__details p {
    margin-bottom: .35rem;
}

.legal-content__details p:last-child {
    margin-bottom: 0;
}

.legal-page .contact-section {
    margin-top: 0;
}

/* LEGAL SUBPAGES — tablet landscape logo aligned with the index page */
@media (min-width: 768px) and (max-width: 1366px) and (min-height: 600px) and (any-pointer: coarse) and (orientation: landscape) {
    .legal-hero__logo {
        left: 5.45%;
        top: 16%;
        width: 17.5vw;
        height: 17.5vw;
        aspect-ratio: auto;
        padding: clamp(12px, 1.35vw, 18px);
    }

    .legal-hero__logo img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }
}

/* LEGAL SUBPAGES — tablet portrait header positioning */
@media (min-width: 768px) and (max-width: 1366px) and (min-height: 600px) and (any-pointer: coarse) and (orientation: portrait) {
    .legal-hero__logo {
        left: 5.8%;
        top: 18%;
        width: 20vw;
        height: 20vw;
        aspect-ratio: auto;
        padding: clamp(14px, 1.8vw, 20px);
    }

    .legal-hero__logo img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    .legal-hero__language {
        right: 12%;
        top: 22.6%;
        z-index: 6;
        display: flex;
        visibility: visible;
        opacity: 1;
        transform: translateY(-50%);
        pointer-events: auto;
    }

    .legal-hero__language a,
    .legal-hero__language span {
        color: #111;
        visibility: visible;
        opacity: 1;
    }

    .legal-hero__overlay {
        top: 55%;
        right: 14%;
        height: 30%;
    }

    .legal-hero__headline {
        right: 18%;
        top: 60%;
        width: 56%;
    }
}

/* LEGAL SUBPAGES — mobile landscape header positioning */
@media (max-height: 600px) and (any-pointer: coarse) and (orientation: landscape) {
    .legal-hero__logo {
        left: 5%;
        top: 16%;
        width: 19.6vw;
        height: 19.6vw;
        aspect-ratio: auto;
        padding: 1.5vw;
    }

    .legal-hero__logo img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    .legal-hero__language {
        right: 12.5%;
        top: 23.1%;
        z-index: 3;
        transform: translateY(-50%);
        font-size: clamp(13px, 2vw, 18px);
        line-height: 1;
    }

    .legal-hero__nav a.is-active::after {
        bottom: -18%;
    }

    .legal-hero__overlay {
        left: 30%;
        right: 12%;
        top: 55%;
        height: 30%;
    }

    .legal-hero__headline {
        right: 14%;
        top: 60%;
        width: 48%;
        font-size: clamp(30px, 5.7vw, 48px);
        line-height: 1.08;
    }
}

/* LEGAL SUBPAGES — mobile portrait hero */
@media (max-width: 767px) and (any-pointer: coarse) and (orientation: portrait) {
    .legal-hero {
        aspect-ratio: auto;
        height: calc(100vw * 560 / 1080);
        min-height: 0;
        max-height: none;
        background-image: url('assets/hero-podstranka-mobilportrait.webp');
        background-position: center top;
        background-repeat: no-repeat;
        background-size: 100% auto;
    }

    /* The mobile portrait background replaces the desktop hero image. */
    .legal-hero__image {
        display: none;
    }

    .legal-hero__logo {
        left: 5%;
        top: 10%;
        width: 26vw;
        height: 26vw;
        aspect-ratio: auto;
        padding: 2.2vw;
        z-index: 2;
    }

    .legal-hero__logo img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    .legal-hero__language {
        right: 11%;
        top: 21%;
        z-index: 4;
        display: flex;
        transform: translateY(-50%);
        font-size: clamp(14px, 4.2vw, 19px);
        line-height: 1;
    }

    .legal-hero__language a,
    .legal-hero__language span {
        color: #fff;
    }

    .legal-hero__menu-toggle {
        position: absolute;
        right: 15%;
        top: 30%;
        z-index: 5;
        display: flex;
        width: 44px;
        height: 44px;
        padding: 10px;
        border: 0;
        background: #000;
        flex-direction: column;
        align-items: stretch;
        justify-content: center;
        gap: 5px;
        cursor: pointer;
    }

    .legal-hero__menu-toggle span {
        display: block;
        width: 100%;
        height: 3px;
        background: #fff;
        transform-origin: center;
        transition: transform 180ms ease, opacity 180ms ease;
    }

    .legal-hero__menu-toggle[aria-expanded="true"] span:nth-child(1) {
        transform: translateY(8px) rotate(45deg);
    }

    .legal-hero__menu-toggle[aria-expanded="true"] span:nth-child(2) {
        opacity: 0;
    }

    .legal-hero__menu-toggle[aria-expanded="true"] span:nth-child(3) {
        transform: translateY(-8px) rotate(-45deg);
    }

    .legal-hero__nav {
        left: auto;
        right: 7%;
        top: 39%;
        z-index: 4;
        width: min(72vw, 290px);
        height: auto;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 10px 0;
        background: rgba(0, 0, 0, 0.96);
        font-size: clamp(19px, 5.8vw, 27px);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(-8px);
        transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
    }

    .legal-hero__nav.is-open {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
    }

    .legal-hero__nav a {
        height: auto;
        padding: 11px 18px;
        color: #fff;
        justify-content: flex-start;
    }

    .legal-hero__nav a.is-active::after {
        display: none;
    }

    .legal-hero__nav-contact {
        display: flex;
    }

    .legal-hero__contact {
        display: none;
    }

    .legal-hero__overlay {
        left: 15%;
        right: 10%;
        top: 64%;
        height: 20%;
        z-index: 0;
    }

    .legal-hero__headline {
        right: 11%;
        top: 64%;
        width: 82%;
        z-index: 1;
        font-size: clamp(26px, 7.4vw, 40px);
        line-height: 1;
    }
}

/* Spanish language safeguards for longer labels */
html[lang="es"] .hero__nav {
    gap: 4.8vw;
}

html[lang="es"] .hero__headline {
    width: 48.5%;
}

html[lang="es"] .membership-card__conditions-box {
    grid-template-columns: 47% 50%;
    column-gap: 3%;
}

html[lang="es"] .legal-hero__headline {
    font-size: clamp(40px, 4vw, 77px);
}

/* The CONTACT item belongs only to the collapsible mobile portrait menu. */
.legal-hero__nav .legal-hero__nav-contact {
    display: none;
}

@media (min-width: 768px) and (max-width: 1366px) and (min-height: 600px) and (any-pointer: coarse) and (orientation: landscape) {
    html[lang="es"] .hero__headline {
        width: 44%;
    }
}

@media (min-width: 768px) and (max-width: 1366px) and (min-height: 600px) and (any-pointer: coarse) and (orientation: portrait) {
    html[lang="es"] .hero__nav {
        gap: 3vw;
        font-size: clamp(15px, 2.6vw, 18px);
    }

    html[lang="es"] .hero__headline {
        width: 56%;
        font-size: clamp(44px, 9vw, 56px);
    }

    html[lang="es"] .legal-hero__headline {
        font-size: clamp(40px, 7.4vw, 50px);
    }
}

@media (max-height: 600px) and (any-pointer: coarse) and (orientation: landscape) {
    html[lang="es"] .hero__nav {
        gap: 3.7vw;
        font-size: clamp(12px, 2.2vw, 17px);
    }

    html[lang="es"] .legal-hero__headline {
        font-size: clamp(25px, 4.8vw, 41px);
    }
}

@media (max-width: 767px) and (any-pointer: coarse) and (orientation: portrait) {
    html[lang="es"] .hero__nav,
    html[lang="es"] .legal-hero__nav {
        font-size: clamp(18px, 5.4vw, 26px);
    }

    html[lang="es"] .hero__headline {
        width: 80%;
        font-size: clamp(34px, 9.4vw, 54px);
    }

    html[lang="es"] .legal-hero__headline {
        font-size: clamp(22px, 6.4vw, 34px);
    }

    html[lang="es"] .membership-card__conditions-box {
        grid-template-columns: 48% minmax(0, 1fr);
    }

    .legal-hero__nav .legal-hero__nav-contact {
        display: flex;
    }
}

