:root {
    --ls-ink: #16073f;
    --ls-ink-soft: #493a78;
    --ls-paper: #f7f3ff;
    --ls-cyan: #22d8ff;
    --ls-blue: #2467ff;
    --ls-violet: #7d35ff;
    --ls-magenta: #ff21c8;
    --ls-gold: #d8a060;
    --ls-gold-soft: #f0c995;
    --ls-studio-black: #07090a;
    --ls-line: rgba(62, 31, 145, .16);
    --ls-glass: rgba(255, 255, 255, .72);
}

body.la-sesion-body {
    color: var(--ls-ink);
    background:
        radial-gradient(circle at 8% 20%, rgba(255, 33, 200, .2), transparent 25rem),
        radial-gradient(circle at 92% 7%, rgba(34, 216, 255, .28), transparent 28rem),
        linear-gradient(180deg, #eefcff 0%, #f4edff 44%, #e8fbff 100%);
}

body.la-sesion-body.la-sesion-immersive {
    color: #fff7e8;
    background:
        radial-gradient(circle at 12% 24%, rgba(216, 160, 96, .11), transparent 28rem),
        radial-gradient(circle at 82% 14%, rgba(255, 33, 200, .08), transparent 26rem),
        linear-gradient(180deg, #060707 0%, #0c0f0e 48%, #060607 100%);
}

.la-sesion-body .site-footer {
    margin-top: 0;
}

.la-sesion-immersive .topbar {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 80;
    border-bottom: 1px solid rgba(216, 160, 96, .2);
    background:
        linear-gradient(90deg, rgba(216, 160, 96, .12), transparent 22%, rgba(216, 160, 96, .1)),
        rgba(5, 6, 6, .78);
    box-shadow: 0 16px 44px rgba(0, 0, 0, .34), inset 0 -1px rgba(255, 231, 190, .08);
    backdrop-filter: blur(22px);
    transition: background .35s ease, border-color .35s ease, box-shadow .35s ease, backdrop-filter .35s ease;
}

.la-sesion-immersive:not(.ls-scrolled) .topbar {
    border-bottom-color: transparent;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
}

.la-sesion-immersive .brand img {
    filter: drop-shadow(0 0 16px rgba(216, 160, 96, .22));
}

.la-sesion-immersive .menu a,
.la-sesion-immersive .mobile-menu a {
    color: rgba(246, 234, 215, .7);
    letter-spacing: .035em;
}

.la-sesion-immersive .menu a:hover,
.la-sesion-immersive .mobile-menu a:hover,
.la-sesion-immersive .menu a[href*="/la-sesion"],
.la-sesion-immersive .mobile-menu a[href*="/la-sesion"] {
    color: var(--ls-gold-soft);
}

.la-sesion-immersive .menu a[href*="/la-sesion"] {
    border-bottom: 2px solid var(--ls-gold);
}

.la-sesion-immersive .auth-links .btn-gradient {
    background: linear-gradient(115deg, #805231, var(--ls-gold), #ffcf8e 52%, #9b633b 100%);
    box-shadow: 0 18px 44px rgba(216, 160, 96, .24), 0 0 0 1px rgba(255, 226, 180, .2) inset;
    color: #130d08;
    font-family: "Inter", Arial, Helvetica, sans-serif;
}

.la-sesion-immersive .mobile-menu-toggle {
    border-color: rgba(216, 160, 96, .34);
    background: rgba(216, 160, 96, .1);
    color: var(--ls-gold-soft);
}

.la-sesion-immersive .mobile-menu {
    border-top-color: rgba(216, 160, 96, .16);
    background:
        radial-gradient(circle at 16% 0, rgba(216, 160, 96, .12), transparent 16rem),
        rgba(5, 6, 6, .96);
}

.la-sesion-immersive:not(.ls-scrolled) .topbar .desktop-menu,
.la-sesion-immersive:not(.ls-scrolled) .topbar .auth-links,
.la-sesion-immersive:not(.ls-scrolled) .topbar .mobile-menu-toggle {
    opacity: 0;
    pointer-events: none;
    transform: translateY(-8px);
}

.la-sesion-immersive .topbar .desktop-menu,
.la-sesion-immersive .topbar .auth-links,
.la-sesion-immersive .topbar .mobile-menu-toggle {
    transition: opacity .28s ease, transform .28s ease;
}

.ls-main {
    overflow: clip;
}

.ls-shell {
    width: min(1260px, calc(100% - 48px));
    margin: 0 auto;
}

.ls-kicker {
    display: inline-flex;
    padding: .62rem .92rem;
    border: 1px solid rgba(125, 53, 255, .28);
    border-radius: 999px;
    background: rgba(255, 255, 255, .66);
    color: #6f16da;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.ls-title {
    max-width: 920px;
    margin: 1rem 0;
    color: var(--ls-ink);
    font-family: "Satoshi", "Space Grotesk", sans-serif;
    font-size: clamp(2.2rem, 5.7vw, 6.4rem);
    font-weight: 900;
    line-height: .93;
    letter-spacing: 0;
    text-transform: uppercase;
}

.la-sesion-immersive .ls-title,
.la-sesion-immersive .ls-section h2 {
    color: #f6ead7;
    text-shadow: 0 18px 48px rgba(0, 0, 0, .55);
}

.ls-lead {
    max-width: 690px;
    color: var(--ls-ink-soft);
    font-size: clamp(1rem, 1.7vw, 1.34rem);
    line-height: 1.55;
}

.la-sesion-immersive .ls-lead {
    color: rgba(246, 234, 215, .78);
}

.ls-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 58px;
    padding: .9rem 1.45rem;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(110deg, var(--ls-cyan), var(--ls-violet) 45%, var(--ls-magenta));
    box-shadow: 0 18px 42px rgba(117, 34, 219, .3);
    color: #fff;
    cursor: pointer;
    font-family: "Inter", "Space Grotesk", sans-serif;
    font-size: 1rem;
    font-weight: 800;
    text-decoration: none;
    text-transform: uppercase;
    transition: box-shadow .24s ease, transform .24s ease;
}

.la-sesion-immersive .ls-button {
    background: linear-gradient(115deg, #805231, var(--ls-gold), #ffcf8e 52%, #9b633b 100%);
    box-shadow: 0 18px 44px rgba(216, 160, 96, .2), 0 0 0 1px rgba(255, 226, 180, .18) inset;
    color: #130d08;
}

.ls-button:hover,
.ls-button:focus-visible {
    box-shadow: 0 22px 54px rgba(117, 34, 219, .43);
    color: #fff;
    transform: translateY(-2px);
}

.la-sesion-immersive .ls-button:hover,
.la-sesion-immersive .ls-button:focus-visible {
    box-shadow: 0 22px 58px rgba(216, 160, 96, .3), 0 0 0 1px rgba(255, 235, 198, .26) inset;
    color: #130d08;
}

.ls-button-secondary {
    border: 1px solid var(--ls-line);
    background: rgba(255, 255, 255, .86);
    box-shadow: 0 16px 34px rgba(25, 2, 90, .12);
    color: var(--ls-ink);
}

.la-sesion-immersive .ls-button-secondary {
    border: 1px solid rgba(216, 160, 96, .46);
    background: rgba(216, 160, 96, .1);
    box-shadow: 0 16px 34px rgba(0, 0, 0, .18), inset 0 0 0 1px rgba(255, 235, 198, .08);
    color: #f6d8a7;
}

.ls-button-secondary:hover,
.ls-button-secondary:focus-visible {
    color: var(--ls-ink);
}

.la-sesion-immersive .ls-button-secondary:hover,
.la-sesion-immersive .ls-button-secondary:focus-visible {
    background: rgba(216, 160, 96, .16);
    color: #ffe7bb;
}

.ls-hero {
    position: relative;
    min-height: calc(100vh - 82px);
    padding: clamp(2.5rem, 7vw, 6.5rem) 0 4rem;
}

.ls-hero-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(320px, .9fr) minmax(460px, 1.1fr);
    align-items: center;
    gap: clamp(1.5rem, 4vw, 4.75rem);
}

.ls-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
    margin-top: 1.6rem;
}

.ls-notes {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .85rem;
    margin-top: 2rem;
}

.ls-note {
    min-height: 94px;
    padding: 1rem;
    border: 1px solid rgba(255, 255, 255, .54);
    border-radius: 20px;
    background: rgba(255, 255, 255, .58);
    box-shadow: 0 18px 50px rgba(37, 0, 102, .12);
    backdrop-filter: blur(12px);
}

.ls-note strong,
.ls-session-card strong {
    display: block;
    font-size: 1rem;
    line-height: 1.2;
}

.ls-note span {
    display: block;
    margin-top: .34rem;
    color: var(--ls-ink-soft);
    font-size: .9rem;
}

.studio-scene {
    position: relative;
    min-height: min(760px, 76vw);
    isolation: isolate;
    perspective: 1400px;
}

.studio-room {
    position: absolute;
    inset: clamp(.5rem, 3vw, 2rem);
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .7);
    border-radius: clamp(28px, 4vw, 58px);
    background:
        radial-gradient(circle at 50% 16%, rgba(255, 255, 255, .92), transparent 13rem),
        radial-gradient(circle at 52% 38%, rgba(255, 33, 200, .5), transparent 21rem),
        linear-gradient(145deg, #1646d8 0%, #7e34ff 44%, #ff30c7 100%);
    box-shadow: 0 34px 120px rgba(40, 6, 116, .36);
    transform-style: preserve-3d;
}

.studio-room::before {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .16) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255, 255, 255, .14) 1px, transparent 1px);
    background-size: 74px 74px;
    content: "";
    mask-image: linear-gradient(180deg, rgba(0, 0, 0, .7), transparent 76%);
}

.studio-room::after {
    position: absolute;
    right: -10%;
    bottom: -16%;
    left: -10%;
    height: 47%;
    border-radius: 50%;
    background:
        radial-gradient(circle at center, rgba(255, 255, 255, .64), rgba(75, 32, 234, .24) 35%, rgba(17, 3, 71, .42) 70%);
    box-shadow: inset 0 22px 60px rgba(255, 255, 255, .24);
    content: "";
    transform: rotateX(67deg) translateZ(-10px);
}

.studio-sign {
    position: absolute;
    top: 12%;
    right: 16%;
    left: 16%;
    z-index: 3;
    display: grid;
    place-items: center;
    min-height: 22%;
    padding: 1.25rem;
    border: 1px solid rgba(255, 255, 255, .38);
    border-radius: 28px;
    background: rgba(255, 255, 255, .19);
    box-shadow: inset 0 0 80px rgba(255, 255, 255, .23), 0 24px 70px rgba(8, 0, 65, .25);
    backdrop-filter: blur(12px);
    transform: translateZ(120px);
}

.studio-sign img {
    width: min(100%, 430px);
    filter: invert(1) drop-shadow(0 0 22px rgba(34, 216, 255, .72)) drop-shadow(0 0 34px rgba(255, 33, 200, .55));
}

.studio-desk {
    position: absolute;
    right: 12%;
    bottom: 16%;
    left: 12%;
    z-index: 5;
    height: 19%;
    border: 1px solid rgba(255, 255, 255, .48);
    border-radius: 34px 34px 18px 18px;
    background:
        linear-gradient(90deg, rgba(34, 216, 255, .32), rgba(255, 255, 255, .38), rgba(255, 33, 200, .34)),
        rgba(13, 5, 69, .58);
    box-shadow: 0 30px 72px rgba(12, 2, 66, .42), inset 0 14px 36px rgba(255, 255, 255, .23);
    transform: translateZ(184px) rotateX(8deg);
}

.studio-console {
    position: absolute;
    inset: 24% 10% 22%;
    border: 1px solid rgba(255, 255, 255, .27);
    border-radius: 24px;
    background:
        radial-gradient(circle, rgba(255, 255, 255, .9) 0 3px, transparent 4px) 0 0 / 42px 42px,
        linear-gradient(120deg, rgba(9, 27, 84, .7), rgba(96, 27, 164, .58));
    box-shadow: inset 0 0 45px rgba(34, 216, 255, .25);
}

.studio-mic {
    position: absolute;
    bottom: 20%;
    z-index: 6;
    width: 12px;
    height: 36%;
    border-radius: 999px;
    background: linear-gradient(180deg, #fff, rgba(10, 2, 58, .82));
    box-shadow: 0 18px 26px rgba(15, 0, 83, .32);
    transform-origin: bottom;
}

.studio-mic::before {
    position: absolute;
    top: -46px;
    left: -18px;
    width: 48px;
    height: 68px;
    border: 4px solid rgba(255, 255, 255, .94);
    border-radius: 999px;
    background: rgba(24, 7, 87, .63);
    content: "";
    box-shadow: 0 0 26px rgba(34, 216, 255, .44);
}

.studio-mic-left {
    left: 23%;
    transform: translateZ(210px) rotate(-15deg);
}

.studio-mic-right {
    right: 22%;
    transform: translateZ(210px) rotate(15deg);
}

.studio-light {
    position: absolute;
    top: -14%;
    z-index: 4;
    width: 36%;
    height: 72%;
    opacity: .76;
    background: linear-gradient(180deg, rgba(255, 255, 255, .95), rgba(34, 216, 255, .28) 28%, transparent 100%);
    clip-path: polygon(43% 0, 57% 0, 100% 100%, 0 100%);
    filter: blur(10px);
    mix-blend-mode: screen;
    transform-origin: top center;
    animation: ls-sweep 8.5s ease-in-out infinite alternate;
}

.studio-light-left {
    left: 5%;
    rotate: 12deg;
}

.studio-light-center {
    left: 31%;
    background: linear-gradient(180deg, rgba(255, 255, 255, .95), rgba(255, 33, 200, .38) 35%, transparent);
    animation-duration: 6.9s;
}

.studio-light-right {
    right: 4%;
    rotate: -12deg;
    animation-delay: -2.1s;
}

.studio-smoke,
.ls-smoke {
    position: absolute;
    z-index: 7;
    border-radius: 50%;
    opacity: .7;
    background: radial-gradient(circle, rgba(255, 255, 255, .64), rgba(199, 240, 255, .32) 42%, transparent 70%);
    filter: blur(26px);
    pointer-events: none;
    animation: ls-smoke 10s ease-in-out infinite;
}

.studio-smoke-a {
    right: -8%;
    bottom: 7%;
    width: 68%;
    height: 28%;
}

.studio-smoke-b {
    bottom: 2%;
    left: -12%;
    width: 64%;
    height: 32%;
    animation-delay: -4.2s;
}

.studio-hotspot {
    position: absolute;
    z-index: 9;
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border: 1px solid rgba(255, 255, 255, .64);
    border-radius: 50%;
    background: rgba(255, 255, 255, .32);
    color: #fff;
    cursor: pointer;
    font-weight: 900;
    box-shadow: 0 0 0 9px rgba(255, 255, 255, .12), 0 0 32px rgba(255, 33, 200, .55);
    backdrop-filter: blur(8px);
}

.studio-hotspot span {
    position: absolute;
    bottom: calc(100% + 14px);
    left: 50%;
    width: 176px;
    padding: .7rem .8rem;
    border-radius: 14px;
    background: rgba(18, 5, 70, .88);
    color: #fff;
    font-size: .82rem;
    line-height: 1.35;
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, 8px);
    transition: opacity .2s ease, transform .2s ease;
}

.studio-hotspot:hover span,
.studio-hotspot:focus-visible span {
    opacity: 1;
    transform: translate(-50%, 0);
}

.studio-hotspot-a {
    top: 39%;
    left: 30%;
}

.studio-hotspot-b {
    top: 54%;
    right: 22%;
}

.studio-hotspot-c {
    bottom: 31%;
    left: 49%;
}

.studio-scene-fullscreen {
    overflow: hidden;
    min-height: calc(100svh - 82px);
    width: 100%;
    background:
        radial-gradient(circle at 50% 45%, rgba(102, 70, 42, .14), transparent 34rem),
        linear-gradient(118deg, #07090a 0%, #111615 44%, #020203 100%);
    background-color: #07090a;
    perspective: 1800px;
}

.la-sesion-immersive .studio-scene-fullscreen {
    min-height: 100svh;
}

.studio-scene-fullscreen .studio-room {
    inset: -3.5vmax;
    border: 0;
    border-radius: 0;
}

.studio-led-room {
    background:
        radial-gradient(circle at 50% 44%, rgba(216, 160, 104, .045), transparent 22rem),
        radial-gradient(circle at 18% 20%, rgba(11, 20, 24, .84), transparent 31rem),
        linear-gradient(118deg, rgba(4, 6, 7, .98), rgba(13, 17, 16, .97) 36%, rgba(3, 3, 4, 1) 100%),
        repeating-linear-gradient(90deg, rgba(255, 255, 255, .026) 0 1px, transparent 1px 12px),
        repeating-linear-gradient(0deg, rgba(255, 255, 255, .022) 0 1px, transparent 1px 12px);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .026), inset 0 -18vh 28vh rgba(0, 0, 0, .76);
    filter: brightness(.28) saturate(.65);
    transition: filter 1s ease;
}

.studio-led-room::before {
    z-index: 16;
    background:
        radial-gradient(circle at 50% 46%, transparent 0 16%, rgba(0, 0, 0, .58) 48%, rgba(0, 0, 0, .9) 100%),
        linear-gradient(180deg, rgba(0, 0, 0, .98), rgba(0, 0, 0, .7));
    background-size: auto;
    content: "";
    mask-image: none;
    pointer-events: none;
    opacity: .94;
}

.studio-led-room::after {
    z-index: 1;
    inset: -8%;
    height: auto;
    border-radius: 0;
    background:
        radial-gradient(circle at 50% 48%, rgba(216, 160, 104, .12), transparent 18rem),
        radial-gradient(circle at 70% 18%, rgba(255, 183, 95, .06), transparent 13rem),
        radial-gradient(circle at 20% 76%, rgba(34, 216, 255, .045), transparent 17rem);
    box-shadow: none;
    transform: none;
    filter: blur(18px);
    opacity: .16;
    pointer-events: none;
}

.studio-scene-fullscreen.is-lit .studio-led-room {
    animation: ls-room-lights-on 4.8s cubic-bezier(.18, .68, .22, 1) forwards;
}

.studio-scene-fullscreen.is-lit .studio-led-room::before {
    animation: ls-blackout-lift 4.8s cubic-bezier(.18, .68, .22, 1) forwards;
}

.studio-scene-fullscreen.is-lit .studio-led-room::after {
    animation: ls-wall-ambient 5.4s ease forwards;
}

.studio-led-bulbs {
    position: absolute;
    top: 11%;
    right: 9%;
    bottom: 9%;
    left: 9%;
    z-index: 3;
    opacity: .06;
    background:
        radial-gradient(circle, rgba(255, 188, 92, .86) 0 2px, rgba(255, 188, 92, .26) 2px 5px, transparent 6px) 0 0 / 38px 38px,
        radial-gradient(circle, rgba(255, 218, 146, .42) 0 1px, transparent 4px) 18px 21px / 52px 52px;
    filter: blur(.2px) drop-shadow(0 0 5px rgba(255, 178, 70, .52));
    mask-image: radial-gradient(ellipse at center, rgba(0, 0, 0, .96), rgba(0, 0, 0, .55) 52%, transparent 76%);
    pointer-events: none;
}

.studio-scene-fullscreen.is-lit .studio-led-bulbs {
    animation: ls-bulbs-on 5.1s ease forwards, ls-bulb-flicker 3.6s ease-in-out 5.1s infinite;
}

.studio-led-sign {
    top: 50%;
    left: 50%;
    z-index: 8;
    width: min(76vw, 860px);
    height: min(76svh, 720px);
    min-height: 420px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    transform: translate3d(-50%, -50%, 120px);
}

.studio-led-halo {
    position: absolute;
    inset: -18% -12%;
    z-index: 1;
    opacity: .05;
    background:
        radial-gradient(ellipse at center, rgba(255, 169, 86, .42), rgba(255, 169, 86, .12) 34%, transparent 68%),
        radial-gradient(ellipse at 54% 42%, rgba(255, 33, 200, .09), transparent 58%);
    filter: blur(22px);
    pointer-events: none;
}

.studio-scene-fullscreen.is-lit .studio-led-halo {
    animation: ls-halo-on 5.1s ease forwards;
}

.studio-led-wordmark {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: block;
    background:
        linear-gradient(110deg, #8a5833 0%, #d2975c 24%, #ffd49a 44%, #ad6f43 67%, #ffe1ad 100%),
        radial-gradient(circle at 35% 16%, rgba(255, 255, 255, .42), transparent 18%),
        repeating-linear-gradient(135deg, rgba(0, 0, 0, .13) 0 2px, transparent 2px 7px);
    background-blend-mode: normal, screen, multiply;
    filter: brightness(.54) contrast(1.16) drop-shadow(0 10px 0 rgba(0, 0, 0, .38)) drop-shadow(0 0 2px rgba(255, 195, 125, .2));
    -webkit-mask: url("../images/la-sesion-surround-vives.png") center / contain no-repeat;
    mask: url("../images/la-sesion-surround-vives.png") center / contain no-repeat;
    opacity: .52;
}

.studio-scene-fullscreen.is-lit .studio-led-wordmark {
    animation: ls-sign-on 4.9s cubic-bezier(.18, .68, .22, 1) forwards;
}

.studio-sign-accessible {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

.studio-practical-light {
    position: absolute;
    top: -14%;
    z-index: 6;
    width: 33vw;
    height: 86vh;
    opacity: 0;
    background: linear-gradient(180deg, rgba(255, 221, 169, .34), rgba(255, 173, 88, .08) 35%, transparent 84%);
    clip-path: polygon(45% 0, 55% 0, 100% 100%, 0 100%);
    filter: blur(16px);
    mix-blend-mode: screen;
    transform-origin: top center;
    pointer-events: none;
}

.studio-practical-light-left {
    left: 5%;
    rotate: 16deg;
}

.studio-practical-light-right {
    right: 4%;
    rotate: -16deg;
}

.studio-scene-fullscreen.is-lit .studio-practical-light-left {
    animation: ls-practical-on 5.3s ease 1.1s forwards, ls-sweep 9s ease-in-out 6.2s infinite alternate;
}

.studio-scene-fullscreen.is-lit .studio-practical-light-right {
    animation: ls-practical-on 5.3s ease 1.45s forwards, ls-sweep 8s ease-in-out 6.2s infinite alternate-reverse;
}

.studio-led-haze {
    position: absolute;
    z-index: 5;
    border-radius: 50%;
    opacity: 0;
    background: radial-gradient(circle, rgba(255, 227, 191, .22), rgba(114, 80, 54, .12) 45%, transparent 72%);
    filter: blur(30px);
    pointer-events: none;
}

.studio-led-haze-a {
    right: -14%;
    bottom: -5%;
    width: 70vw;
    height: 34vh;
}

.studio-led-haze-b {
    bottom: 8%;
    left: -18%;
    width: 64vw;
    height: 28vh;
}

.studio-scene-fullscreen.is-lit .studio-led-haze-a {
    animation: ls-led-haze 7.5s ease 2s forwards, ls-smoke 10s ease-in-out 7s infinite;
}

.studio-scene-fullscreen.is-lit .studio-led-haze-b {
    animation: ls-led-haze 7.5s ease 2.4s forwards, ls-smoke 11s ease-in-out 7.3s infinite reverse;
}

.studio-scroll-cue {
    position: absolute;
    bottom: calc(3.5vmax + clamp(1.6rem, 4vw, 3rem));
    left: 50%;
    z-index: 20;
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border: 1px solid rgba(255, 211, 151, .38);
    border-radius: 50%;
    background: rgba(0, 0, 0, .28);
    opacity: 0;
    transform: translateX(-50%);
    backdrop-filter: blur(8px);
    box-shadow: 0 0 24px rgba(216, 160, 96, .16);
}

.studio-scroll-cue span {
    width: 12px;
    height: 12px;
    border-right: 2px solid rgba(255, 222, 174, .9);
    border-bottom: 2px solid rgba(255, 222, 174, .9);
    transform: translateY(-2px) rotate(45deg);
}

.studio-scene-fullscreen.is-lit .studio-scroll-cue {
    animation: ls-cue-on .8s ease 4.2s forwards;
}

.ls-section {
    position: relative;
    z-index: 1;
    overflow: hidden;
    padding: clamp(3.5rem, 7vw, 7rem) 0;
}

.ls-section > .ls-shell {
    position: relative;
    z-index: 2;
}

.la-sesion-immersive .ls-section {
    background:
        radial-gradient(circle at 20% 18%, rgba(216, 160, 96, .18), transparent 24rem),
        radial-gradient(circle at 78% 32%, rgba(240, 201, 149, .13), transparent 20rem),
        linear-gradient(180deg, #060706 0%, #11100e 100%);
}

.la-sesion-immersive #la-sesion-info::before,
.la-sesion-immersive .ls-sessions::before {
    position: absolute;
    inset: 0;
    z-index: 1;
    opacity: .18;
    background:
        radial-gradient(circle at 12% 24%, transparent 0 42px, rgba(216, 160, 96, .34) 43px 45px, transparent 46px 88px, rgba(216, 160, 96, .18) 89px 91px, transparent 92px),
        radial-gradient(circle at 86% 18%, transparent 0 34px, rgba(240, 201, 149, .32) 35px 37px, transparent 38px 78px, rgba(240, 201, 149, .16) 79px 81px, transparent 82px),
        radial-gradient(circle at 68% 82%, transparent 0 52px, rgba(216, 160, 96, .24) 53px 55px, transparent 56px);
    content: "";
    pointer-events: none;
}

.la-sesion-immersive #la-sesion-info::after,
.la-sesion-immersive .ls-sessions::after {
    position: absolute;
    inset: 0;
    z-index: 1;
    opacity: .16;
    background:
        radial-gradient(circle at 10% 18%, transparent 0 54px, rgba(216, 160, 96, .16) 55px 59px, transparent 60px),
        radial-gradient(circle at 86% 22%, transparent 0 72px, rgba(240, 201, 149, .18) 73px 78px, transparent 79px),
        radial-gradient(circle at 72% 78%, transparent 0 46px, rgba(216, 160, 96, .13) 47px 51px, transparent 52px);
    content: "";
    filter: drop-shadow(0 0 22px rgba(216, 160, 96, .16));
    pointer-events: none;
}

.la-sesion-immersive .ls-kicker {
    border-color: rgba(216, 160, 96, .42);
    background: rgba(216, 160, 96, .12);
    color: var(--ls-gold-soft);
}

.ls-info-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(280px, .95fr);
    gap: clamp(2rem, 6vw, 5rem);
    align-items: center;
}

.ls-info-hero .ls-actions {
    margin-top: 2rem;
}

.ls-info-hero .ls-button {
    min-width: 156px;
}

.ls-section-heading {
    margin-top: clamp(3rem, 7vw, 5rem);
}

.ls-section-heading h2 {
    max-width: 820px;
    margin: 1rem 0 0;
}

.ls-awards-wall {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(82px, 1fr));
    gap: clamp(.8rem, 1.6vw, 1.2rem);
    align-items: end;
    min-height: 320px;
    padding: clamp(1rem, 2vw, 1.5rem);
    border: 1px solid rgba(216, 160, 96, .18);
    border-radius: 28px;
    background:
        radial-gradient(circle at 40% 18%, rgba(216, 160, 96, .14), transparent 14rem),
        linear-gradient(145deg, rgba(255, 245, 224, .06), rgba(4, 4, 4, .72)),
        rgba(7, 8, 8, .7);
    box-shadow: inset 0 1px rgba(255, 231, 190, .14), 0 28px 80px rgba(0, 0, 0, .28);
}

.ls-awards-wall::after {
    position: absolute;
    right: 10%;
    bottom: 12%;
    left: 10%;
    height: 12%;
    border-radius: 50%;
    background: radial-gradient(ellipse at center, rgba(216, 160, 96, .22), transparent 70%);
    content: "";
    filter: blur(18px);
    pointer-events: none;
}

.ls-awards-wall::before {
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .025) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255, 255, 255, .02) 1px, transparent 1px);
    background-size: 18px 18px;
    content: "";
    opacity: .5;
    pointer-events: none;
}

.ls-award-plaque {
    position: relative;
    z-index: 1;
    display: block;
    aspect-ratio: .72;
    border: 4px solid rgba(13, 10, 8, .92);
    border-radius: 5px;
    background:
        linear-gradient(180deg, transparent 0 66%, rgba(255, 219, 151, .74) 67% 82%, transparent 83%),
        radial-gradient(circle at 50% 34%, rgba(255, 235, 156, 1) 0 9%, rgba(245, 178, 62, .95) 10% 34%, rgba(91, 62, 34, .85) 35% 36%, transparent 37%),
        repeating-radial-gradient(circle at 50% 34%, transparent 0 10px, rgba(255, 251, 204, .32) 11px 12px, transparent 13px 19px),
        radial-gradient(circle at 50% 34%, rgba(17, 16, 15, .95) 0 10px, transparent 11px),
        linear-gradient(145deg, rgba(255, 255, 255, .08), rgba(0, 0, 0, .16)),
        repeating-linear-gradient(90deg, rgba(255, 255, 255, .038) 0 1px, transparent 1px 5px),
        #24211d;
    box-shadow:
        inset 0 0 0 1px rgba(255, 221, 151, .34),
        inset 0 0 0 9px rgba(0, 0, 0, .35),
        inset 0 0 0 12px rgba(216, 160, 96, .25),
        0 20px 46px rgba(0, 0, 0, .34);
    opacity: .74;
}

.ls-award-plaque::after {
    position: absolute;
    right: 22%;
    bottom: 14%;
    left: 22%;
    height: 12%;
    border-radius: 4px;
    background: linear-gradient(110deg, #805231, #ffd69b 50%, #9b633b);
    box-shadow: inset 0 0 0 1px rgba(255, 246, 218, .28);
    content: "";
}

.ls-award-plaque-large {
    transform: translateY(-18px);
    opacity: .88;
}

.ls-award-plaque-small {
    transform: translateY(22px);
    opacity: .52;
}

.ls-panel-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 2rem;
}

.ls-panel,
.ls-session-card,
.ls-checkout-card,
.ls-summary-card,
.ls-confirm-card {
    border: 1px solid rgba(255, 255, 255, .78);
    border-radius: clamp(22px, 2.5vw, 34px);
    background:
        radial-gradient(circle at top right, rgba(34, 216, 255, .21), transparent 13rem),
        var(--ls-glass);
    box-shadow: 0 24px 72px rgba(34, 2, 111, .14);
    backdrop-filter: blur(16px);
}

.la-sesion-immersive .ls-panel,
.la-sesion-immersive .ls-session-card {
    position: relative;
    overflow: hidden;
    border-color: rgba(216, 160, 96, .28);
    background:
        radial-gradient(circle at top right, rgba(216, 160, 96, .12), transparent 12rem),
        linear-gradient(145deg, rgba(255, 245, 224, .08), rgba(216, 160, 96, .06)),
        rgba(7, 8, 8, .84);
    box-shadow: 0 28px 80px rgba(0, 0, 0, .48), inset 0 1px rgba(255, 231, 190, .18);
}

.la-sesion-immersive .ls-panel::before,
.la-sesion-immersive .ls-session-card::before {
    content: none;
    display: none;
}

.la-sesion-immersive .ls-panel > *,
.la-sesion-immersive .ls-session-card > * {
    position: relative;
    z-index: 1;
}

.la-sesion-immersive .ls-panel:nth-child(2) {
    background:
        radial-gradient(circle at 18% 0, rgba(216, 160, 96, .18), transparent 13rem),
        linear-gradient(145deg, rgba(255, 245, 224, .09), rgba(216, 160, 96, .06)),
        rgba(7, 8, 8, .84);
}

.ls-panel {
    min-height: 250px;
    padding: clamp(1.3rem, 3vw, 2.2rem);
}

.ls-panel:nth-child(2) {
    background:
        radial-gradient(circle at 25% 0, rgba(255, 33, 200, .25), transparent 15rem),
        rgba(255, 255, 255, .76);
}

.ls-panel h2,
.ls-section h2,
.ls-session-card h3 {
    margin: .8rem 0;
    color: var(--ls-ink);
    font-family: "Satoshi", "Space Grotesk", sans-serif;
    font-size: clamp(1.55rem, 3vw, 3rem);
    font-weight: 900;
    line-height: 1.02;
    letter-spacing: 0;
}

.ls-panel p,
.ls-session-card p {
    color: var(--ls-ink-soft);
    line-height: 1.6;
}

.la-sesion-immersive .ls-panel p,
.la-sesion-immersive .ls-session-card p,
.la-sesion-immersive .ls-note span {
    color: rgba(246, 234, 215, .72);
}

.la-sesion-immersive .ls-panel h2,
.la-sesion-immersive .ls-session-card h3,
.la-sesion-immersive .ls-session-card strong,
.la-sesion-immersive .ls-note strong {
    color: #f7ead3;
}

.ls-sessions {
    background:
        radial-gradient(circle at 54% 20%, rgba(34, 216, 255, .2), transparent 26rem),
        linear-gradient(180deg, transparent, rgba(255, 255, 255, .55), transparent);
}

.la-sesion-immersive .ls-sessions {
    background:
        radial-gradient(circle at 50% 12%, rgba(216, 160, 96, .17), transparent 25rem),
        linear-gradient(180deg, #11100e 0%, #060706 100%);
}

.ls-session-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 270px), 1fr));
    gap: 1rem;
    margin-top: 2rem;
}

.ls-session-card {
    display: flex;
    flex-direction: column;
    gap: .75rem;
    min-height: 340px;
    padding: clamp(1.25rem, 2.5vw, 2rem);
}

.ls-session-card-active {
    background:
        radial-gradient(circle at 13% 12%, rgba(34, 216, 255, .42), transparent 12rem),
        radial-gradient(circle at 95% 5%, rgba(255, 33, 200, .42), transparent 14rem),
        rgba(255, 255, 255, .74);
}

.la-sesion-immersive .ls-session-card-active {
    background:
        radial-gradient(circle at 15% 12%, rgba(240, 201, 149, .16), transparent 12rem),
        radial-gradient(circle at 95% 5%, rgba(216, 160, 96, .12), transparent 14rem),
        rgba(12, 13, 13, .82);
}

.ls-session-card .ls-button {
    margin-top: auto;
    width: fit-content;
}

.ls-session-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.ls-pill {
    display: inline-flex;
    padding: .45rem .7rem;
    border-radius: 999px;
    background: rgba(22, 7, 63, .09);
    color: #45208e;
    font-size: .78rem;
    font-weight: 900;
    text-transform: uppercase;
}

.la-sesion-immersive .ls-pill {
    background: rgba(216, 160, 96, .14);
    color: #f0c995;
}

.ls-pill-live {
    background: rgba(255, 33, 200, .16);
    color: #b4008e;
}

.la-sesion-immersive .ls-pill-live {
    background: rgba(240, 201, 149, .2);
    color: #ffe1aa;
}

.ls-session-layout {
    display: grid;
    grid-template-columns: minmax(280px, .78fr) minmax(420px, 1.22fr);
    gap: clamp(1rem, 3vw, 2rem);
    align-items: start;
    padding-top: clamp(2rem, 5vw, 5rem);
}

.ls-summary-card,
.ls-checkout-card,
.ls-confirm-card {
    padding: clamp(1.3rem, 3vw, 2.7rem);
}

.ls-summary-card {
    position: sticky;
    top: 112px;
}

.ls-data {
    display: grid;
    gap: .85rem;
    padding: 0;
    list-style: none;
}

.ls-data li {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: .8rem;
    border-bottom: 1px solid var(--ls-line);
    color: var(--ls-ink-soft);
}

.ls-data strong {
    color: var(--ls-ink);
    text-align: right;
}

.ls-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1.5rem;
}

.ls-field {
    display: grid;
    gap: .45rem;
}

.ls-field-full {
    grid-column: 1 / -1;
}

.ls-field label {
    color: var(--ls-ink);
    font-size: .86rem;
    font-weight: 900;
    text-transform: uppercase;
}

.ls-input,
.ls-hosted-field {
    width: 100%;
    min-height: 58px;
    padding: .95rem 1rem;
    border: 1px solid rgba(59, 35, 145, .23);
    border-radius: 18px;
    background: rgba(255, 255, 255, .74);
    color: var(--ls-ink);
    font: inherit;
    box-shadow: inset 0 1px rgba(255, 255, 255, .8);
}

.ls-hosted-field {
    padding: .75rem 1rem;
}

.ls-hosted-field.braintree-hosted-fields-focused,
.ls-input:focus {
    border-color: var(--ls-violet);
    box-shadow: 0 0 0 4px rgba(125, 53, 255, .13);
    outline: 0;
}

.ls-total {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin: 1.5rem 0;
    padding: 1rem;
    border-radius: 20px;
    background: linear-gradient(100deg, rgba(34, 216, 255, .19), rgba(255, 33, 200, .16));
}

.ls-total strong {
    color: var(--ls-ink);
    font-size: clamp(1.35rem, 2.8vw, 2.35rem);
}

.ls-errors {
    display: grid;
    gap: .45rem;
    margin: 1rem 0;
    padding: 1rem;
    border: 1px solid rgba(210, 0, 103, .2);
    border-radius: 18px;
    background: rgba(255, 228, 246, .86);
    color: #8b005e;
}

.ls-confirm-wrap {
    min-height: 70vh;
    display: grid;
    align-items: center;
    padding: clamp(3rem, 8vw, 7rem) 0;
}

.ls-confirm-card {
    position: relative;
    overflow: hidden;
}

.ls-confirm-card::after {
    position: absolute;
    top: -22%;
    right: -10%;
    width: 340px;
    height: 340px;
    border-radius: 50%;
    background: rgba(255, 33, 200, .19);
    content: "";
    filter: blur(12px);
}

@keyframes ls-sweep {
    from {
        transform: translateX(-4%) rotate(-7deg) scaleX(.9);
    }
    to {
        transform: translateX(6%) rotate(8deg) scaleX(1.08);
    }
}

@keyframes ls-smoke {
    0%,
    100% {
        opacity: .46;
        transform: translate3d(-2%, 3%, 0) scale(1);
    }
    50% {
        opacity: .82;
        transform: translate3d(4%, -9%, 0) scale(1.12);
    }
}

@keyframes ls-room-lights-on {
    0% {
        filter: brightness(.18) saturate(.52);
    }
    12% {
        filter: brightness(.24) saturate(.62);
    }
    18% {
        filter: brightness(.62) saturate(.9);
    }
    24% {
        filter: brightness(.34) saturate(.72);
    }
    42% {
        filter: brightness(.72) saturate(.94);
    }
    100% {
        filter: brightness(.9) saturate(1);
    }
}

@keyframes ls-blackout-lift {
    0% {
        opacity: .98;
    }
    18% {
        opacity: .78;
    }
    24% {
        opacity: .9;
    }
    52% {
        opacity: .3;
    }
    100% {
        opacity: .04;
    }
}

@keyframes ls-wall-ambient {
    0% {
        opacity: .08;
    }
    45% {
        opacity: .24;
    }
    100% {
        opacity: .48;
    }
}

@keyframes ls-bulbs-on {
    0% {
        opacity: .04;
        filter: blur(.2px) drop-shadow(0 0 0 rgba(255, 178, 70, 0));
    }
    14% {
        opacity: .12;
    }
    21% {
        opacity: .48;
    }
    27% {
        opacity: .2;
    }
    52% {
        opacity: .54;
    }
    100% {
        opacity: .68;
        filter: blur(.2px) drop-shadow(0 0 10px rgba(255, 178, 70, .74));
    }
}

@keyframes ls-bulb-flicker {
    0%,
    100% {
        opacity: .62;
    }
    45% {
        opacity: .7;
    }
    52% {
        opacity: .5;
    }
    60% {
        opacity: .64;
    }
}

@keyframes ls-sign-on {
    0% {
        opacity: .34;
        filter: brightness(.42) contrast(1.12) drop-shadow(0 10px 0 rgba(0, 0, 0, .5));
    }
    16% {
        opacity: .5;
        filter: brightness(.64) contrast(1.16) drop-shadow(0 10px 0 rgba(0, 0, 0, .45)) drop-shadow(0 0 12px rgba(255, 188, 94, .26));
    }
    23% {
        opacity: .42;
    }
    48% {
        opacity: 1;
        filter: brightness(1.08) contrast(1.16) drop-shadow(0 12px 0 rgba(0, 0, 0, .54)) drop-shadow(0 0 20px rgba(255, 188, 94, .46));
    }
    100% {
        opacity: 1;
        filter: brightness(1.2) contrast(1.15) drop-shadow(0 14px 0 rgba(0, 0, 0, .52)) drop-shadow(0 0 30px rgba(255, 188, 94, .58));
    }
}

@keyframes ls-halo-on {
    0% {
        opacity: .02;
    }
    35% {
        opacity: .24;
    }
    100% {
        opacity: .34;
    }
}

@keyframes ls-practical-on {
    from {
        opacity: 0;
    }
    to {
        opacity: .3;
    }
}

@keyframes ls-led-haze {
    from {
        opacity: 0;
    }
    to {
        opacity: .36;
    }
}

@keyframes ls-cue-on {
    from {
        opacity: 0;
        transform: translate(-50%, 10px);
    }
    to {
        opacity: 1;
        transform: translate(-50%, 0);
    }
}

@media (max-width: 900px) {
    .ls-shell {
        width: min(100% - 28px, 720px);
    }

    .ls-hero {
        min-height: auto;
    }

    .ls-hero-grid,
    .ls-info-hero,
    .ls-session-layout {
        grid-template-columns: 1fr;
    }

    .ls-summary-card {
        position: relative;
        top: auto;
    }

    .studio-scene {
        min-height: 650px;
        order: -1;
    }

    .studio-scene-fullscreen {
        min-height: calc(100svh - 82px);
        order: initial;
    }

    .la-sesion-immersive .studio-scene-fullscreen {
        min-height: 100svh;
    }

    .studio-led-sign {
        width: min(88vw, 640px);
        height: min(76svh, 680px);
        min-height: 380px;
    }

    .ls-panel-grid,
    .ls-notes {
        grid-template-columns: 1fr;
    }

    .ls-awards-wall {
        min-height: 240px;
        grid-template-columns: repeat(3, minmax(74px, 150px));
        justify-content: flex-start;
        max-width: 560px;
    }
}

@media (max-width: 620px) {
    .ls-form-grid {
        grid-template-columns: 1fr;
    }

    .studio-scene {
        min-height: 520px;
    }

    .studio-sign {
        right: 8%;
        left: 8%;
    }

    .studio-scene-fullscreen {
        min-height: calc(100svh - 82px);
    }

    .la-sesion-immersive .studio-scene-fullscreen {
        min-height: 100svh;
    }

    .studio-led-sign {
        left: 50%;
        right: auto;
        width: min(92vw, 520px);
        height: min(72svh, 640px);
        min-height: 460px;
    }

    .studio-hotspot {
        width: 34px;
        height: 34px;
    }

    .studio-hotspot span {
        width: 148px;
    }

    .ls-button {
        width: 100%;
    }

    .ls-info-hero .ls-actions {
        align-items: stretch;
        gap: .75rem;
    }

    .ls-info-hero .ls-button {
        min-width: 0;
    }

    .ls-awards-wall {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .studio-light,
    .studio-smoke,
    .ls-smoke,
    .studio-scene-fullscreen.is-lit .studio-led-room,
    .studio-scene-fullscreen.is-lit .studio-led-room::before,
    .studio-scene-fullscreen.is-lit .studio-led-room::after,
    .studio-scene-fullscreen.is-lit .studio-led-bulbs,
    .studio-scene-fullscreen.is-lit .studio-led-halo,
    .studio-scene-fullscreen.is-lit .studio-led-wordmark,
    .studio-scene-fullscreen.is-lit .studio-practical-light-left,
    .studio-scene-fullscreen.is-lit .studio-practical-light-right,
    .studio-scene-fullscreen.is-lit .studio-led-haze-a,
    .studio-scene-fullscreen.is-lit .studio-led-haze-b,
    .studio-scene-fullscreen.is-lit .studio-scroll-cue {
        animation: none;
    }

    .studio-room,
    .studio-sign:not(.studio-led-sign),
    .studio-desk,
    .studio-mic {
        transform: none !important;
    }

    .studio-scene-fullscreen .studio-led-room {
        filter: brightness(1) saturate(1);
    }

    .studio-scene-fullscreen .studio-led-room::before {
        opacity: .18;
    }

    .studio-scene-fullscreen .studio-led-bulbs {
        opacity: .62;
    }

    .studio-scene-fullscreen .studio-led-wordmark {
        opacity: 1;
        filter: brightness(1.04) contrast(1.18) drop-shadow(0 14px 0 rgba(0, 0, 0, .48)) drop-shadow(0 0 24px rgba(255, 188, 94, .5));
    }

    .studio-led-sign {
        transform: translate3d(-50%, -50%, 120px) !important;
    }
}
