/*
Theme Name: Hello Elementor Child - Urubo Village
Theme URI: https://urubo-village.local/
Description: Child theme for the Urubo Village Elementor implementation.
Author: Connaxis
Template: hello-elementor
Version: 1.8.1
Text Domain: hello-elementor-child-urubo-village
*/

:root {
    --uv-color-ink: #0a0a0a;
    --uv-color-white: #ffffff;
    --uv-color-soft: #f3f3f3;
    --uv-color-soft-strong: #e9e9e9;
    --uv-color-border: #1a1a1a;
    --uv-color-accent: #009ee3;
    --uv-font-sans: "Montserrat", "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
    --uv-font-serif: "nicholas", "Iowan Old Style", Georgia, "Times New Roman", serif;
    --uv-container: 83.75rem;
    --uv-header-height: 5.5rem;
    --uv-radius-sm: 0.75rem;
    --uv-shadow-card: 0 0.6rem 1.1rem rgba(0, 0, 0, 0.14);
    --uv-transition: 180ms ease;
}

/* Village Country Club: native Elementor reconstruction of the HTML prototype. */
.uv-country-page {
    width: 100%;
    max-width: none !important;
    padding: 0 !important;
    gap: 0 !important;
    overflow: hidden;
    color: var(--uv-color-ink);
    font-family: var(--uv-font-sans);
}

.uv-country-page .e-con {
    gap: 0;
}

.uv-country-page .elementor-widget-text-editor p,
.uv-country-page .elementor-heading-title {
    margin: 0;
}

.uv-country-page .elementor-heading-title {
    color: var(--uv-color-ink) !important;
}

.uv-country-page em {
    font-family: var(--uv-font-serif);
    font-style: italic;
    font-weight: 400;
}

.uv-country-page .uv-container {
    width: 100% !important;
    max-width: var(--uv-container) !important;
    margin-inline: auto !important;
    padding: 0 !important;
}

.uv-country-section {
    position: relative;
    width: 100%;
    max-width: none !important;
    padding-block: 4.5rem !important;
}

.uv-country-section > .e-con-inner {
    padding: 0 !important;
}

.uv-country-section--soft {
    background: var(--uv-color-soft);
}

.uv-country-eyebrow {
    margin-bottom: 1.5rem !important;
}

.uv-country-eyebrow p,
.uv-country-eyebrow .elementor-heading-title {
    color: var(--uv-color-white) !important;
    font-size: 0.82rem !important;
    line-height: 1.08 !important;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.045em;
}

.uv-country-eyebrow strong {
    font-weight: 700;
}

.uv-country-eyebrow--dark p,
.uv-country-eyebrow--dark .elementor-heading-title {
    color: var(--uv-color-ink) !important;
}

.uv-country-section-title {
    width: 100% !important;
    padding-bottom: 1.5rem !important;
    margin-bottom: 0 !important;
}

.club-hero {
    min-height: min(58rem, calc(100svh - var(--uv-header-height))) !important;
    padding: 0 !important;
    overflow: hidden;
    color: var(--uv-color-white);
}

.club-hero::after {
    position: absolute;
    z-index: 1;
    inset: 0;
    background: linear-gradient(90deg, rgba(0, 35, 62, 0.46), rgba(0, 35, 62, 0.08) 68%, transparent);
    content: "";
    pointer-events: none;
}

.uv-country-page .club-hero__image {
    position: absolute !important;
    z-index: 0;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden;
}

.uv-country-page .club-hero__image .elementor-widget-container,
.uv-country-page .club-hero__image a {
    display: block;
    width: 100%;
    height: 100%;
}

.uv-country-page .club-hero__image img {
    display: block;
    width: 100% !important;
    height: max(125%, 66.6818vw) !important;
    max-width: none !important;
    object-fit: cover;
    object-position: center top;
    transform: translate3d(0, var(--uv-country-hero-offset, 0), 0);
    will-change: transform;
}

.uv-country-page .club-hero__content {
    position: relative;
    z-index: 2;
    min-height: inherit;
    padding-top: clamp(5rem, 9vw, 8.5rem) !important;
    align-items: flex-start;
}

.uv-country-page .club-hero__title {
    max-width: 58rem !important;
    margin-bottom: 1.5rem !important;
}

.uv-country-page .club-hero__title .elementor-heading-title {
    color: var(--uv-color-white) !important;
    font-size: clamp(2.2rem, 4vw, 4.6rem) !important;
    line-height: 1.08;
    font-weight: 500;
}

.uv-country-page .club-hero__lead {
    max-width: 44rem !important;
    margin-bottom: 2rem !important;
}

.uv-country-page .club-hero__lead p {
    color: var(--uv-color-white);
    font-size: clamp(0.95rem, 1.15vw, 1.08rem) !important;
    line-height: 1.45 !important;
}

.uv-country-button-row {
    width: 100%;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 1rem !important;
    align-items: center;
}

.uv-country-button-row--center {
    justify-content: center !important;
}

.uv-country-page .uv-country-button {
    width: auto !important;
}

.uv-country-page .uv-country-button .elementor-button {
    min-width: 12.5rem;
    min-height: 2.8rem;
    padding: 0.75rem 2rem;
    border: 1.5px solid var(--uv-color-ink);
    border-radius: 0.55rem;
    background: transparent !important;
    color: var(--uv-color-ink);
    font-family: var(--uv-font-sans);
    font-size: 0.78rem;
    line-height: 1.2;
    font-weight: 600;
    transition: background var(--uv-transition), color var(--uv-transition), border-color var(--uv-transition);
}

.uv-country-page .uv-country-button .elementor-button:hover,
.uv-country-page .uv-country-button .elementor-button:focus-visible {
    background: var(--uv-color-ink);
    color: var(--uv-color-white);
}

.uv-country-page .uv-country-button--light .elementor-button {
    border-color: rgba(255, 255, 255, 0.85);
    color: var(--uv-color-white);
}

.uv-country-page .uv-country-button--light .elementor-button:hover,
.uv-country-page .uv-country-button--light .elementor-button:focus-visible {
    background: var(--uv-color-white);
    color: var(--uv-color-ink);
}

.amenity-grid,
.membership-grid,
.steps-list {
    display: grid !important;
    width: 100% !important;
    gap: 0.55rem !important;
    padding: 0 !important;
}

.amenity-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.amenity-card,
.membership-card {
    display: flex !important;
    width: auto !important;
    border: 2px solid transparent;
    border-radius: 1.5rem;
    background: var(--uv-color-white);
    transition: border-color var(--uv-transition), box-shadow var(--uv-transition), transform var(--uv-transition);
}

.amenity-card {
    min-height: 21rem !important;
    padding: clamp(1.4rem, 2.5vw, 2.25rem) !important;
}

.amenity-card:hover,
.amenity-card:focus-within,
.membership-card:hover,
.membership-card:focus-within {
    border-color: var(--uv-color-accent);
    box-shadow: var(--uv-shadow-card);
    transform: translateY(-2px);
}

.amenity-card__title,
.membership-card__title {
    margin-bottom: 1.5rem !important;
}

.amenity-card__title .elementor-heading-title,
.membership-card__title .elementor-heading-title {
    color: var(--uv-color-ink) !important;
    font-size: clamp(1.65rem, 2.3vw, 2.35rem) !important;
    line-height: 1.08;
    font-weight: 500;
}

.amenity-card__title {
    min-height: 4.7rem;
}

.amenity-card__copy {
    min-height: 3.6rem;
}

.amenity-card__copy p,
.membership-card__copy p,
.membership-card__list li {
    font-size: 0.79rem !important;
    line-height: 1.45 !important;
}

.amenity-card .uv-country-button,
.membership-card .uv-country-button {
    margin-top: 1.875rem !important;
    align-self: center;
}

.membership-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.membership-card {
    min-height: 31rem !important;
    padding: clamp(1.5rem, 3vw, 2.5rem) !important;
    background: var(--uv-color-soft);
}

.membership-card__copy {
    min-height: 3.5rem;
    margin-bottom: 0.5rem !important;
}

.membership-card__list ul {
    display: grid;
    min-height: 9rem;
    margin: 0;
    padding-left: 1.1rem;
    gap: 0.45rem;
}

.membership-card__list li::marker {
    color: var(--uv-color-ink);
}

.membership-steps__intro {
    margin-bottom: 3rem !important;
}

.membership-steps__intro p {
    font-size: 0.84rem !important;
}

.steps-list {
    position: relative;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.uv-country-page .steps-list::before {
    position: absolute;
    z-index: 0;
    top: 2.45rem !important;
    right: 8% !important;
    bottom: auto !important;
    left: 8% !important;
    width: auto !important;
    height: 2px !important;
    min-height: 0 !important;
    background: #d2d2d2 !important;
    content: "" !important;
    opacity: 1 !important;
    pointer-events: none;
}

.steps-list__item {
    position: relative;
    z-index: 1;
    width: auto !important;
    padding: 0 1rem !important;
    text-align: center;
    align-items: center !important;
}

.steps-list__number {
    display: grid !important;
    width: 5rem !important;
    height: 5rem;
    margin: 0 auto 1.5rem !important;
    border-radius: 50%;
    background: var(--uv-color-white);
    place-items: center;
    align-self: center !important;
}

.steps-list__number .elementor-heading-title {
    color: var(--uv-color-ink) !important;
    font-size: 2rem !important;
    font-weight: 400;
    line-height: 5rem !important;
    text-align: center !important;
}

.steps-list__item:first-child .steps-list__number {
    background: var(--uv-color-ink);
}

.steps-list__item:first-child .steps-list__number .elementor-heading-title {
    color: var(--uv-color-white) !important;
}

.steps-list__title {
    width: 100% !important;
    min-height: 3.2rem;
    margin-bottom: 1rem !important;
    align-self: center !important;
}

.steps-list__title .elementor-heading-title {
    color: var(--uv-color-ink) !important;
    font-size: 1.1rem !important;
    line-height: 1.12;
    font-weight: 500;
    text-align: center !important;
}

.steps-list__copy {
    width: 100% !important;
    max-width: 16rem !important;
    margin-inline: auto !important;
    align-self: center !important;
}

.steps-list__number .elementor-widget-container,
.steps-list__title .elementor-widget-container,
.steps-list__copy .elementor-widget-container {
    width: 100%;
    text-align: center;
}

.steps-list__copy p {
    font-size: 0.76rem !important;
    line-height: 1.45 !important;
    text-align: center !important;
}

.club-gallery__grid {
    display: grid !important;
    width: 100% !important;
    margin-bottom: 2rem !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-auto-rows: clamp(10rem, 15vw, 17rem);
    gap: 0.25rem !important;
}

.club-gallery__figure {
    position: relative;
    display: block !important;
    width: auto !important;
    margin: 0 !important;
    overflow: hidden;
    background: var(--uv-color-soft-strong);
}

.club-gallery__figure--main {
    grid-column: span 2;
    grid-row: span 2;
}

.club-gallery__image,
.club-gallery__image .elementor-widget-container,
.club-gallery__image a {
    display: block;
    width: 100% !important;
    height: 100%;
}

.club-gallery__image img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    transition: transform 450ms cubic-bezier(0.22, 1, 0.36, 1), filter 450ms ease;
}

.club-gallery__figure:hover .club-gallery__image img {
    transform: scale(1.025);
    filter: brightness(1.035);
}

.club-gallery__caption {
    position: absolute !important;
    z-index: 3;
    top: 1rem;
    left: 1rem;
    width: auto !important;
    pointer-events: none;
}

.club-gallery__caption p {
    color: var(--uv-color-white);
    font-size: 0.82rem !important;
    line-height: 1.25 !important;
    font-weight: 600;
    text-shadow: 0 1px 5px rgba(0, 0, 0, 0.72);
}

.restobar__layout {
    display: grid !important;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    gap: 3rem !important;
    align-items: center;
}

.restobar__copy {
    width: auto !important;
}

.restobar__title {
    margin-bottom: 1.5rem !important;
}

.restobar__title .elementor-heading-title {
    color: var(--uv-color-ink) !important;
    font-size: clamp(2rem, 3vw, 3.4rem) !important;
    line-height: 1.08;
    font-weight: 500;
}

.restobar__body {
    max-width: 42rem !important;
    margin-bottom: 1.5rem !important;
}

.restobar__body p {
    font-size: 0.9rem !important;
    line-height: 1.5 !important;
}

.restobar__features {
    margin-bottom: 1.5rem !important;
}

.restobar__features ul {
    display: flex;
    margin: 0;
    padding: 0;
    flex-wrap: wrap;
    list-style: none;
    gap: 0.4rem 1.5rem;
}

.restobar__features li {
    font-size: 0.78rem;
    font-weight: 600;
}

.uv-country-text-link a {
    color: var(--uv-color-accent);
    font-size: 0.84rem;
    font-weight: 600;
}

.restobar__image {
    width: auto !important;
}

.restobar__image img {
    display: block;
    width: 100% !important;
    height: clamp(22rem, 34vw, 36rem) !important;
    object-fit: cover;
}

.uv-country-cta__inner {
    align-items: center;
    text-align: center;
}

.membership-cta .uv-country-cta__inner {
    min-height: 11.25rem;
}

.club-community-cta .uv-country-cta__inner {
    min-height: 10rem;
}

.uv-country-cta__title {
    width: 100% !important;
    margin-bottom: 1rem !important;
}

.uv-country-cta__title .elementor-heading-title {
    color: var(--uv-color-ink) !important;
    font-size: clamp(2rem, 3vw, 3.3rem) !important;
    line-height: 1.08;
    font-weight: 500;
    text-align: center !important;
}

.uv-country-cta__copy {
    width: 100% !important;
    margin-bottom: 2rem !important;
}

.uv-country-cta__copy p {
    font-size: 0.85rem !important;
    line-height: 1.5 !important;
    text-align: center !important;
}

.uv-country-page .hero-enter {
    animation: uv-country-content-enter 800ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.uv-country-page .hero-enter--1 { animation-delay: 180ms; }
.uv-country-page .hero-enter--2 { animation-delay: 300ms; }
.uv-country-page .hero-enter--3 { animation-delay: 420ms; }
.uv-country-page .hero-enter--4 { animation-delay: 540ms; }

@keyframes uv-country-content-enter {
    from { opacity: 0; transform: translate3d(0, 1.5rem, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
}

.uv-country-motion-ready .uv-country-motion-reveal {
    --uv-country-delay: 0ms;
    opacity: 0;
    transform: translate3d(0, 1.75rem, 0);
    transition: opacity 700ms cubic-bezier(0.22, 1, 0.36, 1) var(--uv-country-delay), transform 700ms cubic-bezier(0.22, 1, 0.36, 1) var(--uv-country-delay);
}

.uv-country-motion-ready .uv-country-motion-reveal.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

.uv-country-motion-delay-1 { --uv-country-delay: 80ms !important; }
.uv-country-motion-delay-2 { --uv-country-delay: 160ms !important; }
.uv-country-motion-delay-3 { --uv-country-delay: 240ms !important; }

@media (max-width: 64rem) {
    .uv-country-page .club-hero { min-height: 48rem !important; }
    .amenity-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .membership-card { min-height: 33rem; }
    .steps-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3rem 1.5rem !important; }
    .steps-list::before { display: none; }
}

@media (max-width: 48rem) {
    .uv-country-section { padding-block: 3.75rem !important; }
    .uv-country-page .uv-container { width: min(calc(100% - 2rem), var(--uv-container)) !important; }
    .uv-country-page .club-hero { min-height: 46rem !important; }
    .club-hero::after { background: linear-gradient(180deg, rgba(0, 0, 0, 0.52), rgba(0, 0, 0, 0.16) 68%, transparent); }
    .uv-country-page .club-hero__image img { object-position: 58% top; }
    .uv-country-page .club-hero__content { padding-top: 4.5rem !important; }
    .uv-country-page .club-hero .uv-country-button-row,
    .uv-country-page .club-hero .uv-country-button,
    .uv-country-page .club-hero .elementor-button { width: 100% !important; }
    .amenity-grid,
    .membership-grid,
    .restobar__layout { grid-template-columns: 1fr; }
    .amenity-card,
    .membership-card { min-height: 22rem; }
    .amenity-card__title,
    .amenity-card__copy,
    .membership-card__copy,
    .membership-card__list ul { min-height: 0; }
    .club-gallery__grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 12rem; }
    .club-gallery__figure--main { grid-column: 1 / -1; grid-row: span 2; }
    .restobar__image { grid-row: 1; }
    .restobar__image img { height: 23rem !important; }
}

/* Urbanización: native Elementor reconstruction of the HTML prototype. */
.uv-urban-page {
    width: 100%;
    max-width: none !important;
    padding: 0 !important;
    gap: 0 !important;
    overflow: hidden;
    color: var(--uv-color-ink);
    font-family: var(--uv-font-sans);
}

.uv-urban-page .e-con { gap: 0; }
.uv-urban-page .elementor-widget-text-editor p,
.uv-urban-page .elementor-heading-title { margin: 0; }
.uv-urban-page .elementor-heading-title { color: var(--uv-color-ink) !important; }
.uv-urban-page em { font-family: var(--uv-font-serif); font-style: italic; font-weight: 400; }

.uv-urban-page .uv-container {
    width: calc(100% - 3rem) !important;
    max-width: var(--uv-container) !important;
    margin-inline: auto !important;
    padding: 0 !important;
}

.uv-urban-section {
    position: relative;
    width: 100%;
    max-width: none !important;
    padding-block: 4.5rem !important;
}
.uv-urban-section > .e-con-inner { padding: 0 !important; }
.uv-urban-section--soft { background: var(--uv-color-soft); }

.uv-urban-eyebrow { margin-bottom: 1.5rem !important; }
.uv-urban-eyebrow p {
    color: var(--uv-color-white) !important;
    font-size: .82rem !important;
    line-height: 1.08 !important;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .045em;
}
.uv-urban-eyebrow--dark p { color: var(--uv-color-ink) !important; }

.uv-urban-button { width: auto !important; }
.uv-urban-button .elementor-button {
    min-height: 2.8rem;
    padding: .75rem 2rem !important;
    border: 1.5px solid var(--uv-color-border);
    border-radius: .55rem;
    background: transparent !important;
    color: var(--uv-color-ink) !important;
    font-size: .82rem;
    line-height: 1.2;
    font-weight: 600;
    transition: color var(--uv-transition), background-color var(--uv-transition), transform var(--uv-transition);
}
.uv-urban-page .urban-hero .uv-urban-eyebrow p { color: var(--uv-color-ink) !important; }
.uv-urban-button .elementor-button:hover { transform: translateY(-2px); }
.uv-urban-button--outline .elementor-button:hover { background: var(--uv-color-ink) !important; color: var(--uv-color-white) !important; }
.uv-urban-button--light-outline .elementor-button { border-color: var(--uv-color-white); color: var(--uv-color-white) !important; }
.uv-urban-button--light-outline .elementor-button:hover { background: var(--uv-color-white) !important; color: var(--uv-color-ink) !important; }

.uv-urban-page .urban-hero {
    min-height: calc(min(60rem, calc(100svh - var(--uv-header-height))) + 18.75rem) !important;
    padding: 0 !important;
    overflow: hidden;
    color: var(--uv-color-ink);
}
.uv-urban-page .urban-hero::after {
    position: absolute; z-index: 1; inset: auto 0 0; height: 38%;
    background: linear-gradient(180deg, transparent, rgba(0,0,0,.62)); content: ""; pointer-events: none;
}
.uv-urban-page .urban-hero__image { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; }
.uv-urban-page .urban-hero__image .elementor-widget-container,
.uv-urban-page .urban-hero__image img { width: 100%; height: 100%; }
.uv-urban-page .urban-hero__image img { object-fit: cover; object-position: center center; animation: uv-urban-image-enter 1100ms cubic-bezier(.22,1,.36,1) both; }
.uv-urban-page .urban-hero__intro { position: relative; z-index: 2; padding-top: clamp(2.75rem,6vw,6.5rem) !important; }
.uv-urban-page .urban-hero__title { width: 100%; max-width: 63rem !important; margin-bottom: 1.5rem !important; }
.uv-urban-page .urban-hero__title .elementor-heading-title { font-size: clamp(2.15rem,3.8vw,4.2rem) !important; line-height: 1.08 !important; font-weight: 500; }
.uv-urban-page .urban-hero__lead { width: 100%; max-width: 43rem !important; }
.uv-urban-page .urban-hero__lead p { font-size: clamp(.88rem,1.1vw,1.05rem); line-height: 1.45; }
.uv-urban-page .urban-hero__stats {
    position: absolute; z-index: 2; right: 0; bottom: clamp(2.5rem,5vw,5.5rem); left: 0;
    display: grid !important; grid-template-columns: repeat(4,1fr); color: var(--uv-color-white);
}
.uv-urban-page .urban-stat { display: flex; padding-inline: clamp(1rem,2.5vw,2.75rem) !important; text-align: center; }
.uv-urban-page .urban-stat + .urban-stat { border-left: 1px solid rgba(255,255,255,.62); }
.uv-urban-page .urban-stat__value { margin-bottom: .55rem !important; }
.uv-urban-page .urban-stat__value .elementor-heading-title { color: var(--uv-color-white) !important; font-size: clamp(1.8rem,3.2vw,3.3rem) !important; line-height: 1 !important; font-weight: 600; }
.uv-urban-page .urban-stat__label p { color: var(--uv-color-white); font-size: .72rem; line-height: 1.45; }

.uv-urban-page .urban-shortcuts { padding-block: 2rem !important; }
.uv-urban-page .urban-shortcuts__inner { display: grid !important; grid-template-columns: repeat(4,minmax(8rem,1fr)); gap: clamp(1rem,5vw,6rem) !important; }
.uv-urban-page .urban-shortcuts__inner .uv-urban-button,
.uv-urban-page .urban-shortcuts__inner .elementor-button { width: 100% !important; }

.uv-urban-page .urban-location__title { margin-bottom: 3rem !important; }
.uv-urban-page .urban-location__title .elementor-heading-title,
.uv-urban-page .urban-bridge__title .elementor-heading-title,
.uv-urban-page .masterplan__title .elementor-heading-title,
.uv-urban-page .availability__title .elementor-heading-title,
.uv-urban-page .urban-cta__title .elementor-heading-title { font-size: clamp(2rem,3vw,3.4rem) !important; line-height: 1.08 !important; font-weight: 500; }
.uv-urban-page .location__layout { display: grid !important; grid-template-columns: minmax(0,1.3fr) minmax(18rem,.7fr); gap: 2rem !important; align-items: center; }
.uv-urban-page .location__map { width: 100%; min-height: clamp(16.5rem,31.5vw,27.75rem); border-radius: 1.5rem; overflow: hidden; }
.uv-urban-page .location__map .elementor-widget-container,
.uv-urban-page .location__map .elementor-custom-embed,
.uv-urban-page .location__map iframe { height: 100% !important; min-height: inherit; }
.uv-urban-page .location__list { display: grid !important; margin: 0; padding: 0 !important; list-style: none; gap: 1.5rem !important; }
.uv-urban-page .location-item { display: grid !important; grid-template-columns: 2rem 1fr; gap: .75rem !important; }
.uv-urban-page .location-item__icon { width: 1.75rem; height: 1.75rem; }
.uv-urban-page .location-item__icon img { width: 1.75rem; height: 1.75rem; object-fit: contain; }
.uv-urban-page .location-item__copy p { margin: 0; font-size: .9rem; line-height: 1.45; }
.uv-urban-page .location-item__copy a,
.uv-urban-page .uv-urban-text-link a { color: var(--uv-color-accent); font-weight: 600; }
.uv-urban-page .location-item__copy a:hover,
.uv-urban-page .uv-urban-text-link a:hover { text-decoration: underline; text-underline-offset: .25em; }

.uv-urban-page .urban-bridge__layout { display: grid !important; grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr); gap: 3rem !important; align-items: center; }
.uv-urban-page .urban-bridge__title { margin-bottom: 1.5rem !important; }
.uv-urban-page .urban-bridge__body { max-width: 38rem; margin-bottom: 1.5rem !important; }
.uv-urban-page .urban-bridge__body p { font-size: .9rem; line-height: 1.45; }
.uv-urban-page .urban-bridge__image { width: 100%; height: clamp(19rem,34vw,36rem); overflow: hidden; }
.uv-urban-page .urban-bridge__image .elementor-widget-container,
.uv-urban-page .urban-bridge__image img { width: 100%; height: 100%; }
.uv-urban-page .urban-bridge__image img { object-fit: cover; translate: 0 var(--uv-urban-parallax-y,0); }

.uv-urban-page .masterplan__placeholder {
    display: grid !important; min-height: clamp(28rem,49vw,48rem) !important; padding: 2rem !important;
    border: 2px dashed #aaa; border-radius: 1.5rem; background: linear-gradient(135deg,#f2f2f2,#dedede);
    place-content: center; text-align: center;
}
.uv-urban-page .masterplan__placeholder .uv-urban-eyebrow { margin-bottom: 1.5rem !important; }
.uv-urban-page .masterplan__label { margin-top: 1.5rem !important; }
.uv-urban-page .masterplan__label p { color: #666; font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; }

.uv-urban-page .availability { min-height: clamp(26rem,36vw,34rem) !important; padding: 0 !important; overflow: hidden; color: var(--uv-color-white); }
.uv-urban-page .availability::after { position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg,rgba(0,0,0,.58),rgba(0,0,0,.06) 72%); content: ""; }
.uv-urban-page .availability__image { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; }
.uv-urban-page .availability__image .elementor-widget-container,
.uv-urban-page .availability__image img { width: 100%; height: 100%; }
.uv-urban-page .availability__image img { object-fit: cover; object-position: center 70%; translate: 0 var(--uv-urban-parallax-y,0); }
.uv-urban-page .availability__content { position: relative; z-index: 2; padding-top: clamp(3.25rem,5vw,5rem) !important; }
.uv-urban-page .availability__title { max-width: 41rem; margin-bottom: 1.5rem !important; }
.uv-urban-page .availability__title .elementor-heading-title { color: var(--uv-color-white) !important; }
.uv-urban-page .availability__copy { max-width: 41rem; }
.uv-urban-page .availability__copy p { color: var(--uv-color-white); font-size: .9rem; line-height: 1.45; }
.uv-urban-page .availability__copy p + p { margin-top: 1rem; }
.uv-urban-page .availability__content .uv-urban-button { margin-top: 1.5rem !important; }

.uv-urban-page .urban-cta { padding-block: 6.5rem !important; }
.uv-urban-page .urban-cta__inner { align-items: center; text-align: center; }
.uv-urban-page .urban-cta__title { margin-bottom: 1.5rem !important; }
.uv-urban-page .urban-cta__copy { margin-bottom: 2rem !important; }
.uv-urban-page .urban-cta__copy p { font-size: .85rem; line-height: 1.45; }

@keyframes uv-urban-image-enter { from { opacity:.72; scale:1.035; } to { opacity:1; scale:1; } }
.uv-urban-page .hero-enter { animation: uv-urban-content-enter 800ms cubic-bezier(.22,1,.36,1) both; }
.uv-urban-page .hero-enter--1 { animation-delay: 180ms; }
.uv-urban-page .hero-enter--2 { animation-delay: 300ms; }
.uv-urban-page .hero-enter--3 { animation-delay: 420ms; }
@keyframes uv-urban-content-enter { from { opacity:0; transform:translate3d(0,1.5rem,0); } to { opacity:1; transform:none; } }
.uv-urban-page .uv-urban-motion-reveal { opacity:0; transform:translate3d(0,1.75rem,0); transition:opacity 700ms cubic-bezier(.22,1,.36,1) var(--uv-motion-delay,0ms),transform 700ms cubic-bezier(.22,1,.36,1) var(--uv-motion-delay,0ms); }
.uv-urban-page .uv-urban-motion-left { transform:translate3d(-2.25rem,0,0); }
.uv-urban-page .uv-urban-motion-right { transform:translate3d(2.25rem,0,0); }
.uv-urban-page .uv-urban-motion-visible { opacity:1; transform:none; }

@media (max-width: 64rem) {
    .uv-urban-page .urban-hero { min-height: 68.75rem !important; }
    .uv-urban-page .urban-shortcuts__inner { gap: 1rem !important; }
}

@media (max-width: 48rem) {
    .uv-urban-page .uv-container { width: calc(100% - 2rem) !important; }
    .uv-urban-section { padding-block: 3.5rem !important; }
    .uv-urban-page .urban-hero { min-height: 74.75rem !important; color: var(--uv-color-white); }
    .uv-urban-page .urban-hero::before { position:absolute; z-index:1; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.48),transparent 45%); content:""; pointer-events:none; }
    .uv-urban-page .urban-hero__intro { padding-top: 3rem !important; }
    .uv-urban-page .urban-hero__title .elementor-heading-title,
    .uv-urban-page .urban-hero__lead p,
    .uv-urban-page .urban-hero .uv-urban-eyebrow p { color: var(--uv-color-white) !important; }
    .uv-urban-page .urban-hero__stats { bottom: 2rem; grid-template-columns: repeat(2,1fr); row-gap: 1.5rem !important; }
    .uv-urban-page .urban-stat:nth-child(3) { border-left: 0; }
    .uv-urban-page .urban-shortcuts__inner,
    .uv-urban-page .location__layout,
    .uv-urban-page .urban-bridge__layout { grid-template-columns: 1fr; }
    .uv-urban-page .urban-bridge__image { grid-row: 1; height: 18rem; }
    .uv-urban-page .availability::after { background: rgba(0,0,0,.48); }
    .uv-urban-page .urban-cta { padding-block: 4.5rem !important; }
}

@media (max-width: 30rem) {
    .uv-urban-page .urban-stat__value .elementor-heading-title { font-size: 1.55rem !important; }
    .uv-urban-page .urban-stat__label p { font-size: .64rem; }
    .uv-urban-page .urban-shortcuts__inner .uv-urban-button,
    .uv-urban-page .availability .uv-urban-button,
    .uv-urban-page .urban-cta .uv-urban-button,
    .uv-urban-page .availability .elementor-button,
    .uv-urban-page .urban-cta .elementor-button { width: 100% !important; }
}

@media (prefers-reduced-motion: reduce) {
    .uv-urban-page .page-hero__image img,
    .uv-urban-page .hero-enter { opacity:1; scale:1; transform:none; animation:none; }
    .uv-urban-page .uv-urban-motion-reveal,
    .uv-urban-page .uv-urban-motion-visible { opacity:1; transform:none; transition:none; }
    .uv-urban-page .urban-bridge__image img,
    .uv-urban-page .availability__image img { translate:none; }
}

/* Contacto: native Elementor + Elementor Pro Form reconstruction. */
.uv-contact-page{width:100%;max-width:none!important;padding:0!important;gap:0!important;overflow:hidden;color:var(--uv-color-ink);font-family:var(--uv-font-sans)}
.uv-contact-page .e-con{gap:0}.uv-contact-page .elementor-heading-title,.uv-contact-page .elementor-widget-text-editor p{margin:0}.uv-contact-page .elementor-heading-title{color:var(--uv-color-ink)!important}.uv-contact-page .uv-container{width:calc(100% - 3rem)!important;max-width:var(--uv-container)!important;margin-inline:auto!important;padding:0!important}
.uv-contact-section{position:relative;width:100%;max-width:none!important}.uv-contact-section--soft{background:var(--uv-color-soft)}
.uv-contact-eyebrow{margin-bottom:1.5rem!important}.uv-contact-eyebrow p,.uv-contact-eyebrow .elementor-heading-title{color:var(--uv-color-white)!important;font-size:.82rem!important;line-height:1.08!important;font-weight:500;text-transform:uppercase;letter-spacing:.045em}.uv-contact-eyebrow--dark p,.uv-contact-eyebrow--dark .elementor-heading-title{color:var(--uv-color-ink)!important}
.uv-contact-page .contact-hero{padding-block:clamp(4.5rem,8vw,8rem)!important;background:#303030;color:var(--uv-color-white)}.uv-contact-page .contact-hero__title .elementor-heading-title{margin:0;color:var(--uv-color-white)!important;font-size:clamp(2.25rem,4.2vw,4.5rem)!important;line-height:1.08!important;font-weight:500}
.uv-contact-page .hero-enter{animation:uv-contact-enter 800ms cubic-bezier(.22,1,.36,1) both}.uv-contact-page .hero-enter--1{animation-delay:180ms}.uv-contact-page .hero-enter--2{animation-delay:300ms}@keyframes uv-contact-enter{from{opacity:0;transform:translate3d(0,1.5rem,0)}to{opacity:1;transform:none}}
.uv-contact-page .contact-reasons{padding-block:2rem!important}.reason-selector__legend{margin-bottom:1.5rem!important}.reason-selector__legend .elementor-heading-title{font-size:.82rem!important;line-height:1.08!important;font-weight:500;text-transform:uppercase;letter-spacing:.045em}.reason-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem!important}
.uv-contact-page .reason-option{display:flex;min-height:10rem;padding:1.5rem!important;border:2px solid transparent!important;border-radius:1.5rem!important;background:var(--uv-color-soft)!important;color:var(--uv-color-ink)!important;cursor:pointer;align-items:center;justify-content:center;text-align:center;font:inherit;transition:border-color var(--uv-transition),background-color var(--uv-transition),box-shadow var(--uv-transition),transform var(--uv-transition)}.uv-contact-page .reason-option:hover{border-color:var(--uv-color-accent)!important;transform:translateY(-2px)}.uv-contact-page .reason-option.is-active{border-color:var(--uv-color-accent)!important;background:var(--uv-color-white)!important;box-shadow:var(--uv-shadow-card)}
.uv-contact-page .reason-option__icon{display:flex!important;width:3rem!important;height:3rem!important;min-height:3rem!important;max-height:3rem!important;margin-bottom:1rem!important;overflow:hidden;flex:0 0 3rem!important;align-items:center;justify-content:center}.uv-contact-page .reason-option__icon .elementor-widget-container{display:flex;width:3rem!important;height:3rem!important;align-items:center;justify-content:center}.uv-contact-page .reason-option__icon img{display:block;width:3rem!important;height:3rem!important;min-height:0!important;max-height:3rem!important;object-fit:contain!important}.reason-option__title{margin-bottom:.75rem!important}.reason-option__title .elementor-heading-title{font-size:clamp(1rem,1.5vw,1.3rem)!important;line-height:1.08!important;font-weight:500}.reason-option__copy p{font-size:.72rem!important;line-height:1.45!important}
.contact-consultation,.contact-directory{padding-block:3rem!important}.contact-section-eyebrow{margin-bottom:2rem!important}.contact-consultation__layout{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem!important;align-items:start}.uv-contact-page .contact-panel{padding:clamp(1.5rem,3vw,3rem)!important;border-radius:1.5rem;background:var(--uv-color-white)}
.contact-form-title,.contact-direct__title{margin-bottom:1.5rem!important}.contact-form-title .elementor-heading-title,.contact-direct__title .elementor-heading-title{color:var(--uv-color-accent)!important;font-size:clamp(1.15rem,1.8vw,1.5rem)!important;line-height:1.08!important;font-weight:500}
.uv-contact-page .contact-form .elementor-form{display:grid;gap:.75rem}.uv-contact-page .contact-form .elementor-form-fields-wrapper{display:grid;gap:.75rem}.uv-contact-page .contact-form .elementor-field-group{display:grid;width:100%;margin:0;padding:0}.uv-contact-page .contact-form .elementor-field-label{margin:0 0 .5rem;font-size:.76rem;font-weight:600}.uv-contact-page .contact-form .elementor-field,.uv-contact-page .contact-form select,.uv-contact-page .contact-form textarea{width:100%;min-height:2.75rem;padding:.7rem .8rem;border:1.5px solid var(--uv-color-border)!important;border-radius:.55rem;background:var(--uv-color-white)!important;color:var(--uv-color-ink)!important;font:inherit}.uv-contact-page .contact-form textarea{min-height:10rem;resize:vertical}.uv-contact-page .contact-form .elementor-field-type-submit{display:flex;justify-content:center;margin-top:1.5rem}.uv-contact-page .contact-form .elementor-button{width:min(100%,10rem)!important;min-height:2.8rem;padding:.75rem 2rem;border:1.5px solid var(--uv-color-ink)!important;border-radius:.55rem;background:var(--uv-color-ink)!important;color:var(--uv-color-white)!important;font-size:.82rem;font-weight:600}.uv-contact-page .contact-form .elementor-button:hover{background:#242424!important;transform:translateY(-2px)}.uv-contact-local-notice{margin-top:1rem!important;font-size:.72rem!important;text-align:center}
.uv-contact-page .contact-whatsapp{width:10rem!important;max-width:100%;margin-inline:auto!important}.contact-whatsapp p{width:100%;text-align:center}.uv-contact-page .contact-whatsapp a{display:flex!important;width:100%!important;min-width:0;min-height:2.5rem;padding:0!important;border-radius:.55rem;background:#25d366!important;color:var(--uv-color-white)!important;align-items:center;justify-content:center;gap:.45rem;font-size:.78rem;font-weight:600;line-height:1;transition:filter var(--uv-transition),transform var(--uv-transition)}.contact-whatsapp a:hover{filter:brightness(.94);transform:translateY(-2px)}.uv-contact-page .contact-whatsapp img{display:block!important;width:1.15rem!important;height:1.15rem!important;min-height:0!important;max-height:1.15rem!important;object-fit:contain!important;flex:0 0 1.15rem}
.contact-direct .contact-whatsapp{margin-bottom:2rem!important}.contact-direct__subtitle{margin-bottom:1rem!important}.contact-direct__subtitle .elementor-heading-title{font-size:clamp(1.15rem,1.8vw,1.5rem)!important;line-height:1.08!important;font-weight:500}.contact-direct__steps ol{display:grid;margin:0;padding:0;counter-reset:contact-step;list-style:none;gap:1rem}.contact-direct__steps li{display:grid;grid-template-columns:1.5rem 1fr;align-items:start;gap:.75rem;font-size:.76rem}.contact-direct__steps li::before{display:grid;width:1.35rem;height:1.35rem;border-radius:50%;background:var(--uv-color-ink);color:var(--uv-color-white);content:counter(contact-step);counter-increment:contact-step;font-size:.7rem;font-weight:700;place-items:center}
.contact-directory__grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem!important}.uv-contact-page .contact-channel{display:flex;min-height:10rem;padding:1.5rem!important;border:2px solid transparent;border-radius:1.5rem;background:var(--uv-color-soft);align-items:center;justify-content:center;text-align:center;transition:border-color var(--uv-transition),box-shadow var(--uv-transition),transform var(--uv-transition)}.uv-contact-page .contact-channel:hover{border-color:var(--uv-color-accent);box-shadow:var(--uv-shadow-card);transform:translateY(-2px)}.contact-channel__title{margin-bottom:1.5rem!important}.contact-channel__title .elementor-heading-title{font-size:clamp(1rem,1.4vw,1.3rem)!important;line-height:1.08!important;font-weight:500}
.uv-contact-reveal{opacity:0;transform:translate3d(0,1.75rem,0);transition:opacity 700ms cubic-bezier(.22,1,.36,1) var(--uv-contact-delay,0ms),transform 700ms cubic-bezier(.22,1,.36,1) var(--uv-contact-delay,0ms)}.uv-contact-reveal.is-visible{opacity:1;transform:none}
@media(max-width:64rem){.reason-grid,.contact-directory__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-consultation__layout{grid-template-columns:1fr}}
@media(max-width:48rem){.uv-contact-page .uv-container{width:calc(100% - 2rem)!important}}
@media(max-width:36rem){.reason-grid,.contact-directory__grid{grid-template-columns:1fr}.uv-contact-page .reason-option,.uv-contact-page .contact-channel{min-height:9rem}}
@media(prefers-reduced-motion:reduce){.uv-contact-page .hero-enter,.uv-contact-reveal{opacity:1;transform:none;animation:none;transition:none}}

@media (max-width: 30rem) {
    .amenity-grid,
    .steps-list { grid-template-columns: 1fr; }
    .club-gallery__grid { grid-template-columns: 1fr; grid-auto-rows: 15rem; }
    .club-gallery__figure--main { grid-column: auto; grid-row: span 2; }
    .membership-cta .uv-country-button-row,
    .membership-cta .uv-country-button,
    .membership-cta .elementor-button { width: 100% !important; }
}

@media (prefers-reduced-motion: reduce) {
    .uv-country-page .hero-enter,
    .uv-country-motion-reveal,
    .uv-country-page .club-hero__image img {
        opacity: 1 !important;
        transform: none !important;
        animation: none !important;
        transition: none !important;
    }
}

/* Comunidad: native Elementor reconstruction of the HTML prototype. */
.uv-community-page{width:100%;max-width:none!important;padding:0!important;gap:0!important;overflow:hidden;color:var(--uv-color-ink);font-family:var(--uv-font-sans)}
.uv-community-page .e-con{gap:0}.uv-community-page .elementor-widget-text-editor p,.uv-community-page .elementor-heading-title{margin:0}.uv-community-page .elementor-heading-title{color:var(--uv-color-ink)!important}.uv-community-page em{font-family:var(--uv-font-serif);font-style:italic;font-weight:400}.uv-community-page .uv-container{width:100%!important;max-width:var(--uv-container)!important;margin-inline:auto!important;padding:0!important}
.uv-community-section{position:relative;width:100%;max-width:none!important}.uv-community-section>.e-con-inner{padding:0!important}.uv-community-section--soft{background:var(--uv-color-soft)}
.uv-community-eyebrow{margin-bottom:1.5rem!important}.uv-community-eyebrow p,.uv-community-eyebrow .elementor-heading-title{color:var(--uv-color-white)!important;font-size:.82rem!important;line-height:1.08!important;font-weight:500;text-transform:uppercase;letter-spacing:.045em}.uv-community-eyebrow strong{font-weight:700}.uv-community-eyebrow--dark p,.uv-community-eyebrow--dark .elementor-heading-title{color:var(--uv-color-ink)!important}
.community-hero{display:grid!important;min-height:calc(100dvh - var(--uv-header-height))!important;padding:0!important;overflow:hidden;color:var(--uv-color-white);align-items:start}.community-hero:after{position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.48),rgba(0,0,0,.08) 62%,transparent);content:"";pointer-events:none}.community-hero__image{position:absolute!important;z-index:0;inset:0;width:100%!important;height:100%!important;overflow:hidden}.community-hero__image .elementor-widget-container{width:100%;height:100%}.community-hero__image img{display:block;width:100%!important;height:calc(100% + 2.5rem)!important;max-width:none!important;margin-top:-1.25rem;object-fit:cover;object-position:center;translate:0 var(--uv-community-parallax-y,0);will-change:translate}
.uv-community-page .community-hero__content{position:relative;z-index:2;padding:clamp(4.5rem,9vw,9rem) 0 0!important;align-items:flex-start}.community-hero__title{max-width:40rem!important;margin-bottom:1rem!important}.community-hero__title .elementor-heading-title{color:var(--uv-color-white)!important;font-size:clamp(2.5rem,4.6vw,5.25rem)!important;line-height:1.08;font-weight:500}.community-hero__copy{max-width:42rem!important}.community-hero__copy p{color:var(--uv-color-white);font-size:clamp(.84rem,1vw,1rem)!important;line-height:1.45!important}
.community-hero__notice{position:absolute!important;z-index:3;right:0;bottom:0;left:0;padding-block:1rem!important;background:rgba(0,0,0,.55);color:var(--uv-color-white)}.community-hero__notice-inner{display:flex!important;max-width:61rem!important;flex-direction:row!important;align-items:center!important;gap:1rem!important}.community-hero__notice-icon{display:grid!important;width:1.35rem!important;height:1.35rem;border:1px solid currentColor;border-radius:50%;flex:0 0 auto!important;place-items:center}.community-hero__notice-icon .elementor-heading-title{color:var(--uv-color-white)!important;font-size:.7rem!important;font-weight:700;text-align:center}.community-hero__notice-copy p{color:var(--uv-color-white);font-size:.72rem!important;line-height:1.45!important}
.community-shortcuts{padding-block:2rem!important}.community-shortcuts__inner{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.75rem,3vw,4rem)!important}.uv-community-page .uv-community-button{width:auto!important}.community-shortcuts .uv-community-button{width:100%!important}.uv-community-page .uv-community-button .elementor-button{width:100%;min-height:2.8rem;padding:.75rem 2rem;border:1.5px solid var(--uv-color-ink);border-radius:.55rem;background:transparent;color:var(--uv-color-ink);font-family:var(--uv-font-sans);font-size:.82rem;font-weight:600;line-height:1.2;transition:color var(--uv-transition),background var(--uv-transition),transform var(--uv-transition)}.uv-community-page .uv-community-button .elementor-button:hover,.uv-community-page .uv-community-button .elementor-button:focus-visible{background:var(--uv-color-ink);color:var(--uv-color-white);transform:translateY(-2px)}.uv-community-button-row{display:flex!important;width:100%;flex-direction:row!important;flex-wrap:wrap!important;gap:.75rem!important}.uv-community-button-row--center{justify-content:center!important}.uv-community-button--small .elementor-button{padding-inline:1rem!important;font-size:.7rem!important}
.club-contacts,.administration,.community-news,.official-documents,.community-directory,.community-social,.club-community-cta{padding-block:4.5rem!important}.uv-community-section-eyebrow{padding-bottom:1.5rem!important;margin-bottom:0!important}.club-contacts__grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem!important}.contact-card{display:flex!important;width:auto!important;min-height:10rem;padding:1.5rem!important;border:2px solid transparent;border-radius:1.5rem;background:var(--uv-color-white);transition:border-color var(--uv-transition),box-shadow var(--uv-transition),transform var(--uv-transition)}.contact-card:hover,.contact-card:focus-within{border-color:var(--uv-color-accent);box-shadow:var(--uv-shadow-card);transform:translateY(-2px)}.contact-card__title{margin-bottom:1.875rem!important}.contact-card__title .elementor-heading-title{font-size:clamp(1rem,1.5vw,1.3rem)!important;font-weight:500}.community-whatsapp{display:flex!important;width:min(100%,10rem)!important;min-height:2.5rem;margin-top:auto!important;border-radius:.55rem;background:#25d366;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:.45rem!important}.community-whatsapp__icon{width:1.15rem!important;flex:0 0 auto!important}.community-whatsapp__icon img{width:1.15rem!important;height:1.15rem!important}.community-whatsapp__link{width:auto!important}.community-whatsapp__link a{color:var(--uv-color-white);font-size:.78rem;font-weight:600}
.administration__layout{display:grid!important;grid-template-columns:minmax(16rem,.9fr) minmax(0,1.5fr);gap:3rem!important;align-items:start}.administration__intro{width:auto!important}.administration__copy{max-width:32rem!important;margin-bottom:1.875rem!important}.administration__copy p{font-size:.82rem!important;line-height:1.45!important}.administration__steps{display:grid!important;width:auto!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px!important}.administration-step{display:flex!important;width:auto!important;min-height:18rem;padding:1.5rem!important;background:var(--uv-color-soft)}.administration-step__number{margin-bottom:1rem!important}.administration-step__number .elementor-heading-title{font-size:2rem!important;font-weight:700}.administration-step__title{margin-bottom:1rem!important}.administration-step__title .elementor-heading-title{font-size:clamp(1rem,1.4vw,1.35rem)!important;line-height:1.15;font-weight:500}.administration-step__copy p,.administration-step__date p{font-size:.72rem!important;line-height:1.45!important}.administration-step__date{margin-top:auto!important}
.community-section-heading{display:flex!important;margin-bottom:1.5rem!important;flex-direction:row!important;align-items:flex-end!important;justify-content:space-between!important;gap:1.5rem!important}.community-section-heading__copy{width:auto!important}.community-section-heading__copy .uv-community-eyebrow{margin-bottom:1rem!important}.community-section-heading__title .elementor-heading-title,.uv-community-display-title .elementor-heading-title{font-size:clamp(2rem,3.6vw,4rem)!important;line-height:1.08;font-weight:500}.uv-community-display-title{margin-bottom:2rem!important}
.news-grid{display:grid!important;grid-template-columns:minmax(0,2fr) minmax(18rem,1fr);gap:.6rem!important}.news-featured,.news-card{width:auto!important;overflow:hidden;border-radius:1.5rem;background:var(--uv-color-white)}.news-featured__media{display:block!important;width:100%!important;height:clamp(20rem,39vw,38rem);overflow:hidden}.news-featured__media .elementor-widget-container{height:100%}.news-featured__media img{width:100%!important;height:100%!important;object-fit:cover}.news-card__body{padding:1.5rem!important}.news-featured__title,.news-card__title{margin-bottom:1rem!important}.news-featured__title .elementor-heading-title{font-size:clamp(1.1rem,1.8vw,1.6rem)!important;line-height:1.18;font-weight:500}.news-featured__copy p{font-size:.78rem!important;line-height:1.45!important}.news-featured__date,.news-card__date{margin-bottom:1rem!important}.news-featured__date p,.news-card__date p{font-size:.65rem!important}.uv-community-text-link a,.document-card__link a{color:var(--uv-color-accent);font-size:.72rem;font-weight:600}.news-list{display:grid!important;width:auto!important;gap:.6rem!important}.news-card{display:flex!important;min-height:0;padding:1.5rem!important}.news-card__category{margin-bottom:1.5rem!important}.news-card__category p{text-transform:uppercase;letter-spacing:.04em;font-size:.72rem!important;font-weight:600}.news-card__title .elementor-heading-title{font-size:clamp(1rem,1.35vw,1.25rem)!important;line-height:1.18;font-weight:500}.news-card__date{margin-top:auto!important;margin-bottom:0!important}
.documents-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem!important}.document-card{display:grid!important;width:auto!important;min-height:9rem;padding:1.5rem!important;border:2px solid transparent;border-radius:.75rem;background:var(--uv-color-soft);grid-template-columns:2rem 1fr;gap:1rem!important;transition:border-color var(--uv-transition),transform var(--uv-transition)}.document-card:hover,.document-card:focus-within{border-color:var(--uv-color-accent);transform:translateY(-2px)}.document-card__icon{width:1.75rem!important;height:1.75rem}.document-card__icon img{width:1.75rem!important;height:1.75rem!important;object-fit:contain}.document-card__body{width:auto!important}.document-card__title{margin-bottom:.25rem!important}.document-card__title .elementor-heading-title{font-size:1rem!important;font-weight:500}.document-card__copy{margin-bottom:.75rem!important}.document-card__copy p{font-size:.72rem!important;line-height:1.45!important}
.directory-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem!important}.directory-card{width:auto!important;min-height:20rem;padding:1.5rem!important;border:2px solid transparent;border-radius:1.5rem;background:var(--uv-color-white);transition:border-color var(--uv-transition),transform var(--uv-transition),box-shadow var(--uv-transition)}.directory-card:hover,.directory-card:focus-within{border-color:var(--uv-color-accent);box-shadow:var(--uv-shadow-card);transform:translateY(-2px)}.directory-card__icon{width:2.75rem!important;height:2.75rem;margin-bottom:1.5rem!important}.directory-card__icon img{width:2.75rem!important;height:2.75rem!important;object-fit:contain;object-position:left center}.directory-card__title{margin-bottom:1.5rem!important}.directory-card__title .elementor-heading-title{font-size:1.15rem!important;font-weight:500}.directory-card__list ul{margin:0;padding:0;list-style:none}.directory-card__list li{display:flex;padding-block:.45rem;border-bottom:1px solid #cfcfcf;justify-content:space-between;gap:.75rem;font-size:.68rem}.directory-card__list a{flex:0 0 auto;color:var(--uv-color-ink);font-weight:700}
.instagram-placeholder{display:grid!important;min-height:clamp(22rem,42vw,38rem);border:2px dashed #bdbdbd;border-radius:.75rem;background:linear-gradient(135deg,#f5f5f5,#e9e9e9);color:#666;text-align:center;place-content:center}.instagram-placeholder__icon .elementor-heading-title{color:#666!important;font-size:3rem!important}.instagram-placeholder__copy{margin-top:1rem!important}.instagram-placeholder__copy p{color:#666;font-size:.85rem!important;font-weight:600}
.uv-community-cta__inner{align-items:center!important;text-align:center}.uv-community-cta__title{width:100%!important;margin-bottom:1rem!important}.uv-community-cta__title .elementor-heading-title{font-size:clamp(2rem,3vw,3.4rem)!important;line-height:1.08;font-weight:500;text-align:center!important}.uv-community-cta__copy{width:100%!important;margin-bottom:1.875rem!important}.uv-community-cta__copy p{font-size:.82rem!important;line-height:1.45!important;text-align:center!important}.community-final-cta .uv-community-cta__inner{padding-block:4.5rem!important}
.uv-community-page .hero-enter{animation:uv-community-enter 800ms cubic-bezier(.22,1,.36,1) both}.uv-community-page .hero-enter--1{animation-delay:180ms}.uv-community-page .hero-enter--2{animation-delay:300ms}.uv-community-page .hero-enter--3{animation-delay:420ms}@keyframes uv-community-enter{from{opacity:0;transform:translate3d(0,1.5rem,0)}to{opacity:1;transform:none}}
.uv-community-motion-ready .uv-community-motion-reveal{--uv-community-delay:0ms;opacity:0;transform:translate3d(0,1.75rem,0);transition:opacity 700ms cubic-bezier(.22,1,.36,1) var(--uv-community-delay),transform 700ms cubic-bezier(.22,1,.36,1) var(--uv-community-delay)}.uv-community-motion-ready .uv-community-motion-reveal.is-visible{opacity:1;transform:none}.uv-community-motion-delay-1{--uv-community-delay:80ms!important}.uv-community-motion-delay-2{--uv-community-delay:160ms!important}.uv-community-motion-delay-3{--uv-community-delay:240ms!important}
@media(max-width:64rem){.club-contacts__grid,.directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.administration__layout,.news-grid{grid-template-columns:1fr}.news-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:48rem){.uv-community-page .uv-container{width:min(calc(100% - 2rem),var(--uv-container))!important}.community-hero{min-height:calc(100svh - var(--uv-header-height))!important}.community-hero:after{background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.05) 70%)}.community-hero__image img{object-position:58% center}.community-hero__content{padding-top:3rem!important}.community-hero__title{max-width:20rem!important}.community-hero__title .elementor-heading-title{font-size:clamp(2.25rem,11vw,3.6rem)!important}.community-hero__copy{max-width:22rem!important}.community-hero__notice-inner{align-items:flex-start!important}.community-hero__notice-copy p{font-size:.65rem!important}.community-shortcuts__inner,.club-contacts__grid,.documents-grid,.directory-grid,.news-list{grid-template-columns:1fr}.community-shortcuts__inner{gap:.75rem!important}.administration__steps{grid-template-columns:1fr}.administration-step{min-height:13rem}.community-section-heading{align-items:stretch!important;flex-direction:column!important}.community-section-heading .uv-community-button,.community-section-heading .elementor-button{width:100%!important}.news-featured__media{height:16rem}.contact-card,.directory-card{min-height:0}.community-whatsapp{width:100%!important}.club-community-cta .uv-community-button-row,.club-community-cta .uv-community-button,.club-community-cta .elementor-button,.community-final-cta .uv-community-button,.community-final-cta .elementor-button{width:100%!important}}
@media(max-width:30rem){.directory-card__list li{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.uv-community-page .hero-enter,.uv-community-motion-reveal,.community-hero__image img{opacity:1!important;transform:none!important;translate:none!important;animation:none!important;transition:none!important}}

/* Elementor min-height normalization for Comunidad prototype parity. */
.uv-community-page .administration-step{min-height:18rem!important}
.uv-community-page .document-card{min-height:9rem!important}
.uv-community-page .directory-card{min-height:20rem!important}
.uv-community-page .instagram-placeholder{min-height:clamp(22rem,42vw,38rem)!important;padding:0!important}
@media(max-width:48rem){.uv-community-page .administration-step{min-height:13rem!important}.uv-community-page .contact-card,.uv-community-page .directory-card{min-height:0!important}}

.uv-site-header {
    position: relative;
    z-index: 20;
    min-height: var(--uv-header-height);
    background: #000000;
    color: var(--uv-color-white);
    padding: 0 !important;
    overflow: visible !important;
}

.uv-site-header__inner {
    width: min(calc(100% - 3rem), var(--uv-container)) !important;
    max-width: var(--uv-container) !important;
    min-height: var(--uv-header-height);
    margin-inline: auto;
    padding: 0 !important;
    gap: 0 !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    overflow: visible !important;
}

.uv-brand-logo {
    width: auto !important;
    max-width: 50%;
    flex: 0 0 auto !important;
}

.uv-site-header .uv-brand-logo img {
    display: block;
    width: clamp(12rem, 17.5vw, 21.5625rem) !important;
    height: auto !important;
}

.uv-header-actions {
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
    gap: 1.5625rem !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-grow: 0 !important;
    flex: 0 0 auto !important;
    flex-wrap: nowrap !important;
    overflow: visible !important;
}

.uv-header-actions > .elementor-element {
    flex: 0 0 auto !important;
}

.uv-header-contact {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
}

.uv-site-header .uv-header-contact .elementor-button {
    min-height: 2.75rem;
    padding: 0.65rem 1.5rem !important;
    border: 1px solid var(--uv-color-white);
    border-radius: 0.55rem;
    background: transparent;
    color: var(--uv-color-white);
    font-size: 0.88rem !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    transition: background-color var(--uv-transition), color var(--uv-transition);
}

.uv-site-header .uv-header-contact .elementor-button:hover,
.uv-site-header .uv-header-contact .elementor-button:focus-visible {
    background: var(--uv-color-white);
    color: var(--uv-color-ink);
}

.uv-header-menu {
    position: relative;
    width: 2.75rem !important;
    max-width: 2.75rem !important;
    margin: 0 !important;
    flex: 0 0 2.75rem !important;
    overflow: visible !important;
}

.uv-header-menu .elementor-menu-toggle {
    width: 2.75rem;
    height: 2.75rem;
    margin: 0 !important;
    padding: 0 !important;
}

.uv-header-menu .elementor-nav-menu--dropdown {
    position: absolute !important;
    z-index: 100;
    top: calc(100% + 1.1rem) !important;
    right: 0 !important;
    left: auto !important;
    width: min(18rem, calc(100vw - 2rem));
    margin: 0 !important;
    padding: 1rem !important;
    border: 1px solid #3f3f3f;
    border-radius: var(--uv-radius-sm);
    background: #000000;
    box-shadow: var(--uv-shadow-card);
}

.uv-header-menu .elementor-nav-menu--dropdown a {
    padding: 0.85rem 0.9rem;
    color: var(--uv-color-white);
    font-size: 1rem !important;
    line-height: 1.45 !important;
}

.uv-header-menu .elementor-nav-menu--dropdown a:hover,
.uv-header-menu .elementor-nav-menu--dropdown a:focus-visible {
    background: #1b1b1b;
}

.uv-site-footer {
    border-top: 1px solid var(--uv-color-border);
    background: var(--uv-color-white);
    color: var(--uv-color-ink);
    padding: 0 !important;
}

.uv-footer-grid,
.uv-footer-legal {
    width: min(calc(100% - 3rem), var(--uv-container)) !important;
    max-width: var(--uv-container) !important;
    margin-inline: auto !important;
}

.uv-footer-grid {
    padding: 3rem 0 !important;
    gap: 2rem !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
}

.uv-footer-column {
    padding: 0 !important;
    align-items: flex-start !important;
    text-align: left !important;
}

.uv-footer-column > .elementor-element {
    width: 100% !important;
}

.uv-site-footer .uv-footer-column .elementor-heading-title {
    margin-bottom: 0.5rem !important;
    color: var(--uv-color-ink);
    font-size: 0.8rem;
    font-weight: 700;
}

.uv-footer-menu .elementor-nav-menu a {
    min-height: 0;
    width: fit-content !important;
    padding: 0 !important;
    font-size: 0.8rem;
    line-height: 1.2 !important;
    justify-content: flex-start !important;
    text-align: left !important;
}

.uv-footer-menu .elementor-nav-menu,
.uv-footer-menu .elementor-nav-menu > li {
    width: 100%;
    margin: 0 !important;
    align-items: flex-start !important;
}

.uv-site-footer a:hover,
.uv-site-footer a:focus-visible {
    text-decoration: underline;
}

.uv-footer-legal-wrap {
    border-top: 1px solid var(--uv-color-border);
    padding: 0 !important;
}

.uv-footer-legal-wrap > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
}

.uv-footer-legal {
    padding: 1.5rem 0 !important;
}

.uv-footer-legal .elementor-widget-text-editor,
.uv-footer-legal p {
    margin: 0;
    font-size: 0.72rem;
}

.uv-footer-powered {
    width: min(calc(100% - 3rem), var(--uv-container)) !important;
    max-width: var(--uv-container) !important;
    margin-inline: auto !important;
    padding: 0 0 1rem !important;
    align-items: flex-start !important;
    text-align: left;
}

.uv-footer-powered .elementor-widget-text-editor,
.uv-footer-powered p,
.uv-footer-powered a {
    margin: 0;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 10px !important;
    line-height: 1.3 !important;
}

.uv-footer-powered a {
    color: #f58220 !important;
}

@media (max-width: 48rem) {
    :root {
        --uv-header-height: 4.5rem;
    }

    .uv-site-header__inner,
    .uv-footer-grid,
    .uv-footer-legal,
    .uv-footer-powered {
        width: min(calc(100% - 2rem), var(--uv-container)) !important;
    }

    .uv-site-header,
    .uv-site-header__inner {
        min-height: var(--uv-header-height) !important;
        height: var(--uv-header-height) !important;
    }

    .uv-site-header .uv-brand-logo img {
        width: 11rem !important;
    }

    .uv-header-contact {
        display: none !important;
    }

    .uv-header-actions {
        width: auto !important;
    }

    .uv-header-menu .elementor-nav-menu--dropdown {
        top: calc(100% + 0.875rem) !important;
    }

    .uv-footer-grid,
    .uv-footer-legal {
        flex-direction: column !important;
    }
}

/* Homepage: native Elementor structure with prototype-aligned classes. */
.uv-homepage {
    width: 100%;
    max-width: none !important;
    padding: 0 !important;
    gap: 0 !important;
    overflow: hidden;
    color: var(--uv-color-ink);
    font-family: var(--uv-font-sans);
}

.uv-homepage .e-con {
    gap: 0;
}

.uv-homepage .elementor-widget-text-editor p,
.uv-homepage .elementor-heading-title {
    margin: 0;
}

.uv-homepage em {
    font-family: var(--uv-font-serif);
    font-style: italic;
    font-weight: 400;
}

.uv-homepage .uv-container {
    width: min(calc(100% - 3rem), var(--uv-container)) !important;
    max-width: var(--uv-container) !important;
    margin-inline: auto;
    padding: 0 !important;
}

.uv-homepage .section-block {
    position: relative;
    width: 100%;
    max-width: none;
    padding: 0;
}

.uv-homepage .section-block > .e-con-inner {
    padding: 0 !important;
    gap: 0 !important;
}

.uv-homepage .section-block--soft {
    background: var(--uv-color-soft);
}

.uv-homepage .eyebrow,
.uv-homepage .eyebrow .elementor-heading-title,
.uv-homepage .eyebrow p {
    color: inherit;
    font-size: 0.82rem;
    font-weight: 500;
    letter-spacing: 0.045em;
    line-height: 1.45;
    text-transform: uppercase;
}

.uv-homepage .eyebrow strong {
    font-weight: 700;
}

.uv-homepage .eyebrow--dark {
    color: var(--uv-color-ink);
}

.uv-homepage .hero {
    min-height: min(65rem, calc(125svh - 6.875rem));
    overflow: hidden;
    color: var(--uv-color-white);
}

.uv-homepage .hero__image {
    position: absolute;
    z-index: 0;
    inset: 0;
    width: 100% !important;
    height: max(calc(125% - 50px), calc(113.61vw - 50px));
    transform: translate3d(0, var(--hero-image-offset, 0), 0);
    transition: none !important;
    will-change: transform;
}

.uv-homepage .hero__image .elementor-widget-container,
.uv-homepage .hero__image a,
.uv-homepage .hero__image img {
    width: 100%;
    height: 100%;
}

.uv-homepage .hero__image img {
    object-fit: cover;
    object-position: center top;
}

.uv-homepage .hero__content {
    position: relative;
    z-index: 2;
    min-height: inherit;
    padding-top: clamp(5.5rem, 10vw, 9.5rem) !important;
    align-items: flex-start;
}

.uv-homepage .hero .eyebrow {
    margin-bottom: 1.5rem !important;
}

.uv-homepage .hero-title {
    max-width: 58rem !important;
    margin-bottom: 1.5rem !important;
}

.uv-homepage .hero-title .elementor-heading-title {
    color: var(--uv-color-white);
    font-size: clamp(2.2rem, 4vw, 4.6rem);
    font-weight: 500;
    line-height: 1.08;
}

.uv-homepage .hero__lead {
    max-width: 45rem !important;
    margin-bottom: 2rem !important;
}

.uv-homepage .hero__lead p {
    color: var(--uv-color-white);
    font-size: clamp(0.95rem, 1.2vw, 1.12rem) !important;
    line-height: 1.45 !important;
}

.uv-homepage .button-row {
    width: 100%;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 1rem !important;
    padding: 0 !important;
    align-items: center;
}

.uv-homepage .button-row--center {
    justify-content: center;
}

.uv-homepage .uv-button {
    width: auto !important;
}

.uv-homepage .uv-button .elementor-button {
    display: inline-flex;
    min-height: 2.8rem;
    padding: 0.75rem 2rem;
    border: 1.5px solid var(--uv-color-border);
    border-radius: 0.55rem;
    align-items: center;
    justify-content: center;
    background: transparent;
    color: var(--uv-color-ink);
    font-size: 0.82rem;
    font-weight: 600;
    text-align: center;
    transition: color var(--uv-transition), background-color var(--uv-transition), transform var(--uv-transition);
}

.uv-homepage .uv-button .elementor-button:hover,
.uv-homepage .uv-button .elementor-button:focus-visible {
    transform: translateY(-2px);
}

.uv-homepage .uv-button--light-outline .elementor-button {
    border-color: var(--uv-color-white);
    color: var(--uv-color-white);
}

.uv-homepage .uv-button--light-outline .elementor-button:hover,
.uv-homepage .uv-button--light-outline .elementor-button:focus-visible {
    background: var(--uv-color-white);
    color: var(--uv-color-ink);
}

.uv-homepage .uv-button--dark .elementor-button {
    border-color: var(--uv-color-ink);
    background: var(--uv-color-ink);
    color: var(--uv-color-white);
}

.uv-homepage .uv-button--dark .elementor-button:hover,
.uv-homepage .uv-button--dark .elementor-button:focus-visible {
    background: #242424;
}

.uv-homepage .uv-button--outline .elementor-button:hover,
.uv-homepage .uv-button--outline .elementor-button:focus-visible {
    background: var(--uv-color-ink);
    color: var(--uv-color-white);
}

.uv-homepage .stats {
    padding-block: 4.5rem !important;
}

.uv-homepage .stats__grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
}

.uv-homepage .stat {
    width: auto !important;
    padding: 0 2rem !important;
    text-align: center;
}

.uv-homepage .stat + .stat {
    border-left: 1px solid #c9c9c9;
}

.uv-homepage .stat__value .elementor-heading-title {
    margin-bottom: 0.75rem;
    color: var(--uv-color-ink);
    font-size: clamp(2rem, 3vw, 3.25rem);
    font-weight: 600;
    line-height: 1;
}

.uv-homepage .stat__copy p {
    font-size: 0.78rem;
    line-height: 1.45;
}

.uv-homepage .impact__media {
    position: relative;
    height: clamp(24rem, 48vw, 52rem);
    overflow: hidden;
}

.uv-homepage .impact__media-image,
.uv-homepage .impact__media-image .elementor-widget-container,
.uv-homepage .impact__media-image img {
    width: 100% !important;
    height: 100%;
}

.uv-homepage .impact__media-image img {
    object-fit: cover;
}

.uv-homepage .media-play {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 50%;
    display: grid;
    width: 6rem !important;
    height: 6rem;
    border-radius: 1.5rem;
    background: rgba(255, 255, 255, 0.68);
    transform: translate(-50%, -50%);
    place-items: center;
}

.uv-homepage .media-play .elementor-heading-title {
    color: rgba(0, 0, 0, 0.65);
    font-size: 2rem;
    line-height: 1;
}

.uv-homepage .impact__detail {
    display: grid !important;
    padding-block: 4.5rem !important;
    grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
    gap: 3rem !important;
    align-items: center;
}

.uv-homepage .impact__copy {
    width: auto !important;
    max-width: 35rem;
}

.uv-homepage .impact__copy .eyebrow {
    margin-bottom: 1.5rem;
}

.uv-homepage .impact__title {
    margin-bottom: 1.5rem;
}

.uv-homepage .impact__title .elementor-heading-title {
    color: var(--uv-color-ink);
    font-size: clamp(2rem, 3vw, 3.4rem);
    font-weight: 500;
    line-height: 1.08;
}

.uv-homepage .impact__body {
    margin-bottom: 1.5rem;
}

.uv-homepage .impact__body p {
    font-size: 0.92rem;
}

.uv-homepage .text-link a {
    color: var(--uv-color-accent);
    font-size: 0.9rem;
    font-weight: 600;
}

.uv-homepage .text-link a:hover,
.uv-homepage .text-link a:focus-visible {
    text-decoration: underline;
    text-underline-offset: 0.25em;
}

.uv-homepage .impact__detail-image,
.uv-homepage .impact__detail-image .elementor-widget-container,
.uv-homepage .impact__detail-image img {
    width: 100% !important;
    height: clamp(20rem, 35vw, 38rem);
}

.uv-homepage .impact__detail-image img {
    object-fit: cover;
}

.uv-homepage .pathways,
.uv-homepage .features,
.uv-homepage .nature,
.uv-homepage .location {
    padding-block: 4.5rem !important;
}

.uv-homepage .pathways .eyebrow,
.uv-homepage .features .eyebrow,
.uv-homepage .nature .eyebrow,
.uv-homepage .location .eyebrow {
    margin-bottom: 0 !important;
    padding-bottom: 25px !important;
}

.uv-homepage .card-grid--three {
    display: grid !important;
    width: 100%;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem !important;
    padding: 0 !important;
}

.uv-homepage .choice-card {
    width: auto !important;
    min-height: 25rem;
    padding: clamp(1.5rem, 3vw, 2.6rem) !important;
    border: 2px solid transparent;
    border-radius: 1.5rem;
    background: var(--uv-color-white);
    transition: border-color var(--uv-transition), box-shadow var(--uv-transition), transform var(--uv-transition);
}

.uv-homepage .choice-card:hover,
.uv-homepage .choice-card:focus-within {
    border-color: var(--uv-color-accent);
    box-shadow: var(--uv-shadow-card);
    transform: translateY(-2px);
}

.uv-homepage .choice-card__icon {
    width: 5.75rem !important;
    height: 4.671875rem;
    margin-bottom: 25px !important;
}

.uv-homepage .choice-card__icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: left center;
}

.uv-homepage .choice-card__title {
    margin-bottom: 1.5rem !important;
}

.uv-homepage .choice-card__title .elementor-heading-title {
    color: var(--uv-color-ink);
    font-size: clamp(1.65rem, 2.3vw, 2.3rem);
    font-weight: 500;
    line-height: 1.08;
}

.uv-homepage .choice-card__copy {
    margin-bottom: 2rem !important;
}

.uv-homepage .choice-card__copy p {
    font-size: 0.88rem;
}

.uv-homepage .choice-card .uv-button {
    width: min(100%, 14rem) !important;
    margin-top: auto;
    align-self: center;
}

.uv-homepage .choice-card .uv-button .elementor-button {
    width: 100%;
}

.uv-homepage .feature-grid {
    display: grid !important;
    width: 100%;
    grid-template-columns: repeat(5, 1fr);
    gap: 0.625rem !important;
    padding: 0 !important;
}

.uv-homepage .feature {
    display: grid !important;
    width: auto !important;
    min-height: 10.5rem;
    padding: 1.5rem !important;
    border: 1.5px solid var(--uv-color-border);
    border-radius: 1.5rem;
    text-align: center;
    place-items: center;
    transition: border-color var(--uv-transition);
}

.uv-homepage .feature:hover {
    border-color: var(--uv-color-accent);
}

.uv-homepage .feature__icon {
    width: 5.25rem !important;
    height: 4.5rem;
}

.uv-homepage .feature__icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.uv-homepage .feature__title .elementor-heading-title {
    color: var(--uv-color-ink);
    font-size: 0.78rem;
    font-weight: 400;
    line-height: 1.08;
}

.uv-homepage .features__note {
    margin-top: 1.5rem;
}

.uv-homepage .features__note p {
    font-size: 0.78rem;
}

.uv-homepage .nature__grid {
    width: min(100%, 48rem) !important;
    margin: 0 auto 1.5rem;
}

.uv-homepage .nature__grid img {
    width: 100%;
}

.uv-homepage .location__layout {
    display: grid !important;
    width: 100%;
    grid-template-columns: minmax(0, 1.3fr) minmax(18rem, 0.7fr);
    gap: 2rem !important;
    align-items: center;
    padding: 0 !important;
}

.uv-homepage .location__map {
    width: auto !important;
    overflow: hidden;
    border-radius: 1.5rem;
}

.uv-homepage .location__map iframe {
    display: block;
    width: 100%;
    height: clamp(16.5rem, 31.5vw, 27.75rem) !important;
    min-height: 0 !important;
    border: 0;
}

.uv-homepage .location__list {
    width: auto !important;
    gap: 1.5rem !important;
    padding: 0 !important;
}

.uv-homepage .location__item {
    display: grid !important;
    width: 100%;
    grid-template-columns: 2rem 1fr;
    gap: 0.75rem !important;
    padding: 0 !important;
}

.uv-homepage .location__icon {
    width: 1.75rem !important;
    height: 1.75rem;
}

.uv-homepage .location__icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.uv-homepage .location__copy p {
    font-size: 0.9rem;
}

.uv-homepage .location__copy a {
    color: var(--uv-color-accent);
    font-weight: 600;
}

.uv-homepage .cta {
    padding-block: 6.5rem !important;
}

.uv-homepage .cta__inner {
    align-items: center;
    text-align: center;
}

.uv-homepage .cta__title {
    width: 100% !important;
    margin-bottom: 1rem !important;
}

.uv-homepage .cta__title .elementor-heading-title {
    color: var(--uv-color-ink);
    font-size: clamp(2rem, 3vw, 3.3rem);
    font-weight: 500;
    line-height: 1.08;
}

.uv-homepage .cta__copy {
    width: 100% !important;
    margin-bottom: 2rem !important;
}

.uv-homepage .cta__copy p {
    font-size: 0.85rem !important;
    line-height: 1.45 !important;
}

@media (prefers-reduced-motion: no-preference) {
    .uv-homepage.uv-motion-ready .uv-motion-reveal {
        opacity: 0;
        transform: translate3d(0, 1.75rem, 0);
        transition: opacity 700ms cubic-bezier(0.22, 1, 0.36, 1) var(--uv-motion-delay, 0ms),
            transform 700ms cubic-bezier(0.22, 1, 0.36, 1) var(--uv-motion-delay, 0ms);
    }

    .uv-homepage.uv-motion-ready .uv-motion-reveal--left {
        transform: translate3d(-1.75rem, 0, 0);
    }

    .uv-homepage.uv-motion-ready .uv-motion-reveal--right {
        transform: translate3d(1.75rem, 0, 0);
    }

    .uv-homepage.uv-motion-ready .uv-motion-reveal.is-visible {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }

    .uv-homepage .uv-motion-delay-1 { --uv-motion-delay: 90ms; }
    .uv-homepage .uv-motion-delay-2 { --uv-motion-delay: 180ms; }
    .uv-homepage .uv-motion-delay-3 { --uv-motion-delay: 270ms; }
}

@media (max-width: 64rem) {
    .uv-homepage .hero {
        min-height: 56.25rem;
    }

    .uv-homepage .impact__detail {
        gap: 1.5rem !important;
    }

    .uv-homepage .feature-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 48rem) {
    .uv-homepage .uv-container {
        width: min(calc(100% - 2rem), var(--uv-container)) !important;
    }

    .uv-homepage .hero {
        min-height: 52.5rem;
    }

    .uv-homepage .hero::after {
        position: absolute;
        z-index: 1;
        inset: 0;
        background: linear-gradient(180deg, rgba(0, 0, 0, 0.42) 0%, rgba(0, 0, 0, 0.2) 46%, rgba(0, 0, 0, 0) 78%);
        content: "";
        pointer-events: none;
    }

    .uv-homepage .hero__image {
        will-change: transform;
    }

    .uv-homepage .hero__content {
        padding-top: 3.5rem !important;
    }

    .uv-homepage .hero .button-row,
    .uv-homepage .hero .uv-button,
    .uv-homepage .hero .elementor-button {
        width: 100% !important;
    }

    .uv-homepage .stats__grid,
    .uv-homepage .impact__detail,
    .uv-homepage .location__layout {
        grid-template-columns: 1fr;
    }

    .uv-homepage .stat {
        padding-block: 2rem !important;
    }

    .uv-homepage .stat + .stat {
        border-top: 1px solid #c9c9c9;
        border-left: 0;
    }

    .uv-homepage .impact__media {
        height: 27rem;
    }

    .uv-homepage .impact__detail-image {
        grid-row: 1;
    }

    .uv-homepage .impact__detail-image,
    .uv-homepage .impact__detail-image .elementor-widget-container,
    .uv-homepage .impact__detail-image img {
        height: 18rem;
    }

    .uv-homepage .media-play {
        width: 4.5rem !important;
        height: 4.5rem;
    }

    .uv-homepage .card-grid--three {
        grid-template-columns: 1fr;
    }

    .uv-homepage .choice-card {
        min-height: 20rem;
    }

    .uv-homepage .feature-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .uv-homepage .feature:last-child {
        grid-column: 1 / -1;
    }

    .uv-homepage .location__map {
        width: 100% !important;
    }

    .uv-homepage .cta {
        padding-block: 4.5rem !important;
    }

    .uv-homepage.uv-motion-ready .uv-motion-reveal--left,
    .uv-homepage.uv-motion-ready .uv-motion-reveal--right {
        transform: translate3d(0, 1.25rem, 0);
    }
}

@media (max-width: 30rem) {
    .uv-homepage .feature-grid {
        grid-template-columns: 1fr;
    }

    .uv-homepage .feature:last-child {
        grid-column: auto;
    }

    .uv-homepage .nature .button-row,
    .uv-homepage .nature .uv-button,
    .uv-homepage .nature .elementor-button {
        width: 100% !important;
    }
}

@media (prefers-reduced-motion: no-preference) {
    .uv-homepage .hero__image {
        animation: uv-hero-image-enter 1100ms cubic-bezier(0.22, 1, 0.36, 1) both;
    }

    .uv-homepage .hero-enter {
        animation: uv-hero-content-enter 800ms cubic-bezier(0.22, 1, 0.36, 1) both;
    }

    .uv-homepage .hero-enter--1 { animation-delay: 180ms; }
    .uv-homepage .hero-enter--2 { animation-delay: 300ms; }
    .uv-homepage .hero-enter--3 { animation-delay: 420ms; }
    .uv-homepage .hero-enter--4 { animation-delay: 540ms; }
}

@keyframes uv-hero-image-enter {
    from { opacity: 0.72; scale: 1.035; }
    to { opacity: 1; scale: 1; }
}

@keyframes uv-hero-content-enter {
    from { opacity: 0; transform: translate3d(0, 1.5rem, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
}

/* Nuestra historia: native Elementor reconstruction of the approved HTML prototype. */
.uv-history-page {
    width: 100%;
    max-width: none !important;
    padding: 0 !important;
    gap: 0 !important;
    overflow: hidden;
    color: var(--uv-color-ink);
    font-family: var(--uv-font-sans);
}

.uv-history-page .e-con {
    gap: 0;
}

.uv-history-page .elementor-widget-text-editor p,
.uv-history-page .elementor-heading-title,
.uv-history-page blockquote {
    margin: 0;
}

.uv-history-page em {
    font-family: var(--uv-font-serif);
    font-style: italic;
    font-weight: 400;
}

.uv-history-page .uv-container {
    width: min(calc(100% - 3rem), var(--uv-container)) !important;
    max-width: var(--uv-container) !important;
    margin-inline: auto !important;
    padding: 0 !important;
}

.uv-history-page .uv-container--narrow {
    max-width: 68rem !important;
}

.uv-history-page .uv-history-section {
    position: relative;
    width: 100%;
    max-width: none;
    padding: 0;
}

.uv-history-page .uv-history-section > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    gap: 0 !important;
}

.uv-history-page .uv-history-section--soft {
    background: var(--uv-color-soft);
}

.uv-history-eyebrow,
.uv-history-eyebrow .elementor-heading-title,
.uv-history-eyebrow p {
    color: inherit;
    font-size: 0.82rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.045em;
    line-height: 1.45 !important;
    text-transform: uppercase;
}

.uv-history-eyebrow strong {
    font-weight: 700;
}

.uv-history-eyebrow--dark {
    color: var(--uv-color-ink);
}

.uv-history-page .history-hero {
    height: calc(100vh - var(--uv-header-height));
    height: calc(100dvh - var(--uv-header-height));
    overflow: hidden;
    color: var(--uv-color-white);
}

.uv-history-page .history-hero::after {
    position: absolute;
    z-index: 1;
    inset: 0;
    background: linear-gradient(90deg, rgba(0, 35, 62, 0.52), rgba(0, 35, 62, 0.12) 68%, transparent);
    content: "";
    pointer-events: none;
}

.uv-history-page .history-hero__image {
    position: absolute;
    z-index: 0;
    inset: 0;
    width: 100% !important;
    height: 100%;
}

.uv-history-page .history-hero__image .elementor-widget-container,
.uv-history-page .history-hero__image img {
    width: 100%;
    height: calc(100% + 2.5rem);
}

.uv-history-page .history-hero__image img {
    margin-top: -1.25rem;
    object-fit: cover;
    object-position: center 44%;
    translate: 0 var(--uv-history-parallax-y, 0px);
    will-change: translate;
}

.uv-history-page .history-hero__content {
    position: relative;
    z-index: 2;
    min-height: 100%;
    padding-top: clamp(4.5rem, 9vw, 9rem) !important;
    align-items: flex-start;
}

.uv-history-page .history-hero__content .uv-history-eyebrow {
    margin-bottom: 1.5rem !important;
    color: var(--uv-color-white) !important;
}

.uv-history-page .history-hero__content .uv-history-eyebrow p {
    color: var(--uv-color-white) !important;
}

.uv-history-page .history-hero__title {
    width: 100% !important;
    max-width: 61rem !important;
    margin-bottom: 1.5rem !important;
}

.uv-history-page .history-hero__title .elementor-heading-title {
    color: var(--uv-color-white);
    font-size: clamp(2.25rem, 4vw, 4.5rem) !important;
    font-weight: 500;
    line-height: 1.08;
}

.uv-history-page .history-hero__lead {
    width: 100% !important;
    max-width: 58rem !important;
}

.uv-history-page .history-hero__lead p {
    color: var(--uv-color-white);
    font-size: clamp(0.9rem, 1.05vw, 1rem) !important;
    line-height: 1.45 !important;
}

.uv-history-page .history-intro,
.uv-history-page .history-timeline,
.uv-history-page .recognition,
.uv-history-page .legacy-cta {
    padding-block: 4.5rem !important;
}

.uv-history-page .history-intro__title {
    width: 100% !important;
    margin-bottom: 1rem !important;
}

.uv-history-page .history-intro__title .elementor-heading-title {
    color: var(--uv-color-ink);
    font-size: clamp(2rem, 3.2vw, 3.5rem) !important;
    font-weight: 500;
    line-height: 1.08;
}

.uv-history-page .history-intro__lead {
    width: 100% !important;
    max-width: 49rem !important;
    margin-bottom: 2rem !important;
}

.uv-history-page .history-intro__lead p {
    font-size: 0.86rem !important;
}

.uv-history-page .history-video {
    position: relative;
    width: 100% !important;
    aspect-ratio: 2466 / 1241;
    margin-block: 2rem !important;
    padding: 0 !important;
    overflow: hidden;
    border-radius: 0.25rem;
    background: var(--uv-color-soft-strong);
}

.uv-history-page .history-video::after {
    position: absolute;
    z-index: 1;
    inset: 0;
    background: rgba(255, 255, 255, 0.08);
    content: "";
    pointer-events: none;
}

.uv-history-page .history-video__image,
.uv-history-page .history-video__image .elementor-widget-container,
.uv-history-page .history-video__image img {
    width: 100% !important;
    height: 100%;
}

.uv-history-page .history-video__image img {
    object-fit: cover;
}

.uv-history-page .history-video__play {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 50%;
    display: grid;
    width: clamp(4.5rem, 8vw, 7rem) !important;
    aspect-ratio: 1;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.68);
    translate: -50% -50%;
    place-items: center;
}

.uv-history-page .history-video__play .elementor-heading-title {
    color: rgba(255, 255, 255, 0.92);
    font-size: clamp(1.4rem, 3vw, 2.4rem) !important;
    line-height: 1;
}

.uv-history-page .founders {
    width: 100% !important;
    padding: 0 !important;
    align-items: center;
}

.uv-history-page .founders__image {
    width: min(100%, 72rem) !important;
}

.uv-history-page .founders__image img {
    width: 100%;
}

.uv-history-page .founders__quote {
    width: 100% !important;
    max-width: 58rem !important;
    margin: 1.5rem auto 0 !important;
}

.uv-history-page .founders__quote blockquote {
    margin: 0;
    font-family: var(--uv-font-serif);
    font-size: clamp(1.3rem, 2vw, 2rem);
    line-height: 1.18;
    text-align: center;
}

.uv-history-page .history-timeline__title {
    width: 100% !important;
    margin-bottom: 1rem !important;
}

.uv-history-page .history-timeline-list {
    position: relative;
    width: 100% !important;
    padding: 1.5rem 0 !important;
}

.uv-history-page .history-timeline-list::before {
    position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 2px;
    background: #111111;
    content: "";
    translate: -50% 0;
}

.uv-history-page .history-timeline-item {
    position: relative;
    z-index: 2;
    display: grid !important;
    width: 100% !important;
    height: clamp(12rem, 15vw, 14rem);
    padding: 0 !important;
    grid-template-columns: minmax(0, 1fr) 7rem minmax(0, 1fr);
    align-items: center;
}

.uv-history-page .history-timeline-media {
    display: grid !important;
    width: auto !important;
    padding: 0 1.5rem 0 0 !important;
    opacity: 0;
    visibility: hidden;
    transform: translateY(1rem);
    grid-column: 1;
    grid-row: 1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.35rem !important;
    transition: opacity 350ms ease, transform 450ms cubic-bezier(0.22, 1, 0.36, 1), visibility 0s linear 450ms;
}

.uv-history-page .history-timeline-image,
.uv-history-page .history-timeline-image .elementor-widget-container {
    width: 100% !important;
    height: 100%;
}

.uv-history-page .history-timeline-image img {
    width: 100%;
    height: clamp(8rem, 13vw, 13rem);
    border-radius: 1.35rem;
    object-fit: cover;
}

.uv-history-page .history-timeline-marker {
    position: relative;
    z-index: 3;
    display: block;
    width: 100% !important;
    height: 100%;
    grid-column: 2;
    grid-row: 1;
}

.uv-history-page .history-timeline-marker::before {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0.9rem;
    height: 0.9rem;
    border: 2px solid #111111;
    border-radius: 50%;
    background: #111111;
    content: "";
    translate: -50% -50%;
    transition: border-color var(--uv-transition), background-color var(--uv-transition), scale var(--uv-transition);
}

.uv-history-page .history-timeline-marker .elementor-heading-title {
    position: absolute;
    top: 50%;
    left: calc(50% + 1rem);
    min-width: 4.8rem;
    color: var(--uv-color-ink);
    font-size: 0.75rem !important;
    font-weight: 700;
    line-height: 1.15;
    text-align: left;
    text-transform: uppercase;
    translate: 0 -50%;
}

.uv-history-page .history-timeline-item--future .history-timeline-marker .elementor-heading-title {
    right: calc(50% + 1rem);
    left: auto;
    min-width: 7.5rem;
    text-align: right;
}

.uv-history-page .history-timeline-copy {
    width: auto !important;
    padding: 0 0 0 1.5rem !important;
    grid-column: 3;
    grid-row: 1;
}

.uv-history-page .history-timeline-copy__title {
    width: 100% !important;
    max-width: 25rem !important;
    margin-bottom: 0.75rem !important;
}

.uv-history-page .history-timeline-copy__title .elementor-heading-title {
    color: var(--uv-color-ink);
    font-size: clamp(1.2rem, 1.8vw, 1.8rem) !important;
    font-weight: 500;
    line-height: 1.12;
}

.uv-history-page .history-timeline-copy__body {
    width: 100% !important;
    max-width: 23rem !important;
}

.uv-history-page .history-timeline-copy__body p {
    margin: 0;
    font-size: 0.78rem !important;
}

.uv-history-page .history-timeline-item:hover .history-timeline-media,
.uv-history-page .history-timeline-item:focus-within .history-timeline-media {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition-delay: 0s;
}

.uv-history-page .history-timeline-item:hover .history-timeline-marker::before,
.uv-history-page .history-timeline-item:focus-within .history-timeline-marker::before {
    border-color: var(--uv-color-accent);
    background: var(--uv-color-accent);
    scale: 1.4;
}

.uv-history-page .bridge-story__visual {
    position: relative;
    min-height: clamp(32rem, 54vw, 55rem);
    padding: 0 !important;
    overflow: hidden;
    color: var(--uv-color-ink);
}

.uv-history-page .bridge-story__visual::after {
    position: absolute;
    z-index: 1;
    inset: 0;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.72), transparent 38%);
    content: "";
    pointer-events: none;
}

.uv-history-page .bridge-story__image {
    position: absolute;
    z-index: 0;
    inset: 0;
    width: 100% !important;
    height: 100%;
}

.uv-history-page .bridge-story__image .elementor-widget-container,
.uv-history-page .bridge-story__image img {
    width: 100%;
    height: calc(100% + 2.5rem);
}

.uv-history-page .bridge-story__image img {
    margin-top: -1.25rem;
    object-fit: cover;
    object-position: center 58%;
    translate: 0 var(--uv-history-parallax-y, 0px);
    will-change: translate;
}

.uv-history-page .bridge-stats {
    position: relative;
    z-index: 2;
    display: grid !important;
    padding-top: 3rem !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem !important;
}

.uv-history-page .bridge-stat {
    width: auto !important;
    text-align: center;
}

.uv-history-page .bridge-stat__value .elementor-heading-title {
    color: var(--uv-color-ink);
    font-size: clamp(2.2rem, 4vw, 4.5rem) !important;
    font-weight: 600;
    line-height: 1;
}

.uv-history-page .bridge-stat__copy {
    width: 100% !important;
    max-width: 13rem !important;
    margin: 0.75rem auto 0 !important;
}

.uv-history-page .bridge-stat__copy p {
    font-size: 0.68rem !important;
}

.uv-history-page .bridge-story__name {
    position: relative;
    z-index: 2;
    width: 100% !important;
    margin-top: 1.5rem !important;
    text-align: center;
}

.uv-history-page .bridge-story__name .elementor-heading-title {
    color: var(--uv-color-ink);
    font-family: var(--uv-font-serif);
    font-size: clamp(1.5rem, 2.5vw, 2.7rem) !important;
    font-weight: 400;
}

.uv-history-page .bridge-story__copy {
    display: grid !important;
    padding-block: 3rem !important;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 3rem !important;
    align-items: center;
}

.uv-history-page .bridge-story__body {
    width: auto !important;
}

.uv-history-page .bridge-story__title {
    margin-bottom: 1.5rem !important;
}

.uv-history-page .bridge-story__title .elementor-heading-title {
    color: var(--uv-color-ink);
    font-size: clamp(2rem, 3.2vw, 3.5rem) !important;
    font-weight: 500;
    line-height: 1.08;
}

.uv-history-page .bridge-story__text {
    max-width: 58rem !important;
}

.uv-history-page .bridge-story__text p {
    margin-bottom: 1rem;
    font-size: 0.86rem !important;
    line-height: 1.45 !important;
}

.uv-history-page .uv-history-button,
.uv-history-page .uv-history-button-row > .elementor-element {
    width: auto !important;
}

.uv-history-page .uv-history-button .elementor-button {
    display: inline-flex;
    min-height: 2.8rem;
    padding: 0.75rem 2rem;
    border: 1.5px solid var(--uv-color-border);
    border-radius: 0.55rem;
    align-items: center;
    justify-content: center;
    background: transparent;
    color: var(--uv-color-ink);
    font-size: 0.82rem;
    font-weight: 600;
    text-align: center;
    transition: color var(--uv-transition), background-color var(--uv-transition), transform var(--uv-transition);
}

.uv-history-page .uv-history-button .elementor-button:hover,
.uv-history-page .uv-history-button .elementor-button:focus-visible {
    background: var(--uv-color-ink);
    color: var(--uv-color-white);
    transform: translateY(-2px);
}

.uv-history-page .recognition__eyebrow {
    margin-bottom: 1.5rem !important;
}

.uv-history-page .recognition__layout {
    display: grid !important;
    width: 100% !important;
    padding: 0 !important;
    margin-bottom: 3rem !important;
    grid-template-columns: minmax(12rem, 0.75fr) minmax(0, 1.25fr);
    gap: 3rem !important;
    align-items: center;
}

.uv-history-page .recognition__medal {
    width: min(100%, 16rem) !important;
    margin-inline: auto !important;
    mix-blend-mode: multiply;
}

.uv-history-page .recognition__copy {
    width: auto !important;
    align-items: center;
    text-align: center;
}

.uv-history-page .recognition__title {
    width: 100% !important;
    margin-bottom: 1.5rem !important;
}

.uv-history-page .recognition__title .elementor-heading-title {
    color: var(--uv-color-ink);
    font-size: clamp(2rem, 3.2vw, 3.5rem) !important;
    font-weight: 500;
    line-height: 1.08;
}

.uv-history-page .recognition__text {
    width: 100% !important;
    max-width: 42rem !important;
    margin: 0 auto 1rem !important;
}

.uv-history-page .recognition__text p {
    font-size: 0.86rem !important;
    line-height: 1.45 !important;
}

.uv-history-page .uv-history-text-link a {
    color: var(--uv-color-accent);
    font-size: 0.9rem;
    font-weight: 600;
}

.uv-history-page .principles-grid {
    display: grid !important;
    width: 100% !important;
    padding: 0 !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.55rem !important;
}

.uv-history-page .principle-card {
    width: auto !important;
    min-height: 22rem;
    padding: clamp(1.5rem, 3vw, 2.5rem) !important;
    border: 2px solid transparent;
    border-radius: 1.5rem;
    background: var(--uv-color-white);
    transition: border-color var(--uv-transition), box-shadow var(--uv-transition), transform var(--uv-transition);
}

.uv-history-page .principle-card:hover,
.uv-history-page .principle-card:focus-within {
    border-color: var(--uv-color-accent);
    box-shadow: var(--uv-shadow-card);
    transform: translateY(-2px);
}

.uv-history-page .principle-card__icon {
    margin-bottom: 1.5rem !important;
}

.uv-history-page .principle-card__icon .elementor-heading-title {
    color: var(--uv-color-ink);
    font-size: 2.2rem !important;
}

.uv-history-page .principle-card__label,
.uv-history-page .principle-card__title {
    margin-bottom: 1.5rem !important;
}

.uv-history-page .principle-card__title .elementor-heading-title {
    color: var(--uv-color-ink);
    font-size: clamp(1.45rem, 2.2vw, 2.2rem) !important;
    font-weight: 500;
    line-height: 1.08;
}

.uv-history-page .principle-card__copy p {
    font-size: 0.78rem !important;
}

.uv-history-page .legacy-cta__inner {
    align-items: center;
    text-align: center;
}

.uv-history-page .legacy-cta__title {
    width: 100% !important;
    margin-bottom: 1rem !important;
}

.uv-history-page .legacy-cta__title .elementor-heading-title {
    color: var(--uv-color-ink);
    font-size: clamp(2rem, 3vw, 3.2rem) !important;
    font-weight: 500;
    line-height: 1.08;
}

.uv-history-page .legacy-cta__copy {
    width: 100% !important;
    margin-bottom: 2rem !important;
}

.uv-history-page .legacy-cta__copy p {
    font-size: 0.84rem !important;
}

.uv-history-page .uv-history-button-row {
    display: flex !important;
    width: 100% !important;
    padding: 0 !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 1rem !important;
    justify-content: center;
}

@media (prefers-reduced-motion: no-preference) {
    .uv-history-page .hero-enter {
        animation: uv-hero-content-enter 800ms cubic-bezier(0.22, 1, 0.36, 1) both;
    }

    .uv-history-page .hero-enter--1 { animation-delay: 180ms; }
    .uv-history-page .hero-enter--2 { animation-delay: 300ms; }
    .uv-history-page .hero-enter--3 { animation-delay: 420ms; }

    .uv-history-page.uv-history-motion-ready .uv-history-motion-reveal {
        opacity: 0;
        transform: translate3d(0, 1.75rem, 0);
        transition: opacity 700ms cubic-bezier(0.22, 1, 0.36, 1) var(--uv-history-motion-delay, 0ms),
            transform 700ms cubic-bezier(0.22, 1, 0.36, 1) var(--uv-history-motion-delay, 0ms);
    }

    .uv-history-page.uv-history-motion-ready .uv-history-motion-reveal.is-visible {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }

    .uv-history-page .uv-history-motion-delay-1 { --uv-history-motion-delay: 80ms; }
    .uv-history-page .uv-history-motion-delay-2 { --uv-history-motion-delay: 160ms; }
    .uv-history-page .uv-history-motion-delay-3 { --uv-history-motion-delay: 240ms; }
}

@media (max-width: 64rem) {
    .uv-history-page .history-timeline-item {
        grid-template-columns: minmax(0, 1fr) 6rem minmax(0, 1fr);
    }

    .uv-history-page .history-timeline-media {
        padding-right: 1rem !important;
    }

    .uv-history-page .history-timeline-copy {
        padding-left: 1rem !important;
    }
}

@media (max-width: 48rem) {
    .uv-history-page .uv-container {
        width: min(calc(100% - 2rem), var(--uv-container)) !important;
    }

    .uv-history-page .history-hero::after {
        background: linear-gradient(180deg, rgba(0, 35, 62, 0.62), rgba(0, 35, 62, 0.2) 78%, transparent);
    }

    .uv-history-page .history-hero__image img {
        object-position: 58% center;
    }

    .uv-history-page .history-hero__content {
        padding-top: 3rem !important;
    }

    .uv-history-page .founders__quote blockquote {
        font-size: 1.35rem;
    }

    .uv-history-page .history-timeline-list {
        gap: 1.5rem !important;
    }

    .uv-history-page .history-timeline-list::before {
        left: 0.45rem;
        translate: 0;
    }

    .uv-history-page .history-timeline-item,
    .uv-history-page .history-timeline-item:hover,
    .uv-history-page .history-timeline-item:focus-within {
        display: grid !important;
        height: auto;
        min-height: 0;
        padding: 0 0 0 2.4rem !important;
        grid-template-columns: 1fr;
        gap: 0.125rem !important;
    }

    .uv-history-page .history-timeline-marker {
        position: relative;
        left: -2.4rem;
        display: grid;
        width: max-content !important;
        max-width: calc(100% + 2.4rem);
        height: auto;
        margin-bottom: 0.5rem !important;
        grid-column: 1;
        grid-row: 1;
        grid-template-columns: 0.9rem max-content;
        column-gap: 0.65rem;
    }

    .uv-history-page .history-timeline-marker::before {
        position: static;
        align-self: center;
        translate: none;
    }

    .uv-history-page .history-timeline-marker .elementor-heading-title,
    .uv-history-page .history-timeline-item--future .history-timeline-marker .elementor-heading-title {
        position: static;
        min-width: 0;
        font-size: 1rem !important;
        text-align: left;
        translate: none;
    }

    .uv-history-page .history-timeline-media,
    .uv-history-page .history-timeline-copy,
    .uv-history-page .history-timeline-item:hover .history-timeline-media,
    .uv-history-page .history-timeline-item:focus-within .history-timeline-media {
        width: 100% !important;
        max-height: none;
        padding: 0 !important;
        overflow: visible;
        opacity: 1;
        visibility: visible;
        transform: none;
        grid-column: 1;
    }

    .uv-history-page .history-timeline-media {
        grid-row: 2;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.4rem !important;
    }

    .uv-history-page .history-timeline-copy {
        grid-row: 3;
    }

    .uv-history-page .history-timeline-image img {
        height: clamp(5.5rem, 24vw, 7.5rem);
        border-radius: 0.75rem;
    }

    .uv-history-page .history-timeline-copy__title {
        padding-top: 0.35rem;
    }

    .uv-history-page .bridge-stats,
    .uv-history-page .recognition__layout,
    .uv-history-page .principles-grid,
    .uv-history-page .bridge-story__copy {
        grid-template-columns: 1fr;
    }

    .uv-history-page .bridge-story__visual {
        min-height: 44rem;
    }

    .uv-history-page .bridge-stats {
        gap: 1rem !important;
    }

    .uv-history-page .bridge-story__copy {
        gap: 1.5rem !important;
    }

    .uv-history-page .bridge-story__button,
    .uv-history-page .bridge-story__button .elementor-button,
    .uv-history-page .legacy-cta .uv-history-button,
    .uv-history-page .legacy-cta .elementor-button {
        width: 100% !important;
    }

    .uv-history-page .principle-card {
        min-height: 18rem;
    }

    .uv-history-page .uv-history-button-row {
        flex-direction: column !important;
    }

    .uv-history-page.uv-history-motion-ready .uv-history-motion-reveal {
        transform: translate3d(0, 1.25rem, 0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .uv-history-page .history-hero__image img,
    .uv-history-page .bridge-story__image img {
        translate: none;
        will-change: auto;
    }

    .uv-history-page .history-timeline-media {
        transition: none;
    }
}

/* Desktop: first hero text block starts 100px below the header. */
@media (min-width: 1025px) {
    body .elementor .uv-container:is(
        .hero__content,
        .history-hero__content,
        .club-hero__content,
        .community-hero__content,
        .urban-hero__intro,
        .contact-hero__content
    ) {
        margin-top: 0 !important;
        padding-top: 100px !important;
    }

    body .elementor .contact-hero > .e-con-inner {
        padding-top: 0 !important;
    }
}
