/* Adaptaciones de Kulturgo sobre los estilos compartidos de Alkimo. */
.kulturgo-site .corporate-link {
    margin-left: 1rem;
    font-size: 0.72rem;
    letter-spacing: 0.04em;
}

/* Medidas y jerarquía de Kulturgo con la tipografía de Alkimo. */
.kulturgo-site .slide-navigation {
    width: 150px;
    padding: 0;
    overflow: visible;
    font-family: "Encode Sans", system-ui, sans-serif;
}

.kulturgo-site .slide-navigation ol { display: block; }
.kulturgo-site .slide-navigation li { width: 150px; margin-bottom: 10px; }
.kulturgo-site .slide-navigation .navigation-subitem { width: 100px; margin-left: 50px; }
.kulturgo-site .slide-navigation a {
    display: block;
    width: auto;
    min-height: 0;
    margin-left: 0;
    margin-right: 0;
    padding: 5px 10px;
    font-weight: 400;
    line-height: 1.5;
    color: #fff;
    background: #333;
    transition: transform 0.3s ease, margin-right 0.3s ease;
}
.kulturgo-site .slide-navigation .navigation-subitem a { padding-top: 1px; }
.kulturgo-site .slide-navigation .navigation-label { font: inherit; }
.kulturgo-site .slide-navigation a:hover,
.kulturgo-site .slide-navigation a:focus-visible,
.kulturgo-site .slide-navigation a[aria-current="true"] {
    width: auto;
    margin-left: 0;
    margin-right: -20px;
    transform: translateX(-20px);
    font-weight: 600;
    color: #fff;
    background: #bdbdbd;
}
.mobile-copy { display: none; }
.kulturgo-site .project-description p:last-child { margin-bottom: 0; }
.kulturgo-site .project-button { border: 0; }
.kulturgo-site .kultur-go-button canvas {
    display: block;
    width: 9.25em;
    height: 1.25em;
}
.kulturgo-site .project-title strong { font-weight: 800; }

.kulturgo-site .project-slide:not(.slide-kultur-play) {
    height: 100svh;
    min-height: 100svh;
    padding-bottom: 1rem;
}

.kulturgo-site .project-slide:not(.slide-kultur-play) > .project-panel {
    max-height: calc(100svh - var(--header-height) - 1rem);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
}

.kulturgo-site .project-youtube-video { flex: 0 0 auto; }
@media (min-width: 48.001rem) {
    .kulturgo-site #kultur-go .kultur-go-panel {
        width: min(46rem, calc(100vw - 19rem));
    }
}
.kulturgo-site .kultur-play-phone iframe { width: 86%; }
.kultur-narrative-overlay { background: rgba(255, 255, 255, 0.42); }
/* Degradado de portada, Exterior, Interior y Autogestión del Kulturgo original. */
.kulturgo-site #home .kultur-narrative-overlay,
.kulturgo-site :is(#kultur-go-1, #kultur-go-2, #kultur-go-5) .kultur-narrative-overlay {
    background: radial-gradient(circle at 480px 50%, white, #ffffffcc, #ffffff33, transparent);
}
.kulturgo-site #home .narrative-panel,
.kulturgo-site :is(#kultur-go-1, #kultur-go-2, #kultur-go-5) .narrative-panel {
    background: transparent;
    clip-path: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}
.kulturgo-site .narrative-panel {
    align-self: center;
    width: min(52rem, calc(100vw - 20rem));
    color: #202020;
    background: rgba(255, 255, 255, 0.65);
}

.kulturgo-site .narrative-panel .project-title {
    font-size: clamp(1.8rem, 3.2vw, 3.2rem) !important;
    font-weight: 600 !important;
}

.kulturgo-site .narrative-panel .project-description {
    font-size: clamp(1rem, 1.35vw, 1.3rem);
}

/* Tamaños del original para Exterior, Interior y Autogestión, conservando Encode Sans. */
.kulturgo-site :is(#kultur-go-1, #kultur-go-2, #kultur-go-5) .narrative-panel {
    font-family: "Encode Sans", system-ui, sans-serif;
}
.kulturgo-site :is(#kultur-go-1, #kultur-go-2, #kultur-go-5) .project-title {
    font-size: 2.5rem !important;
    line-height: 1.2 !important;
}
.kulturgo-site :is(#kultur-go-1, #kultur-go-2, #kultur-go-5) .project-description {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.5;
}

.kultur-specs > .project-panel { width: min(44rem, calc(100vw - 40rem)); }
.kultur-specs .project-description li { margin-bottom: 0.65rem; }
.kultur-gallery {
    position: absolute;
    top: calc(var(--header-height) + 2rem);
    right: 12rem;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    width: min(25vw, 25rem);
}
.kultur-gallery img { max-width: 100%; height: min(34vh, 20rem); object-fit: contain; }
.kulturgo-site[data-active-slide="contact"] .grecaptcha-badge { visibility: visible; }

@media (min-width: 48.001rem) and (max-width: 75rem) {
    .kulturgo-site .project-panel { margin-left: 0; }
    .kulturgo-site .kultur-specs > .project-panel { width: calc(100vw - 30rem); }
    .kulturgo-site .kultur-specs .kultur-go-phone { width: 13rem; left: auto; right: 11rem; transform: none; }
    .kulturgo-site .kultur-gallery { width: 15rem; right: 10rem; }
    .kulturgo-site .kultur-play-layout {
        grid-template-columns: minmax(10rem, 16rem) minmax(0, 1fr);
        margin-left: 1rem;
        margin-right: 10rem;
        overflow-y: auto;
        overflow-x: hidden;
    }
    .kulturgo-site .kultur-play-phone { width: 100%; }
    .kulturgo-site .kultur-play-panel { display: block; top: 0; padding: 1rem; }
}

@media (max-width: 48rem) {
    .kulturgo-site #home .kultur-narrative-overlay,
    .kulturgo-site :is(#kultur-go-1, #kultur-go-2, #kultur-go-5) .kultur-narrative-overlay { background: #ffffffee; }
    .kulturgo-site :is(#kultur-go-1, #kultur-go-2, #kultur-go-5) .project-title { font-size: calc(2rem + .6vw) !important; }
    .desktop-copy { display: none; }
    .mobile-copy { display: block; }
    .kulturgo-site .corporate-link { display: none; }
    .kulturgo-site .mobile-menu { justify-content: flex-start; }
    .kulturgo-site .project-slide:not(.slide-kultur-play) { padding-bottom: 0; }
    .kulturgo-site .project-slide:not(.slide-kultur-play) > .project-panel {
        width: 100%;
        height: calc(100svh - var(--header-height));
        min-height: 0;
        max-height: none;
        margin: 0;
        padding: 1.5rem 1.25rem 2rem;
    }
    .kulturgo-site .narrative-panel { justify-content: center; background: rgba(255,255,255,0.7); }
    .kulturgo-site .narrative-panel .project-title { font-size: 1.9rem !important; }
    .kulturgo-site .narrative-panel .project-description { font-size: 1rem; }
    .kulturgo-site .kultur-specs .project-description { text-align: left; }
    .kultur-gallery { display: none; }
    .kulturgo-site .kultur-play-layout { overflow-y: auto; }
    .kulturgo-site .kultur-play-content-scroll { flex: 0 0 auto; overflow: visible; }
    .kulturgo-site .kultur-play-phone { width: min(10rem, 40vw); }
}

@media (max-width: 48rem) and (max-height: 700px) {
    .kulturgo-site .narrative-panel { justify-content: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
    .fullpage { scroll-behavior: auto; }
}
/* Fondos y contenido visual del Kulturgo original. */
.kulturgo-site .slide:not(.slide-contacto)::before,
.kulturgo-site .slide:not(.slide-contacto)::after { content: none; }
.kulturgo-site .project-panel { font-family: "Encode Sans", system-ui, sans-serif; }
.kulturgo-site :is(#kultur-go-3, #kultur-go-6, #kultur-play-3) .kultur-narrative-overlay {
    background: radial-gradient(circle at 480px 50%, white, #ffffffcc, #ffffff33, transparent);
}
.kulturgo-site .original-gradient-panel {
    color: #202020;
    background: transparent;
    clip-path: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}
.kulturgo-site :is(#kultur-go, #kultur-go-4, #kultur-play-1, #kultur-play-2) .project-panel {
    color: var(--header-text);
    background: rgb(var(--header-color) / var(--header-opacity));
    transition: background-color 650ms ease, color 650ms ease;
    -webkit-backdrop-filter: blur(0.85rem);
    backdrop-filter: blur(0.85rem);
}
@media (prefers-reduced-motion: reduce) {
    .kulturgo-site :is(#kultur-go, #kultur-go-4, #kultur-play-1, #kultur-play-2) .project-panel {
        transition: none;
    }
}
/* Solo los títulos que el original muestra en mayúsculas. */
.kulturgo-site :is(#home, #kultur-go, #kultur-go-4, #kultur-go-3, #kultur-go-6, #kultur-play, #kultur-play-1, #kultur-play-2, #kultur-play-3) .project-title {
    text-transform: uppercase;
}
@media (max-width: 48rem) {
    .kulturgo-site :is(#kultur-go-3, #kultur-go-6, #kultur-play-3) .kultur-narrative-overlay { background: #ffffffee; }
}

/* Distribución de Tecnología y Diversión según las secciones originales. */
.kulturgo-site :is(#kultur-go-3, #kultur-go-6, #kultur-play-3) { padding-left: 0; padding-right: 0; }
.kulturgo-site :is(#kultur-go-3, #kultur-go-6, #kultur-play-3) > .project-panel {
    align-self: center;
    width: min(730px, calc(100vw - 430px));
    margin-left: 230px;
    padding: 0;
}
.kulturgo-site :is(#kultur-go-3, #kultur-go-6, #kultur-play-3) .project-description ul { margin: 0 0 16px; padding-left: 32px; }
.kulturgo-site :is(#kultur-go-3, #kultur-go-6, #kultur-play-3) .project-description li { margin-bottom: 12px; }
.kulturgo-site :is(#kultur-go-3, #kultur-go-6, #kultur-play-3) .project-description li::marker { color: #f6511b; }
.kulturgo-site :is(#kultur-go-3, #kultur-go-6, #kultur-play-3) .kultur-go-phone {
    display: block;
    top: 50%;
    left: 1200px;
    right: auto;
    width: 380px;
    height: 770px;
    transform: translateY(-50%);
}
@media (max-width: 1800px) {
    .kulturgo-site :is(#kultur-go-3, #kultur-go-6, #kultur-play-3) .kultur-go-phone { left: 1000px; }
}
@media (max-width: 1280px), (max-height: 900px) {
    .kulturgo-site :is(#kultur-go-3, #kultur-go-6, #kultur-play-3) .kultur-go-phone { display: none; }
}
@media (min-width: 48.001rem) and (max-width: 1100px) {
    .kulturgo-site :is(#kultur-go-3, #kultur-go-6, #kultur-play-3) > .project-panel { margin-left: 48px; width: calc(100vw - 260px); }
}
@media (max-width: 48rem) {
    .kulturgo-site :is(#kultur-go-3, #kultur-go-6, #kultur-play-3) > .project-panel {
        width: 100%;
        height: auto;
        max-height: calc(100svh - var(--header-height));
        margin: 0;
        padding: 30px;
    }
        }
/* KulturPLAY!: vídeo a la izquierda y columna de texto del original. */
.kulturgo-site #kultur-play .kultur-play-layout {
    position: absolute;
    inset: 60px auto auto 415px;
    display: grid;
    grid-template-columns: 360px 300px;
    gap: 23px;
    align-items: start;
    width: 783px;
    height: calc(100svh - 60px);
    margin: 0;
    padding: 0 100px 24px 0;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: thin;
}
.kulturgo-site #kultur-play .kultur-play-phone {
    position: relative;
    top: auto;
    left: auto;
    width: 360px;
    height: 760.78px;
    margin: 0;
    aspect-ratio: auto;
}
.kulturgo-site #kultur-play .kultur-play-phone iframe {
    inset: 24px;
    width: calc(100% - 48px);
    height: calc(100% - 48px);
    max-width: none;
}
.kulturgo-site #kultur-play .kultur-play-panel {
    display: block;
    top: 40px;
    width: 300px;
    margin: 0;
    padding: 0;
    text-align: left;
}
.kulturgo-site #kultur-play .kultur-play-panel::before {
    display: block;
    inset: -60px auto auto -10px;
    width: 120%;
    height: 120%;
    border-radius: 30px;
    background: white;
    opacity: .75;
    filter: blur(50px);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    -webkit-mask-image: none;
    mask-image: none;
}
/* Mantiene Encode Sans con el ritmo vertical y los énfasis del original. */
.kulturgo-site #kultur-play .project-title { font-size: 32px !important; }
.kulturgo-site #kultur-play .project-title strong { font-weight: 600; }
.kulturgo-site #kultur-play .project-subtitle {
    margin: 20px 0;
    font-size: 24px;
    font-weight: 600;
    line-height: 33.6px;
}
.kulturgo-site #kultur-play .project-description { margin: 0; font-size: 18px; line-height: 27px; }
.kulturgo-site #kultur-play .project-description strong { font-weight: 600; }
.kulturgo-site #kultur-play .project-description p { margin: 0 0 16px; }
.kulturgo-site #kultur-play .project-description p:last-child { margin-bottom: 0; }
@media (min-width: 48.001rem) {
    .kulturgo-site #kultur-play .project-title { padding: 8px 0; }
    /* Incluye los 8 px de margen del h3 dentro del subtítulo original. */
    .kulturgo-site #kultur-play .project-subtitle { padding: 8px 0 16px; }
}
.kulturgo-site #kultur-play .kultur-play-content-scroll { overflow: visible; }
.kulturgo-site #kultur-play .project-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: max-content;
    max-width: 100%;
    margin: 36px auto 20px;
    padding: 5px 10px 10px;
    border-radius: 3px;
    background: #f6511b;
    font-size: 22px;
    font-weight: 400;
    line-height: 36px;
}
.kulturgo-site #kultur-play .project-button svg { flex-shrink: 0; }
@media (max-width: 1280px), (max-height: 900px) {
    .kulturgo-site #kultur-play .kultur-play-layout { left: 170px; gap: 18px; width: 778px; }
    .kulturgo-site #kultur-play .kultur-play-phone { height: 560.58px; }
}
@media (min-width: 48.001rem) and (max-width: 1020px) {
    .kulturgo-site #kultur-play .kultur-play-layout {
        left: 30px;
        grid-template-columns: minmax(200px, 300px) minmax(220px, 300px);
        width: calc(100vw - 230px);
        padding-right: 0;
    }
    .kulturgo-site #kultur-play .kultur-play-phone { width: 100%; height: auto; aspect-ratio: 360 / 560.58; }
    .kulturgo-site #kultur-play .kultur-play-panel { width: 100%; }
}
@media (min-width: 48.001rem) {
    .kulturgo-site #kultur-play .kultur-play-layout {
        overflow: visible;
    }
    .kulturgo-site #kultur-play .kultur-play-phone {
        margin-top: 24px;
    }
    .kulturgo-site #kultur-play .kultur-play-panel {
        max-height: none;
        overflow: visible;
    }
    .kulturgo-site #kultur-play .kultur-play-content-scroll {
        max-height: none;
        overflow: visible;
    }
}
@media (min-width: 48.001rem) and (max-height: 740px), (min-width: 48.001rem) and (max-width: 1280px) {
    .kulturgo-site #kultur-play .project-title { font-size: 26px !important; padding: 0; }
    .kulturgo-site #kultur-play .project-subtitle {
        font-size: 18px;
        line-height: 24px;
        margin: 12px 0;
        padding: 0;
    }
    .kulturgo-site #kultur-play .project-description { font-size: 15px; line-height: 20px; }
    .kulturgo-site #kultur-play .project-description p { margin-bottom: 8px; }
    .kulturgo-site #kultur-play .project-button {
        font-size: 18px;
        line-height: 24px;
        margin: 16px auto 0;
    }
}
@media (max-width: 48rem) {
    .kulturgo-site #kultur-play .kultur-play-layout {
        position: relative;
        inset: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
        height: calc(100svh - var(--header-height));
        gap: 0;
        padding: 40px 30px 24px;
        background: #ffffff66;
    }
    .kulturgo-site #kultur-play .kultur-play-panel { display: contents; }
    .kulturgo-site #kultur-play .project-subtitle { display: none; }
    .kulturgo-site #kultur-play .kultur-play-panel::before { display: none; }
    .kulturgo-site #kultur-play .project-title,
    .kulturgo-site #kultur-play .project-subtitle { text-align: center; }
    .kulturgo-site #kultur-play .kultur-play-phone {
        width: min(200px, 100%);
        height: auto;
        aspect-ratio: 632 / 1234;
        margin: 12px auto 20px;
    }
    .kulturgo-site #kultur-play .kultur-play-phone iframe {
        inset: 3.8% 7% 4.1%;
        width: 86%;
        height: 92.1%;
    }
    .kulturgo-site #kultur-play .project-button { margin: 36px auto 20px; }
}
/* La galería de Diversión solo aparece en pantallas amplias, como en Kulturgo. */
.kulturgo-site #kultur-play-3 .kultur-gallery {
    display: grid;
    top: 50%;
    left: 1116px;
    right: auto;
    width: auto;
    grid-template-columns: repeat(2, max-content);
    gap: 48px 24px;
    transform: translateY(-50%);
}
.kulturgo-site #kultur-play-3 .kultur-gallery img {
    width: auto;
    height: 37vh;
    max-width: none;
    object-fit: contain;
}
@media (max-width: 1600px), (max-height: 900px) {
    .kulturgo-site #kultur-play-3 .kultur-gallery { display: none; }
}
/* Inicio, Tecnología y Diversión: jerarquía tipográfica común con la fuente de Alkimo. */
.kulturgo-site :is(#home, #kultur-go-3, #kultur-go-6, #kultur-play-3) .project-title {
    font-size: 56px !important;
    line-height: 1.1 !important;
    font-weight: 300 !important;
    letter-spacing: normal !important;
}
.kulturgo-site :is(#home, #kultur-go-3, #kultur-go-6, #kultur-play-3) .project-title strong { font-weight: 600; }
.kulturgo-site :is(#home, #kultur-go-3, #kultur-go-6, #kultur-play-3) .project-subtitle {
    margin: 20px 0;
    font-size: 28px;
    line-height: 1.2;
    font-weight: 600;
}
.kulturgo-site :is(#home, #kultur-go-3, #kultur-go-6, #kultur-play-3) .project-description {
    margin: 0;
    font-size: 18px;
    line-height: 1.5;
    font-weight: 400;
}
.kulturgo-site :is(#home, #kultur-go-3, #kultur-go-6, #kultur-play-3) .project-description strong { font-weight: 600; }
@media (max-width: 48rem) {
    .kulturgo-site :is(#home, #kultur-go-3, #kultur-go-6, #kultur-play-3) .project-title { font-size: 36px !important; }
    .kulturgo-site :is(#home, #kultur-go-3, #kultur-go-6, #kultur-play-3) .project-subtitle { font-size: calc(1.3rem + .6vw); }
}
/* El filtro y el color se pintan una sola vez en la unión con la cabecera. */
.kulturgo-site .joined-panel-surface {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: rgb(var(--header-color) / var(--header-opacity));
    -webkit-backdrop-filter: blur(0.85rem);
    backdrop-filter: blur(0.85rem);
    transition: background-color 650ms ease;
}
.kulturgo-site :is(#kultur-go, #kultur-go-4, #kultur-play-1, #kultur-play-2).has-joined-panel-surface .project-panel {
    background: transparent;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}
.kulturgo-site.joined-panel-surfaces-ready:is([data-active-slide="kultur-go"], [data-active-slide="kultur-go-4"], [data-active-slide="kultur-play-1"], [data-active-slide="kultur-play-2"]) .site-header {
    background: transparent;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    transition: none;
}
@media (prefers-reduced-motion: reduce) {
    .kulturgo-site .joined-panel-surface { transition: none; }
}
