/*
 Theme Name: GeneratePress Child
 Theme URI: https://generatepress.com
 Description: Default GeneratePress child theme
 Author: Tom Usborne
 Author URI: https://tomusborne.com
 Template: generatepress
 Version: 0.1
*/

/* =========================================================
   CORAZÓN INVERSO — CSS GLOBAL LIMPIO
   GeneratePress + Gutenberg
   ========================================================= */

/* 01. VARIABLES */
:root {
    --ci-black: #111111;
    --ci-bone: #F2EFE8;
    --ci-wine: #7A1F2B;
    --ci-coral: #C64A4E;
    --ci-gray: #8C8984;
    --ci-serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
    --ci-sans: "Inter", Arial, Helvetica, sans-serif;
}

html { scroll-behavior: smooth; }

/* =========================================================
   02. GENERATEPRESS — RESET COMÚN
   ========================================================= */
body:is(.home, :has(.ci-nosotros-hero), :has(.ci-music-hero), :has(.ci-live-hero), :has(.ci-press-hero), :has(.ci-store-hero), :has(.ci-contact-hero)) {
    margin: 0;
}

body:is(.home, :has(.ci-music-hero), :has(.ci-live-hero), :has(.ci-press-hero)) {
    background: var(--ci-black);
    color: var(--ci-bone);
}

body:is(:has(.ci-nosotros-hero), :has(.ci-store-hero), :has(.ci-contact-hero)) {
    background: var(--ci-bone);
    color: var(--ci-black);
}

body:is(.home, :has(.ci-nosotros-hero), :has(.ci-music-hero), :has(.ci-live-hero), :has(.ci-press-hero), :has(.ci-store-hero), :has(.ci-contact-hero)) :is(.site-content, .content-area, .site-main, .inside-article, .entry-content, .container.grid-container, .site.grid-container) {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body:is(.home, :has(.ci-nosotros-hero), :has(.ci-music-hero), :has(.ci-live-hero), :has(.ci-press-hero), :has(.ci-store-hero), :has(.ci-contact-hero)) :is(.entry-header, .page-header, .site-header, #site-navigation) {
    display: none !important;
}

body:is(.home, :has(.ci-nosotros-hero), :has(.ci-music-hero), :has(.ci-live-hero), :has(.ci-press-hero), :has(.ci-store-hero), :has(.ci-contact-hero)) .entry-content > *:first-child {
    margin-top: 0 !important;
}

body:is(.home, :has(.ci-nosotros-hero), :has(.ci-music-hero), :has(.ci-live-hero), :has(.ci-press-hero), :has(.ci-store-hero), :has(.ci-contact-hero)) .entry-content > *:last-child {
    margin-bottom: 0 !important;
}

/* =========================================================
   03. HEADER / LOGO / NAVEGACIÓN — COMÚN A TODA LA WEB
   ========================================================= */
:is(.ci-hero__topbar, .ci-nosotros-hero__topbar, .ci-music-hero__topbar, .ci-live-hero__topbar, .ci-press-hero__topbar, .ci-store-hero__topbar, .ci-contact-hero__topbar) {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 30;
    height: 90px;
    padding: 12px 55px 24px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    box-sizing: border-box;
    background: linear-gradient(180deg, rgba(17,17,17,.96) 0%, rgba(17,17,17,.68) 43%, rgba(17,17,17,.18) 74%, rgba(17,17,17,0) 100%);
}

body.admin-bar :is(.ci-hero__topbar, .ci-nosotros-hero__topbar, .ci-music-hero__topbar, .ci-live-hero__topbar, .ci-press-hero__topbar, .ci-store-hero__topbar, .ci-contact-hero__topbar) {
    top: 0 !important;
}

:is(.ci-brand, .ci-nosotros-brand, .ci-music-brand) {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    margin: 0;
    padding: 0;
    color: var(--ci-bone);
    text-decoration: none;
}

:is(.ci-brand__logo, .ci-nosotros-brand__logo, .ci-music-brand__logo) {
    display: block;
    width: 280px;
    max-width: none;
    height: auto;
    object-fit: contain;
}

:is(.ci-nav, .ci-nosotros-nav, .ci-music-nav) {
    display: flex;
    align-items: center;
    gap: clamp(22px, 2.2vw, 42px);
    margin: 5px 0 0;
    padding: 0;
}

:is(.ci-nav, .ci-nosotros-nav, .ci-music-nav) a {
    position: relative;
    display: inline-block;
    margin: 0;
    padding: 5px 0 10px;
    color: rgba(242,239,232,.86);
    font-family: var(--ci-sans);
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: .18em;
    text-transform: uppercase;
    text-decoration: none;
    text-shadow: 0 1px 4px rgba(0,0,0,.90);
    transition: color .25s ease;
}

:is(.ci-nav, .ci-nosotros-nav, .ci-music-nav) a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 2px;
    width: 0;
    height: 1px;
    background: var(--ci-coral);
    transition: width .25s ease;
}

:is(.ci-nav, .ci-nosotros-nav, .ci-music-nav) a:hover,
:is(.ci-nav, .ci-nosotros-nav, .ci-music-nav) a:focus-visible,
:is(.ci-nav, .ci-nosotros-nav, .ci-music-nav) a.is-current {
    color: var(--ci-bone);
}

:is(.ci-nav, .ci-nosotros-nav, .ci-music-nav) a:hover::after,
:is(.ci-nav, .ci-nosotros-nav, .ci-music-nav) a:focus-visible::after,
:is(.ci-nav, .ci-nosotros-nav, .ci-music-nav) a.is-current::after {
    width: 100%;
}

:is(.ci-menu-toggle, .ci-nosotros-menu-toggle, .ci-music-menu-toggle) { display: none; }

@media (max-width: 1250px) and (min-width: 1025px) {
    :is(.ci-hero__topbar, .ci-nosotros-hero__topbar, .ci-music-hero__topbar, .ci-live-hero__topbar, .ci-press-hero__topbar, .ci-store-hero__topbar, .ci-contact-hero__topbar) {
        padding-left: 36px;
        padding-right: 36px;
    }
    :is(.ci-brand__logo, .ci-nosotros-brand__logo, .ci-music-brand__logo) { width: 240px; }
    :is(.ci-nav, .ci-nosotros-nav, .ci-music-nav) { gap: 22px; }
    :is(.ci-nav, .ci-nosotros-nav, .ci-music-nav) a { font-size: 11px; letter-spacing: .15em; }
}

@media (max-width: 1024px) {
    :is(.ci-hero__topbar, .ci-nosotros-hero__topbar, .ci-music-hero__topbar, .ci-live-hero__topbar, .ci-press-hero__topbar, .ci-store-hero__topbar, .ci-contact-hero__topbar) {
        height: 68px;
        min-height: 68px;
        padding: 10px 28px;
        align-items: center;
    }
    :is(.ci-brand__logo, .ci-nosotros-brand__logo, .ci-music-brand__logo) { width: 220px; }
    :is(.ci-menu-toggle, .ci-nosotros-menu-toggle, .ci-music-menu-toggle) {
        position: relative;
        z-index: 103;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-end;
        gap: 6px;
        width: 44px;
        height: 44px;
        margin: 0;
        padding: 8px;
        border: 0;
        background: transparent;
        cursor: pointer;
        appearance: none;
    }
    :is(.ci-menu-toggle, .ci-nosotros-menu-toggle, .ci-music-menu-toggle) span {
        display: block;
        height: 1px;
        background: var(--ci-bone);
        transform-origin: center;
        transition: width .25s ease, transform .25s ease, opacity .25s ease;
    }
    :is(.ci-menu-toggle, .ci-nosotros-menu-toggle, .ci-music-menu-toggle) span:nth-child(1),
    :is(.ci-menu-toggle, .ci-nosotros-menu-toggle, .ci-music-menu-toggle) span:nth-child(3) { width: 28px; }
    :is(.ci-menu-toggle, .ci-nosotros-menu-toggle, .ci-music-menu-toggle) span:nth-child(2) { width: 20px; }
    :is(.ci-nav, .ci-nosotros-nav, .ci-music-nav) {
        position: absolute;
        top: 62px;
        right: 26px;
        z-index: 101;
        width: 270px;
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        margin: 0;
        padding: 18px 24px;
        background: rgba(17,17,17,.98);
        border: 1px solid rgba(242,239,232,.12);
        box-shadow: 0 18px 40px rgba(0,0,0,.40);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        opacity: 0;
        visibility: hidden;
        transform: translateY(-8px);
        pointer-events: none;
        transition: opacity .25s ease, transform .25s ease, visibility .25s ease;
    }
    :is(.ci-nav, .ci-nosotros-nav, .ci-music-nav).is-open {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
        pointer-events: auto;
    }
    :is(.ci-nav, .ci-nosotros-nav, .ci-music-nav) a {
        display: block;
        width: 100%;
        box-sizing: border-box;
        margin: 0;
        padding: 16px 2px;
        border-bottom: 1px solid rgba(242,239,232,.10);
        color: var(--ci-bone);
        font-family: var(--ci-serif);
        font-size: 24px;
        font-weight: 400;
        line-height: 1;
        letter-spacing: .03em;
        text-transform: uppercase;
        text-shadow: none;
    }
    :is(.ci-nav, .ci-nosotros-nav, .ci-music-nav) a:last-child { border-bottom: 0; }
    :is(.ci-nav, .ci-nosotros-nav, .ci-music-nav) a::after { display: none; }
    :is(.ci-nav, .ci-nosotros-nav, .ci-music-nav) a.is-current { color: var(--ci-coral); }
    :is(.ci-menu-toggle, .ci-nosotros-menu-toggle, .ci-music-menu-toggle).is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    :is(.ci-menu-toggle, .ci-nosotros-menu-toggle, .ci-music-menu-toggle).is-open span:nth-child(2) { opacity: 0; }
    :is(.ci-menu-toggle, .ci-nosotros-menu-toggle, .ci-music-menu-toggle).is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
}

@media (max-width: 768px) {
    :is(.ci-hero__topbar, .ci-nosotros-hero__topbar, .ci-music-hero__topbar, .ci-live-hero__topbar, .ci-press-hero__topbar, .ci-store-hero__topbar, .ci-contact-hero__topbar) {
        height: 64px;
        min-height: 64px;
        padding: 8px 17px;
    }
    :is(.ci-brand__logo, .ci-nosotros-brand__logo, .ci-music-brand__logo) { width: 145px; }
    :is(.ci-menu-toggle, .ci-nosotros-menu-toggle, .ci-music-menu-toggle) { width: 40px; height: 40px; }
    :is(.ci-nav, .ci-nosotros-nav, .ci-music-nav) { top: 58px; right: 15px; width: 240px; padding: 15px 20px; }
    :is(.ci-nav, .ci-nosotros-nav, .ci-music-nav) a { padding: 14px 2px; font-size: 22px; }
}

@media (max-width: 480px) {
    :is(.ci-brand__logo, .ci-nosotros-brand__logo, .ci-music-brand__logo) { width: 125px; }
    :is(.ci-nav, .ci-nosotros-nav, .ci-music-nav) { width: 220px; }
    :is(.ci-nav, .ci-nosotros-nav, .ci-music-nav) a { font-size: 21px; }
}


/* =========================================================
   04. HOME
   ========================================================= */

.ci-hero {
    position: relative;
    isolation: isolate;
    width: 100%;
    min-height: 100vh;
    min-height: 100svh;
    overflow: hidden;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    background: var(--ci-black);
    color: var(--ci-bone);
}

.ci-hero::after {
    content: "";
    position: absolute;
    inset: 12px;
    z-index: 15;
    pointer-events: none;
    border: 1px solid rgba(242,239,232,.075);
}

.ci-hero__media {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 12%;
    z-index: 0;
    overflow: hidden;
    background: var(--ci-black);
}

.ci-hero__media picture {
    display: block;
    width: 100%;
    height: 100%;
}

.ci-hero__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: right center;
    filter: grayscale(100%) contrast(1.14) brightness(.84);
}

.ci-hero__media::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 41%;
    z-index: 2;
    pointer-events: none;
    background: linear-gradient( 90deg, #111111 0%, rgba(17,17,17,.98) 10%, rgba(17,17,17,.88) 23%, rgba(17,17,17,.66) 38%, rgba(17,17,17,.38) 55%, rgba(17,17,17,.16) 73%, rgba(17,17,17,0) 100% );
}

.ci-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient( 180deg, rgba(17,17,17,.20) 0%, rgba(17,17,17,.02) 28%, rgba(17,17,17,.02) 65%, rgba(17,17,17,.32) 100% );
}

.ci-hero__inner {
    position: relative;
    z-index: 5;
    width: 100%;
    padding: 140px 60px 65px;
    box-sizing: border-box;
}

.ci-hero__content {
    width: min(640px, 46vw);
}

.ci-hero__title {
    margin: 0;
    padding: 0;
    color: var(--ci-bone);
    font-family: var(--ci-serif);
    font-size: clamp(88px, 7.8vw, 145px);
    font-weight: 400;
    line-height: .78;
    letter-spacing: -.05em;
    text-transform: uppercase;
    text-shadow: 0 3px 20px rgba(0,0,0,.18);
}

.ci-hero__title > span {
    display: block;
    white-space: nowrap;
}

.ci-e-invertida {
    display: inline-block;
    transform: scaleX(-1);
    margin-left: .04em;
}

.ci-hero__rule {
    position: relative;
    width: 470px;
    max-width: 78%;
    height: 1px;
    margin: 34px 0 26px;
    background: linear-gradient(90deg, var(--ci-coral) 0%, var(--ci-wine) 60%, transparent 100%);
}

.ci-hero__rule::after {
    content: "";
    position: absolute;
    top: -2px;
    left: 42%;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--ci-coral);
}

.ci-hero__tag {
    margin: 0 0 30px;
    color: rgba(242,239,232,.93);
    font-family: var(--ci-serif);
    font-size: 17px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: .36em;
    text-transform: uppercase;
}

.ci-btn {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 42px;
    min-width: 295px;
    box-sizing: border-box;
    padding: 17px 26px;
    border: 1px solid var(--ci-wine);
    border-radius: 0;
    background: rgba(17,17,17,.10);
    color: var(--ci-coral);
    font-family: var(--ci-sans);
    font-size: 10px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: .22em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background-color .25s ease, color .25s ease, transform .25s ease;
}

.ci-btn:link,
.ci-btn:visited {
    color: var(--ci-coral);
    border-color: var(--ci-wine);
    background: rgba(17,17,17,.10);
}

.ci-btn:hover,
.ci-btn:focus,
.ci-btn:active {
    background: var(--ci-wine);
    color: var(--ci-bone);
}

.ci-btn:hover,
.ci-btn:focus {
    transform: translateY(-2px);
}

.ci-btn__arrow {
    display: inline-block;
    font-size: 17px;
    line-height: 1;
    transition: transform .25s ease;
}

.ci-btn:hover .ci-btn__arrow {
    transform: translateX(5px);
}

.ci-paper-image {
    position: absolute;
    right: -42px;
    bottom: -30px;
    z-index: 8;
    width: clamp(500px, 45vw, 800px);
    max-width: none;
    height: auto;
    pointer-events: none;
    opacity: .98;
    filter: drop-shadow(-9px -7px 13px rgba(0,0,0,.13));
}

@media (max-width: 1250px) and (min-width: 1025px) {
    .ci-hero__inner {
        padding-left: 42px;
        padding-right: 42px;
    }

    .ci-hero__content {
        width: 52vw;
    }

    .ci-hero__title {
        font-size: clamp(76px, 8.6vw, 120px);
    }

    .ci-hero__media {
        left: 7%;
    }

    .ci-paper-image {
        width: 460px;
    }
}

@media (max-width: 1024px) {
    .ci-hero__inner {
        padding-left: 34px;
        padding-right: 34px;
    }

    .ci-hero__content {
        width: 56vw;
    }

    .ci-hero__title {
        font-size: clamp(72px, 9.2vw, 105px);
    }

    .ci-hero__media {
        left: 2%;
    }

    .ci-hero__media::after {
        width: 46%;
    }

    .ci-paper-image {
        width: 400px;
        right: -35px;
        bottom: -25px;
    }
}

@media (max-width: 768px) {
    .ci-hero {
        min-height: 100svh;
        align-items: flex-end;
    }

    .ci-hero__media {
        inset: 0;
        width: 100%;
        height: 100%;
    }

    .ci-hero__media img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: 55% 25%;
        filter: grayscale(100%) contrast(1.08) brightness(.90);
    }

    .ci-hero__media::after {
        display: none;
    }

    .ci-hero::before {
        background: linear-gradient( 180deg, rgba(17,17,17,.08) 0%, rgba(17,17,17,.10) 25%, rgba(17,17,17,.35) 47%, rgba(17,17,17,.72) 64%, rgba(17,17,17,.95) 81%, #111111 100% );
    }

    .ci-hero::after {
        inset: 7px;
    }

    .ci-hero__inner {
        width: calc(100% - 40px);
        margin-left: auto;
        margin-right: auto;
        padding: 0 0 63px;
    }

    .ci-hero__content {
        width: 100%;
    }

    .ci-hero__title {
        font-size: clamp(55px, 17vw, 90px);
        line-height: .80;
        letter-spacing: -.045em;
    }

    .ci-hero__rule {
        width: 82%;
        max-width: none;
        margin: 24px 0 19px;
    }

    .ci-hero__tag {
        max-width: 330px;
        margin-bottom: 24px;
        font-size: 12px;
        line-height: 1.5;
        letter-spacing: .18em;
    }

    .ci-btn {
        width: 100%;
        min-width: 0;
        padding: 16px 19px;
    }

    .ci-paper-image {
        display: none;
    }
}

@media (max-width: 480px) {
    .ci-hero__inner {
        width: calc(100% - 32px);
    }

    .ci-hero__title {
        font-size: clamp(49px, 16.5vw, 72px);
    }

    .ci-hero__tag {
        font-size: 11px;
        letter-spacing: .145em;
    }

    .ci-btn {
        font-size: 9px;
        letter-spacing: .15em;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ci-btn,
    .ci-btn__arrow {
        transition: none;
    }

    .ci-btn:hover {
        transform: none;
    }
}


/* =========================================================
   05. NOSOTROS
   ========================================================= */

.ci-nosotros-hero {
    position: relative;
    isolation: isolate;
    min-height: 92vh;
    min-height: 92svh;
    display: flex;
    align-items: center;
    overflow: hidden;
    box-sizing: border-box;
    background: var(--ci-black);
    color: var(--ci-bone);
}

.ci-nosotros-hero__media {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    background: var(--ci-black);
}

.ci-nosotros-hero__media::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    background: linear-gradient( 90deg, rgba(17,17,17,.96) 0%, rgba(17,17,17,.82) 36%, rgba(17,17,17,.42) 63%, rgba(17,17,17,.22) 100% );
}

.ci-nosotros-hero__media::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 3;
    background: linear-gradient( 180deg, rgba(17,17,17,.30) 0%, rgba(17,17,17,.04) 48%, rgba(17,17,17,.42) 100% );
}

.ci-nosotros-hero__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: grayscale(100%) contrast(1.06) brightness(.72);
    transform: scale(1.015);
}

.ci-nosotros-hero::after {
    content: "";
    position: absolute;
    inset: 12px;
    z-index: 20;
    pointer-events: none;
    border: 1px solid rgba(242,239,232,.08);
}

.ci-nosotros-hero__inner {
    position: relative;
    z-index: 5;
    width: min( 1420px, calc(100% - 120px) );
    margin: 0 auto;
    padding: 160px 0 150px;
    box-sizing: border-box;
}

.ci-nosotros-hero__content {
    width: min( 780px, 61vw );
}

.ci-nosotros-kicker {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 30px;
    color: rgba(242,239,232,.70);
    font-family: var(--ci-sans);
    font-size: 10px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: .34em;
    text-transform: uppercase;
}

.ci-nosotros-kicker__line {
    display: block;
    width: 48px;
    height: 1px;
    flex-shrink: 0;
    background: var(--ci-coral);
}

.ci-nosotros-hero__title {
    margin: 0 0 35px;
    color: var(--ci-bone);
    font-family: var(--ci-serif);
    font-size: clamp( 78px, 7.2vw, 128px );
    font-weight: 400;
    line-height: .84;
    letter-spacing: -.05em;
}

.ci-nosotros-hero__title > span {
    display: block;
}

.ci-nosotros-hero__title > span:last-child {
    color: var(--ci-coral);
}

.ci-nosotros-hero__text {
    width: min( 610px, 100% );
    margin-bottom: 35px;
}

.ci-nosotros-hero__text p {
    margin: 0 0 13px;
    color: rgba(242,239,232,.76);
    font-family: var(--ci-sans);
    font-size: 16px;
    line-height: 1.72;
}

.ci-nosotros-hero__text p:last-child {
    margin-bottom: 0;
}

.ci-nosotros-btn {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 42px;
    min-width: 310px;
    padding: 17px 22px;
    box-sizing: border-box;
    border: 1px solid rgba(242,239,232,.46);
    background: transparent;
    color: var(--ci-bone);
    font-family: var(--ci-sans);
    font-size: 9px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: .18em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background .25s ease, border-color .25s ease, transform .25s ease;
}

.ci-nosotros-btn:link,
.ci-nosotros-btn:visited {
    color: var(--ci-bone);
}

.ci-nosotros-btn:hover,
.ci-nosotros-btn:focus {
    border-color: var(--ci-wine);
    background: var(--ci-wine);
    color: var(--ci-bone);
    transform: translateY(-2px);
}

.ci-nosotros-btn__arrow {
    font-size: 14px;
}

.ci-nosotros-hero__paper {
    position: absolute;
    left: -2%;
    right: -2%;
    bottom: -48px;
    z-index: 12;
    height: 112px;
    background: var(--ci-bone);
    clip-path: polygon( 0 24%, 4% 18%, 8% 27%, 13% 19%, 18% 24%, 23% 14%, 29% 26%, 34% 17%, 40% 25%, 45% 14%, 51% 22%, 57% 15%, 63% 25%, 69% 17%, 75% 24%, 81% 18%, 87% 27%, 92% 17%, 96% 23%, 100% 17%, 100% 100%, 0 100% );
}

.ci-history {
    position: relative;
    overflow: hidden;
    background: var(--ci-bone);
    color: var(--ci-black);
}

.ci-history::after {
    content: "HISTORIA";
    position: absolute;
    right: -3vw;
    bottom: 0;
    color: rgba(122,31,43,.028);
    font-family: var(--ci-serif);
    font-size: clamp(140px, 20vw, 320px);
    font-weight: 400;
    line-height: .68;
    letter-spacing: -.065em;
    pointer-events: none;
    user-select: none;
}

.ci-history__inner {
    position: relative;
    z-index: 2;
    width: min(1380px, calc(100% - 120px));
    margin: 0 auto;
    padding: 135px 0 135px;
    display: grid;
    grid-template-columns: minmax(250px, .56fr) minmax(0, 1.2fr);
    gap: 55px 90px;
    align-items: start;
}

.ci-history__intro {
    position: relative;
    padding-top: 7px;
}

.ci-history__eyebrow {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 27px;
    color: rgba(17,17,17,.56);
    font-family: var(--ci-sans);
    font-size: 9px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: .32em;
    text-transform: uppercase;
}

.ci-history__eyebrow-line {
    display: block;
    width: 45px;
    height: 1px;
    flex-shrink: 0;
    background: var(--ci-wine);
}

.ci-history__title {
    margin: 0;
    color: var(--ci-black);
    font-family: var(--ci-serif);
    font-size: clamp(64px, 5.7vw, 98px);
    font-weight: 400;
    line-height: .86;
    letter-spacing: -.05em;
}

.ci-history__title span {
    display: block;
    color: var(--ci-wine);
}

.ci-history__copy {
    max-width: 760px;
}

.ci-history__lead {
    margin: 0 0 27px !important;
    color: var(--ci-black);
    font-family: var(--ci-serif);
    font-size: clamp(24px, 2vw, 31px);
    font-weight: 400;
    line-height: 1.30;
}

.ci-history__copy > p:not(.ci-history__lead) {
    margin: 0 0 20px;
    color: rgba(17,17,17,.64);
    font-family: var(--ci-sans);
    font-size: 15px;
    line-height: 1.78;
}

.ci-history__copy em {
    color: var(--ci-black);
}

.ci-history__quote {
    position: relative;
    margin: 38px 0 0;
    padding: 7px 0 7px 26px;
    border: 0;
    border-left: 2px solid var(--ci-wine);
    color: var(--ci-black);
    font-family: var(--ci-serif);
    font-size: clamp(22px, 1.9vw, 29px);
    font-style: italic;
    font-weight: 400;
    line-height: 1.38;
}

.ci-history__visual {
    grid-column: 1 / -1;
    margin-top: 8px;
}

.ci-history__photo {
    position: relative;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 16 / 9;
    min-height: 0;
    background: var(--ci-black);
}

.ci-history__photo::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    background: linear-gradient( 180deg, rgba(17,17,17,.02) 0%, rgba(17,17,17,.06) 63%, rgba(17,17,17,.28) 100% );
    pointer-events: none;
}

.ci-history__photo::after {
    content: "";
    position: absolute;
    inset: 12px;
    z-index: 3;
    border: 1px solid rgba(242,239,232,.17);
    pointer-events: none;
}

.ci-history__photo img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
    object-position: center center;
    filter: grayscale(100%) contrast(1.05) brightness(.88);
    transition: transform .65s ease, filter .45s ease;
}

.ci-history__visual:hover .ci-history__photo img {
    transform: scale(1.012);
    filter: grayscale(45%) contrast(1.03) brightness(.93);
}

.ci-history__caption {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 25px;
    padding-top: 18px;
}

.ci-history__caption p {
    margin: 0;
    color: rgba(17,17,17,.70);
    font-family: var(--ci-sans);
    font-size: 9px;
    font-weight: 600;
    line-height: 1.65;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.ci-history__caption > span {
    flex-shrink: 0;
    color: var(--ci-wine);
    font-family: var(--ci-sans);
    font-size: 8px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.ci-history__bottom-line {
    grid-column: 1 / -1;
    padding-top: 15px;
}

.ci-history__bottom-line span {
    display: block;
    width: 100%;
    height: 1px;
    background: rgba(17,17,17,.12);
}

@media (max-width: 1100px) {
    .ci-history__inner {
        width: calc(100% - 70px);
        grid-template-columns: 1fr;
        gap: 45px;
        padding: 110px 0 115px;
    }

    .ci-history__intro,
    .ci-history__copy,
    .ci-history__visual,
    .ci-history__bottom-line {
        grid-column: 1;
    }

    .ci-history__copy {
        max-width: none;
    }

    .ci-history__photo {
        aspect-ratio: 16 / 10;
    }

    .ci-nosotros-hero__inner {
        width: calc(100% - 70px);
    }

    .ci-nosotros-hero__content {
        width: min(720px, 72vw);
    }
}

@media (max-width: 768px) {
    .ci-history__inner {
        width: calc(100% - 40px);
        display: block;
        padding: 95px 0 95px;
    }

    .ci-history__intro {
        margin-bottom: 45px;
    }

    .ci-history__title {
        font-size: clamp( 53px, 14vw, 72px );
    }

    .ci-history__copy {
        max-width: none;
        margin-bottom: 42px;
    }

    .ci-history__lead {
        font-size: clamp( 23px, 6.5vw, 29px );
    }

    .ci-history__quote {
        margin-top: 31px;
        font-size: clamp( 21px, 6vw, 27px );
    }

    .ci-history__visual {
        margin-top: 0;
    }

    .ci-history__photo {
        aspect-ratio: 4 / 3;
    }

    .ci-history__photo img {
        object-position: center center;
    }

    .ci-history__caption {
        display: flex;
        padding-top: 17px;
    }

    .ci-history__bottom-line {
        margin-top: 55px;
        padding-top: 0;
    }

    .ci-history::after {
        display: none;
    }

    .ci-nosotros-hero {
        min-height: auto;
    }

    .ci-nosotros-hero::after {
        inset: 7px;
    }

    .ci-nosotros-hero__media::before {
        background: linear-gradient( 180deg, rgba(17,17,17,.52) 0%, rgba(17,17,17,.68) 42%, rgba(17,17,17,.90) 100% );
    }

    .ci-nosotros-hero__media img {
        object-position: 58% center;
        filter: grayscale(100%) contrast(1.04) brightness(.67);
    }

    .ci-nosotros-hero__inner {
        width: calc(100% - 40px);
        padding: 140px 0 125px;
    }

    .ci-nosotros-hero__content {
        width: 100%;
    }

    .ci-nosotros-kicker {
        gap: 16px;
        margin-bottom: 24px;
        font-size: 9px;
        letter-spacing: .27em;
    }

    .ci-nosotros-kicker__line {
        width: 38px;
    }

    .ci-nosotros-hero__title {
        margin-bottom: 29px;
        font-size: clamp(54px, 14.2vw, 76px);
        line-height: .87;
    }

    .ci-nosotros-hero__title > span {
        display: block;
    }

    .ci-nosotros-hero__text p {
        font-size: 15px;
    }

    .ci-nosotros-btn {
        width: 100%;
        min-width: 0;
    }

    .ci-nosotros-hero__paper {
        bottom: -34px;
        height: 76px;
    }
}

@media (max-width: 480px) {
    .ci-history__inner {
        width: calc(100% - 32px);
    }

    .ci-history__caption {
        display: block;
    }

    .ci-history__caption p {
        margin-bottom: 12px;
    }

    .ci-nosotros-hero__inner {
        width: calc(100% - 32px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .ci-history__photo img {
        transition: none;
    }

    .ci-nosotros-btn {
        transition: none;
    }
}


/* =========================================================
   06. MÚSICA
   ========================================================= */

.ci-music-hero {
    position: relative;
    isolation: isolate;
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    min-height: 100vh;
    min-height: 100svh;
    overflow: hidden;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    background: radial-gradient( circle at 25% 50%, rgba(122,31,43,.14) 0%, rgba(17,17,17,0) 35% ), var(--ci-black);
    color: var(--ci-bone);
}

.ci-music-hero::after {
    content: "";
    position: absolute;
    inset: 12px;
    z-index: 20;
    pointer-events: none;
    border: 1px solid rgba(242,239,232,.07);
}

.ci-music-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: linear-gradient( 135deg, rgba(242,239,232,.018) 0%, rgba(242,239,232,0) 35%, rgba(122,31,43,.035) 100% );
}

.ci-music-hero__inner {
    position: relative;
    z-index: 5;
    width: min( 1420px, calc(100% - 120px) );
    margin: 0 auto;
    padding: 145px 0 95px;
    box-sizing: border-box;
    display: grid;
    grid-template-columns: minmax(420px, .9fr) minmax(420px, 1fr);
    align-items: center;
    column-gap: clamp( 75px, 8vw, 145px );
}

.ci-music-cover-wrap {
    position: relative;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.ci-music-cover {
    position: relative;
    z-index: 3;
    width: min( 560px, 38vw );
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: #090909;
    transform: rotate(-1.5deg);
    box-shadow: 0 30px 70px rgba(0,0,0,.40);
}

.ci-music-cover img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ci-music-cover::after {
    content: "";
    position: absolute;
    inset: 10px;
    pointer-events: none;
    border: 1px solid rgba(242,239,232,.13);
}

.ci-music-cover__shadow {
    position: absolute;
    z-index: 1;
    width: 70%;
    height: 70%;
    border-radius: 50%;
    background: rgba(122,31,43,.18);
    filter: blur(80px);
}

.ci-music-hero__content {
    position: relative;
    z-index: 5;
    max-width: 630px;
}

.ci-music-kicker {
    display: flex;
    align-items: center;
    gap: 22px;
    margin-bottom: 28px;
    color: rgba(242,239,232,.72);
    font-family: var(--ci-sans);
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: .36em;
    text-transform: uppercase;
}

.ci-music-kicker__line {
    display: block;
    width: 48px;
    height: 1px;
    flex-shrink: 0;
    background: var(--ci-coral);
}

.ci-music-hero__title {
    margin: 0 0 24px;
    padding: 0;
    color: var(--ci-bone);
    font-family: var(--ci-serif);
    font-size: clamp( 72px, 6vw, 112px );
    font-weight: 400;
    line-height: .83;
    letter-spacing: -.045em;
    text-transform: uppercase;
}

.ci-music-hero__title > span {
    display: block;
}

.ci-music-meta {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 30px;
    color: var(--ci-coral);
    font-family: var(--ci-sans);
    font-size: 10px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: .26em;
    text-transform: uppercase;
}

.ci-music-description {
    max-width: 540px;
    margin-bottom: 32px;
}

.ci-music-description p {
    margin: 0;
    color: rgba(242,239,232,.80);
    font-family: var(--ci-sans);
    font-size: 17px;
    font-weight: 400;
    line-height: 1.7;
}

.ci-music-btn {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 50px;
    min-width: 320px;
    box-sizing: border-box;
    padding: 17px 25px;
    border: 1px solid var(--ci-wine);
    background: rgba(17,17,17,.10);
    color: var(--ci-coral);
    font-family: var(--ci-sans);
    font-size: 10px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: .20em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background-color .25s ease, color .25s ease, transform .25s ease;
}

.ci-music-btn:link,
.ci-music-btn:visited {
    color: var(--ci-coral);
    border-color: var(--ci-wine);
}

.ci-music-btn:hover,
.ci-music-btn:focus {
    background: var(--ci-wine);
    color: var(--ci-bone);
    transform: translateY(-2px);
}

.ci-music-btn__arrow {
    font-size: 18px;
    line-height: 1;
    transition: transform .25s ease;
}

.ci-music-btn:hover .ci-music-btn__arrow {
    transform: translateX(5px);
}

.ci-music-platforms {
    margin-top: 36px;
    padding-top: 24px;
    border-top: 1px solid rgba(242,239,232,.12);
}

.ci-music-platforms__label {
    display: block;
    margin-bottom: 15px;
    color: rgba(242,239,232,.40);
    font-family: var(--ci-sans);
    font-size: 9px;
    font-weight: 600;
    letter-spacing: .28em;
    text-transform: uppercase;
}

.ci-music-platforms__links {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 30px;
}

.ci-music-platforms__links a {
    position: relative;
    color: var(--ci-bone);
    font-family: var(--ci-serif);
    font-size: 21px;
    line-height: 1;
    text-decoration: none;
    transition: color .25s ease;
}

.ci-music-platforms__links a:hover {
    color: var(--ci-coral);
}

.ci-music-hero__footer-mark {
    position: absolute;
    left: 60px;
    right: 60px;
    bottom: 34px;
    height: 1px;
    z-index: 6;
    background: linear-gradient( 90deg, rgba(242,239,232,.10), rgba(242,239,232,.03) );
}

.ci-music-hero__footer-mark span {
    position: absolute;
    left: 33%;
    top: -2px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--ci-coral);
}

.ci-tracklist {
    position: relative;
    width: 100%;
    overflow: hidden;
    box-sizing: border-box;
    background: var(--ci-bone);
    color: var(--ci-black);
}

.ci-tracklist__inner {
    width: min( 1380px, calc(100% - 120px) );
    margin: 0 auto;
    padding: 115px 0 120px;
    box-sizing: border-box;
}

.ci-tracklist__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 55px;
}

.ci-tracklist__kicker {
    display: flex;
    align-items: center;
    gap: 20px;
    color: rgba(17,17,17,.65);
    font-family: var(--ci-sans);
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: .35em;
    text-transform: uppercase;
}

.ci-tracklist__kicker-line {
    display: block;
    width: 48px;
    height: 1px;
    background: var(--ci-wine);
}

.ci-tracklist__album {
    color: rgba(17,17,17,.60);
    font-family: var(--ci-serif);
    font-size: 20px;
    font-style: italic;
    line-height: 1;
}

.ci-tracklist__songs {
    list-style: none;
    margin: 0;
    padding: 0;
    border-top: 1px solid rgba(17,17,17,.18);
}

.ci-tracklist__song {
    display: grid;
    grid-template-columns: 75px minmax(0, 1fr) 80px;
    align-items: center;
    column-gap: 25px;
    min-height: 90px;
    padding: 0 12px;
    box-sizing: border-box;
    border-bottom: 1px solid rgba(17,17,17,.14);
    transition: background-color .25s ease, padding-left .25s ease;
}

.ci-tracklist__song:hover {
    padding-left: 20px;
    background: rgba(122,31,43,.035);
}

.ci-tracklist__number {
    color: var(--ci-wine);
    font-family: var(--ci-sans);
    font-size: 10px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: .20em;
}

.ci-tracklist__name {
    color: var(--ci-black);
    font-family: var(--ci-serif);
    font-size: clamp( 30px, 2.5vw, 42px );
    font-weight: 400;
    line-height: 1;
    letter-spacing: -.02em;
}

.ci-tracklist__duration {
    justify-self: end;
    color: rgba(17,17,17,.45);
    font-family: var(--ci-sans);
    font-size: 10px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .14em;
}

.ci-tracklist__footer {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 60px;
    margin-top: 55px;
}

.ci-tracklist__note {
    width: min( 480px, 48% );
    margin: 0;
    color: rgba(17,17,17,.68);
    font-family: var(--ci-serif);
    font-size: clamp( 21px, 1.6vw, 27px );
    font-style: italic;
    line-height: 1.4;
}

.ci-tracklist__btn {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 48px;
    min-width: 300px;
    box-sizing: border-box;
    padding: 17px 24px;
    border: 1px solid var(--ci-wine);
    background: transparent;
    color: var(--ci-wine);
    font-family: var(--ci-sans);
    font-size: 10px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: .20em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background-color .25s ease, color .25s ease, transform .25s ease;
}

.ci-tracklist__btn:link,
.ci-tracklist__btn:visited {
    color: var(--ci-wine);
}

.ci-tracklist__btn:hover,
.ci-tracklist__btn:focus {
    background: var(--ci-wine);
    color: var(--ci-bone);
    transform: translateY(-2px);
}

.ci-tracklist__btn-arrow {
    font-size: 18px;
    line-height: 1;
    transition: transform .25s ease;
}

.ci-tracklist__btn:hover .ci-tracklist__btn-arrow {
    transform: translateX(5px);
}

@media (max-width: 1250px) and (min-width: 1025px) {
    .ci-music-hero__inner {
        width: calc( 100% - 80px );
        column-gap: 55px;
    }

    .ci-music-cover {
        width: 42vw;
    }
}

@media (max-width: 1024px) {
    .ci-music-hero__inner {
        width: calc( 100% - 70px );
        grid-template-columns: minmax(300px, .9fr) minmax(330px, 1fr);
        column-gap: 45px;
    }

    .ci-music-cover {
        width: 42vw;
    }

    .ci-music-hero__title {
        font-size: clamp( 62px, 7.8vw, 86px );
    }

    .ci-music-description p {
        font-size: 15px;
    }

    .ci-tracklist__inner {
        width: calc( 100% - 70px );
        padding: 95px 0 100px;
    }

    .ci-tracklist__song {
        grid-template-columns: 60px minmax(0, 1fr) 65px;
        min-height: 82px;
    }

    .ci-tracklist__name {
        font-size: clamp( 28px, 3.5vw, 36px );
    }
}

@media (max-width: 768px) {
    .ci-music-hero {
        min-height: auto;
        display: block;
    }

    .ci-music-hero__inner {
        width: calc( 100% - 40px );
        margin: 0 auto;
        padding: 110px 0 85px;
        display: flex;
        flex-direction: column;
        gap: 55px;
    }

    .ci-music-cover {
        width: min( 88vw, 480px );
        transform: rotate(-1deg);
    }

    .ci-music-hero__content {
        width: 100%;
        max-width: none;
    }

    .ci-music-kicker {
        margin-bottom: 22px;
        font-size: 9px;
        letter-spacing: .28em;
    }

    .ci-music-kicker__line {
        width: 38px;
    }

    .ci-music-hero__title {
        font-size: clamp( 53px, 14vw, 74px );
        line-height: .86;
    }

    .ci-music-description {
        max-width: none;
    }

    .ci-music-description p {
        font-size: 15px;
        line-height: 1.7;
    }

    .ci-music-btn {
        width: 100%;
        min-width: 0;
    }

    .ci-music-platforms__links {
        gap: 16px 25px;
    }

    .ci-music-platforms__links a {
        font-size: 20px;
    }

    .ci-music-hero__footer-mark {
        left: 20px;
        right: 20px;
        bottom: 30px;
    }

    .ci-tracklist__inner {
        width: calc( 100% - 40px );
        padding: 80px 0;
    }

    .ci-tracklist__header {
        display: block;
        margin-bottom: 40px;
    }

    .ci-tracklist__kicker {
        margin-bottom: 18px;
        font-size: 9px;
        letter-spacing: .27em;
    }

    .ci-tracklist__kicker-line {
        width: 35px;
    }

    .ci-tracklist__album {
        font-size: 18px;
    }

    .ci-tracklist__song {
        grid-template-columns: 42px minmax(0, 1fr) 46px;
        column-gap: 10px;
        min-height: 76px;
        padding: 0 3px;
    }

    .ci-tracklist__song:hover {
        padding-left: 3px;
    }

    .ci-tracklist__number {
        font-size: 8px;
    }

    .ci-tracklist__name {
        font-size: clamp( 24px, 7vw, 31px );
        line-height: 1.05;
    }

    .ci-tracklist__duration {
        font-size: 8px;
    }

    .ci-tracklist__footer {
        display: block;
        margin-top: 42px;
    }

    .ci-tracklist__note {
        width: 100%;
        margin-bottom: 30px;
        font-size: 21px;
    }

    .ci-tracklist__btn {
        width: 100%;
        min-width: 0;
    }
}

@media (max-width: 480px) {
    .ci-music-hero__inner {
        width: calc( 100% - 32px );
    }

    .ci-music-hero__title {
        font-size: clamp( 47px, 13.5vw, 64px );
    }
}


/* =========================================================
   07. DIRECTO
   ========================================================= */

.ci-live-hero {
    position: relative;
    isolation: isolate;
    min-height: 100vh;
    min-height: 100svh;
    display: flex;
    align-items: center;
    overflow: hidden;
    box-sizing: border-box;
    background: var(--ci-black);
    color: var(--ci-bone);
}

.ci-live-hero__media {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.ci-live-hero__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: grayscale(100%) contrast(1.12) brightness(.72);
}

.ci-live-hero__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient( 90deg, rgba(17,17,17,.97) 0%, rgba(17,17,17,.89) 22%, rgba(17,17,17,.55) 48%, rgba(17,17,17,.14) 76%, rgba(17,17,17,.10) 100% ), linear-gradient( 0deg, rgba(17,17,17,.40), rgba(17,17,17,0) 55% );
}

.ci-live-hero::after {
    content: "";
    position: absolute;
    inset: 12px;
    z-index: 20;
    pointer-events: none;
    border: 1px solid rgba(242,239,232,.07);
}

.ci-live-hero__inner {
    position: relative;
    z-index: 5;
    width: min(1420px, calc(100% - 120px));
    margin: 0 auto;
    padding: 150px 0 100px;
    box-sizing: border-box;
}

.ci-live-hero__content {
    width: min(820px, 60vw);
}

.ci-live-kicker,
.ci-section-kicker {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 30px;
    font-family: var(--ci-sans);
    font-size: 10px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: .34em;
    text-transform: uppercase;
}

.ci-live-kicker {
    color: rgba(242,239,232,.78);
}

.ci-live-kicker__line,
.ci-section-kicker > span:first-child {
    display: block;
    width: 48px;
    height: 1px;
    flex-shrink: 0;
    background: var(--ci-coral);
}

.ci-live-hero__title {
    margin: 0 0 33px;
    color: var(--ci-bone);
    font-family: var(--ci-serif);
    font-size: clamp(75px, 6.8vw, 124px);
    font-weight: 400;
    line-height: .86;
    letter-spacing: -.045em;
}

.ci-live-hero__title span {
    display: block;
}

.ci-live-hero__text {
    width: min(570px, 100%);
    margin: 0 0 34px;
    color: rgba(242,239,232,.82);
    font-family: var(--ci-sans);
    font-size: 17px;
    line-height: 1.7;
}

.ci-live-btn {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 45px;
    min-width: 320px;
    padding: 17px 24px;
    border: 1px solid rgba(242,239,232,.50);
    box-sizing: border-box;
    color: var(--ci-bone);
    font-family: var(--ci-sans);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .20em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background .25s ease, border-color .25s ease, transform .25s ease;
}

.ci-live-btn:link,
.ci-live-btn:visited {
    color: var(--ci-bone);
}

.ci-live-btn:hover,
.ci-live-btn:focus {
    background: var(--ci-wine);
    border-color: var(--ci-wine);
    color: var(--ci-bone);
    transform: translateY(-2px);
}

.ci-dates {
    background: var(--ci-bone);
    color: var(--ci-black);
}

.ci-dates__inner {
    width: min(1380px, calc(100% - 120px));
    margin: 0 auto;
    padding: 120px 0;
}

.ci-dates__header {
    display: grid;
    grid-template-columns: 1fr minmax(320px, .65fr);
    gap: 80px;
    align-items: end;
    margin-bottom: 70px;
}

.ci-section-kicker {
    color: rgba(17,17,17,.60);
}

.ci-dates__title {
    margin: 0;
    color: var(--ci-black);
    font-family: var(--ci-serif);
    font-size: clamp(70px, 6vw, 105px);
    font-weight: 400;
    line-height: .86;
    letter-spacing: -.045em;
}

.ci-dates__title span {
    display: block;
    color: var(--ci-wine);
}

.ci-dates__intro {
    margin: 0;
    max-width: 470px;
    color: rgba(17,17,17,.68);
    font-family: var(--ci-sans);
    font-size: 16px;
    line-height: 1.7;
}

.ci-date {
    display: grid;
    grid-template-columns: 130px 1fr 130px 150px;
    gap: 30px;
    align-items: center;
    min-height: 120px;
    border-top: 1px solid rgba(17,17,17,.16);
}

.ci-date:last-of-type {
    border-bottom: 1px solid rgba(17,17,17,.16);
}

.ci-date__day {
    display: flex;
    align-items: baseline;
    gap: 10px;
}

.ci-date__day strong {
    color: var(--ci-wine);
    font-family: var(--ci-serif);
    font-size: 50px;
    font-weight: 400;
    line-height: 1;
}

.ci-date__day span {
    color: rgba(17,17,17,.54);
    font-family: var(--ci-sans);
    font-size: 9px;
    letter-spacing: .18em;
}

.ci-date__location h3 {
    margin: 0 0 5px;
    font-family: var(--ci-serif);
    font-size: 29px;
    font-weight: 400;
}

.ci-date__location p {
    margin: 0;
    color: rgba(17,17,17,.55);
    font-family: var(--ci-sans);
    font-size: 13px;
}

.ci-date__info {
    color: rgba(17,17,17,.55);
    font-family: var(--ci-sans);
    font-size: 10px;
    letter-spacing: .15em;
}

.ci-date__ticket {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 13px 15px;
    border: 1px solid var(--ci-wine);
    color: var(--ci-wine);
    font-family: var(--ci-sans);
    font-size: 9px;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background .25s ease, color .25s ease;
}

.ci-date__ticket:link,
.ci-date__ticket:visited {
    color: var(--ci-wine);
}

.ci-date__ticket:hover,
.ci-date__ticket:focus {
    background: var(--ci-wine);
    color: var(--ci-bone);
}

.ci-dates__empty-note {
    margin: 25px 0 0;
    color: rgba(17,17,17,.45);
    font-family: var(--ci-serif);
    font-size: 17px;
    font-style: italic;
}

.ci-live-archive {
    position: relative;
    overflow: hidden;
    background: var(--ci-bone);
    color: var(--ci-black);
}

.ci-live-archive__inner {
    width: min(1380px, calc(100% - 120px));
    margin: 0 auto;
    padding: 40px 0 125px;
}

.ci-live-archive__header {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(300px, .55fr);
    align-items: end;
    gap: 80px;
    margin-bottom: 90px;
}

.ci-live-archive__title {
    max-width: 900px;
    margin: 0;
    color: var(--ci-black);
    font-family: var(--ci-serif);
    font-size: clamp(58px, 5.2vw, 94px);
    font-weight: 400;
    line-height: .9;
    letter-spacing: -.04em;
}

.ci-live-archive__title span {
    display: block;
    color: var(--ci-wine);
}

.ci-live-archive__intro {
    max-width: 430px;
    margin: 0;
    color: rgba(17,17,17,.62);
    font-family: var(--ci-sans);
    font-size: 15px;
    line-height: 1.7;
}

.ci-live-memory {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-auto-rows: 65px;
    gap: 24px;
    margin-bottom: 70px;
}

.ci-memory {
    position: relative;
    margin: 0;
    align-self: start;
}

.ci-memory__media {
    position: relative;
    overflow: hidden;
    background: var(--ci-black);
}

.ci-memory__media img {
    display: block;
    width: 100%;
}

.ci-memory--poster {
    padding: 9px;
    background: #ebe6dc;
    box-shadow: 0 18px 40px rgba(17,17,17,.14);
    transition: transform .35s ease, box-shadow .35s ease;
}

.ci-memory--poster img {
    height: auto;
    object-fit: contain;
}

.ci-memory--poster figcaption {
    padding: 11px 2px 1px;
    color: rgba(17,17,17,.52);
    font-family: var(--ci-sans);
    font-size: 8px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: .19em;
    text-transform: uppercase;
}

.ci-memory--photo .ci-memory__media {
    height: 100%;
}

.ci-memory--photo img {
    height: 100%;
    object-fit: cover;
    filter: grayscale(100%) contrast(1.06);
    transition: filter .4s ease, transform .6s ease;
}

.ci-memory--photo:hover img {
    filter: grayscale(65%) contrast(1.04);
    transform: scale(1.015);
}

.ci-memory--photo .ci-memory__media::after {
    content: "";
    position: absolute;
    inset: 10px;
    pointer-events: none;
    border: 1px solid rgba(242,239,232,.15);
}

.ci-memory--a {
    grid-column: 1 / 4;
    grid-row: 1 / 7;
    transform: rotate(-2deg);
}

.ci-memory--b {
    grid-column: 5 / 8;
    grid-row: 1 / 7;
    transform: rotate(1.5deg);
}

.ci-memory--c {
    grid-column: 8 / 13;
    grid-row: 2 / 8;
}

.ci-memory--d {
    grid-column: 1 / 6;
    grid-row: 8 / 13;
}

.ci-memory--e {
    grid-column: 7 / 10;
    grid-row: 8 / 14;
    transform: rotate(2deg);
}

.ci-memory--f {
    grid-column: 10 / 13;
    grid-row: 9 / 15;
    transform: rotate(-1.5deg);
}

.ci-memory--poster:hover {
    z-index: 10;
    transform: rotate(0) translateY(-5px);
    box-shadow: 0 25px 50px rgba(17,17,17,.20);
}

.ci-live-archive__more {
    display: flex;
    justify-content: center;
    margin: 20px 0 65px;
}

.ci-archive-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 50px;
    min-width: 320px;
    padding: 17px 24px;
    border: 1px solid var(--ci-wine);
    background: transparent;
    color: var(--ci-wine);
    font-family: var(--ci-sans);
    font-size: 10px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: .2em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background .25s ease, color .25s ease;
}

.ci-archive-toggle:hover,
.ci-archive-toggle:focus {
    background: var(--ci-wine);
    color: var(--ci-bone);
}

.ci-archive-toggle__arrow {
    font-size: 18px;
    transition: transform .3s ease;
}

.ci-archive-toggle.is-open .ci-archive-toggle__arrow {
    transform: rotate(180deg);
}

.ci-archive-extra {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transform: translateY(20px);
    transition: max-height .7s ease, opacity .45s ease, transform .45s ease;
}

.ci-archive-extra.is-open {
    max-height: 5000px;
    opacity: 1;
    transform: translateY(0);
    margin-bottom: 70px;
}

.ci-archive-item {
    margin: 0;
}

.ci-archive-item img {
    display: block;
    width: 100%;
}

.ci-archive-item--poster {
    align-self: start;
    padding: 8px;
    background: #ebe6dc;
    box-shadow: 0 12px 25px rgba(17,17,17,.12);
}

.ci-archive-item--poster img {
    height: auto;
    object-fit: contain;
}

.ci-archive-item--photo {
    overflow: hidden;
    background: var(--ci-black);
}

.ci-archive-item--photo img {
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    filter: grayscale(100%) contrast(1.05);
}

.ci-archive-item--photo.ci-archive-item--wide {
    grid-column: span 2;
}

.ci-archive-item--photo.ci-archive-item--wide img {
    aspect-ratio: 16 / 9;
}

.ci-live-archive__footer {
    display: flex;
    justify-content: flex-end;
    padding-top: 22px;
    border-top: 1px solid rgba(17,17,17,.14);
    color: rgba(17,17,17,.44);
    font-family: var(--ci-serif);
    font-size: 17px;
    font-style: italic;
}

.ci-live-videos {
    background: var(--ci-black);
    color: var(--ci-bone);
}

.ci-live-videos__inner {
    width: min(1380px, calc(100% - 120px));
    margin: 0 auto;
    padding: 120px 0;
}

.ci-section-kicker--dark {
    color: rgba(242,239,232,.55);
}

.ci-live-videos__header {
    margin-bottom: 55px;
}

.ci-live-videos__title {
    margin: 0;
    font-family: var(--ci-serif);
    font-size: clamp(65px, 5.4vw, 100px);
    font-weight: 400;
    line-height: .88;
    letter-spacing: -.04em;
}

.ci-live-videos__title span {
    color: var(--ci-coral);
}

.ci-live-video {
    position: relative;
    display: block;
    overflow: hidden;
    background: #090909;
    color: var(--ci-bone);
    text-decoration: none;
}

.ci-live-video:link,
.ci-live-video:visited {
    color: var(--ci-bone);
}

.ci-live-video--main {
    height: clamp(440px, 53vw, 720px);
    margin-bottom: 35px;
}

.ci-live-video--secondary {
    width: 67%;
    height: clamp(320px, 36vw, 500px);
    margin-left: auto;
}

.ci-live-video img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(100%) brightness(.75);
    transition: filter .4s ease, transform .6s ease;
}

.ci-live-video:hover img {
    filter: grayscale(65%) brightness(.88);
    transform: scale(1.015);
}

.ci-live-video__play {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 72px;
    height: 72px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(242,239,232,.70);
    border-radius: 50%;
    background: rgba(17,17,17,.35);
    font-size: 18px;
    transform: translate(-50%, -50%);
    transition: background .25s ease, transform .25s ease;
}

.ci-live-video:hover .ci-live-video__play {
    background: var(--ci-wine);
    transform: translate(-50%, -50%) scale(1.08);
}

.ci-live-video__caption {
    position: absolute;
    left: 30px;
    right: 30px;
    bottom: 27px;
}

.ci-live-video__caption span {
    display: block;
    margin-bottom: 7px;
    color: var(--ci-coral);
    font-family: var(--ci-sans);
    font-size: 9px;
    letter-spacing: .25em;
    text-transform: uppercase;
}

.ci-live-video__caption strong {
    font-family: var(--ci-serif);
    font-size: clamp(23px, 2vw, 32px);
    font-weight: 400;
}

@media (max-width: 1024px) {
    .ci-live-hero__inner,
    .ci-dates__inner,
    .ci-live-archive__inner,
    .ci-live-videos__inner {
        width: calc(100% - 70px);
    }

    .ci-live-hero__content {
        width: 70vw;
    }

    .ci-date {
        grid-template-columns: 110px 1fr 100px 130px;
    }

    .ci-live-archive__header {
        gap: 50px;
        margin-bottom: 70px;
    }

    .ci-live-memory {
        grid-auto-rows: 52px;
        gap: 18px;
    }
}

@media (max-width: 768px) {
    .ci-live-hero {
        min-height: 100svh;
        align-items: flex-end;
    }

    .ci-live-hero__media img {
        object-position: 62% center;
    }

    .ci-live-hero__media::after {
        background: linear-gradient( 180deg, rgba(17,17,17,.10) 0%, rgba(17,17,17,.20) 30%, rgba(17,17,17,.68) 58%, #111111 100% );
    }

    .ci-live-hero::after {
        inset: 7px;
    }

    .ci-live-hero__inner {
        width: calc(100% - 40px);
        padding: 120px 0 70px;
    }

    .ci-live-hero__content {
        width: 100%;
    }

    .ci-live-hero__title {
        font-size: clamp(52px, 14vw, 75px);
    }

    .ci-live-hero__title span {
        display: inline;
    }

    .ci-live-hero__text {
        font-size: 15px;
    }

    .ci-live-btn {
        width: 100%;
        min-width: 0;
    }

    .ci-dates__inner {
        width: calc(100% - 40px);
        padding: 80px 0;
    }

    .ci-dates__header {
        display: block;
        margin-bottom: 45px;
    }

    .ci-dates__intro {
        margin-top: 30px;
    }

    .ci-date {
        grid-template-columns: 82px 1fr;
        gap: 15px 20px;
        padding: 25px 0;
    }

    .ci-date__day {
        grid-row: 1 / 3;
    }

    .ci-date__day strong {
        font-size: 43px;
    }

    .ci-date__info {
        grid-column: 2;
    }

    .ci-date__ticket {
        grid-column: 1 / -1;
        margin-top: 8px;
    }

    .ci-live-archive__inner {
        width: calc(100% - 40px);
        padding: 25px 0 80px;
    }

    .ci-live-archive__header {
        display: block;
        margin-bottom: 55px;
    }

    .ci-live-archive__intro {
        margin-top: 30px;
    }

    .ci-live-archive__title {
        font-size: clamp(48px, 13vw, 68px);
    }

    .ci-live-memory {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-auto-rows: auto;
        gap: 35px 18px;
    }

    .ci-memory {
        grid-column: auto !important;
        grid-row: auto !important;
        width: 100%;
        transform: none;
    }

    .ci-memory--photo {
        grid-column: 1 / -1 !important;
        height: 58vw;
        min-height: 250px;
    }

    .ci-memory--poster:nth-of-type(even) {
        transform: rotate(1deg);
    }

    .ci-memory--poster:nth-of-type(odd) {
        transform: rotate(-1deg);
    }

    .ci-archive-toggle {
        width: 100%;
        min-width: 0;
    }

    .ci-archive-extra {
        grid-template-columns: 1fr 1fr;
        gap: 20px 14px;
    }

    .ci-archive-item--photo.ci-archive-item--wide {
        grid-column: 1 / -1;
    }

    .ci-live-videos__inner {
        width: calc(100% - 40px);
        padding: 80px 0;
    }

    .ci-live-video--main,
    .ci-live-video--secondary {
        width: 100%;
        height: 55vw;
        min-height: 260px;
        margin: 0 0 25px;
    }

    .ci-live-video__play {
        width: 58px;
        height: 58px;
    }
}

@media (max-width: 480px) {
    .ci-live-memory {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .ci-memory--photo {
        grid-column: auto !important;
        height: 72vw;
    }

    .ci-memory--poster {
        width: 88%;
    }

    .ci-memory--poster:nth-child(even) {
        margin-left: auto;
    }

    .ci-archive-extra {
        grid-template-columns: 1fr;
    }

    .ci-archive-item--photo.ci-archive-item--wide {
        grid-column: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ci-live-btn,
    .ci-date__ticket,
    .ci-memory--poster,
    .ci-memory--photo img,
    .ci-archive-toggle,
    .ci-archive-toggle__arrow,
    .ci-archive-extra,
    .ci-live-video img,
    .ci-live-video__play {
        transition: none;
    }
}
/* =========================================================
   DIRECTO — FECHA DESTACADA
   ========================================================= */

.ci-date--featured {
    position: relative;

    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(240px, 330px);

    gap: 48px;

    margin: 0 0 55px;
    padding: 32px;

    border: 1px solid rgba(17,17,17,.14);

    background:
        linear-gradient(
            135deg,
            rgba(122,31,43,.055),
            rgba(242,239,232,0) 55%
        );

    align-items: stretch;
}


/* Parte de datos */

.ci-date--featured .ci-date__main {
    display: grid;

    grid-template-columns:
        150px
        minmax(200px, 1fr)
        120px
        160px;

    gap: 30px;

    align-items: center;
}


/* =========================================================
   NÚMERO DE DÍA
   Inter para que "11" no parezca "II"
   ========================================================= */

.ci-date__day strong {
    display: block;

    margin: 0;

    color: var(--ci-wine);

    font-family: var(--ci-sans);
    font-size: clamp(66px, 6vw, 96px);
    font-weight: 800;

    line-height: .82;

    letter-spacing: -.07em;

    font-variant-numeric:
        lining-nums
        tabular-nums;

    font-feature-settings:
        "lnum" 1,
        "tnum" 1;
}

.ci-date__day span {
    display: block;

    margin-top: 13px;

    color: rgba(17,17,17,.58);

    font-family: var(--ci-sans);
    font-size: 9px;
    font-weight: 600;

    line-height: 1;

    letter-spacing: .24em;

    text-transform: uppercase;
}


/* Etiqueta próxima fecha */

.ci-date__featured-label {
    display: inline-block;

    margin-bottom: 10px;

    color: var(--ci-wine);

    font-family: var(--ci-sans);
    font-size: 8px;
    font-weight: 700;

    letter-spacing: .20em;

    text-transform: uppercase;
}


/* =========================================================
   CARTEL
   ========================================================= */

.ci-date__poster {
    position: relative;

    overflow: hidden;

    min-height: 400px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 16px;

    box-sizing: border-box;

    background: var(--ci-black);
}

.ci-date__poster::after {
    content: "";

    position: absolute;
    inset: 10px;

    z-index: 2;

    border: 1px solid rgba(242,239,232,.17);

    pointer-events: none;
}

.ci-date__poster img {
    display: block;

    width: 100%;
    height: 100%;

    max-height: 490px;

    object-fit: contain;
    object-position: center;

    transition:
        transform .45s ease;
}

.ci-date--featured:hover
.ci-date__poster img {
    transform: scale(1.015);
}

.ci-date__poster-caption {
    position: absolute;

    left: 16px;
    bottom: 16px;

    z-index: 3;

    padding: 7px 10px;

    background: rgba(17,17,17,.88);

    color: var(--ci-bone);

    font-family: var(--ci-sans);
    font-size: 7px;
    font-weight: 600;

    letter-spacing: .16em;

    text-transform: uppercase;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {

    .ci-date--featured {
        grid-template-columns: 1fr 270px;

        gap: 32px;
    }

    .ci-date--featured .ci-date__main {
        grid-template-columns:
            115px
            1fr;

        gap: 25px;
    }

    .ci-date--featured .ci-date__info,
    .ci-date--featured .ci-date__ticket {
        grid-column: 2;
    }

}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 768px) {

    .ci-date--featured {
        display: flex;
        flex-direction: column;

        gap: 32px;

        padding: 20px;
    }

    .ci-date--featured .ci-date__main {
        display: grid;

        grid-template-columns:
            95px
            1fr;

        gap: 22px;
    }

    .ci-date__day strong {
        font-size: 68px;
    }

    .ci-date--featured .ci-date__info {
        grid-column: 2;
    }

    .ci-date--featured .ci-date__ticket {
        grid-column: 1 / -1;
    }

    .ci-date__poster {
        min-height: 0;
    }

    .ci-date__poster img {
        width: 100%;
        height: auto;

        max-height: none;
    }

}

/* =========================================================
   DIRECTO — AJUSTE MÓVIL FECHA DESTACADA
   ========================================================= */

@media (max-width: 768px) {

    .ci-date--featured .ci-date__main {
        grid-template-columns: 86px 1fr;
        column-gap: 18px;
        row-gap: 10px;
        align-items: start;
    }

    .ci-date__day {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }

    .ci-date__day strong {
        font-size: 60px;
        line-height: .88;
        letter-spacing: -.06em;
    }

    .ci-date__day span {
        margin-top: 8px;
        font-size: 9px;
        line-height: 1;
        letter-spacing: .14em;
        white-space: nowrap;
    }

    .ci-date__location {
        min-width: 0;
    }

    .ci-date__featured-label {
        display: inline-block;
        margin-bottom: 6px;
        font-size: 8px;
        letter-spacing: .16em;
        line-height: 1.2;
    }

    .ci-date__location h3 {
        margin: 0 0 6px;
        font-size: 27px;
        line-height: 1.02;
        letter-spacing: -.02em;
    }

    .ci-date__location p {
        margin: 0;
        font-size: 15px;
        line-height: 1.3;
    }

    .ci-date--featured .ci-date__info {
        grid-column: 2;
        margin-top: 4px;
    }

    .ci-date--featured .ci-date__info span {
        font-size: 14px;
        line-height: 1.2;
    }

    .ci-date--featured .ci-date__ticket {
        grid-column: 1 / -1;
        margin-top: 10px;
    }

    .ci-date__poster {
        min-height: 0;
    }

    .ci-date__poster img {
        width: 100%;
        height: auto;
        max-height: none;
    }
}


/* =========================================================
   DIRECTO — MÓVIL PEQUEÑO
   ========================================================= */

@media (max-width: 480px) {

    .ci-date--featured {
        padding: 18px;
    }

    .ci-date--featured .ci-date__main {
        grid-template-columns: 78px 1fr;
        column-gap: 14px;
    }

    .ci-date__day strong {
        font-size: 54px;
    }

    .ci-date__day span {
        font-size: 8px;
        letter-spacing: .12em;
    }

    .ci-date__location h3 {
        font-size: 24px;
    }

    .ci-date__location p {
        font-size: 14px;
    }
}

/* =========================================================
   08. PRENSA
   ========================================================= */

.ci-press-hero {
    position: relative;
    isolation: isolate;
    width: 100%;
    min-height: 82vh;
    min-height: 82svh;
    overflow: hidden;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    background: radial-gradient( circle at 76% 44%, rgba(122,31,43,.17) 0%, rgba(122,31,43,.055) 25%, rgba(17,17,17,0) 52% ), linear-gradient( 135deg, #111111 0%, #151313 58%, #111111 100% );
    color: var(--ci-bone);
}

.ci-press-hero::before {
    content: "PRESS";
    position: absolute;
    right: -2vw;
    bottom: -8vh;
    z-index: 0;
    color: rgba(242,239,232,.022);
    font-family: var(--ci-serif);
    font-size: clamp(180px, 30vw, 520px);
    font-weight: 400;
    line-height: .72;
    letter-spacing: -.07em;
    pointer-events: none;
    user-select: none;
}

.ci-press-hero::after {
    content: "";
    position: absolute;
    inset: 12px;
    z-index: 20;
    pointer-events: none;
    border: 1px solid rgba(242,239,232,.07);
}

.ci-press-hero__inner {
    position: relative;
    z-index: 5;
    width: min( 1420px, calc(100% - 120px) );
    margin: 0 auto;
    padding: 155px 0 135px;
    box-sizing: border-box;
}

.ci-press-kicker {
    display: flex;
    align-items: center;
    gap: 22px;
    margin-bottom: 30px;
    color: rgba(242,239,232,.75);
    font-family: var(--ci-sans);
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: .36em;
    text-transform: uppercase;
}

.ci-press-kicker__line {
    display: block;
    width: 50px;
    height: 1px;
    flex-shrink: 0;
    background: var(--ci-coral);
}

.ci-press-hero__title {
    max-width: 1080px;
    margin: 0 0 34px;
    color: var(--ci-bone);
    font-family: var(--ci-serif);
    font-size: clamp(76px, 7.1vw, 128px);
    font-weight: 400;
    line-height: .84;
    letter-spacing: -.05em;
}

.ci-press-hero__title > span {
    display: block;
}

.ci-press-hero__title > span:last-child {
    color: var(--ci-coral);
}

.ci-press-hero__text {
    width: min(580px, 100%);
    margin: 0 0 34px;
    color: rgba(242,239,232,.78);
    font-family: var(--ci-sans);
    font-size: 17px;
    line-height: 1.7;
}

.ci-press-btn {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 45px;
    min-width: 305px;
    padding: 17px 24px;
    box-sizing: border-box;
    border: 1px solid rgba(242,239,232,.50);
    background: transparent;
    color: var(--ci-bone);
    font-family: var(--ci-sans);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .20em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background .25s ease, border-color .25s ease, transform .25s ease;
}

.ci-press-btn:link,
.ci-press-btn:visited {
    color: var(--ci-bone);
}

.ci-press-btn:hover,
.ci-press-btn:focus {
    border-color: var(--ci-wine);
    background: var(--ci-wine);
    color: var(--ci-bone);
    transform: translateY(-2px);
}

.ci-press-hero__paper {
    position: absolute;
    left: -2%;
    right: -2%;
    bottom: -48px;
    z-index: 12;
    height: 112px;
    background: var(--ci-bone);
    clip-path: polygon( 0 24%, 4% 18%, 8% 27%, 13% 19%, 18% 24%, 23% 14%, 29% 26%, 34% 17%, 40% 25%, 45% 14%, 51% 22%, 57% 15%, 63% 25%, 69% 17%, 75% 24%, 81% 18%, 87% 27%, 92% 17%, 96% 23%, 100% 17%, 100% 100%, 0 100% );
}

.ci-press-featured .ci-section-kicker,
.ci-press-video .ci-section-kicker,
.ci-press-list .ci-section-kicker,
.ci-press-kit .ci-section-kicker {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 30px;
    font-family: var(--ci-sans);
    font-size: 10px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: .34em;
    text-transform: uppercase;
}

.ci-press-featured .ci-section-kicker,
.ci-press-video .ci-section-kicker {
    color: rgba(17,17,17,.60);
}

.ci-press-list .ci-section-kicker,
.ci-press-kit .ci-section-kicker {
    color: rgba(242,239,232,.54);
}

.ci-press-featured .ci-section-kicker > span:first-child,
.ci-press-video .ci-section-kicker > span:first-child,
.ci-press-list .ci-section-kicker > span:first-child,
.ci-press-kit .ci-section-kicker > span:first-child {
    display: block;
    width: 48px;
    height: 1px;
    flex-shrink: 0;
    background: var(--ci-coral);
}

.ci-press-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px 13px;
    color: rgba(17,17,17,.50);
    font-family: var(--ci-sans);
    font-size: 8px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.ci-press-meta span + span::before {
    content: "·";
    margin-right: 13px;
    color: var(--ci-coral);
}

.ci-press-featured {
    position: relative;
    background: var(--ci-bone);
    color: var(--ci-black);
}

.ci-press-featured__inner {
    width: min( 1380px, calc(100% - 120px) );
    margin: 0 auto;
    padding: 125px 0 130px;
}

.ci-press-section-header {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(300px, .55fr);
    align-items: end;
    gap: 80px;
    margin-bottom: 80px;
}

.ci-press-section-title {
    max-width: 920px;
    margin: 0;
    color: var(--ci-black);
    font-family: var(--ci-serif);
    font-size: clamp(64px, 5.6vw, 102px);
    font-weight: 400;
    line-height: .88;
    letter-spacing: -.045em;
}

.ci-press-section-title span {
    display: block;
    color: var(--ci-wine);
}

.ci-press-section-intro {
    max-width: 430px;
    margin: 0;
    color: rgba(17,17,17,.64);
    font-family: var(--ci-sans);
    font-size: 15px;
    line-height: 1.7;
}

.ci-press-lead {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(360px, .72fr);
    gap: clamp(55px, 6vw, 105px);
    align-items: center;
    margin-bottom: 95px;
}

.ci-press-lead__media {
    position: relative;
    display: block;
    overflow: hidden;
    min-height: 570px;
    background: var(--ci-black);
    text-decoration: none;
}

.ci-press-lead__media::after {
    content: "";
    position: absolute;
    inset: 11px;
    pointer-events: none;
    border: 1px solid rgba(242,239,232,.14);
}

.ci-press-lead__media img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 570px;
    object-fit: cover;
    filter: grayscale(100%) contrast(1.08) brightness(.82);
    transition: filter .45s ease, transform .65s ease;
}

.ci-press-lead__media:hover img {
    filter: grayscale(65%) contrast(1.04) brightness(.9);
    transform: scale(1.015);
}

.ci-press-lead__mark {
    position: absolute;
    right: 25px;
    bottom: 23px;
    z-index: 3;
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(242,239,232,.55);
    border-radius: 50%;
    background: rgba(17,17,17,.28);
    color: var(--ci-bone);
    font-size: 18px;
    transition: background .25s ease, transform .25s ease;
}

.ci-press-lead__media:hover .ci-press-lead__mark {
    background: var(--ci-wine);
    transform: rotate(6deg);
}

.ci-press-lead__content {
    position: relative;
}

.ci-press-lead__content::before {
    content: "“";
    position: absolute;
    top: -62px;
    left: -15px;
    color: rgba(122,31,43,.10);
    font-family: var(--ci-serif);
    font-size: 170px;
    line-height: 1;
    pointer-events: none;
}

.ci-press-lead__content .ci-press-meta {
    position: relative;
    z-index: 2;
    margin-bottom: 25px;
}

.ci-press-lead__content h3 {
    position: relative;
    z-index: 2;
    margin: 0 0 25px;
    color: var(--ci-black);
    font-family: var(--ci-serif);
    font-size: clamp(42px, 3.4vw, 62px);
    font-weight: 400;
    line-height: .98;
    letter-spacing: -.035em;
}

.ci-press-lead__content h3 em {
    color: var(--ci-wine);
    font-weight: 400;
}

.ci-press-lead__content p {
    max-width: 520px;
    margin: 0 0 30px;
    color: rgba(17,17,17,.68);
    font-family: var(--ci-sans);
    font-size: 15px;
    line-height: 1.75;
}

.ci-press-read {
    display: inline-flex;
    align-items: center;
    gap: 26px;
    color: var(--ci-wine);
    font-family: var(--ci-sans);
    font-size: 9px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: .20em;
    text-transform: uppercase;
    text-decoration: none;
}

.ci-press-read:link,
.ci-press-read:visited {
    color: var(--ci-wine);
}

.ci-press-read span:last-child {
    font-size: 17px;
    transition: transform .25s ease;
}

.ci-press-read:hover span:last-child {
    transform: translateX(5px);
}

.ci-press-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 45px;
}

.ci-press-card {
    min-width: 0;
}

.ci-press-card__media {
    position: relative;
    display: block;
    height: clamp(320px, 32vw, 490px);
    overflow: hidden;
    margin-bottom: 30px;
    background: var(--ci-black);
}

.ci-press-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(100%) contrast(1.06);
    transition: filter .4s ease, transform .6s ease;
}

.ci-press-card__media:hover img {
    filter: grayscale(65%) contrast(1.03);
    transform: scale(1.018);
}

.ci-press-card__content {
    padding-right: 7%;
}

.ci-press-card__content .ci-press-meta {
    margin-bottom: 18px;
}

.ci-press-card__content h3 {
    margin: 0 0 18px;
    color: var(--ci-black);
    font-family: var(--ci-serif);
    font-size: clamp(31px, 2.4vw, 43px);
    font-weight: 400;
    line-height: 1.05;
    letter-spacing: -.025em;
}

.ci-press-card__content p {
    max-width: 570px;
    margin: 0 0 25px;
    color: rgba(17,17,17,.63);
    font-family: var(--ci-sans);
    font-size: 14px;
    line-height: 1.7;
}

.ci-press-list {
    background: var(--ci-black);
    color: var(--ci-bone);
}

.ci-press-list__inner {
    width: min( 1380px, calc(100% - 120px) );
    margin: 0 auto;
    padding: 120px 0 125px;
}

.ci-press-list__header {
    margin-bottom: 60px;
}

.ci-press-list__title {
    margin: 0;
    color: var(--ci-bone);
    font-family: var(--ci-serif);
    font-size: clamp(66px, 5.5vw, 102px);
    font-weight: 400;
    line-height: .87;
    letter-spacing: -.045em;
}

.ci-press-list__title span {
    color: var(--ci-coral);
}

.ci-press-list__items {
    border-top: 1px solid rgba(242,239,232,.15);
}

.ci-press-row {
    display: grid;
    grid-template-columns: 75px 190px minmax(0, 1fr) 135px 30px;
    gap: 25px;
    align-items: center;
    min-height: 105px;
    padding: 0 8px;
    box-sizing: border-box;
    border-bottom: 1px solid rgba(242,239,232,.12);
    color: var(--ci-bone);
    text-decoration: none;
    transition: background .25s ease, padding-left .25s ease;
}

.ci-press-row:link,
.ci-press-row:visited {
    color: var(--ci-bone);
}

.ci-press-row:hover {
    padding-left: 18px;
    background: rgba(198,74,78,.06);
}

.ci-press-row__year,
.ci-press-row__type {
    font-family: var(--ci-sans);
    font-size: 8px;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.ci-press-row__year {
    color: var(--ci-coral);
}

.ci-press-row__medium {
    color: rgba(242,239,232,.62);
    font-family: var(--ci-sans);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .10em;
    text-transform: uppercase;
}

.ci-press-row__headline {
    font-family: var(--ci-serif);
    font-size: clamp(22px, 1.8vw, 29px);
    line-height: 1.15;
}

.ci-press-row__type {
    justify-self: end;
    color: rgba(242,239,232,.38);
}

.ci-press-row__arrow {
    justify-self: end;
    color: var(--ci-coral);
    font-size: 18px;
    transition: transform .25s ease;
}

.ci-press-row:hover .ci-press-row__arrow {
    transform: translate(3px, -3px);
}

.ci-press-video {
    background: var(--ci-bone);
    color: var(--ci-black);
}

.ci-press-video__inner {
    width: min( 1380px, calc(100% - 120px) );
    margin: 0 auto;
    padding: 120px 0 130px;
}

.ci-press-video__header {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(280px, .5fr);
    align-items: end;
    gap: 80px;
    margin-bottom: 65px;
}

.ci-press-video__title {
    margin: 0;
    color: var(--ci-black);
    font-family: var(--ci-serif);
    font-size: clamp(64px, 5.5vw, 100px);
    font-weight: 400;
    line-height: .88;
    letter-spacing: -.045em;
}

.ci-press-video__title span {
    display: block;
    color: var(--ci-wine);
}

.ci-press-video__header > p {
    max-width: 390px;
    margin: 0;
    color: rgba(17,17,17,.60);
    font-family: var(--ci-sans);
    font-size: 15px;
    line-height: 1.7;
}

.ci-press-video__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
    gap: 35px;
    align-items: end;
}

.ci-press-clip {
    display: block;
    color: var(--ci-black);
    text-decoration: none;
}

.ci-press-clip:link,
.ci-press-clip:visited {
    color: var(--ci-black);
}

.ci-press-clip__media {
    position: relative;
    overflow: hidden;
    background: var(--ci-black);
}

.ci-press-clip--main .ci-press-clip__media {
    aspect-ratio: 16 / 9;
}

.ci-press-clip--secondary .ci-press-clip__media {
    aspect-ratio: 4 / 3;
}

.ci-press-clip__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(100%) brightness(.77) contrast(1.08);
    transition: filter .4s ease, transform .65s ease;
}

.ci-press-clip:hover .ci-press-clip__media img {
    filter: grayscale(55%) brightness(.88);
    transform: scale(1.018);
}

.ci-press-clip__play {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 68px;
    height: 68px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(242,239,232,.70);
    border-radius: 50%;
    background: rgba(17,17,17,.34);
    color: var(--ci-bone);
    font-size: 17px;
    transform: translate(-50%, -50%);
    transition: background .25s ease, transform .25s ease;
}

.ci-press-clip:hover .ci-press-clip__play {
    background: var(--ci-wine);
    transform: translate(-50%, -50%) scale(1.08);
}

.ci-press-clip__info {
    padding-top: 20px;
}

.ci-press-clip__info .ci-press-meta {
    margin-bottom: 12px;
}

.ci-press-clip__info h3 {
    margin: 0;
    color: var(--ci-black);
    font-family: var(--ci-serif);
    font-size: clamp(30px, 2.5vw, 43px);
    font-weight: 400;
    line-height: 1;
}

.ci-press-kit {
    position: relative;
    overflow: hidden;
    background: radial-gradient( circle at 82% 35%, rgba(122,31,43,.18), rgba(17,17,17,0) 38% ), var(--ci-black);
    color: var(--ci-bone);
}

.ci-press-kit::before {
    content: "KIT";
    position: absolute;
    right: -2vw;
    bottom: -7vw;
    color: rgba(242,239,232,.022);
    font-family: var(--ci-serif);
    font-size: clamp(200px, 28vw, 470px);
    line-height: .7;
    pointer-events: none;
}

.ci-press-kit__inner {
    position: relative;
    z-index: 2;
    width: min( 1280px, calc(100% - 120px) );
    margin: 0 auto;
    padding: 125px 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, .48fr);
    gap: clamp(70px, 9vw, 150px);
    align-items: end;
}

.ci-press-kit__title {
    max-width: 850px;
    margin: 0 0 28px;
    color: var(--ci-bone);
    font-family: var(--ci-serif);
    font-size: clamp(58px, 5vw, 92px);
    font-weight: 400;
    line-height: .9;
    letter-spacing: -.04em;
}

.ci-press-kit__title span {
    display: block;
    color: var(--ci-coral);
}

.ci-press-kit__text {
    max-width: 610px;
    margin: 0;
    color: rgba(242,239,232,.68);
    font-family: var(--ci-sans);
    font-size: 15px;
    line-height: 1.75;
}

.ci-press-kit__contents {
    list-style: none;
    margin: 0 0 32px;
    padding: 0;
    border-top: 1px solid rgba(242,239,232,.14);
}

.ci-press-kit__contents li {
    position: relative;
    padding: 13px 0 13px 18px;
    border-bottom: 1px solid rgba(242,239,232,.10);
    color: rgba(242,239,232,.72);
    font-family: var(--ci-sans);
    font-size: 10px;
    font-weight: 500;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.ci-press-kit__contents li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--ci-coral);
    transform: translateY(-50%);
}

.ci-press-kit__btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
    width: 100%;
    padding: 17px 20px;
    box-sizing: border-box;
    border: 1px solid var(--ci-wine);
    background: transparent;
    color: var(--ci-coral);
    font-family: var(--ci-sans);
    font-size: 9px;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background .25s ease, color .25s ease, transform .25s ease;
}

.ci-press-kit__btn:link,
.ci-press-kit__btn:visited {
    color: var(--ci-coral);
}

.ci-press-kit__btn:hover,
.ci-press-kit__btn:focus {
    background: var(--ci-wine);
    color: var(--ci-bone);
    transform: translateY(-2px);
}

.ci-press-milestone {
    position: relative;
    overflow: hidden;
    background: var(--ci-bone);
    color: var(--ci-black);
}

.ci-press-milestone__inner {
    width: min(1380px, calc(100% - 120px));
    margin: 0 auto;
    padding: 20px 0 130px;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(340px, .65fr);
    gap: clamp(55px, 7vw, 110px);
    align-items: center;
}

.ci-press-milestone__media {
    position: relative;
    min-height: 620px;
    overflow: hidden;
    background: var(--ci-black);
}

.ci-press-milestone__media::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background: linear-gradient( 180deg, rgba(17,17,17,.02) 0%, rgba(17,17,17,.10) 60%, rgba(17,17,17,.28) 100% );
}

.ci-press-milestone__media::after {
    content: "";
    position: absolute;
    inset: 12px;
    z-index: 3;
    pointer-events: none;
    border: 1px solid rgba(242,239,232,.18);
}

.ci-press-milestone__media img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 620px;
    object-fit: cover;
    object-position: center;
    filter: grayscale(100%) contrast(1.06) brightness(.82);
    transition: filter .45s ease, transform .7s ease;
}

.ci-press-milestone:hover .ci-press-milestone__media img {
    filter: grayscale(45%) contrast(1.03) brightness(.90);
    transform: scale(1.012);
}

.ci-press-milestone__content {
    position: relative;
    padding-top: 10px;
}

.ci-press-milestone__content .ci-section-kicker {
    margin-bottom: 26px;
    color: rgba(17,17,17,.58);
}

.ci-press-milestone__content .ci-section-kicker > span:first-child {
    background: var(--ci-wine);
}

.ci-press-milestone__number {
    margin: 0 0 8px;
    color: var(--ci-wine);
    font-family: var(--ci-serif);
    font-size: clamp( 105px, 11vw, 190px );
    font-weight: 400;
    line-height: .75;
    letter-spacing: -.07em;
}

.ci-press-milestone__content h2 {
    max-width: 600px;
    margin: 0 0 27px;
    color: var(--ci-black);
    font-family: var(--ci-serif);
    font-size: clamp( 42px, 3.8vw, 67px );
    font-weight: 400;
    line-height: .94;
    letter-spacing: -.035em;
}

.ci-press-milestone__content h2 span {
    display: block;
    color: var(--ci-wine);
}

.ci-press-milestone__content > p:last-child {
    max-width: 420px;
    margin: 0;
    color: rgba(17,17,17,.62);
    font-family: var(--ci-sans);
    font-size: 15px;
    line-height: 1.7;
}

.ci-press-milestone__content > p:last-child em {
    color: var(--ci-black);
    font-family: var(--ci-serif);
    font-size: 18px;
    font-style: italic;
}

.ci-press-milestone__content::after {
    content: "LOPE DE VEGA";
    position: absolute;
    right: -6vw;
    bottom: -110px;
    color: rgba(122,31,43,.035);
    font-family: var(--ci-serif);
    font-size: clamp( 65px, 8vw, 130px );
    line-height: .8;
    letter-spacing: -.05em;
    white-space: nowrap;
    pointer-events: none;
}

.ci-press-clip--secondary .ci-press-clip__media {
    aspect-ratio: 16 / 9;
    background: var(--ci-black);
}

.ci-press-clip--secondary .ci-press-clip__media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

@media (max-width: 1250px) and (min-width: 1025px) {
    .ci-press-hero__inner,
    .ci-press-featured__inner,
    .ci-press-list__inner,
    .ci-press-video__inner {
        width: calc( 100% - 80px );
    }

    .ci-press-kit__inner {
        width: calc( 100% - 80px );
    }

    .ci-press-lead {
        gap: 55px;
    }

    .ci-press-row {
        grid-template-columns: 65px 160px minmax(0, 1fr) 120px 25px;
    }
}

@media (max-width: 1024px) {
    .ci-press-hero__inner,
    .ci-press-featured__inner,
    .ci-press-list__inner,
    .ci-press-video__inner,
    .ci-press-kit__inner {
        width: calc( 100% - 70px );
    }

    .ci-press-hero__title {
        font-size: clamp( 68px, 9vw, 100px );
    }

    .ci-press-section-header,
    .ci-press-video__header {
        gap: 50px;
    }

    .ci-press-lead {
        grid-template-columns: minmax(0, 1fr) minmax(310px, .72fr);
        gap: 45px;
    }

    .ci-press-lead__media,
    .ci-press-lead__media img {
        min-height: 470px;
    }

    .ci-press-row {
        grid-template-columns: 60px 145px minmax(0, 1fr) 26px;
    }

    .ci-press-row__type {
        display: none;
    }

    .ci-press-kit__inner {
        gap: 55px;
    }

    .ci-press-milestone__inner {
        width: calc( 100% - 70px );
        grid-template-columns: minmax(0, 1fr) minmax(300px, .72fr);
        gap: 45px;
        padding: 10px 0 105px;
    }

    .ci-press-milestone__media,
    .ci-press-milestone__media img {
        min-height: 520px;
    }

    .ci-press-milestone__number {
        font-size: clamp( 90px, 12vw, 140px );
    }
}

@media (max-width: 768px) {
    .ci-press-hero {
        min-height: auto;
    }

    .ci-press-hero::after {
        inset: 7px;
    }

    .ci-press-hero::before {
        right: -10vw;
        bottom: 0;
        font-size: 70vw;
    }

    .ci-press-hero__inner {
        width: calc( 100% - 40px );
        padding: 135px 0 115px;
    }

    .ci-press-kicker {
        gap: 16px;
        margin-bottom: 23px;
        font-size: 9px;
        letter-spacing: .28em;
    }

    .ci-press-kicker__line {
        width: 38px;
    }

    .ci-press-hero__title {
        margin-bottom: 28px;
        font-size: clamp( 51px, 14.3vw, 74px );
        line-height: .88;
    }

    .ci-press-hero__title > span {
        display: inline;
    }

    .ci-press-hero__text {
        font-size: 15px;
    }

    .ci-press-btn {
        width: 100%;
        min-width: 0;
    }

    .ci-press-hero__paper {
        bottom: -34px;
        height: 76px;
    }

    .ci-press-featured__inner,
    .ci-press-list__inner,
    .ci-press-video__inner,
    .ci-press-kit__inner {
        width: calc( 100% - 40px );
    }

    .ci-press-featured__inner {
        padding: 90px 0 85px;
    }

    .ci-press-section-header,
    .ci-press-video__header {
        display: block;
        margin-bottom: 50px;
    }

    .ci-press-section-intro,
    .ci-press-video__header > p {
        margin-top: 28px;
    }

    .ci-press-section-title,
    .ci-press-video__title,
    .ci-press-list__title {
        font-size: clamp( 50px, 13vw, 68px );
    }

    .ci-press-lead {
        display: block;
        margin-bottom: 70px;
    }

    .ci-press-lead__media {
        min-height: 0;
        aspect-ratio: 4 / 3;
        margin-bottom: 34px;
    }

    .ci-press-lead__media img {
        min-height: 0;
        aspect-ratio: 4 / 3;
    }

    .ci-press-lead__content::before {
        top: -45px;
        font-size: 120px;
    }

    .ci-press-lead__content h3 {
        font-size: clamp( 38px, 10vw, 51px );
    }

    .ci-press-cards {
        grid-template-columns: 1fr;
        gap: 65px;
    }

    .ci-press-card__media {
        height: auto;
        aspect-ratio: 4 / 3;
    }

    .ci-press-card__content {
        padding-right: 0;
    }

    .ci-press-list__inner {
        padding: 85px 0 90px;
    }

    .ci-press-list__header {
        margin-bottom: 45px;
    }

    .ci-press-row {
        grid-template-columns: 48px minmax(0, 1fr) 24px;
        gap: 8px 14px;
        min-height: 0;
        padding: 24px 2px;
    }

    .ci-press-row:hover {
        padding-left: 2px;
    }

    .ci-press-row__year {
        grid-column: 1;
        grid-row: 1 / 3;
    }

    .ci-press-row__medium {
        grid-column: 2;
        font-size: 8px;
    }

    .ci-press-row__headline {
        grid-column: 2;
        font-size: clamp( 22px, 6.5vw, 28px );
    }

    .ci-press-row__arrow {
        grid-column: 3;
        grid-row: 1 / 3;
        align-self: center;
    }

    .ci-press-video__inner {
        padding: 85px 0 90px;
    }

    .ci-press-video__grid {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .ci-press-clip--secondary {
        width: 82%;
        margin-left: auto;
    }

    .ci-press-clip--secondary .ci-press-clip__media {
        aspect-ratio: 16 / 10;
    }

    .ci-press-kit__inner {
        padding: 90px 0;
        display: block;
    }

    .ci-press-kit__title {
        font-size: clamp( 48px, 12.5vw, 67px );
    }

    .ci-press-kit__text {
        margin-bottom: 45px;
    }

    .ci-press-kit::before {
        right: -12vw;
        bottom: 0;
        font-size: 75vw;
    }

    .ci-press-milestone__inner {
        width: calc( 100% - 40px );
        display: block;
        padding: 0 0 85px;
    }

    .ci-press-milestone__media {
        min-height: 0;
        aspect-ratio: 4 / 3;
        margin-bottom: 42px;
    }

    .ci-press-milestone__media img {
        min-height: 0;
        aspect-ratio: 4 / 3;
        object-position: center;
    }

    .ci-press-milestone__number {
        font-size: clamp( 90px, 27vw, 125px );
        margin-bottom: 12px;
    }

    .ci-press-milestone__content h2 {
        font-size: clamp( 39px, 10.5vw, 55px );
    }

    .ci-press-milestone__content::after {
        display: none;
    }

    .ci-press-clip--secondary .ci-press-clip__media {
        aspect-ratio: 16 / 9;
    }

    .ci-press-clip--secondary .ci-press-clip__media img {
        object-fit: contain;
        object-position: center;
    }
}

@media (max-width: 480px) {
    .ci-press-hero__inner,
    .ci-press-featured__inner,
    .ci-press-list__inner,
    .ci-press-video__inner,
    .ci-press-kit__inner {
        width: calc( 100% - 32px );
    }

    .ci-press-hero__title {
        font-size: clamp( 47px, 13.5vw, 62px );
    }

    .ci-press-meta {
        gap: 5px 9px;
        font-size: 7px;
        letter-spacing: .12em;
    }

    .ci-press-meta span + span::before {
        margin-right: 9px;
    }

    .ci-press-lead__mark {
        right: 17px;
        bottom: 17px;
        width: 46px;
        height: 46px;
    }

    .ci-press-clip--secondary {
        width: 100%;
    }

    .ci-press-milestone__inner {
        width: calc( 100% - 32px );
    }

    .ci-press-milestone__content .ci-section-kicker {
        margin-bottom: 20px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ci-press-btn,
    .ci-press-lead__media img,
    .ci-press-lead__mark,
    .ci-press-read span:last-child,
    .ci-press-card__media img,
    .ci-press-row,
    .ci-press-row__arrow,
    .ci-press-clip__media img,
    .ci-press-clip__play,
    .ci-press-kit__btn {
        transition: none;
    }
}


/* =========================================================
   09. TIENDA
   ========================================================= */

.ci-store-hero {
    position: relative;
    isolation: isolate;
    min-height: 82vh;
    min-height: 82svh;
    display: flex;
    align-items: center;
    overflow: hidden;
    box-sizing: border-box;
    background: radial-gradient( circle at 76% 42%, rgba(122,31,43,.19) 0%, rgba(122,31,43,.07) 24%, rgba(17,17,17,0) 54% ), linear-gradient( 135deg, #111111 0%, #151313 60%, #111111 100% );
    color: var(--ci-bone);
}

.ci-store-hero::after {
    content: "";
    position: absolute;
    inset: 12px;
    z-index: 20;
    pointer-events: none;
    border: 1px solid rgba(242,239,232,.07);
}

.ci-store-hero__mark {
    position: absolute;
    right: -3vw;
    bottom: -5vh;
    z-index: 0;
    color: rgba(242,239,232,.024);
    font-family: var(--ci-serif);
    font-size: clamp( 190px, 31vw, 530px );
    font-weight: 400;
    line-height: .72;
    letter-spacing: -.075em;
    pointer-events: none;
    user-select: none;
}

.ci-store-hero__inner {
    position: relative;
    z-index: 5;
    width: min( 1420px, calc(100% - 120px) );
    margin: 0 auto;
    padding: 155px 0 135px;
    box-sizing: border-box;
}

.ci-store-kicker,
.ci-store-section-kicker {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 30px;
    font-family: var(--ci-sans);
    font-size: 10px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: .34em;
    text-transform: uppercase;
}

.ci-store-kicker {
    color: rgba(242,239,232,.75);
}

.ci-store-kicker__line,
.ci-store-section-kicker > span:first-child {
    display: block;
    width: 48px;
    height: 1px;
    flex-shrink: 0;
    background: var(--ci-coral);
}

.ci-store-hero__title {
    max-width: 1100px;
    margin: 0 0 34px;
    color: var(--ci-bone);
    font-family: var(--ci-serif);
    font-size: clamp( 76px, 7.1vw, 128px );
    font-weight: 400;
    line-height: .84;
    letter-spacing: -.05em;
}

.ci-store-hero__title > span {
    display: block;
}

.ci-store-hero__title > span:last-child {
    color: var(--ci-coral);
}

.ci-store-hero__text {
    width: min( 570px, 100% );
    margin: 0 0 34px;
    color: rgba(242,239,232,.78);
    font-family: var(--ci-sans);
    font-size: 17px;
    line-height: 1.7;
}

.ci-store-btn {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 45px;
    min-width: 285px;
    padding: 17px 24px;
    box-sizing: border-box;
    border: 1px solid rgba(242,239,232,.50);
    background: transparent;
    color: var(--ci-bone);
    font-family: var(--ci-sans);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .20em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background .25s ease, border-color .25s ease, transform .25s ease;
}

.ci-store-btn:link,
.ci-store-btn:visited {
    color: var(--ci-bone);
}

.ci-store-btn:hover,
.ci-store-btn:focus {
    border-color: var(--ci-wine);
    background: var(--ci-wine);
    color: var(--ci-bone);
    transform: translateY(-2px);
}

.ci-store-hero__paper {
    position: absolute;
    left: -2%;
    right: -2%;
    bottom: -48px;
    z-index: 12;
    height: 112px;
    background: var(--ci-bone);
    clip-path: polygon( 0 24%, 4% 18%, 8% 27%, 13% 19%, 18% 24%, 23% 14%, 29% 26%, 34% 17%, 40% 25%, 45% 14%, 51% 22%, 57% 15%, 63% 25%, 69% 17%, 75% 24%, 81% 18%, 87% 27%, 92% 17%, 96% 23%, 100% 17%, 100% 100%, 0 100% );
}

.ci-store-catalog {
    background: var(--ci-bone);
    color: var(--ci-black);
}

.ci-store-catalog__inner {
    width: min( 1380px, calc(100% - 120px) );
    margin: 0 auto;
    padding: 125px 0 135px;
}

.ci-store-section-header {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(300px, .55fr);
    gap: 80px;
    align-items: end;
    margin-bottom: 75px;
}

.ci-store-section-kicker {
    color: rgba(17,17,17,.60);
}

.ci-store-section-title {
    max-width: 930px;
    margin: 0;
    color: var(--ci-black);
    font-family: var(--ci-serif);
    font-size: clamp( 64px, 5.6vw, 102px );
    font-weight: 400;
    line-height: .88;
    letter-spacing: -.045em;
}

.ci-store-section-title span {
    display: block;
    color: var(--ci-wine);
}

.ci-store-section-intro {
    max-width: 430px;
    margin: 0;
    color: rgba(17,17,17,.63);
    font-family: var(--ci-sans);
    font-size: 15px;
    line-height: 1.7;
}

.ci-store-products {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 70px 30px;
    align-items: start;
}

.ci-order-card {
    position: relative;
    min-width: 0;
}

.ci-order-card__media {
    position: relative;
    overflow: hidden;
    height: clamp(270px, 22vw, 324px);
    margin-bottom: 24px;
    background: #e7e2d8;
}

.ci-order-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(.86) contrast(1.02);
    transition: transform .6s ease, filter .4s ease;
}

.ci-order-card:hover .ci-order-card__media img {
    transform: scale(1.018);
    filter: saturate(1) contrast(1.02);
}

.ci-order-card--shirt {
    grid-column: span 2;
}

.ci-order-card--shirt .ci-order-card__media {
    height: clamp(270px, 22vw, 324px);
    background: #f3efe7;
}

.ci-order-card--shirt .ci-order-card__media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    padding: 16px 22px;
    box-sizing: border-box;
}

.ci-order-card__label {
    position: absolute;
    top: 13px;
    left: 13px;
    padding: 7px 10px;
    background: rgba(17,17,17,.90);
    color: var(--ci-bone);
    font-family: var(--ci-sans);
    font-size: 7px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.ci-order-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 11px;
    color: rgba(17,17,17,.46);
    font-family: var(--ci-sans);
    font-size: 8px;
    font-weight: 600;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.ci-order-card__meta span + span::before {
    content: "·";
    margin-right: 8px;
    color: var(--ci-coral);
}

.ci-order-card h3 {
    margin: 0 0 13px;
    color: var(--ci-black);
    font-family: var(--ci-serif);
    font-size: clamp( 27px, 2vw, 36px );
    font-weight: 400;
    line-height: 1.03;
    letter-spacing: -.025em;
}

.ci-order-card__price {
    margin: 0 0 22px;
    color: var(--ci-wine);
    font-family: var(--ci-sans);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .12em;
}

.ci-order-card__button {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 14px 16px;
    border: 1px solid rgba(122,31,43,.70);
    border-radius: 0;
    background: transparent;
    color: var(--ci-wine);
    font-family: var(--ci-sans);
    font-size: 9px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: .19em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background .25s ease, color .25s ease, transform .25s ease;
}

.ci-order-card__button:hover,
.ci-order-card__button:focus {
    background: var(--ci-wine);
    color: var(--ci-bone);
    transform: translateY(-2px);
}

.ci-order {
    position: relative;
    overflow: hidden;
    background: radial-gradient( circle at 18% 30%, rgba(122,31,43,.18), rgba(17,17,17,0) 37% ), var(--ci-black);
    color: var(--ci-bone);
}

.ci-order::before {
    content: "ORDER";
    position: absolute;
    left: -4vw;
    bottom: -6vw;
    color: rgba(242,239,232,.018);
    font-family: var(--ci-serif);
    font-size: clamp( 210px, 30vw, 500px );
    line-height: .7;
    letter-spacing: -.07em;
    pointer-events: none;
}

.ci-order__inner {
    position: relative;
    z-index: 2;
    width: min( 1280px, calc(100% - 120px) );
    margin: 0 auto;
    padding: 125px 0 130px;
    display: grid;
    grid-template-columns: minmax(0, .82fr) minmax(430px, 1fr);
    gap: clamp( 70px, 9vw, 150px );
    align-items: start;
}

.ci-store-section-kicker--dark {
    color: rgba(242,239,232,.55);
}

.ci-order__title {
    max-width: 700px;
    margin: 0 0 28px;
    color: var(--ci-bone);
    font-family: var(--ci-serif);
    font-size: clamp( 57px, 5vw, 90px );
    font-weight: 400;
    line-height: .9;
    letter-spacing: -.04em;
}

.ci-order__title span {
    display: block;
    color: var(--ci-coral);
}

.ci-order__text {
    max-width: 540px;
    margin: 0 0 38px;
    color: rgba(242,239,232,.68);
    font-family: var(--ci-sans);
    font-size: 15px;
    line-height: 1.75;
}

.ci-order__note {
    display: grid;
    grid-template-columns: 25px 1fr;
    gap: 15px;
    max-width: 500px;
    padding-top: 22px;
    border-top: 1px solid rgba(242,239,232,.12);
    color: rgba(242,239,232,.48);
}

.ci-order__note > span {
    color: var(--ci-coral);
}

.ci-order__note p {
    margin: 0;
    font-family: var(--ci-serif);
    font-size: 17px;
    font-style: italic;
    line-height: 1.45;
}

.ci-order-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 27px 22px;
    padding: 34px;
    border: 1px solid rgba(242,239,232,.13);
    background: rgba(242,239,232,.025);
    box-sizing: border-box;
}

.ci-order-form__field {
    min-width: 0;
}

.ci-order-form__field--full,
.ci-order-form__delivery,
.ci-order-form__address,
.ci-order-form__privacy,
.ci-order-form__submit,
.ci-order-form__status {
    grid-column: 1 / -1;
}

.ci-order-form__field label,
.ci-order-form__delivery legend {
    display: block;
    margin-bottom: 9px;
    color: rgba(242,239,232,.60);
    font-family: var(--ci-sans);
    font-size: 8px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.ci-order-form__field label span {
    margin-left: 7px;
    color: rgba(242,239,232,.32);
    font-weight: 400;
}

.ci-order-form input[type="text"],
.ci-order-form input[type="email"],
.ci-order-form input[type="tel"],
.ci-order-form input[type="number"],
.ci-order-form select,
.ci-order-form textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 13px 0;
    border: 0;
    border-bottom: 1px solid rgba(242,239,232,.22);
    border-radius: 0;
    outline: 0;
    background: transparent;
    box-shadow: none;
    color: var(--ci-bone);
    font-family: var(--ci-sans);
    font-size: 14px;
    line-height: 1.4;
    appearance: none;
    transition: border-color .2s ease;
}

.ci-order-form select {
    cursor: pointer;
}

.ci-order-form select option {
    background: var(--ci-black);
    color: var(--ci-bone);
}

.ci-order-form textarea {
    resize: vertical;
}

.ci-order-form input:focus,
.ci-order-form select:focus,
.ci-order-form textarea:focus {
    border-color: var(--ci-coral);
}

.ci-order-form__size[hidden] {
    display: none !important;
}

.ci-order-form__delivery {
    margin: 5px 0 0;
    padding: 0 0 3px;
    border: 0;
}

.ci-order-form__delivery legend {
    margin-bottom: 14px;
}

.ci-order-form__delivery label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 25px 0 0;
    color: rgba(242,239,232,.78);
    font-family: var(--ci-sans);
    font-size: 12px;
    cursor: pointer;
}

.ci-order-form__delivery input[type="radio"] {
    accent-color: var(--ci-coral);
}

.ci-order-form__address {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 27px 22px;
}

.ci-order-form__address[hidden] {
    display: none !important;
}

.ci-order-form__address .ci-order-form__field--full {
    grid-column: 1 / -1;
}

.ci-order-form__privacy {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    padding-top: 4px;
    color: rgba(242,239,232,.55);
    font-family: var(--ci-sans);
    font-size: 11px;
    line-height: 1.5;
}

.ci-order-form__privacy input {
    margin-top: 3px;
    accent-color: var(--ci-coral);
}

.ci-order-form__privacy a,
.ci-order-form__privacy a:visited {
    color: var(--ci-bone);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.ci-order-form__submit {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    width: 100%;
    margin-top: 5px;
    padding: 17px 20px;
    box-sizing: border-box;
    border: 1px solid var(--ci-wine);
    border-radius: 0;
    background: var(--ci-wine);
    color: var(--ci-bone);
    font-family: var(--ci-sans);
    font-size: 9px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: .20em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background .25s ease, border-color .25s ease, transform .25s ease;
}

.ci-order-form__submit:hover,
.ci-order-form__submit:focus {
    border-color: var(--ci-coral);
    background: var(--ci-coral);
    transform: translateY(-2px);
}

.ci-order-form__status {
    margin: 0;
    padding: 14px 16px;
    border-left: 2px solid var(--ci-coral);
    background: rgba(198,74,78,.07);
    color: rgba(242,239,232,.78);
    font-family: var(--ci-sans);
    font-size: 12px;
    line-height: 1.5;
}

.ci-order-form__status[hidden] {
    display: none !important;
}

@media (max-width: 1024px) {
    .ci-store-hero__inner,
    .ci-store-catalog__inner,
    .ci-order__inner {
        width: calc( 100% - 70px );
    }

    .ci-store-products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 60px 25px;
    }

    .ci-order-card--shirt {
        grid-column: span 2;
    }

    .ci-order-card__media,
    .ci-order-card--shirt .ci-order-card__media {
        height: clamp(280px, 38vw, 340px);
    }

    .ci-order__inner {
        grid-template-columns: minmax(0, .75fr) minmax(390px, 1fr);
        gap: 55px;
    }
}

@media (max-width: 768px) {
    .ci-store-hero {
        min-height: auto;
    }

    .ci-store-hero::after {
        inset: 7px;
    }

    .ci-store-hero__mark {
        right: -12vw;
        bottom: 1vh;
        font-size: 70vw;
    }

    .ci-store-hero__inner {
        width: calc( 100% - 40px );
        padding: 135px 0 115px;
    }

    .ci-store-hero__title {
        font-size: clamp( 51px, 14vw, 73px );
        line-height: .88;
    }

    .ci-store-hero__title > span {
        display: inline;
    }

    .ci-store-hero__text {
        font-size: 15px;
    }

    .ci-store-btn {
        width: 100%;
        min-width: 0;
    }

    .ci-store-hero__paper {
        bottom: -34px;
        height: 76px;
    }

    .ci-store-catalog__inner {
        width: calc( 100% - 40px );
        padding: 90px 0;
    }

    .ci-store-section-header {
        display: block;
        margin-bottom: 55px;
    }

    .ci-store-section-intro {
        margin-top: 28px;
    }

    .ci-store-section-title {
        font-size: clamp( 50px, 13vw, 68px );
    }

    .ci-store-products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 55px 16px;
    }

    .ci-order-card--shirt {
        grid-column: span 2;
    }

    .ci-order-card__media,
    .ci-order-card--shirt .ci-order-card__media {
        height: 300px;
    }

    .ci-order__inner {
        width: calc( 100% - 40px );
        display: block;
        padding: 90px 0;
    }

    .ci-order__intro {
        margin-bottom: 55px;
    }

    .ci-order__title {
        font-size: clamp( 48px, 12.5vw, 67px );
    }

    .ci-order-form {
        padding: 27px 22px;
        gap: 25px 18px;
    }
}

@media (max-width: 520px) {
    .ci-store-hero__inner,
    .ci-store-catalog__inner,
    .ci-order__inner {
        width: calc( 100% - 32px );
    }

    .ci-store-products {
        grid-template-columns: 1fr;
        gap: 60px;
    }

    .ci-order-card--shirt {
        grid-column: span 1;
    }

    .ci-order-card__media,
    .ci-order-card--shirt .ci-order-card__media {
        height: 300px;
    }

    .ci-order-card h3 {
        font-size: 31px;
    }

    .ci-order-form {
        grid-template-columns: 1fr;
    }

    .ci-order-form__field,
    .ci-order-form__field--full,
    .ci-order-form__delivery,
    .ci-order-form__address,
    .ci-order-form__privacy,
    .ci-order-form__submit,
    .ci-order-form__status {
        grid-column: 1;
    }

    .ci-order-form__address {
        grid-template-columns: 1fr;
    }

    .ci-order-form__address .ci-order-form__field--full {
        grid-column: 1;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ci-store-btn,
    .ci-order-card__media img,
    .ci-order-card__button,
    .ci-order-form__submit {
        transition: none;
    }
}


/* =========================================================
   10. CONTACTO
   ========================================================= */

.ci-contact-hero {
    position: relative;
    isolation: isolate;
    min-height: 88vh;
    min-height: 88svh;
    display: flex;
    align-items: center;
    overflow: hidden;
    box-sizing: border-box;
    background: radial-gradient( circle at 78% 40%, rgba(122,31,43,.20) 0%, rgba(122,31,43,.07) 27%, rgba(17,17,17,0) 56% ), linear-gradient( 135deg, #111111 0%, #151313 62%, #111111 100% );
    color: var(--ci-bone);
}

.ci-contact-hero::after {
    content: "";
    position: absolute;
    inset: 12px;
    z-index: 20;
    pointer-events: none;
    border: 1px solid rgba(242,239,232,.07);
}

.ci-contact-hero__mark {
    position: absolute;
    right: -4vw;
    bottom: -6vh;
    z-index: 0;
    color: rgba(242,239,232,.022);
    font-family: var(--ci-serif);
    font-size: clamp(190px, 29vw, 500px);
    font-weight: 400;
    line-height: .72;
    letter-spacing: -.075em;
    pointer-events: none;
    user-select: none;
}

.ci-contact-hero__inner {
    position: relative;
    z-index: 5;
    width: min(1420px, calc(100% - 120px));
    margin: 0 auto;
    padding: 160px 0 145px;
    box-sizing: border-box;
}

.ci-contact-kicker,
.ci-contact-section-kicker {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 30px;
    font-family: var(--ci-sans);
    font-size: 10px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: .34em;
    text-transform: uppercase;
}

.ci-contact-kicker {
    color: rgba(242,239,232,.75);
}

.ci-contact-kicker__line,
.ci-contact-section-kicker > span:first-child {
    display: block;
    width: 48px;
    height: 1px;
    flex-shrink: 0;
    background: var(--ci-coral);
}

.ci-contact-hero__title {
    max-width: 1120px;
    margin: 0 0 36px;
    color: var(--ci-bone);
    font-family: var(--ci-serif);
    font-size: clamp(68px, 6.7vw, 120px);
    font-weight: 400;
    line-height: .84;
    letter-spacing: -.05em;
}

.ci-contact-hero__title > span {
    display: block;
}

.ci-contact-hero__title > span:nth-child(2) {
    color: var(--ci-coral);
}

.ci-contact-hero__text {
    width: min(610px, 100%);
    margin: 0 0 35px;
    color: rgba(242,239,232,.78);
    font-family: var(--ci-sans);
    font-size: 17px;
    line-height: 1.7;
}

.ci-contact-btn {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 45px;
    min-width: 285px;
    padding: 17px 24px;
    box-sizing: border-box;
    border: 1px solid rgba(242,239,232,.50);
    background: transparent;
    color: var(--ci-bone);
    font-family: var(--ci-sans);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .20em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background .25s ease, border-color .25s ease, transform .25s ease;
}

.ci-contact-btn:link,
.ci-contact-btn:visited {
    color: var(--ci-bone);
}

.ci-contact-btn:hover,
.ci-contact-btn:focus {
    border-color: var(--ci-wine);
    background: var(--ci-wine);
    color: var(--ci-bone);
    transform: translateY(-2px);
}

.ci-contact-hero__paper {
    position: absolute;
    left: -2%;
    right: -2%;
    bottom: -48px;
    z-index: 12;
    height: 112px;
    background: var(--ci-bone);
    clip-path: polygon( 0 24%, 4% 18%, 8% 27%, 13% 19%, 18% 24%, 23% 14%, 29% 26%, 34% 17%, 40% 25%, 45% 14%, 51% 22%, 57% 15%, 63% 25%, 69% 17%, 75% 24%, 81% 18%, 87% 27%, 92% 17%, 96% 23%, 100% 17%, 100% 100%, 0 100% );
}

.ci-contact-form-section {
    position: relative;
    background: var(--ci-bone);
    color: var(--ci-black);
}

.ci-contact-form-section__inner {
    width: min(1280px, calc(100% - 120px));
    margin: 0 auto;
    padding: 135px 0 145px;
    display: grid;
    grid-template-columns: minmax(0, .80fr) minmax(480px, 1fr);
    gap: clamp(75px, 9vw, 145px);
    align-items: start;
}

.ci-contact-section-kicker {
    color: rgba(17,17,17,.56);
}

.ci-contact-section-kicker > span:first-child {
    background: var(--ci-wine);
}

.ci-contact-form-section__title {
    max-width: 650px;
    margin: 0 0 28px;
    color: var(--ci-black);
    font-family: var(--ci-serif);
    font-size: clamp(60px, 5.1vw, 92px);
    font-weight: 400;
    line-height: .89;
    letter-spacing: -.045em;
}

.ci-contact-form-section__title span {
    display: block;
    color: var(--ci-wine);
}

.ci-contact-form-section__lead {
    max-width: 510px;
    margin: 0 0 25px;
    color: var(--ci-black);
    font-family: var(--ci-serif);
    font-size: clamp(22px, 2vw, 31px);
    font-style: italic;
    line-height: 1.25;
}

.ci-contact-form-section__copy {
    max-width: 500px;
    margin: 0;
    color: rgba(17,17,17,.58);
    font-family: var(--ci-sans);
    font-size: 15px;
    line-height: 1.75;
}

.ci-contact-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 29px 24px;
    padding: 38px;
    box-sizing: border-box;
    border: 1px solid rgba(17,17,17,.14);
    background: rgba(255,255,255,.14);
}

.ci-contact-field {
    min-width: 0;
}

.ci-contact-field--full,
.ci-contact-privacy,
.ci-contact-submit,
.ci-contact-status {
    grid-column: 1 / -1;
}

.ci-contact-field label {
    display: block;
    margin-bottom: 9px;
    color: rgba(17,17,17,.55);
    font-family: var(--ci-sans);
    font-size: 8px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.ci-contact-form input[type="text"],
.ci-contact-form input[type="email"],
.ci-contact-form input[type="tel"],
.ci-contact-form input[type="date"],
.ci-contact-form select,
.ci-contact-form textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 13px 0;
    border: 0;
    border-bottom: 1px solid rgba(17,17,17,.24);
    border-radius: 0;
    outline: 0;
    background: transparent;
    box-shadow: none;
    color: var(--ci-black);
    font-family: var(--ci-sans);
    font-size: 14px;
    line-height: 1.45;
    appearance: none;
    transition: border-color .2s ease;
}

.ci-contact-form select {
    cursor: pointer;
}

.ci-contact-form textarea {
    min-height: 145px;
    resize: vertical;
}

.ci-contact-form input:focus,
.ci-contact-form select:focus,
.ci-contact-form textarea:focus {
    border-color: var(--ci-wine);
}

.ci-contact-privacy {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    padding-top: 4px;
    color: rgba(17,17,17,.55);
    font-family: var(--ci-sans);
    font-size: 11px;
    line-height: 1.5;
}

.ci-contact-privacy input {
    margin-top: 3px;
    accent-color: var(--ci-wine);
}

.ci-contact-privacy a,
.ci-contact-privacy a:visited {
    color: var(--ci-black);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.ci-contact-submit {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    width: 100%;
    margin-top: 4px;
    padding: 18px 20px;
    box-sizing: border-box;
    border: 1px solid var(--ci-wine);
    border-radius: 0;
    background: var(--ci-wine);
    color: var(--ci-bone);
    font-family: var(--ci-sans);
    font-size: 9px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: .20em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background .25s ease, border-color .25s ease, transform .25s ease;
}

.ci-contact-submit:hover,
.ci-contact-submit:focus {
    border-color: var(--ci-coral);
    background: var(--ci-coral);
    transform: translateY(-2px);
}

.ci-contact-status {
    margin: 0;
    padding: 14px 16px;
    border-left: 2px solid var(--ci-wine);
    background: rgba(122,31,43,.055);
    color: rgba(17,17,17,.68);
    font-family: var(--ci-sans);
    font-size: 12px;
    line-height: 1.5;
}

.ci-contact-status[hidden] {
    display: none !important;
}

.ci-contact-press {
    position: relative;
    overflow: hidden;
    background: var(--ci-black);
    color: var(--ci-bone);
}

.ci-contact-press::after {
    content: "PRESS";
    position: absolute;
    right: -2vw;
    bottom: -5vw;
    color: rgba(242,239,232,.022);
    font-family: var(--ci-serif);
    font-size: clamp(150px, 23vw, 370px);
    line-height: .72;
    letter-spacing: -.06em;
    pointer-events: none;
}

.ci-contact-press__inner {
    position: relative;
    z-index: 2;
    width: min(1280px, calc(100% - 120px));
    margin: 0 auto;
    padding: 92px 0;
    display: grid;
    grid-template-columns: .55fr 1.25fr auto;
    gap: 55px;
    align-items: center;
}

.ci-contact-press__eyebrow {
    color: rgba(242,239,232,.48);
    font-family: var(--ci-sans);
    font-size: 9px;
    font-weight: 600;
    letter-spacing: .17em;
    line-height: 1.5;
    text-transform: uppercase;
}

.ci-contact-press__content h2 {
    margin: 0 0 14px;
    color: var(--ci-bone);
    font-family: var(--ci-serif);
    font-size: clamp(43px, 4vw, 68px);
    font-weight: 400;
    line-height: .92;
    letter-spacing: -.035em;
}

.ci-contact-press__content h2 span {
    display: block;
    color: var(--ci-coral);
}

.ci-contact-press__content p {
    max-width: 600px;
    margin: 0;
    color: rgba(242,239,232,.58);
    font-family: var(--ci-sans);
    font-size: 14px;
    line-height: 1.7;
}

.ci-contact-press__link {
    min-width: 205px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 25px;
    padding: 16px 18px;
    border: 1px solid rgba(242,239,232,.36);
    color: var(--ci-bone);
    font-family: var(--ci-sans);
    font-size: 9px;
    font-weight: 600;
    letter-spacing: .17em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background .25s ease, border-color .25s ease, transform .25s ease;
}

.ci-contact-press__link:link,
.ci-contact-press__link:visited {
    color: var(--ci-bone);
}

.ci-contact-press__link:hover,
.ci-contact-press__link:focus {
    border-color: var(--ci-wine);
    background: var(--ci-wine);
    color: var(--ci-bone);
    transform: translateY(-2px);
}

@media (max-width: 1024px) {
    .ci-contact-hero__inner,
    .ci-contact-form-section__inner,
    .ci-contact-press__inner {
        width: calc(100% - 70px);
    }

    .ci-contact-form-section__inner {
        grid-template-columns: minmax(0, .72fr) minmax(420px, 1fr);
        gap: 55px;
    }

    .ci-contact-form {
        padding: 32px;
    }

    .ci-contact-press__inner {
        grid-template-columns: .45fr 1fr;
        gap: 30px 45px;
    }

    .ci-contact-press__link {
        grid-column: 2;
        width: fit-content;
    }
}

@media (max-width: 768px) {
    .ci-contact-hero {
        min-height: auto;
    }

    .ci-contact-hero::after {
        inset: 7px;
    }

    .ci-contact-hero__mark {
        right: -12vw;
        bottom: 1vh;
        font-size: 62vw;
    }

    .ci-contact-hero__inner {
        width: calc(100% - 40px);
        padding: 135px 0 120px;
    }

    .ci-contact-hero__title {
        font-size: clamp(49px, 13.2vw, 72px);
        line-height: .88;
    }

    .ci-contact-hero__title > span {
        display: inline;
    }

    .ci-contact-hero__text {
        font-size: 15px;
    }

    .ci-contact-btn {
        width: 100%;
        min-width: 0;
    }

    .ci-contact-hero__paper {
        bottom: -34px;
        height: 76px;
    }

    .ci-contact-form-section__inner {
        width: calc(100% - 40px);
        display: block;
        padding: 95px 0;
    }

    .ci-contact-form-section__intro {
        margin-bottom: 55px;
    }

    .ci-contact-form-section__title {
        font-size: clamp(49px, 12.6vw, 67px);
    }

    .ci-contact-form {
        padding: 28px 23px;
        gap: 26px 18px;
    }

    .ci-contact-press__inner {
        width: calc(100% - 40px);
        display: block;
        padding: 70px 0;
    }

    .ci-contact-press__eyebrow {
        margin-bottom: 25px;
    }

    .ci-contact-press__content {
        margin-bottom: 30px;
    }

    .ci-contact-press__link {
        width: 100%;
        box-sizing: border-box;
    }
}

@media (max-width: 520px) {
    .ci-contact-hero__inner,
    .ci-contact-form-section__inner,
    .ci-contact-press__inner {
        width: calc(100% - 32px);
    }

    .ci-contact-form {
        grid-template-columns: 1fr;
    }

    .ci-contact-field,
    .ci-contact-field--full,
    .ci-contact-privacy,
    .ci-contact-submit,
    .ci-contact-status {
        grid-column: 1;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ci-contact-btn,
    .ci-contact-submit,
    .ci-contact-press__link {
        transition: none;
    }
}


/* =========================================================
   11. FOOTER GLOBAL
   ========================================================= */
body .site-footer,
body .site-info,
body .inside-site-info,
body .footer-widgets {
    background: var(--ci-black) !important;
    color: var(--ci-bone);
}

body .site-footer { margin: 0 !important; border-top: 0 !important; }

body .site-footer a,
body .site-info a,
body .footer-widgets a { color: var(--ci-bone); }

body .site-footer a:hover,
body .site-info a:hover,
body .footer-widgets a:hover { color: var(--ci-coral); }

/* =========================================================
   12. ACCESIBILIDAD GLOBAL
   ========================================================= */
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    :is(.ci-nav, .ci-nosotros-nav, .ci-music-nav),
    :is(.ci-nav, .ci-nosotros-nav, .ci-music-nav) a,
    :is(.ci-nav, .ci-nosotros-nav, .ci-music-nav) a::after,
    :is(.ci-menu-toggle, .ci-nosotros-menu-toggle, .ci-music-menu-toggle) span { transition: none; }
}

/* PARA LAS RESPUESTAS DEL FORMULARIO */
/* ============================================================
 *  ESTADOS DE LOS FORMULARIOS PERSONALIZADOS
 *  (contacto + merchandising)
 * ============================================================ */

/* ------------------------------------------------------------
 * Mensajes de estado
 * ------------------------------------------------------------ */

[id$="-status"].is-success,
.ci-contact-status.is-success,
.ci-order-form__status.is-success {
    color: #1a7f37;
    font-weight: 600;
}

[id$="-status"].is-error,
.ci-contact-status.is-error,
.ci-order-form__status.is-error {
    color: #b3261e;
    font-weight: 600;
}

/* Estado neutro mientras se envía */
[id$="-status"]:not(.is-success):not(.is-error) {
    color: #57606a;
    font-weight: 500;
}


/* ------------------------------------------------------------
 * Campos con error (marcados por el JS)
 * ------------------------------------------------------------ */

/* Inputs, selects y textareas dentro de un contenedor marcado */
.ci-field--error input,
.ci-field--error select,
.ci-field--error textarea,
.ci-field--error .ci-contact-field input,
.ci-field--error .ci-contact-field select,
.ci-field--error .ci-contact-field textarea,
.ci-field--error .ci-order-form__field input,
.ci-field--error .ci-order-form__field select,
.ci-field--error .ci-order-form__field textarea {
    outline: 2px solid #b3261e;
    outline-offset: 2px;
    border-color: #b3261e;
}

/* El propio contenedor marcado (por ejemplo el bloque de privacidad) */
.ci-field--error.ci-contact-privacy,
.ci-field--error.ci-order-form__privacy,
.ci-field--error.ci-order-form__delivery {
    outline: 2px solid #b3261e;
    outline-offset: 4px;
    border-radius: 4px;
}

/* Etiquetas en rojo cuando su campo tiene error */
.ci-field--error label,
.ci-field--error > span {
    color: #b3261e;
}


/* ------------------------------------------------------------
 * Botón de envío deshabilitado
 * ------------------------------------------------------------ */

.ci-contact-submit[disabled],
.ci-order-form__submit[disabled] {
    opacity: 0.6;
    cursor: not-allowed;
    pointer-events: none;
}


/* ------------------------------------------------------------
 * Feedback accesible (aria-live)
 * ------------------------------------------------------------ */

[id$="-status"][role="status"] {
    margin-top: 1rem;
    padding: 0.75rem 1rem;
    border-radius: 6px;
    background: transparent;
    border-left: 4px solid transparent;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

[id$="-status"].is-success {
    background: #e6f4ea;
    border-left-color: #1a7f37;
}

[id$="-status"].is-error {
    background: #fdecea;
    border-left-color: #b3261e;
}


/* ------------------------------------------------------------
 * Opcional: resalta el campo que tiene el foco
 * ------------------------------------------------------------ */

.ci-contact-field input:focus,
.ci-contact-field select:focus,
.ci-contact-field textarea:focus,
.ci-order-form__field input:focus,
.ci-order-form__field select:focus,
.ci-order-form__field textarea:focus {
    outline: 2px solid #2271b1;
    outline-offset: 2px;
}

.is-success { color: #1a7f37; }
.is-error   { color: #b3261e; }

.ci-field--error input,
.ci-field--error select,
.ci-field--error textarea,
.ci-field--error.ci-order-form__privacy,
.ci-field--error.ci-contact-privacy {
    outline: 2px solid #b3261e;
    outline-offset: 2px;
}