:root{
            --blue: #0869df;
            --blue-hover: #005ccb;
            --violet: #6f54e8;
            --orange: #f25f27;
            --ink: #171719;
            --muted: #6f7178;
            --muted-soft: #94969d;
            --white: #ffffff;
            --surface: #f7f9fc;
            --line: rgba(23, 23, 25, 0.11);
            --line-blue: rgba(8, 105, 223, 0.18);
            --page-gutter: clamp(14px, 4vw, 46px);
            --content-max: 1180px;
            --radius-xl: 34px;
            --radius-lg: 27px;
            --radius-md: 19px;
            --shadow-soft: 0 24px 70px rgba(23, 23, 25, 0.09);
            --shadow-card: 0 18px 48px rgba(23, 23, 25, 0.08);
            --shadow-dark: 0 32px 86px rgba(8, 13, 25, 0.22);
            --ease: cubic-bezier(0.22, 1, 0.36, 1);
        }
*,
*::before,
*::after{
            box-sizing: border-box;
        }
html{
            scroll-behavior: smooth;
            color-scheme: light;
            scrollbar-gutter: stable;
        }
body{
            margin: 0;
            overflow-x: clip;
            background: var(--white);
            color: var(--ink);
            font-family:
                -apple-system,
                BlinkMacSystemFont,
                "SF Pro Display",
                "SF Pro Text",
                "Segoe UI",
                Roboto,
                Helvetica,
                Arial,
                sans-serif;
            -webkit-font-smoothing: antialiased;
            text-rendering: optimizeLegibility;
        }
img{
            display: block;
            max-width: 100%;
        }
a{
            color: inherit;
            text-decoration: none;
        }
button,
summary{
            font: inherit;
        }
button{
            border: 0;
        }
ul{
            margin: 0;
            padding: 0;
            list-style: none;
        }
h1,
h2,
h3,
p{
            margin-top: 0;
            overflow-wrap: anywhere;
        }
::selection{
            background: rgba(8, 105, 223, 0.16);
        }
a:focus-visible,
button:focus-visible,
summary:focus-visible{
            outline: 3px solid rgba(8, 105, 223, 0.34);
            outline-offset: 4px;
            border-radius: 10px;
        }
.page-frame{
            width: min(
                100%,
                calc(var(--content-max) + (var(--page-gutter) * 2))
            );
            margin: 0 auto;
            padding: 18px var(--page-gutter) 0;
        }
/* =====================================================
           MENÚ PRINCIPAL
           ===================================================== */
/* =====================================================
           BOTONES Y ETIQUETAS
           ===================================================== */
.button{
            position: relative;
            display: inline-flex;
            min-height: 48px;
            padding: 0 22px;
            align-items: center;
            justify-content: center;
            gap: 10px;
            overflow: hidden;
            border: 1px solid transparent;
            border-radius: 999px;
            font-size: 15px;
            font-weight: 680;
            letter-spacing: -0.01em;
            transition:
                transform 0.32s var(--ease),
                box-shadow 0.32s var(--ease),
                background 0.25s ease,
                border-color 0.25s ease;
        }
.button::before{
            content: "";
            position: absolute;
            top: -50%;
            left: -45%;
            width: 28%;
            height: 200%;
            background: linear-gradient(
                90deg,
                transparent,
                rgba(255, 255, 255, 0.46),
                transparent
            );
            transform: rotate(20deg);
            transition: left 0.7s var(--ease);
        }
.button:hover{
            transform: translateY(-3px);
        }
.button:hover::before{
            left: 125%;
        }
.button-primary{
            background: var(--blue);
            color: var(--white);
            box-shadow: 0 12px 27px rgba(8, 105, 223, 0.25);
        }
.button-primary:hover{
            background: var(--blue-hover);
            box-shadow: 0 18px 38px rgba(8, 105, 223, 0.32);
        }
.button-ghost{
            border-color: rgba(255, 255, 255, 0.33);
            background: rgba(255, 255, 255, 0.13);
            color: var(--white);
            backdrop-filter: blur(14px);
            -webkit-backdrop-filter: blur(14px);
        }
.button-ghost:hover{
            border-color: rgba(255, 255, 255, 0.58);
            background: rgba(255, 255, 255, 0.20);
        }
.section-kicker,
.eyebrow{
            display: inline-flex;
            align-items: center;
            gap: 9px;
            color: var(--blue);
            font-size: 12px;
            font-weight: 780;
            letter-spacing: 0.065em;
            text-transform: uppercase;
        }
/* =====================================================
           HERO LUMINOSO
           ===================================================== */
.hero{
            position: relative;
            min-height: clamp(590px, 75vh, 790px);
            overflow: hidden;
            border: 1px solid rgba(8, 105, 223, 0.10);
            border-radius: var(--radius-xl);
            background: #dfe8f2;
            box-shadow: var(--shadow-soft);
            isolation: isolate;
        }
.hero-image,
.hero-overlay,
.hero-glow{
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
        }
.hero-image{
            z-index: -3;
            object-fit: cover;
            object-position: center;
            filter: saturate(1.08) contrast(1.02) brightness(1.05);
        }
.hero-overlay{
            z-index: -2;
            background:
                linear-gradient(
                    90deg,
                    rgba(4, 9, 18, 0.36) 0%,
                    rgba(4, 9, 18, 0.17) 42%,
                    rgba(4, 9, 18, 0.035) 74%,
                    transparent 100%
                ),
                linear-gradient(
                    to top,
                    rgba(4, 9, 18, 0.15),
                    transparent 48%
                );
        }
.hero-glow{
            z-index: -1;
            background: radial-gradient(
                620px circle at 24% 52%,
                rgba(8, 105, 223, 0.17),
                transparent 66%
            );
            pointer-events: none;
        }
.hero-content{
            display: flex;
            min-height: clamp(590px, 75vh, 790px);
            max-width: 890px;
            padding: clamp(46px, 8vw, 92px);
            flex-direction: column;
            align-items: flex-start;
            justify-content: center;
            color: var(--white);
            text-shadow: 0 3px 25px rgba(0, 0, 0, 0.32);
        }
.hero .eyebrow{
            margin-bottom: 22px;
            color: rgba(255, 255, 255, 0.88);
        }
.hero .eyebrow::before{
            content: "";
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: var(--blue);
            box-shadow:
                0 0 0 6px rgba(8, 105, 223, 0.20),
                0 0 24px rgba(8, 105, 223, 0.66);
        }
.hero h1{
            max-width: 860px;
            margin: 0;
            color: var(--white);
            font-size: clamp(52px, 8vw, 96px);
            line-height: 0.92;
            letter-spacing: -0.066em;
            text-wrap: balance;
        }
.hero-lead{
            max-width: 690px;
            margin: 28px 0 32px;
            color: rgba(255, 255, 255, 0.88);
            font-size: clamp(17px, 2vw, 21px);
            line-height: 1.62;
            text-wrap: pretty;
        }
.hero-actions{
            display: flex;
            flex-wrap: wrap;
            gap: 12px;
        }
/* =====================================================
           RECORRIDO
           ===================================================== */
.profile-section{
            display: grid;
            grid-template-columns: minmax(380px, 0.92fr) minmax(0, 1.08fr);
            gap: clamp(46px, 8vw, 100px);
            align-items: center;
            padding: clamp(96px, 11vw, 142px) 0;
        }
.profile-visual{
            position: relative;
            min-height: 590px;
            margin: 0;
        }
.profile-visual::before{
            content: "";
            position: absolute;
            inset: 15% -8% -8% 10%;
            z-index: -1;
            border-radius: 45% 55% 52% 48%;
            background: linear-gradient(
                135deg,
                rgba(8, 105, 223, 0.24),
                rgba(111, 84, 232, 0.13)
            );
            filter: blur(38px);
        }
.profile-visual img{
            width: 100%;
            height: 590px;
            object-fit: cover;
            border-radius: 30px;
            box-shadow: var(--shadow-soft);
        }
.profile-badge{
            position: absolute;
            right: 22px;
            bottom: 22px;
            left: 22px;
            padding: 15px 17px;
            border: 1px solid rgba(255, 255, 255, 0.42);
            border-radius: 17px;
            background: rgba(255, 255, 255, 0.88);
            box-shadow: 0 18px 44px rgba(10, 13, 20, 0.16);
            color: var(--ink);
            font-size: 11px;
            font-weight: 720;
            backdrop-filter: blur(18px);
            -webkit-backdrop-filter: blur(18px);
        }
.profile-copy h2{
            max-width: 720px;
            margin: 14px 0 23px;
            font-size: clamp(42px, 6vw, 68px);
            line-height: 0.97;
            letter-spacing: -0.058em;
            text-wrap: balance;
        }
.profile-copy > p{
            max-width: 670px;
            margin-bottom: 0;
            color: var(--muted);
            font-size: 16px;
            line-height: 1.76;
            text-wrap: pretty;
        }
.journey{
            display: grid;
            gap: 11px;
            margin-top: 31px;
        }
.journey-step{
            display: grid;
            grid-template-columns: auto minmax(0, 1fr);
            gap: 16px;
            padding: 18px;
            border: 1px solid var(--line);
            border-radius: 17px;
            background:
                radial-gradient(
                    circle at 100% 0%,
                    rgba(8, 105, 223, 0.07),
                    transparent 34%
                ),
                var(--white);
            box-shadow: 0 12px 32px rgba(21, 22, 26, 0.05);
            transition:
                transform 0.35s var(--ease),
                border-color 0.25s ease,
                box-shadow 0.35s var(--ease);
        }
.journey-step:hover{
            border-color: rgba(8, 105, 223, 0.28);
            box-shadow: 0 20px 46px rgba(21, 22, 26, 0.10);
            transform: translateX(6px);
        }
.journey-number{
            display: grid;
            width: 38px;
            height: 38px;
            place-items: center;
            border-radius: 12px;
            background: rgba(8, 105, 223, 0.10);
            color: var(--blue);
            font-size: 9px;
            font-weight: 800;
        }
.journey-step h3{
            margin-bottom: 5px;
            font-size: 19px;
            line-height: 1.1;
            letter-spacing: -0.03em;
        }
.journey-step p{
            margin-bottom: 0;
            color: var(--muted);
            font-size: 12px;
            line-height: 1.6;
        }
/* =====================================================
           PARTICIPACIÓN
           ===================================================== */
.participate-wrap{
            padding-bottom: clamp(50px, 6vw, 74px);
        }
.participate{
            position: relative;
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto;
            gap: clamp(34px, 7vw, 88px);
            min-height: 330px;
            padding: clamp(42px, 7vw, 74px);
            overflow: hidden;
            align-items: center;
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: var(--radius-xl);
            background:
                radial-gradient(
                    circle at 6% 8%,
                    rgba(8, 105, 223, 0.44),
                    transparent 32%
                ),
                radial-gradient(
                    circle at 94% 100%,
                    rgba(111, 84, 232, 0.34),
                    transparent 34%
                ),
                linear-gradient(135deg, #09101f 0%, #111827 58%, #080b12 100%);
            box-shadow: var(--shadow-dark);
            color: var(--white);
            isolation: isolate;
        }
.participate::before{
            content: "";
            position: absolute;
            top: -230px;
            right: 22%;
            width: 490px;
            height: 490px;
            border: 1px solid rgba(255, 255, 255, 0.06);
            border-radius: 50%;
            box-shadow:
                0 0 0 72px rgba(255, 255, 255, 0.015),
                0 0 0 144px rgba(255, 255, 255, 0.009);
        }
.participate-copy{
            position: relative;
            z-index: 2;
            max-width: 780px;
        }
.participate .section-kicker{
            color: var(--blue);
        }
.participate h2{
            max-width: 760px;
            margin: 14px 0 20px;
            color: var(--white);
            font-size: clamp(40px, 5.8vw, 66px);
            line-height: 0.97;
            letter-spacing: -0.056em;
            text-wrap: balance;
        }
.participate p{
            max-width: 670px;
            margin-bottom: 0;
            color: rgba(255, 255, 255, 0.68);
            font-size: 15px;
            line-height: 1.72;
        }
.participate-actions{
            position: relative;
            z-index: 2;
            display: grid;
            min-width: 245px;
            gap: 11px;
        }
.participate-actions .button{
            width: 100%;
        }
/* =====================================================
           CURRÍCULUM DE LA BANDA
           ===================================================== */
.curriculum-wrap{
            padding-bottom: clamp(50px, 6vw, 74px);
        }
.curriculum{
            position: relative;
            display: grid;
            grid-template-columns: minmax(360px, 0.88fr) minmax(0, 1.12fr);
            gap: clamp(34px, 6vw, 72px);
            align-items: stretch;
            padding: clamp(22px, 3vw, 29px);
            overflow: hidden;
            border: 1px solid var(--line);
            border-radius: 32px;
            background:
                radial-gradient(
                    circle at 100% 0%,
                    rgba(8, 105, 223, 0.09),
                    transparent 34%
                ),
                linear-gradient(145deg, #ffffff 0%, #f8faff 100%);
            box-shadow: var(--shadow-card);
            isolation: isolate;
        }
.curriculum::before{
            content: "";
            position: absolute;
            top: -230px;
            right: 12%;
            width: 470px;
            height: 470px;
            border: 1px solid rgba(8, 105, 223, 0.07);
            border-radius: 50%;
            box-shadow:
                0 0 0 68px rgba(8, 105, 223, 0.018),
                0 0 0 136px rgba(8, 105, 223, 0.011);
            pointer-events: none;
        }
.curriculum-visual{
            position: relative;
            min-width: 0;
            min-height: 540px;
            margin: 0;
            overflow: hidden;
            border-radius: 25px;
            background: #e9eef5;
            box-shadow: 0 22px 58px rgba(16, 19, 28, 0.18);
        }
.curriculum-visual img{
            width: 100%;
            height: 100%;
            min-height: 540px;
            object-fit: cover;
            transition: transform 0.9s var(--ease);
        }
.curriculum:hover .curriculum-visual img{
            transform: scale(1.035);
        }
.curriculum-visual::after{
            content: "";
            position: absolute;
            inset: 0;
            background:
                linear-gradient(
                    to top,
                    rgba(5, 8, 14, 0.56),
                    transparent 54%
                ),
                linear-gradient(
                    135deg,
                    rgba(8, 105, 223, 0.13),
                    transparent 45%
                );
            pointer-events: none;
        }
.media-caption{
            position: absolute;
            right: 18px;
            bottom: 18px;
            left: 18px;
            z-index: 2;
            padding: 15px 17px;
            border: 1px solid rgba(255, 255, 255, 0.40);
            border-radius: 17px;
            background: rgba(255, 255, 255, 0.89);
            box-shadow: 0 16px 38px rgba(8, 11, 19, 0.17);
            color: var(--ink);
            font-size: 11px;
            font-weight: 730;
            backdrop-filter: blur(17px) saturate(150%);
            -webkit-backdrop-filter: blur(17px) saturate(150%);
        }
.curriculum-copy{
            position: relative;
            z-index: 2;
            display: flex;
            min-width: 0;
            padding: clamp(16px, 3vw, 29px) clamp(8px, 2vw, 22px);
            flex-direction: column;
            justify-content: center;
        }
.curriculum-copy h2{
            max-width: 720px;
            margin: 14px 0 18px;
            font-size: clamp(40px, 5.5vw, 62px);
            line-height: 0.98;
            letter-spacing: -0.055em;
            text-wrap: balance;
        }
.curriculum-intro{
            max-width: 670px;
            margin-bottom: 0;
            color: var(--muted);
            font-size: 16px;
            line-height: 1.72;
            text-wrap: pretty;
        }
/* =====================================================
           DESPLEGABLES DE CURRÍCULUM
           ===================================================== */
.cv-details{
            margin-top: 28px;
            overflow: hidden;
            border: 1px solid var(--line-blue);
            border-radius: 20px;
            background: rgba(255, 255, 255, 0.86);
            box-shadow:
                0 15px 38px rgba(21, 22, 26, 0.065),
                inset 0 1px 0 rgba(255, 255, 255, 0.97);
        }
.cv-details summary{
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto;
            gap: 18px;
            min-height: 72px;
            padding: 16px 17px 16px 20px;
            align-items: center;
            color: var(--blue);
            font-size: 13px;
            font-weight: 770;
            cursor: pointer;
            list-style: none;
        }
.cv-details summary::-webkit-details-marker{
            display: none;
        }
.cv-details summary::after{
            content: "+";
            display: grid;
            width: 38px;
            height: 38px;
            place-items: center;
            border: 1px solid var(--line-blue);
            border-radius: 50%;
            background: rgba(8, 105, 223, 0.08);
            color: var(--blue);
            font-size: 20px;
            font-weight: 520;
            transition:
                transform 0.32s var(--ease),
                background 0.25s ease,
                color 0.25s ease;
        }
.cv-details[open] summary::after{
            background: var(--blue);
            color: var(--white);
            transform: rotate(45deg);
        }
.cv-content{
            padding: 2px 24px 29px;
            border-top: 1px solid rgba(23, 23, 25, 0.075);
        }
.cv-content p{
            max-width: 76ch;
            margin: 20px 0 0;
            color: #5f626a;
            font-size: 13px;
            line-height: 1.82;
            text-wrap: pretty;
        }
/* =====================================================
           DIRECTOR MUSICAL
           ===================================================== */
.director-wrap{
            padding-bottom: clamp(58px, 7vw, 92px);
        }
.director{
            position: relative;
            display: grid;
            grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.82fr);
            gap: clamp(34px, 6vw, 72px);
            align-items: stretch;
            padding: clamp(34px, 5vw, 56px);
            overflow: hidden;
            border: 1px solid rgba(8, 105, 223, 0.23);
            border-radius: 34px;
            background:
                radial-gradient(
                    circle at 5% 8%,
                    rgba(8, 105, 223, 0.18),
                    transparent 31%
                ),
                radial-gradient(
                    circle at 94% 94%,
                    rgba(111, 84, 232, 0.13),
                    transparent 32%
                ),
                linear-gradient(135deg, #edf5ff 0%, #f7f4ff 52%, #ffffff 100%);
            box-shadow:
                0 34px 92px rgba(18, 27, 45, 0.15),
                0 0 0 1px rgba(255, 255, 255, 0.78),
                inset 0 1px 0 rgba(255, 255, 255, 0.96);
            isolation: isolate;
        }
.director::before{
            content: "DIRECCIÓN";
            position: absolute;
            top: 38px;
            right: -28px;
            z-index: -1;
            color: rgba(8, 105, 223, 0.055);
            font-size: clamp(78px, 12vw, 158px);
            font-weight: 850;
            line-height: 0.8;
            letter-spacing: -0.075em;
            pointer-events: none;
        }
.director-copy{
            position: relative;
            z-index: 2;
            display: flex;
            min-width: 0;
            padding: clamp(8px, 2vw, 21px) 0;
            flex-direction: column;
            justify-content: center;
        }
.director-role{
            display: inline-flex;
            align-self: flex-start;
            margin-bottom: 17px;
            padding: 8px 12px;
            border: 1px solid rgba(8, 105, 223, 0.15);
            border-radius: 999px;
            background: rgba(255, 255, 255, 0.78);
            box-shadow: 0 9px 24px rgba(8, 105, 223, 0.07);
            color: var(--blue);
            font-size: 10px;
            font-weight: 810;
            letter-spacing: 0.09em;
            text-transform: uppercase;
        }
.director-copy h2{
            max-width: 750px;
            margin: 0 0 21px;
            font-size: clamp(42px, 6vw, 68px);
            line-height: 0.96;
            letter-spacing: -0.060em;
            text-wrap: balance;
        }
.director-intro{
            max-width: 680px;
            margin-bottom: 0;
            color: #5f626b;
            font-size: 16px;
            line-height: 1.76;
            text-wrap: pretty;
        }
.director-tags{
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin-top: 24px;
        }
.director-tags span{
            padding: 9px 12px;
            border: 1px solid rgba(8, 105, 223, 0.13);
            border-radius: 999px;
            background: rgba(255, 255, 255, 0.76);
            color: #555963;
            font-size: 10px;
            font-weight: 680;
        }
.director-visual{
            position: relative;
            min-width: 0;
            min-height: 510px;
            margin: 0;
            overflow: hidden;
            border: 8px solid rgba(255, 255, 255, 0.84);
            border-radius: 28px;
            background: #e8eef7;
            box-shadow:
                0 28px 68px rgba(15, 22, 37, 0.22),
                0 0 0 1px rgba(8, 105, 223, 0.12);
            transform: rotate(1deg);
            transition: transform 0.65s var(--ease);
        }
.director:hover .director-visual{
            transform: rotate(0deg) translateY(-4px);
        }
.director-visual img{
            width: 100%;
            height: 100%;
            min-height: 494px;
            object-fit: cover;
            filter: saturate(1.04) contrast(1.02);
            transition: transform 0.9s var(--ease);
        }
.director:hover .director-visual img{
            transform: scale(1.04);
        }
.director-visual::after{
            content: "";
            position: absolute;
            inset: 0;
            background:
                linear-gradient(
                    to top,
                    rgba(6, 10, 18, 0.48),
                    transparent 53%
                ),
                linear-gradient(
                    135deg,
                    rgba(8, 105, 223, 0.12),
                    transparent 45%
                );
            pointer-events: none;
        }
/* =====================================================
           AGENDA CULTURAL
           ===================================================== */
.events{
            position: relative;
            min-height: 630px;
            margin-bottom: 72px;
            overflow: hidden;
            border: 1px solid rgba(255, 255, 255, 0.18);
            border-radius: var(--radius-xl);
            background: #080b12;
            box-shadow: var(--shadow-dark);
            isolation: isolate;
        }
.events-image,
.events-overlay,
.events-glow{
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
        }
.events-image{
            object-fit: cover;
            transition: transform 1.15s var(--ease);
        }
.events:hover .events-image{
            transform: scale(1.045);
        }
.events-overlay{
            z-index: 1;
            background:
                linear-gradient(
                    90deg,
                    rgba(3, 7, 14, 0.93) 0%,
                    rgba(3, 7, 14, 0.73) 45%,
                    rgba(3, 7, 14, 0.22) 78%
                ),
                linear-gradient(
                    to top,
                    rgba(3, 7, 14, 0.68),
                    transparent 58%
                );
        }
.events-glow{
            z-index: 2;
            background: radial-gradient(
                560px circle at 24% 54%,
                rgba(8, 105, 223, 0.22),
                transparent 64%
            );
        }
.events-content{
            position: relative;
            z-index: 4;
            display: flex;
            min-height: 630px;
            max-width: 780px;
            padding: clamp(48px, 8vw, 90px);
            flex-direction: column;
            align-items: flex-start;
            justify-content: center;
        }
.events .eyebrow{
            color: var(--blue);
        }
.events h2{
            max-width: 730px;
            margin: 17px 0 26px;
            color: var(--white);
            font-size: clamp(47px, 7vw, 80px);
            line-height: 0.96;
            letter-spacing: -0.060em;
            text-wrap: balance;
        }
.events p{
            max-width: 650px;
            margin: 0 0 31px;
            color: rgba(255, 255, 255, 0.72);
            font-size: 17px;
            line-height: 1.68;
        }
.events-badge{
            position: absolute;
            top: 24px;
            right: 24px;
            z-index: 5;
            display: inline-flex;
            min-height: 39px;
            padding: 0 14px;
            align-items: center;
            gap: 9px;
            border: 1px solid rgba(255, 255, 255, 0.20);
            border-radius: 999px;
            background: rgba(6, 9, 15, 0.56);
            color: rgba(255, 255, 255, 0.84);
            font-size: 10px;
            font-weight: 690;
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
        }
.events-badge::before{
            content: "";
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: #3bd37f;
            box-shadow: 0 0 0 6px rgba(59, 211, 127, 0.13);
        }
/* =====================================================
           OTRAS AGRUPACIONES
           ===================================================== */
.related-groups{
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 10px;
            margin-bottom: clamp(86px, 10vw, 124px);
        }
.related-link{
            display: flex;
            min-height: 66px;
            padding: 0 18px;
            align-items: center;
            justify-content: space-between;
            gap: 18px;
            border: 1px solid var(--line);
            border-radius: 18px;
            background: var(--white);
            box-shadow: 0 12px 32px rgba(21, 22, 26, 0.05);
            color: #55575e;
            font-size: 12px;
            font-weight: 690;
            transition:
                color 0.24s ease,
                border-color 0.24s ease,
                transform 0.32s var(--ease),
                box-shadow 0.32s var(--ease);
        }
.related-link:hover{
            border-color: rgba(8, 105, 223, 0.27);
            box-shadow: 0 20px 46px rgba(21, 22, 26, 0.10);
            color: var(--blue);
            transform: translateY(-5px);
        }
/* =====================================================
           FOOTER
           ===================================================== */
/* =====================================================
           ANIMACIONES
           ===================================================== */
.js [data-reveal]{
            opacity: 0;
            transform: translateY(28px) scale(0.99);
            transition:
                opacity 0.82s var(--ease),
                transform 0.82s var(--ease);
        }
.js [data-reveal].is-visible{
            opacity: 1;
            transform: none;
        }
/* =====================================================
           RESPONSIVE
           ===================================================== */
@media (max-width: 980px){.profile-section,
.curriculum,
.director{
                grid-template-columns: 1fr;
            }
.profile-visual,
.profile-visual img{
                min-height: 500px;
                height: 500px;
            }
.curriculum-visual,
.curriculum-visual img{
                min-height: 470px;
                height: 470px;
            }
.director-visual{
                order: -1;
                min-height: 460px;
                transform: none;
            }
.director-visual img{
                min-height: 444px;
                height: 444px;
            }
.participate{
                grid-template-columns: 1fr;
            }
.participate-actions{
                min-width: 0;
                max-width: 340px;
            }}
@media (max-width: 820px){.hero{
                min-height: 680px;
            }
.hero-overlay{
                background: linear-gradient(
                    to top,
                    rgba(3, 7, 14, 0.43) 0%,
                    rgba(3, 7, 14, 0.19) 47%,
                    rgba(3, 7, 14, 0.02) 100%
                );
            }
.hero-content{
                min-height: 680px;
                padding: 46px 33px 72px;
                justify-content: flex-end;
            }
.related-groups{
                grid-template-columns: 1fr;
            }}
@media (max-width: 620px){:root{
                --radius-xl: 26px;
                --radius-lg: 22px;
            }
.page-frame{
                padding-top: 10px;
            }
.hero{
                min-height: 640px;
            }
.hero-content{
                min-height: 640px;
                padding: 36px 22px 54px;
            }
.hero h1{
                font-size: clamp(49px, 15vw, 70px);
            }
.hero-actions,
.hero-actions .button{
                width: 100%;
            }
.profile-section{
                padding: 82px 0;
            }
.profile-visual,
.profile-visual img{
                min-height: 400px;
                height: 400px;
            }
.profile-visual img{
                border-radius: 23px;
            }
.profile-copy h2,
.curriculum-copy h2,
.director-copy h2{
                font-size: 40px;
            }
.participate{
                padding: 33px 22px;
            }
.participate h2{
                font-size: 41px;
            }
.participate-actions{
                max-width: none;
            }
.curriculum{
                gap: 18px;
                padding: 14px;
                border-radius: 26px;
            }
.curriculum-visual,
.curriculum-visual img{
                min-height: 340px;
                height: 340px;
            }
.curriculum-visual{
                border-radius: 20px;
            }
.curriculum-copy{
                padding: 21px 8px 14px;
            }
.cv-details summary{
                min-height: 67px;
                padding: 14px 14px 14px 16px;
            }
.cv-content{
                padding: 2px 17px 23px;
            }
.director{
                gap: 24px;
                padding: 19px 15px 26px;
                border-radius: 27px;
            }
.director::before{
                top: 25px;
                font-size: 72px;
            }
.director-visual{
                min-height: 345px;
                border-width: 6px;
                border-radius: 22px;
            }
.director-visual img{
                min-height: 333px;
                height: 333px;
            }
.director-copy{
                padding: 7px 8px 0;
            }
.events,
.events-content{
                min-height: 590px;
            }
.events-content{
                padding: 40px 23px;
                justify-content: flex-end;
            }
.events h2{
                font-size: 46px;
            }
.events .button{
                width: 100%;
            }}
@media (hover: none){.button:hover,
.journey-step:hover,
.related-link:hover{
                transform: none;
            }
.button::before{
                display: none;
            }
.curriculum:hover .curriculum-visual img,
.director:hover .director-visual,
.director:hover .director-visual img,
.events:hover .events-image{
                transform: none;
            }}
@media (prefers-reduced-motion: reduce){html{
                scroll-behavior: auto;
            }
*,
*::before,
*::after{
                animation-duration: 0.01ms !important;
                animation-iteration-count: 1 !important;
                transition-duration: 0.01ms !important;
            }
.js [data-reveal]{
                opacity: 1;
                transform: none;
            }}

:root{--accent:#0869df;--accent-rgb:8,105,223;--secondary:#6f54e8;--blue:#0869df;--blue-hover:#005ccb;--ink:#15161a;--muted:#73757d;--surface:#f7f9fc;--page-gutter:clamp(18px,4vw,46px);--content-max:1180px;--radius-xl:34px;--radius-lg:26px}
.page-frame,.site-frame{max-width:none!important;margin-left:auto!important;margin-right:auto!important}
.page-frame{padding-left:clamp(18px,4vw,46px)!important;padding-right:clamp(18px,4vw,46px)!important}
.video-hero,.hero{border-radius:34px!important}
.profile-section,.curriculum-section,.director-section,.participate-section,.section-block{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue","Segoe UI",Arial,sans-serif!important}
.button-primary{background:#0869df!important;border-color:#0869df!important}
