.elementor-9 .elementor-element.elementor-element-c466f91{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-c40eeee{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-0ebe23c{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-7ae4718{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-298cec3{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-ce27c2d{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-829dcad{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-b26474a *//* ==========================================================
   ENRY SOUND HERO V3
   PERFORMANCE FIRST
========================================================== */

.esx-hero {

    --esx-gold: #e4b54a;
    --esx-gold-hi: #ffe394;

    --esx-left-rot: 0deg;
    --esx-right-rot: 0deg;

    --esx-console-rx: 53deg;
    --esx-console-ry: 0deg;
    --esx-console-y: 0px;

    --esx-stage-scale: 1;

    --esx-glow: .26;
    --esx-laser: .05;

    --esx-cross: 50%;

    --esx-bg-y: 0px;


    position: relative;

    width: 100%;

    /*
     More than 100vh deliberately:
     gives mobile enough scroll distance
     to animate the console.
    */

    height: 135vh;
    height: 135svh;

    overflow: clip;

    color: #f6f3eb;

    background: #020202;

    isolation: isolate;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

}


/* ==========================================================
   STICKY VIEWPORT
========================================================== */

.esx-sticky {

    position: sticky;

    top: 0;

    height: 100vh;
    height: 100svh;

    overflow: hidden;

}


/* ==========================================================
   WORLD
========================================================== */

.esx-world {

    position: absolute;

    inset: 0;

    z-index: -10;

    overflow: hidden;

    background:

        radial-gradient(
            circle at 73% 45%,
            rgba(210,153,42,.14),
            transparent 27%
        ),

        radial-gradient(
            circle at 80% 72%,
            rgba(101,46,155,.07),
            transparent 25%
        ),

        linear-gradient(
            125deg,
            #010101,
            #080705 58%,
            #010101
        );

}


/* ==========================================================
   GLOW
========================================================== */

.esx-glow {

    position: absolute;

    border-radius: 50%;

    pointer-events: none;

    mix-blend-mode: screen;

}


.esx-glow-a {

    width: 520px;
    height: 520px;

    right: 3%;
    top: 12%;

    background:
        rgba(229,181,74,.12);

    filter:
        blur(85px);

    opacity:
        var(--esx-glow);

}


.esx-glow-b {

    width: 360px;
    height: 360px;

    right: 29%;
    bottom: -8%;

    background:
        rgba(101,45,160,.07);

    filter:
        blur(75px);

}


/* ==========================================================
   LIGHT BEAMS
========================================================== */

.esx-beam {

    position: absolute;

    top: -20%;

    width: 130px;
    height: 145%;

    pointer-events: none;

    mix-blend-mode: screen;

    opacity:
        var(--esx-laser);

}


.esx-beam-a {

    right: 18%;

    transform:
        rotate(22deg);

    background:

        linear-gradient(
            90deg,
            transparent,
            rgba(255,221,132,.5),
            transparent
        );

}


.esx-beam-b {

    right: 37%;

    transform:
        rotate(-19deg);

    background:

        linear-gradient(
            90deg,
            transparent,
            rgba(129,73,186,.26),
            transparent
        );

}


/* ==========================================================
   GRID
========================================================== */

.esx-grid {

    position: absolute;

    width: 120%;
    height: 60%;

    left: 20%;
    bottom: -38%;

    transform:

        perspective(520px)
        rotateX(67deg)
        translateY(
            var(--esx-bg-y)
        );

    transform-origin:
        center bottom;

    background-image:

        linear-gradient(
            rgba(229,181,74,.12) 1px,
            transparent 1px
        ),

        linear-gradient(
            90deg,
            rgba(229,181,74,.12) 1px,
            transparent 1px
        );

    background-size:
        72px 72px;

    opacity: .22;

    -webkit-mask-image:

        linear-gradient(
            to top,
            black,
            transparent 80%
        );

}


/* ==========================================================
   LIGHT DUST
   One layer instead of dozens of DOM particles.
========================================================== */

.esx-dust {

    position: absolute;

    inset: 0;

    opacity: .20;

    pointer-events: none;

    background-image:

        radial-gradient(
            circle at 15% 68%,
            rgba(255,225,155,.75) 0 1px,
            transparent 2px
        ),

        radial-gradient(
            circle at 38% 72%,
            rgba(255,225,155,.45) 0 1px,
            transparent 2px
        ),

        radial-gradient(
            circle at 64% 31%,
            rgba(255,225,155,.55) 0 1px,
            transparent 2px
        ),

        radial-gradient(
            circle at 82% 61%,
            rgba(255,225,155,.40) 0 1px,
            transparent 2px
        ),

        radial-gradient(
            circle at 90% 35%,
            rgba(255,225,155,.55) 0 1px,
            transparent 2px
        );

}


/* ==========================================================
   FLASH
========================================================== */

.esx-flash {

    position: absolute;

    inset: 0;

    z-index: 50;

    pointer-events: none;

    background: white;

    opacity: 0;

}


.esx-hit
.esx-flash {

    animation:
        esxFlash .42s steps(1) 1;

}


@keyframes esxFlash {

    0% {
        opacity: 0;
    }

    14% {
        opacity: .06;
    }

    21% {
        opacity: 0;
    }

    31% {
        opacity: .11;
    }

    38% {
        opacity: 0;
    }

}


/* ==========================================================
   MAIN LAYOUT
========================================================== */

.esx-container {

    position: relative;

    z-index: 5;

    width:
        min(1480px,90%);

    height: 100%;

    margin: auto;

    display: grid;

    grid-template-columns:
        .92fr 1.08fr;

    gap:
        clamp(
            30px,
            5vw,
            85px
        );

    align-items: center;

}


/* ==========================================================
   COPY
========================================================== */

.esx-copy {

    position: relative;

    z-index: 10;

}


.esx-kicker {

    display: flex;

    align-items: center;

    gap: 13px;

    margin-bottom: 24px;

    color:
        var(--esx-gold);

    font-size: 9px;

    font-weight: 800;

    letter-spacing: .29em;

}


.esx-kicker i {

    width: 40px;
    height: 1px;

    background:
        var(--esx-gold);

}


/* ==========================================================
   TITLE
========================================================== */

.esx-title {

    margin: 0;

    font-size:
        clamp(
            62px,
            6.7vw,
            116px
        );

    line-height: .80;

    letter-spacing: -.065em;

    font-weight: 900;

    text-transform: uppercase;

}


.esx-title > span {

    display: block;

}


.esx-title-outline {

    color: transparent;

    -webkit-text-stroke:
        1px
        rgba(255,255,255,.58);

}


.esx-title-gold {

    width: fit-content;

    color: transparent;

    background:

        linear-gradient(
            105deg,
            #966019,
            #d9a640 30%,
            #ffe398 55%,
            #a86b1c
        );

    -webkit-background-clip: text;
    background-clip: text;

}


/* ==========================================================
   INTRO
========================================================== */

.esx-intro {

    max-width: 535px;

    margin:
        32px 0 0;

    color:
        rgba(255,255,255,.56);

    font-size:
        clamp(
            14px,
            1vw,
            17px
        );

    line-height: 1.7;

}


.esx-intro strong {

    color:
        rgba(255,255,255,.90);

    font-weight: 500;

}


/* ==========================================================
   BUTTONS
========================================================== */

.esx-actions {

    margin-top: 31px;

    display: flex;

    flex-wrap: wrap;

    gap: 10px;

}


.esx-btn {

    min-height: 56px;

    padding:
        0 22px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 18px;

    box-sizing: border-box;

    text-decoration: none !important;

    font-size: 8px;

    font-weight: 900;

    letter-spacing: .15em;

    transition:

        transform .25s ease,
        border-color .25s ease,
        box-shadow .25s ease;

}


.esx-btn-main {

    color: #050505 !important;

    background:

        linear-gradient(
            115deg,
            #a46d20,
            #e3b54c 45%,
            #f5d376 64%,
            #9f671a
        );

    box-shadow:

        0 12px 32px
        rgba(222,166,48,.12);

}


.esx-btn-main:hover {

    transform:
        translateY(-3px);

    box-shadow:

        0 17px 45px
        rgba(222,166,48,.25);

}


.esx-btn-main b {

    font-size: 17px;

    font-weight: 400;

}


.esx-btn-phone {

    color:
        rgba(255,255,255,.86)
        !important;

    border:

        1px solid
        rgba(229,181,74,.26);

    background:
        rgba(0,0,0,.25);

}


.esx-btn-phone:hover {

    border-color:
        rgba(229,181,74,.60);

}


/* ==========================================================
   META
========================================================== */

.esx-meta {

    display: flex;

    flex-wrap: wrap;

    gap:
        12px 20px;

    margin-top: 24px;

}


.esx-meta span {

    display: flex;

    align-items: center;

    gap: 7px;

    color:
        rgba(255,255,255,.29);

    font-size: 7px;

    letter-spacing: .16em;

}


.esx-meta i {

    width: 4px;
    height: 4px;

    border-radius: 50%;

    background:
        var(--esx-gold);

    box-shadow:
        0 0 7px
        rgba(229,181,74,.6);

}


/* ==========================================================
   STAGE
========================================================== */

.esx-stage {

    position: relative;

    min-height:
        670px;

    display: flex;

    align-items: center;

    justify-content: center;

    perspective: 1300px;

    transform:

        scale(
            var(--esx-stage-scale)
        );

    transform-origin:
        center center;

}


/* ==========================================================
   HALO
========================================================== */

.esx-stage-halo {

    position: absolute;

    left: 50%;
    top: 53%;

    width: 65%;
    height: 28%;

    transform:
        translate(-50%,-50%);

    border-radius: 50%;

    background:
        rgba(
            229,
            181,
            74,
            .10
        );

    filter:
        blur(55px);

    opacity:
        var(--esx-glow);

}


/* ==========================================================
   CONSOLE WRAPPER
========================================================== */

.esx-console-wrap {

    position: relative;

    z-index: 5;

    width:
        min(
            720px,
            48vw
        );

    transform-style:
        preserve-3d;

}


/* ==========================================================
   DJ CONSOLE
========================================================== */

.esx-console {

    position: relative;

    width: 100%;

    aspect-ratio:
        2.45 / 1;

    padding: 9px;

    box-sizing:
        border-box;

    display: grid;

    grid-template-columns:
        1fr .52fr 1fr;

    gap: 7px;

    transform:

        translate3d(
            0,
            var(--esx-console-y),
            0
        )

        rotateX(
            var(--esx-console-rx)
        )

        rotateY(
            var(--esx-console-ry)
        );

    transform-origin:
        center center;

    transform-style:
        preserve-3d;

    background:

        linear-gradient(
            145deg,
            #171717,
            #050505
        );

    border:
        1px solid
        rgba(255,255,255,.10);

    box-shadow:

        0 35px 50px
        rgba(0,0,0,.65),

        0 0 36px
        rgba(229,181,74,.045);

    will-change: transform;

}


/* console front */

.esx-console-edge {

    position: absolute;

    left: 3%;
    right: 3%;

    top: 61%;

    height: 20px;

    transform:

        rotateX(-62deg)
        translateZ(-5px);

    transform-origin:
        top;

    background:

        linear-gradient(
            #0b0b0b,
            #020202
        );

    opacity: .75;

}


/* ==========================================================
   DECK
========================================================== */

.esx-deck {

    position: relative;

    overflow: hidden;

    padding: 9px;

    background:

        linear-gradient(
            145deg,
            #101010,
            #050505
        );

    border:

        1px solid
        rgba(255,255,255,.055);

}


/* ==========================================================
   SCREEN
========================================================== */

.esx-screen {

    position: relative;

    height: 22%;

    overflow: hidden;

    border:
        1px solid
        rgba(229,181,74,.11);

    background:
        #040605;

}


.esx-screen > span {

    position: absolute;

    z-index: 2;

    top: 4px;
    right: 5px;

    color:
        rgba(229,181,74,.55);

    font-size: 4px;

    letter-spacing: .12em;

}


/* ==========================================================
   WAVEFORM
========================================================== */

.esx-waveform {

    position: absolute;

    width: 160%;
    height: 45%;

    left: -30%;
    top: 50%;

    transform:
        translateY(-50%);

    opacity: .65;

    background:

        repeating-linear-gradient(
            90deg,
            transparent 0 4px,
            rgba(229,181,74,.8) 5px 6px
        );

    clip-path:

        polygon(
            0 50%,
            6% 25%,
            12% 70%,
            18% 15%,
            24% 82%,
            30% 37%,
            36% 65%,
            42% 18%,
            48% 84%,
            54% 30%,
            60% 72%,
            66% 20%,
            72% 80%,
            78% 35%,
            84% 68%,
            90% 28%,
            100% 50%
        );

    animation:
        esxWave 4s linear infinite;

}


@keyframes esxWave {

    to {

        transform:

            translate(
                17%,
                -50%
            );

    }

}


/* ==========================================================
   JOG
========================================================== */

.esx-jog {

    position: absolute;

    width: 55%;

    aspect-ratio: 1;

    left: 50%;
    top: 58%;

    margin:
        -27.5% 0 0 -27.5%;

    border-radius: 50%;

    border:

        1px solid
        rgba(229,181,74,.28);

    background:

        radial-gradient(
            circle at 35% 28%,
            rgba(255,255,255,.11),
            transparent 16%
        ),

        radial-gradient(
            circle,
            #141414,
            #060606 62%,
            #020202
        );

    box-shadow:

        inset 0 0 20px
        rgba(0,0,0,.85),

        0 0 20px
        rgba(229,181,74,.045);

    will-change: transform;

}


.esx-jog-left {

    transform:
        rotate(
            var(--esx-left-rot)
        );

}


.esx-jog-right {

    transform:
        rotate(
            var(--esx-right-rot)
        );

}


/* ==========================================================
   GROOVES
========================================================== */

.esx-grooves {

    position: absolute;

    inset: 7%;

    border-radius: 50%;

    background:

        repeating-radial-gradient(
            circle,
            transparent 0 5px,
            rgba(255,255,255,.025) 6px,
            transparent 7px
        );

    border:

        1px solid
        rgba(255,255,255,.025);

}


/* ==========================================================
   JOG LABEL
========================================================== */

.esx-jog-label {

    position: absolute;

    width: 33%;

    aspect-ratio: 1;

    left: 50%;
    top: 50%;

    transform:
        translate(-50%,-50%);

    border-radius: 50%;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    background:

        radial-gradient(
            circle,
            #bc8528,
            #201509 72%
        );

    border:

        1px solid
        rgba(255,219,132,.65);

    color:
        var(--esx-gold-hi);

}


.esx-jog-label strong {

    font-size: 5px;

    letter-spacing: .08em;

}


.esx-jog-label small {

    font-size: 3px;

    letter-spacing: .10em;

}


.esx-jog-label i {

    width: 3px;
    height: 3px;

    margin: 3px 0;

    border-radius: 50%;

    background: #050505;

}


/* ==========================================================
   POSITION DOT
========================================================== */

.esx-position-dot {

    position: absolute;

    top: 8%;
    left: 48%;

    width: 4px;
    height: 4px;

    border-radius: 50%;

    background:
        var(--esx-gold-hi);

    box-shadow:
        0 0 8px
        var(--esx-gold);

}


/* ==========================================================
   DECK BOTTOM
========================================================== */

.esx-deck-bottom {

    position: absolute;

    left: 8px;
    right: 8px;

    bottom: 7px;

    display: flex;

    align-items: center;

    gap: 5px;

}


.esx-pad {

    width: 8px;
    height: 8px;

    background:
        #1b1b1b;

    border:

        1px solid
        rgba(229,181,74,.20);

}


.esx-pad-on {

    background:
        var(--esx-gold);

    box-shadow:
        0 0 7px
        rgba(229,181,74,.55);

}


.esx-deck-bottom > span {

    width: 22px;
    height: 3px;

    margin-left: auto;

    background:
        #222;

}


/* ==========================================================
   MIXER
========================================================== */

.esx-mixer {

    position: relative;

    padding:
        10px 7px;

    background:

        linear-gradient(
            180deg,
            #151515,
            #050505
        );

    border:

        1px solid
        rgba(255,255,255,.06);

}


/* ==========================================================
   KNOBS
========================================================== */

.esx-knobs {

    display: grid;

    grid-template-columns:
        repeat(2,1fr);

    gap: 6px;

}


.esx-knobs i {

    width: 15px;
    height: 15px;

    margin: auto;

    border-radius: 50%;

    position: relative;

    background:

        radial-gradient(
            circle,
            #292929,
            #080808
        );

    border:

        1px solid
        rgba(229,181,74,.20);

}


.esx-knobs i::before {

    content: "";

    position: absolute;

    width: 1px;
    height: 5px;

    left: 50%;
    top: 1px;

    background:
        var(--esx-gold);

}


/* ==========================================================
   VU
========================================================== */

.esx-vu-area {

    width: 58%;

    height: 65px;

    margin:
        11px auto 0;

    display: grid;

    grid-template-columns:
        1fr 1fr;

    gap: 5px;

}


.esx-vu {

    display: flex;

    flex-direction: column-reverse;

    gap: 2px;

}


.esx-vu i {

    flex: 1;

    background:
        rgba(229,181,74,.20);

    animation:
        esxVU .75s ease-in-out infinite alternate;

}


.esx-vu i:nth-child(-n+5) {

    background:
        rgba(229,181,74,.72);

}


.esx-vu i:nth-child(2n) {

    animation-duration: .47s;

}


@keyframes esxVU {

    from {
        opacity: .18;
    }

    to {
        opacity: .85;
    }

}


/* ==========================================================
   FADERS
========================================================== */

.esx-faders {

    position: absolute;

    left: 9px;
    right: 9px;

    bottom: 32px;

    display: grid;

    grid-template-columns:
        1fr 1fr;

    gap: 12px;

}


.esx-faders > div {

    position: relative;

    width: 3px;
    height: 42px;

    margin: auto;

    background:
        #252525;

}


.esx-faders span {

    position: absolute;

    width: 13px;
    height: 5px;

    left: 50%;
    top: 45%;

    transform:
        translate(-50%,-50%);

    background:
        #aaa;

}


/* ==========================================================
   CROSS FADER
========================================================== */

.esx-cross {

    position: absolute;

    left: 13%;
    right: 13%;

    bottom: 15px;

    height: 2px;

    background:
        #222;

}


.esx-cross span {

    position: absolute;

    left:
        var(--esx-cross);

    top: 50%;

    width: 14px;
    height: 6px;

    transform:
        translate(-50%,-50%);

    background:
        #bbb;

    transition:
        left .08s linear;

}


/* ==========================================================
   MIXER BRAND
========================================================== */

.esx-mixer-brand {

    position: absolute;

    left: 0;
    right: 0;

    bottom: 2px;

    text-align: center;

    color:
        rgba(229,181,74,.65);

    font-size: 4px;

    font-weight: 900;

    letter-spacing: .11em;

}


.esx-mixer-brand small {

    display: block;

    margin-top: 1px;

    font-size: 2px;

}


/* ==========================================================
   HUD
========================================================== */

.esx-hud {

    position: absolute;

    z-index: 12;

    right: 0;
    bottom: 12%;

    width: 145px;

    padding: 13px;

    border:

        1px solid
        rgba(229,181,74,.17);

    background:
        rgba(4,4,4,.72);

    box-shadow:

        0 15px 40px
        rgba(0,0,0,.45);

}


.esx-hud > small {

    color:
        rgba(255,255,255,.25);

    font-size: 5px;

    letter-spacing: .19em;

}


.esx-hud > div:nth-child(2) {

    margin-top: 6px;

    display: flex;

    gap: 6px;

    align-items: baseline;

}


.esx-hud strong {

    color:
        var(--esx-gold-hi);

    font-size: 25px;

    font-weight: 500;

}


.esx-hud span {

    color:
        rgba(255,255,255,.28);

    font-size: 5px;

    letter-spacing: .16em;

}


/* ==========================================================
   EQ
========================================================== */

.esx-eq {

    height: 26px;

    margin-top: 8px;

    display: flex;

    align-items: flex-end;

    gap: 3px;

}


.esx-eq i {

    flex: 1;

    height: 20%;

    background:

        linear-gradient(
            to top,
            #885714,
            var(--esx-gold-hi)
        );

    animation:
        esxEQ .65s ease-in-out infinite alternate;

}


.esx-eq i:nth-child(2n) {
    animation-duration: .39s;
}

.esx-eq i:nth-child(3n) {
    animation-duration: .83s;
}


@keyframes esxEQ {

    to {
        height: 100%;
    }

}


/* ==========================================================
   ORBITS
========================================================== */

.esx-orbit {

    position: absolute;

    z-index: -1;

    left: 50%;
    top: 52%;

    border-radius: 50%;

    transform:
        translate(-50%,-50%)
        rotateX(69deg);

    pointer-events: none;

}


.esx-orbit-a {

    width: 80%;
    aspect-ratio: 1;

    border:

        1px solid
        rgba(229,181,74,.17);

    animation:
        esxOrbit 17s linear infinite;

}


.esx-orbit-b {

    width: 100%;
    aspect-ratio: 1;

    border:

        1px dashed
        rgba(255,255,255,.045);

}


@keyframes esxOrbit {

    to {

        transform:

            translate(-50%,-50%)
            rotateX(69deg)
            rotateZ(360deg);

    }

}


/* ==========================================================
   SCROLL HUD
========================================================== */

.esx-scroll-hud {

    position: absolute;

    z-index: 20;

    left: 5%;
    right: 5%;

    bottom: 21px;

    display: grid;

    grid-template-columns:
        auto 100px auto;

    gap: 15px;

    align-items: center;

    color:
        rgba(255,255,255,.23);

    font-size: 6px;

    letter-spacing: .19em;

    pointer-events: none;

}


.esx-scroll-hud > div {

    height: 1px;

    position: relative;

    overflow: hidden;

    background:
        rgba(255,255,255,.08);

}


.esx-scroll-hud i {

    position: absolute;

    width: 30%;
    height: 100%;

    left: -30%;

    background:
        var(--esx-gold);

    animation:
        esxScrollLine
        2s ease-in-out infinite;

}


@keyframes esxScrollLine {

    to {
        left: 110%;
    }

}


.esx-scroll-hud strong {

    justify-self: end;

    color:
        rgba(229,181,74,.45);

    font-size: 6px;

    font-weight: 500;

}


/* ==========================================================
   PAUSE EVERYTHING WHEN OFFSCREEN
========================================================== */

.esx-paused *,
.esx-paused *::before,
.esx-paused *::after {

    animation-play-state:
        paused !important;

}


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

@media
(max-width: 1050px) {

    .esx-container {

        grid-template-columns:
            1fr 1fr;

        width: 92%;

    }


    .esx-title {

        font-size:
            clamp(
                58px,
                8vw,
                88px
            );

    }


    .esx-console-wrap {

        width: 53vw;

    }


    .esx-stage {

        min-height: 580px;

    }

}


/* ==========================================================
   MOBILE
========================================================== */

@media
(max-width: 767px) {

    .esx-hero {

        /*
         Gives real scroll interaction
         without making hero excessively long.
        */

        height: 145svh;

    }


    .esx-sticky {

        height: 100svh;

    }


    .esx-container {

        width: 90%;

        height: 100%;

        display: grid;

        grid-template-columns: 1fr;

        grid-template-rows:
            auto
            minmax(255px,1fr);

        gap: 5px;

        align-content: center;

        padding:

            max(
                72px,
                env(safe-area-inset-top)
            )

            0

            47px;

        box-sizing: border-box;

    }


    /* COPY */

    .esx-copy {

        align-self: end;

    }


    .esx-kicker {

        margin-bottom: 13px;

        font-size: 6px;

        letter-spacing: .20em;

    }


    .esx-kicker i {

        width: 24px;

    }


    .esx-title {

        font-size:
            clamp(
                44px,
                12.7vw,
                62px
            );

        line-height: .83;

    }


    .esx-title-outline {

        -webkit-text-stroke:
            1px
            rgba(255,255,255,.47);

    }


    .esx-intro {

        width: 94%;

        margin-top: 16px;

        font-size: 12px;

        line-height: 1.52;

    }


    /* BUTTONS */

    .esx-actions {

        margin-top: 17px;

        display: grid;

        grid-template-columns:
            1fr auto;

        gap: 7px;

    }


    .esx-btn {

        min-height: 46px;

        padding:
            0 14px;

        font-size: 6px;

    }


    .esx-btn-phone {

        padding:
            0 12px;

    }


    /* META */

    .esx-meta {

        margin-top: 12px;

        gap:
            7px 12px;

    }


    .esx-meta span {

        font-size: 5px;

    }


    /* ======================================================
       CONSOLE IS ALWAYS VISIBLE ON MOBILE
    ====================================================== */

    .esx-stage {

        width: 100%;

        min-height: 0;

        align-self: start;

        display: flex;

        align-items: center;

        justify-content: center;

        overflow: visible;

        perspective: 900px;

    }


    .esx-console-wrap {

        width: 104vw;

        max-width: 560px;

        margin-left:
            -7vw;

    }


    .esx-console {

        aspect-ratio:
            2.35 / 1;

        padding: 6px;

        gap: 5px;

        /*
         JS controls only transforms.
         Console stays centered and visible.
        */

        box-shadow:

            0 25px 35px
            rgba(0,0,0,.55),

            0 0 25px
            rgba(229,181,74,.05);

    }


    .esx-console-edge {

        height: 12px;

    }


    /* DECK DETAIL */

    .esx-deck {

        padding: 6px;

    }


    .esx-screen {

        height: 20%;

    }


    .esx-jog {

        width: 58%;

        margin:
            -29% 0 0 -29%;

    }


    .esx-deck-bottom {

        left: 5px;
        right: 5px;

        bottom: 4px;

        gap: 3px;

    }


    .esx-pad {

        width: 5px;
        height: 5px;

    }


    /* MIXER */

    .esx-mixer {

        padding:
            6px 4px;

    }


    .esx-knobs {

        gap: 3px;

    }


    .esx-knobs i {

        width: 10px;
        height: 10px;

    }


    .esx-vu-area {

        height: 42px;

        margin-top: 6px;

    }


    .esx-faders {

        bottom: 21px;

    }


    .esx-faders > div {

        height: 27px;

    }


    .esx-cross {

        bottom: 10px;

    }


    /* HUD */

    .esx-hud {

        right: -2%;

        bottom: 2%;

        width: 105px;

        padding: 9px;

        transform:
            scale(.86);

        transform-origin:
            right bottom;

    }


    .esx-hud strong {

        font-size: 19px;

    }


    .esx-eq {

        height: 19px;

    }


    /* ======================================================
       PERFORMANCE:
       mobile keeps only one orbit and simpler light.
    ====================================================== */

    .esx-orbit-b {

        display: none;

    }


    .esx-orbit-a {

        width: 84%;

        opacity: .55;

        animation-duration: 25s;

    }


    .esx-glow-a {

        width: 320px;
        height: 320px;

        right: -15%;
        top: 49%;

        filter:
            blur(55px);

    }


    .esx-glow-b {

        display: none;

    }


    .esx-beam-b {

        display: none;

    }


    .esx-beam-a {

        right: 4%;

        width: 90px;

        opacity:
            var(--esx-laser);

    }


    .esx-grid {

        width: 165%;

        left: -30%;

        bottom: -43%;

        opacity: .13;

        background-size:
            58px 58px;

    }


    /*
     Waveform still moves,
     but slower = less GPU activity.
    */

    .esx-waveform {

        animation-duration:
            7s;

    }


    /*
     EQ stays alive to preserve DJ feel.
    */

    .esx-vu i {

        animation-duration:
            1.1s;

    }


    .esx-eq i {

        animation-duration:
            1s;

    }


    /* SCROLL HUD */

    .esx-scroll-hud {

        left: 5%;
        right: 5%;

        bottom:
            max(
                12px,
                env(safe-area-inset-bottom)
            );

        grid-template-columns:
            auto 1fr;

    }


    .esx-scroll-hud strong {

        display: none;

    }

}


/* ==========================================================
   VERY SMALL PHONES
========================================================== */

@media
(max-width: 390px) {

    .esx-container {

        padding-top: 65px;

    }


    .esx-title {

        font-size:
            43px;

    }


    .esx-intro {

        font-size:
            11px;

    }


    .esx-btn {

        min-height: 43px;

    }


    .esx-console-wrap {

        width: 108vw;

        margin-left: -9vw;

    }

}


/* ==========================================================
   REDUCED MOTION
========================================================== */

@media
(prefers-reduced-motion: reduce) {

    .esx-hero {

        height: 100svh;

    }


    .esx-hero *,
    .esx-hero *::before,
    .esx-hero *::after {

        animation:
            none !important;

        transition-duration:
            .01ms !important;

    }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-e4cb2e5 *//* =========================================================
   ENRY SOUND — SERVICES / AFTER DROP
========================================================= */

.es-services {

    --srv-gold: #e4b84c;
    --srv-gold-hi: #ffe294;
    --srv-bg: #030303;

    --srv-energy: 0;

    position: relative;

    width: 100%;

    overflow: hidden;

    padding:
        clamp(100px, 11vw, 170px)
        0
        clamp(100px, 10vw, 150px);

    background:
        #030303;

    color:
        #f4f2ed;

    isolation: isolate;

    font-family:
        Arial,
        Helvetica,
        sans-serif;
}


/* =========================================================
   BACKGROUND
========================================================= */

.es-services-bg {

    position: absolute;

    inset: 0;

    z-index: -5;

    overflow: hidden;

    background:

        radial-gradient(
            circle at 15% 20%,
            rgba(87,41,143,.08),
            transparent 26%
        ),

        radial-gradient(
            circle at 82% 42%,
            rgba(211,158,48,.09),
            transparent 27%
        ),

        linear-gradient(
            180deg,
            #020202,
            #070605 45%,
            #020202
        );

}


/* glow */

.es-services-glow {

    position: absolute;

    border-radius: 50%;

    filter:
        blur(120px);

    pointer-events: none;

    mix-blend-mode: screen;

    will-change: transform;

}


.es-services-glow-a {

    width: 520px;
    height: 520px;

    left: -100px;
    top: 12%;

    background:
        rgba(117,53,184,.08);

}


.es-services-glow-b {

    width: 600px;
    height: 600px;

    right: -120px;
    bottom: 5%;

    background:
        rgba(226,173,56,.10);

}


/* =========================================================
   GRID
========================================================= */

.es-services-grid {

    position: absolute;

    inset: 0;

    opacity:
        calc(
            .08 +
            var(--srv-energy) * .06
        );

    background-image:

        linear-gradient(
            rgba(255,255,255,.035) 1px,
            transparent 1px
        ),

        linear-gradient(
            90deg,
            rgba(255,255,255,.035) 1px,
            transparent 1px
        );

    background-size:
        70px 70px;

    mask-image:

        linear-gradient(
            to bottom,
            transparent,
            black 22%,
            black 78%,
            transparent
        );

}


/* =========================================================
   SOUND TUNNEL
========================================================= */

.es-sound-tunnel {

    position: absolute;

    width: 510px;
    height: 510px;

    top: 6%;
    right: 7%;

    transform-style:
        preserve-3d;

    perspective:
        900px;

    opacity:
        calc(
            .30 +
            var(--srv-energy) * .35
        );

    transition:
        opacity .3s ease;

    will-change:
        transform;

}


.es-sound-tunnel::before {

    content: "";

    position: absolute;

    inset: 20%;

    border-radius: 50%;

    border:
        1px solid
        rgba(229,184,76,.16);

    box-shadow:

        0 0 80px
        rgba(229,184,76,.07),

        inset 0 0 80px
        rgba(229,184,76,.04);

}


.es-sound-tunnel i {

    --angle: 0deg;
    --height: 45px;
    --delay: 0s;

    position: absolute;

    left: 50%;
    top: 50%;

    width: 2px;
    height: var(--height);

    transform-origin:
        center
        170px;

    transform:

        translate(-50%,-50%)

        rotate(var(--angle))

        translateY(-170px);

    background:

        linear-gradient(
            to top,
            transparent,
            var(--srv-gold)
        );

    box-shadow:
        0 0 9px
        rgba(229,184,76,.6);

    animation:

        esTunnelPulse
        .95s
        ease-in-out
        infinite alternate;

    animation-delay:
        var(--delay);

}


@keyframes esTunnelPulse {

    from {

        opacity: .12;

        scale: .55;

    }

    to {

        opacity: .85;

        scale:
            calc(
                .9 +
                var(--srv-energy) * .25
            );

    }

}


/* =========================================================
   TRANSITION FROM HERO
========================================================= */

.es-services-transition {

    position: absolute;

    top: 0;
    left: 4%;
    right: 4%;

    height: 1px;

}


.es-transition-line {

    position: absolute;

    inset: 0;

    background:

        linear-gradient(
            90deg,
            transparent,
            rgba(229,184,76,.15),
            rgba(229,184,76,.8),
            rgba(229,184,76,.15),
            transparent
        );

}


.es-transition-center {

    position: absolute;

    left: 50%;
    top: 50%;

    transform:
        translate(-50%,-50%);

    width: 100px;
    height: 40px;

    background:
        #030303;

    display: flex;

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

}


.es-transition-center span {

    width: 8px;
    height: 8px;

    border-radius: 50%;

    background:
        var(--srv-gold);

    box-shadow:

        0 0 16px
        var(--srv-gold),

        0 0 40px
        rgba(229,184,76,.4);

    animation:
        esTransitionBeat
        .968s
        ease-in-out
        infinite;

}


@keyframes esTransitionBeat {

    50% {

        opacity: .3;

        transform:
            scale(.55);

    }

}


/* =========================================================
   CONTAINER
========================================================= */

.es-services-container {

    position: relative;

    z-index: 5;

    width:
        min(1480px, 90%);

    margin:
        0 auto;

}


/* =========================================================
   HEADER
========================================================= */

.es-services-head {

    position: relative;

    z-index: 3;

    margin-bottom:
        clamp(60px, 7vw, 100px);

}


.es-services-kicker {

    display: flex;

    align-items: center;

    gap: 14px;

    color:
        var(--srv-gold);

    font-size:
        9px;

    font-weight:
        800;

    letter-spacing:
        .32em;

    margin-bottom:
        26px;

}


.es-services-kicker-line {

    width: 44px;
    height: 1px;

    background:
        var(--srv-gold);

}


.es-services-kicker small {

    margin-left:
        auto;

    color:
        rgba(255,255,255,.18);

    font-size:
        9px;

}


.es-services-title-wrap {

    display: grid;

    grid-template-columns:
        minmax(0, 1.5fr)
        minmax(280px, .5fr);

    gap:
        60px;

    align-items:
        end;

}


/* TITLE */

.es-services-title {

    margin: 0;

    font-size:
        clamp(
            55px,
            6vw,
            104px
        );

    line-height:
        .84;

    letter-spacing:
        -.065em;

    font-weight:
        900;

}


.es-services-title > span {

    display: block;

}


.es-services-outline {

    color:
        transparent;

    -webkit-text-stroke:

        1px
        rgba(255,255,255,.52);

}


.es-services-gold {

    width:
        fit-content;

    color:
        transparent;

    background:

        linear-gradient(
            110deg,
            #98601b,
            #e4b54b 32%,
            #ffe096 55%,
            #ad711e
        );

    background-clip: text;

    -webkit-background-clip: text;

}


/* intro */

.es-services-intro {

    padding-bottom: 6px;

}


.es-services-intro p {

    margin:
        0 0 25px;

    max-width:
        390px;

    color:
        rgba(255,255,255,.54);

    font-size:
        14px;

    line-height:
        1.72;

}


.es-services-live {

    display: flex;

    align-items: center;

    gap: 9px;

    font-size:
        7px;

    letter-spacing:
        .18em;

    color:
        rgba(255,255,255,.40);

}


.es-services-live i {

    width: 5px;
    height: 5px;

    border-radius: 50%;

    background:
        var(--srv-gold);

    box-shadow:
        0 0 10px
        var(--srv-gold);

    animation:
        esServicesLive
        1s
        ease-in-out
        infinite;

}


.es-services-live small {

    color:
        var(--srv-gold);

}


@keyframes esServicesLive {

    50% {

        opacity: .25;

    }

}


/* =========================================================
   SERVICE DECK
========================================================= */

.es-service-deck {

    display: grid;

    grid-template-columns:

        repeat(
            5,
            minmax(0,1fr)
        );

    gap:
        12px;

    perspective:
        1300px;

}


/* =========================================================
   CARDS
========================================================= */

.es-service-card {

    position: relative;

    min-height:
        500px;

    overflow: hidden;

    padding:
        22px;

    border:

        1px solid
        rgba(229,184,76,.16);

    background:

        linear-gradient(
            160deg,
            rgba(18,18,18,.95),
            rgba(4,4,4,.98)
        );

    box-shadow:

        0 35px 80px
        rgba(0,0,0,.30);

    transform-style:
        preserve-3d;

    transition:

        transform .18s ease-out,
        border-color .35s ease,
        box-shadow .35s ease;

    will-change:
        transform;

}


.es-service-card:hover {

    border-color:
        rgba(229,184,76,.48);

    box-shadow:

        0 45px 100px
        rgba(0,0,0,.55),

        0 0 45px
        rgba(229,184,76,.05);

}


/* cursor spotlight */

.es-card-light {

    position: absolute;

    left: 50%;
    top: 50%;

    width: 220px;
    height: 220px;

    transform:
        translate(-50%,-50%);

    border-radius: 50%;

    pointer-events: none;

    opacity: 0;

    background:

        radial-gradient(
            circle,
            rgba(242,193,83,.14),
            transparent 68%
        );

    filter:
        blur(10px);

    transition:
        opacity .25s ease;

}


.es-service-card:hover
.es-card-light {

    opacity: 1;

}


/* =========================================================
   CARD TOP
========================================================= */

.es-card-top {

    display: flex;

    align-items: center;

    justify-content:
        space-between;

}


.es-card-number {

    color:
        rgba(255,255,255,.20);

    font-size:
        8px;

    letter-spacing:
        .15em;

}


.es-card-status {

    display: flex;

    align-items: center;

    gap: 6px;

    color:
        rgba(255,255,255,.26);

    font-size:
        6px;

    letter-spacing:
        .18em;

}


.es-card-status i {

    width: 4px;
    height: 4px;

    border-radius: 50%;

    background:
        var(--srv-gold);

}


/* =========================================================
   ICON
========================================================= */

.es-card-icon {

    width: 52px;
    height: 52px;

    margin-top:
        48px;

}


.es-card-icon svg {

    width: 100%;
    height: 100%;

    fill: none;

    stroke:
        var(--srv-gold);

    stroke-width:
        1.4;

    stroke-linecap:
        round;

    stroke-linejoin:
        round;

    filter:

        drop-shadow(
            0 0 10px
            rgba(229,184,76,.18)
        );

}


/* =========================================================
   CARD CONTENT
========================================================= */

.es-card-content {

    margin-top:
        42px;

}


.es-card-label {

    display: block;

    margin-bottom:
        11px;

    color:
        var(--srv-gold);

    font-size:
        7px;

    letter-spacing:
        .22em;

}


.es-card-content h3 {

    margin:
        0;

    font-size:
        clamp(
            22px,
            1.8vw,
            31px
        );

    line-height:
        1;

    font-weight:
        700;

    letter-spacing:
        -.035em;

}


.es-card-content p {

    margin:
        18px 0 0;

    color:
        rgba(255,255,255,.46);

    font-size:
        12px;

    line-height:
        1.65;

}


/* =========================================================
   CARD WAVEFORM
========================================================= */

.es-card-wave {

    position: absolute;

    left: 22px;
    right: 22px;

    bottom: 72px;

    height: 32px;

    display: flex;

    align-items: center;

    gap: 3px;

    opacity: .32;

}


.es-card-wave i {

    flex: 1;

    height: 20%;

    background:

        linear-gradient(
            to top,
            #8b5815,
            var(--srv-gold-hi)
        );

    animation:

        esCardWave
        .65s
        ease-in-out
        infinite alternate;

}


.es-card-wave i:nth-child(2n) {

    animation-duration:
        .37s;

}


.es-card-wave i:nth-child(3n) {

    animation-duration:
        .86s;

}


.es-card-wave i:nth-child(4n) {

    animation-duration:
        .48s;

}


.es-service-card:hover
.es-card-wave {

    opacity: .8;

}


@keyframes esCardWave {

    to {

        height:
            calc(
                35% +
                var(--srv-energy) * 65%
            );

    }

}


/* =========================================================
   CARD LINK
========================================================= */

.es-card-link {

    position: absolute;

    left: 22px;
    right: 22px;

    bottom: 20px;

    padding-top:
        15px;

    display: flex;

    align-items: center;

    justify-content:
        space-between;

    border-top:

        1px solid
        rgba(255,255,255,.08);

    color:
        rgba(255,255,255,.55)
        !important;

    text-decoration:
        none !important;

    font-size:
        7px;

    letter-spacing:
        .20em;

    transition:
        color .25s ease;

}


.es-card-link b {

    color:
        var(--srv-gold);

    font-size:
        17px;

    font-weight: 400;

    transition:
        transform .25s ease;

}


.es-card-link:hover {

    color:
        white !important;

}


.es-card-link:hover b {

    transform:
        translate(
            4px,
            -4px
        );

}


/* =========================================================
   BOTTOM STRIP
========================================================= */

.es-services-bottom {

    margin-top:
        45px;

    min-height:
        110px;

    display: grid;

    grid-template-columns:
        auto 1fr auto;

    align-items: center;

    gap:
        40px;

    border-top:

        1px solid
        rgba(255,255,255,.08);

    border-bottom:

        1px solid
        rgba(255,255,255,.08);

}


.es-services-bottom-copy {

    display: flex;

    flex-direction: column;

    gap: 4px;

}


.es-services-bottom-copy span {

    color:
        rgba(255,255,255,.30);

    font-size:
        7px;

    letter-spacing:
        .23em;

}


.es-services-bottom-copy strong {

    color:
        var(--srv-gold);

    font-size:
        13px;

    letter-spacing:
        .08em;

}


/* spectrum */

.es-services-spectrum {

    height: 36px;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 3px;

    opacity: .32;

}


.es-services-spectrum i {

    width: 2px;
    height: 20%;

    background:
        var(--srv-gold);

    animation:

        esBottomSpectrum
        .58s
        ease-in-out
        infinite alternate;

}


.es-services-spectrum i:nth-child(2n) {

    animation-duration:
        .38s;

}


.es-services-spectrum i:nth-child(3n) {

    animation-duration:
        .77s;

}


.es-services-spectrum i:nth-child(5n) {

    animation-duration:
        .46s;

}


@keyframes esBottomSpectrum {

    to {

        height: 100%;

    }

}


/* CTA */

.es-services-cta {

    display: inline-flex;

    align-items: center;

    gap: 18px;

    color:
        white !important;

    text-decoration:
        none !important;

    font-size:
        8px;

    font-weight:
        700;

    letter-spacing:
        .18em;

}


.es-services-cta span {

    width: 38px;
    height: 38px;

    display: flex;

    align-items: center;

    justify-content: center;

    border:

        1px solid
        rgba(229,184,76,.35);

    color:
        var(--srv-gold);

    transition:
        .3s ease;

}


.es-services-cta:hover span {

    color:
        #050505;

    background:
        var(--srv-gold);

    transform:
        rotate(45deg);

}


/* =========================================================
   SCROLL REVEAL
========================================================= */

.es-srv-reveal {

    opacity: 0;

    transform:
        translateY(45px);

    filter:
        blur(8px);

    transition:

        opacity
        .85s ease,

        transform
        .9s
        cubic-bezier(
            .16,
            1,
            .3,
            1
        ),

        filter
        .8s ease;

}


.es-srv-reveal.es-srv-visible {

    opacity: 1;

    transform:
        translateY(0);

    filter:
        blur(0);

}


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

@media
(max-width: 1180px) {

    .es-service-deck {

        grid-template-columns:
            repeat(
                2,
                minmax(0,1fr)
            );

    }


    .es-service-card {

        min-height:
            430px;

    }


    .es-service-card:last-child {

        grid-column:
            span 2;

    }


    .es-services-title-wrap {

        grid-template-columns:
            1fr;

        gap: 30px;

    }


    .es-services-intro p {

        max-width:
            570px;

    }


    .es-sound-tunnel {

        right: -170px;

        opacity: .25;

    }

}


/* =========================================================
   MOBILE
========================================================= */

@media
(max-width: 767px) {

    .es-services {

        padding:
            90px 0
            80px;

    }


    .es-services-container {

        width:
            88%;

    }


    .es-services-kicker {

        font-size:
            7px;

        letter-spacing:
            .23em;

    }


    .es-services-kicker-line {

        width: 27px;

    }


    .es-services-title {

        font-size:
            clamp(
                48px,
                14vw,
                70px
            );

        line-height:
            .86;

    }


    .es-services-intro p {

        font-size:
            13px;

    }


    .es-service-deck {

        display: flex;

        overflow-x: auto;

        scroll-snap-type:
            x mandatory;

        gap: 13px;

        padding:

            5px
            9vw
            25px
            0;

        scrollbar-width:
            none;

    }


    .es-service-deck::-webkit-scrollbar {

        display: none;

    }


    .es-service-card {

        flex:

            0
            0
            min(
                82vw,
                330px
            );

        min-height:
            445px;

        scroll-snap-align:
            start;

    }


    .es-service-card:last-child {

        grid-column:
            auto;

    }


    .es-card-content h3 {

        font-size:
            27px;

    }


    .es-sound-tunnel {

        width: 360px;
        height: 360px;

        right: -210px;

        top: 2%;

        opacity: .20;

    }


    .es-services-bottom {

        grid-template-columns:
            1fr;

        gap: 25px;

        padding:
            28px 0;

    }


    .es-services-spectrum {

        justify-content:
            flex-start;

        max-width:
            210px;

    }


    .es-services-cta {

        justify-content:
            space-between;

    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media
(prefers-reduced-motion: reduce) {

    .es-services *,
    .es-services *::before,
    .es-services *::after {

        animation-duration:
            .001ms !important;

        animation-iteration-count:
            1 !important;

        transition-duration:
            .001ms !important;

    }

}
/* ============================================================
   ENRY SOUND — MOBILE PERFORMANCE OVERRIDE
   Load AFTER all existing ENRY SOUND CSS.
   Goal: premium look, lower GPU/CPU cost on tablet/mobile.
============================================================ */

/* ---------- Core rendering / touch ---------- */
html {
    overflow-x: clip;
    scroll-behavior: smooth;
}

body {
    overflow-x: clip;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.es-hero,
.es-services,
.es-about,
.es-dna,
.es-flow,
.es-manifesto,
.es-booking,
.es-footer {
    -webkit-tap-highlight-color: transparent;
    touch-action: pan-y;
}

/* Below-the-fold sections: skip paint/layout until near viewport.
   Manifesto excluded because it uses sticky scroll choreography. */
.es-services,
.es-about,
.es-dna,
.es-flow,
.es-booking,
.es-footer {
    content-visibility: auto;
    contain-intrinsic-size: 900px;
}

/* Keep expensive composition hints only on elements that actually move. */
.es-hero *,
.es-services *,
.es-about *,
.es-dna *,
.es-flow *,
.es-booking *,
.es-footer * {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

/* ============================================================
   TABLET + MOBILE PERFORMANCE
============================================================ */
@media (max-width: 1024px) {

    /* Reduce huge GPU blur surfaces while keeping warm premium glow. */
    .es-bg-glow,
    .es-services-glow,
    .es-about-glow,
    .es-dna-glow,
    .es-booking-glow,
    .es-footer-glow,
    .es-manifesto-glow {
        filter: blur(70px) !important;
        opacity: .72;
    }

    /* Glass blur is expensive on mobile Safari/Chrome. */
    .es-bpm-card,
    .es-live-panel,
    .es-social-screen,
    .es-social-floating,
    .es-about-console,
    .es-dna-panel,
    .es-booking-console,
    .es-booking-floating,
    .es-footer-floating {
        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
        background-color: rgba(5,5,5,.88) !important;
    }

    /* Reduce shadow layers, preserve depth. */
    .es-console,
    .es-service-card,
    .es-social-screen,
    .es-booking-console,
    .es-footer-disc,
    .es-about-frame {
        box-shadow:
            0 24px 55px rgba(0,0,0,.48),
            0 0 34px rgba(229,184,76,.045) !important;
    }

    /* Slower, calmer decorative motion = premium rather than noisy. */
    .es-orbit,
    .es-ring,
    .es-social-orbit,
    .es-booking-orbit,
    .es-footer-orbit,
    .es-about-orbit,
    .es-dna-ring,
    .es-manifesto-energy-ring {
        animation-duration: 24s !important;
    }

    .es-waveform,
    .es-card-wave i,
    .es-master-eq i,
    .es-about-spectrum i,
    .es-booking-eq i,
    .es-footer-spectrum i,
    .es-flow-wave i,
    .es-dna-mini-eq i,
    .es-manifesto-wave i {
        box-shadow: none !important;
    }

    /* Reduce perspective complexity. */
    .es-visual,
    .es-dj-area,
    .es-social-stage,
    .es-booking-stage,
    .es-about-visual,
    .es-dna-stage {
        perspective: 900px !important;
    }

    /* Buttons / inputs feel instant. */
    .es-btn,
    .es-card-link,
    .es-about-instagram,
    .es-booking-submit,
    .es-footer-main-cta,
    .es-footer-top,
    .es-event-option,
    .es-dna-mode {
        transition-duration: .22s !important;
    }
}

/* ============================================================
   MOBILE <= 767px
============================================================ */
@media (max-width: 767px) {

    :root {
        --es-mobile-gutter: max(20px, 6vw);
    }

    /* ---------- Global section rhythm ---------- */
    .es-hero,
    .es-services,
    .es-about,
    .es-dna,
    .es-flow,
    .es-booking,
    .es-footer {
        width: 100%;
        max-width: 100%;
    }

    .es-services-container,
    .es-about-container,
    .es-dna-container,
    .es-flow-container,
    .es-booking-container,
    .es-footer-container,
    .es-footer-final {
        width: auto !important;
        margin-left: var(--es-mobile-gutter) !important;
        margin-right: var(--es-mobile-gutter) !important;
    }

    /* ---------- Remove most expensive cosmetic layers ---------- */
    .es-noise,
    .es-about-noise,
    .es-bg-grid,
    .es-services-grid,
    .es-about-grid,
    .es-booking-grid,
    .es-footer-grid {
        display: none !important;
    }

    /* Keep one cinematic light source, not several. */
    .es-stage-light-2,
    .es-laser-2,
    .es-laser-3,
    .es-about-beam-b,
    .es-booking-beam-b,
    .es-manifesto-beam-b,
    .es-manifesto-laser-b {
        display: none !important;
    }

    .es-bg-beam,
    .es-stage-light-1,
    .es-about-beam-a,
    .es-booking-beam-a,
    .es-footer-beam,
    .es-manifesto-beam-a,
    .es-manifesto-laser-a {
        filter: blur(12px) !important;
        opacity: .18 !important;
    }

    .es-bg-glow,
    .es-services-glow,
    .es-about-glow,
    .es-dna-glow,
    .es-booking-glow,
    .es-footer-glow,
    .es-manifesto-glow {
        filter: blur(48px) !important;
        opacity: .50 !important;
    }

    /* Limit ambient DOM particles created by JS. */
    .es-particle:nth-child(n+9),
    .es-ambient-particle:nth-child(n+9),
    .es-about-particle:nth-child(n+8) {
        display: none !important;
    }

    /* Hide secondary orbit layers; one ring keeps the premium 3D cue. */
    .es-orbit-2,
    .es-orbit-3,
    .es-ring-2,
    .es-ring-3,
    .es-social-orbit-b,
    .es-booking-orbit-b,
    .es-footer-orbit-b,
    .es-about-orbit-2,
    .es-dna-ring-3,
    .es-manifesto .es-mer-3 {
        display: none !important;
    }

    /* ---------- Hero ---------- */
    .es-hero {
        min-height: 100svh !important;
        height: auto;
        padding-top: env(safe-area-inset-top);
    }

    .es-hero .es-container {
        width: auto !important;
        min-height: 100svh !important;
        margin: 0 var(--es-mobile-gutter) !important;
        padding: clamp(92px, 15svh, 126px) 0 96px !important;
    }

    .es-hero .es-title {
        font-size: clamp(50px, 15.5vw, 72px) !important;
        line-height: .84 !important;
        letter-spacing: -.055em !important;
    }

    .es-hero .es-description,
    .es-hero .es-subtitle {
        width: 100% !important;
        max-width: 35rem !important;
        font-size: 14px !important;
        line-height: 1.58 !important;
    }

    .es-hero .es-actions {
        width: 100% !important;
        max-width: 360px !important;
        gap: 10px !important;
    }

    .es-hero .es-btn {
        min-height: 54px !important;
        padding-inline: 18px !important;
    }

    .es-hero .es-dj-area,
    .es-hero .es-visual {
        width: 104vw !important;
        right: -58vw !important;
        top: 18% !important;
        opacity: .24 !important;
        filter: none !important;
    }

    .es-hero .es-console {
        box-shadow: 0 24px 45px rgba(0,0,0,.70) !important;
    }

    .es-hero .es-bottom {
        left: var(--es-mobile-gutter) !important;
        right: var(--es-mobile-gutter) !important;
        bottom: max(18px, env(safe-area-inset-bottom)) !important;
    }

    /* ---------- Services ---------- */
    .es-services {
        padding: 82px 0 74px !important;
    }

    .es-services-title,
    .es-about-title,
    .es-dna-title,
    .es-flow-title,
    .es-booking-title,
    .es-footer-title {
        font-size: clamp(46px, 13.6vw, 68px) !important;
        line-height: .87 !important;
        letter-spacing: -.05em !important;
    }

    .es-service-deck {
        overscroll-behavior-x: contain;
        -webkit-overflow-scrolling: touch;
        scroll-padding-inline: var(--es-mobile-gutter);
        gap: 12px !important;
        padding-bottom: 18px !important;
    }

    .es-service-card {
        flex-basis: min(82vw, 315px) !important;
        min-height: 410px !important;
        padding: 20px !important;
        scroll-snap-stop: always;
        transform: none !important;
    }

    .es-service-card:hover {
        transform: none !important;
    }

    .es-card-light {
        display: none !important;
    }

    .es-card-icon {
        margin-top: 34px !important;
        width: 46px !important;
        height: 46px !important;
    }

    .es-card-content {
        margin-top: 30px !important;
    }

    .es-card-wave i:nth-child(even) {
        display: none !important;
    }

    /* ---------- About / Instagram ---------- */
    .es-about {
        padding: 82px 0 74px !important;
    }

    .es-about-container {
        gap: 48px !important;
    }

    .es-social-stage {
        min-height: 610px !important;
        perspective: none !important;
    }

    .es-social-screen {
        width: 100% !important;
        max-width: 520px !important;
        padding: 7px !important;
        transform: none !important;
        border-color: rgba(229,184,76,.18) !important;
    }

    .es-instagram-shell {
        min-height: 480px !important;
    }

    .es-instagram-scan,
    .es-social-meter,
    .es-social-floating {
        display: none !important;
    }

    .es-about-spectrum i:nth-child(even) {
        display: none !important;
    }

    /* ---------- Sound DNA ---------- */
    .es-dna {
        padding: 82px 0 !important;
    }

    .es-dna-stage {
        min-height: 470px !important;
        transform: none !important;
        perspective: none !important;
    }

    .es-dna-core {
        width: min(64vw, 250px) !important;
        box-shadow: 0 0 38px rgba(229,182,74,.08) !important;
    }

    .es-dna-radial {
        width: 315px !important;
        height: 315px !important;
    }

    .es-dna-radial i:nth-child(even) {
        display: none !important;
    }

    .es-dna-panel {
        width: min(170px, 44vw) !important;
        padding: 14px !important;
        background: rgba(4,4,4,.90) !important;
        box-shadow: 0 18px 40px rgba(0,0,0,.45) !important;
    }

    .es-dna-mode {
        min-height: 56px !important;
    }

    /* ---------- Event Flow ---------- */
    .es-flow {
        padding: 82px 0 !important;
    }

    .es-flow-timeline {
        margin-top: 54px !important;
        padding-left: 36px !important;
    }

    .es-flow-step {
        min-height: 128px !important;
        padding: 21px 0 !important;
    }

    .es-flow-step-content p {
        font-size: 12px !important;
        line-height: 1.52 !important;
    }

    .es-flow-step > strong {
        opacity: .7;
    }

    .es-flow-wave i:nth-child(even) {
        display: none !important;
    }

    /* ---------- Manifesto sticky ---------- */
    .es-manifesto {
        height: 225svh !important;
    }

    .es-manifesto-sticky {
        height: 100svh !important;
    }

    .es-manifesto-stage {
        width: auto !important;
        margin-inline: var(--es-mobile-gutter) !important;
        transform: none !important;
    }

    .es-manifesto-title {
        font-size: clamp(56px, 17vw, 82px) !important;
        line-height: .79 !important;
        letter-spacing: -.06em !important;
    }

    .es-manifesto-copy {
        width: 82% !important;
        max-width: 330px !important;
    }

    .es-manifesto-energy {
        width: 290px !important;
        right: -50% !important;
        opacity: .20 !important;
        transform: none !important;
    }

    .es-manifesto-wave i:nth-child(even) {
        display: none !important;
    }

    .es-manifesto-flash {
        opacity: 0 !important;
        animation: none !important;
    }

    /* ---------- Booking ---------- */
    .es-booking {
        padding: 82px 0 52px !important;
    }

    .es-booking-container {
        gap: 48px !important;
    }

    .es-booking-stage {
        padding: 0 !important;
        perspective: none !important;
    }

    .es-booking-console {
        width: 100% !important;
        padding: 20px 16px !important;
        transform: none !important;
        box-shadow: 0 24px 52px rgba(0,0,0,.48) !important;
    }

    .es-booking-input,
    .es-booking-textarea,
    .es-event-option {
        font-size: 16px !important; /* Prevent iOS auto-zoom */
    }

    .es-booking-input {
        height: 50px !important;
    }

    .es-booking-textarea {
        min-height: 96px !important;
    }

    .es-event-option {
        min-height: 48px !important;
        font-size: 11px !important;
    }

    .es-booking-submit {
        min-height: 58px !important;
        font-size: 10px !important;
    }

    .es-booking-eq i:nth-child(even) {
        display: none !important;
    }

    .es-booking-radar {
        opacity: .35 !important;
    }

    /* ---------- Footer ---------- */
    .es-footer {
        padding-top: 82px !important;
        padding-bottom: max(24px, env(safe-area-inset-bottom)) !important;
    }

    .es-footer-closing {
        padding-bottom: 55px !important;
    }

    .es-footer-brand-zone {
        padding: 56px 0 !important;
        gap: 35px !important;
    }

    .es-footer-disc-stage {
        width: min(70vw, 260px) !important;
        transform: none !important;
        perspective: none !important;
    }

    .es-footer-disc {
        animation-duration: 30s !important;
        box-shadow: 0 24px 45px rgba(0,0,0,.62) !important;
    }

    .es-footer-wordmark span,
    .es-footer-wordmark strong {
        font-size: clamp(72px, 23vw, 105px) !important;
    }

    .es-footer-links {
        gap: 38px !important;
        padding: 48px 0 !important;
    }

    .es-footer-spectrum i:nth-child(even) {
        display: none !important;
    }

    /* ---------- Touch targets ---------- */
    .es-btn,
    .es-card-link,
    .es-about-instagram,
    .es-booking-info-row,
    .es-footer-column a,
    .es-footer-main-cta,
    .es-footer-top,
    .es-dna-mode,
    .es-event-option {
        min-height: 44px;
    }

    /* ---------- Avoid hover-only effects getting stuck on touch ---------- */
    .es-service-card:hover,
    .es-about-feature:hover,
    .es-btn:hover,
    .es-card-link:hover,
    .es-about-instagram:hover,
    .es-footer-main-cta:hover,
    .es-footer-top:hover {
        translate: none !important;
    }
}

/* ============================================================
   SMALL PHONES <= 430px
============================================================ */
@media (max-width: 430px) {

    :root {
        --es-mobile-gutter: 18px;
    }

    .es-hero .es-title,
    .es-services-title,
    .es-about-title,
    .es-dna-title,
    .es-flow-title,
    .es-booking-title,
    .es-footer-title {
        hyphens: none;
        overflow-wrap: normal;
        word-break: normal;
    }

    .es-service-card {
        flex-basis: 84vw !important;
    }

    .es-booking-console-top > span,
    .es-social-data span:last-child,
    .es-footer-track-data span:nth-child(2) {
        display: none !important;
    }

    .es-manifesto-copy {
        width: 90% !important;
    }
}

/* ============================================================
   TOUCH / COARSE POINTER — regardless of width
============================================================ */
@media (hover: none), (pointer: coarse) {

    .es-card-light,
    .es-instagram-scan {
        display: none !important;
    }

    .es-service-card,
    .es-social-screen,
    .es-booking-console,
    .es-dna-stage,
    .es-manifesto-stage,
    .es-footer-disc-stage {
        transform: none !important;
    }

    .es-btn,
    .es-card-link,
    .es-event-option,
    .es-dna-mode,
    .es-booking-submit,
    .es-footer-main-cta {
        cursor: pointer;
    }
}

/* ============================================================
   REDUCED MOTION / ACCESSIBILITY
============================================================ */
@media (prefers-reduced-motion: reduce) {

    html {
        scroll-behavior: auto;
    }

    .es-hero *,
    .es-services *,
    .es-about *,
    .es-dna *,
    .es-flow *,
    .es-manifesto *,
    .es-booking *,
    .es-footer * {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
        scroll-behavior: auto !important;
    }

    .es-manifesto {
        height: auto !important;
        min-height: 100svh;
    }

    .es-manifesto-sticky {
        position: relative !important;
        height: auto !important;
        min-height: 100svh;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-f808c76 *//* =========================================================
   ENRY SOUND — ABOUT / THE DJ BEHIND THE SOUND
========================================================= */

.es-about {

    --ab-gold: #e5b84c;
    --ab-gold-hi: #ffe49a;
    --ab-purple: #6c2da5;

    --about-progress: 0;

    position: relative;

    width: 100%;

    overflow: hidden;

    padding:
        clamp(110px, 12vw, 180px)
        0
        clamp(110px, 11vw, 170px);

    color: #f5f2eb;

    background:
        #020202;

    isolation: isolate;

    font-family:
        Arial,
        Helvetica,
        sans-serif;
}


/* =========================================================
   WORLD
========================================================= */

.es-about-world {

    position: absolute;

    inset: 0;

    z-index: -10;

    overflow: hidden;

    background:

        radial-gradient(
            circle at 75% 42%,
            rgba(197,142,38,.11),
            transparent 25%
        ),

        radial-gradient(
            circle at 18% 75%,
            rgba(104,45,160,.07),
            transparent 28%
        ),

        linear-gradient(
            125deg,
            #020202,
            #080705 50%,
            #020202
        );

}


/* =========================================================
   GLOWS
========================================================= */

.es-about-glow {

    position: absolute;

    border-radius: 50%;

    filter:
        blur(120px);

    mix-blend-mode:
        screen;

    pointer-events:
        none;

    will-change:
        transform;

}


.es-about-glow-a {

    width: 520px;
    height: 520px;

    left: -100px;
    bottom: 0;

    background:
        rgba(105,45,165,.09);

}


.es-about-glow-b {

    width: 580px;
    height: 580px;

    right: -70px;
    top: 8%;

    background:
        rgba(229,184,76,.11);

}


/* =========================================================
   GRID
========================================================= */

.es-about-grid {

    position: absolute;

    inset: 0;

    opacity:
        calc(
            .05 +
            var(--about-progress) * .05
        );

    background-image:

        linear-gradient(
            rgba(255,255,255,.04) 1px,
            transparent 1px
        ),

        linear-gradient(
            90deg,
            rgba(255,255,255,.04) 1px,
            transparent 1px
        );

    background-size:
        80px 80px;

    mask-image:
        linear-gradient(
            to bottom,
            transparent,
            #000 15%,
            #000 85%,
            transparent
        );

}


/* =========================================================
   LIGHT BEAMS
========================================================= */

.es-about-beam {

    position: absolute;

    top: -25%;

    width: 130px;

    height: 150%;

    filter:
        blur(17px);

    opacity:
        calc(
            .12 +
            var(--about-progress) * .20
        );

    mix-blend-mode:
        screen;

}


.es-about-beam-a {

    right: 18%;

    transform:
        rotate(23deg);

    background:

        linear-gradient(
            90deg,
            transparent,
            rgba(255,211,103,.13),
            transparent
        );

}


.es-about-beam-b {

    right: 42%;

    transform:
        rotate(-17deg);

    background:

        linear-gradient(
            90deg,
            transparent,
            rgba(119,59,185,.07),
            transparent
        );

}


/* =========================================================
   FILM GRAIN
========================================================= */

.es-about-noise {

    position: absolute;

    inset: -60%;

    opacity: .035;

    pointer-events:
        none;

    background-image:

        url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");

    animation:
        esAboutNoise
        .22s
        steps(2)
        infinite;

}


@keyframes esAboutNoise {

    0% {
        transform:
            translate(0,0);
    }

    25% {
        transform:
            translate(-3%,2%);
    }

    50% {
        transform:
            translate(4%,-4%);
    }

    75% {
        transform:
            translate(-2%,4%);
    }

    100% {
        transform:
            translate(3%,-1%);
    }

}


/* =========================================================
   BIG BACKGROUND TYPE
========================================================= */

.es-about-bg-type {

    position: absolute;

    left: -2%;

    bottom: -5%;

    z-index: -2;

    color:
        transparent;

    -webkit-text-stroke:
        1px
        rgba(255,255,255,.025);

    font-size:
        clamp(
            220px,
            34vw,
            620px
        );

    line-height:
        .7;

    font-weight:
        900;

    letter-spacing:
        -.09em;

    pointer-events:
        none;

    transform:
        translateX(
            calc(
                var(--about-progress)
                * -45px
            )
        );

}


/* =========================================================
   MAIN LAYOUT
========================================================= */

.es-about-container {

    position: relative;

    z-index: 5;

    width:
        min(1480px, 90%);

    margin:
        0 auto;

    display: grid;

    grid-template-columns:
        .92fr 1.08fr;

    gap:
        clamp(
            60px,
            7vw,
            120px
        );

    align-items:
        center;

}


/* =========================================================
   COPY
========================================================= */

.es-about-copy {

    position: relative;

    z-index: 5;

}


.es-about-kicker {

    display: flex;

    align-items: center;

    gap: 13px;

    margin-bottom:
        25px;

    color:
        var(--ab-gold);

    font-size:
        9px;

    font-weight:
        800;

    letter-spacing:
        .30em;

}


.es-about-kicker > span {

    width: 43px;
    height: 1px;

    display: block;

    background:
        var(--ab-gold);

}


.es-about-kicker small {

    margin-left: auto;

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

}


/* =========================================================
   TITLE
========================================================= */

.es-about-title {

    margin: 0;

    font-size:
        clamp(
            58px,
            6.2vw,
            106px
        );

    line-height:
        .82;

    letter-spacing:
        -.065em;

    font-weight:
        900;

}


.es-about-title > span {

    display: block;

}


.es-about-outline {

    color:
        transparent;

    -webkit-text-stroke:

        1px
        rgba(255,255,255,.55);

}


.es-about-gold {

    width: fit-content;

    color: transparent;

    background:

        linear-gradient(
            105deg,
            #966019,
            #dcac40 30%,
            #ffe597 53%,
            #a96d1c
        );

    background-clip:
        text;

    -webkit-background-clip:
        text;

}


/* =========================================================
   INTRO TEXT
========================================================= */

.es-about-intro {

    max-width:
        560px;

    margin-top:
        37px;

}


.es-about-intro p {

    margin:
        0 0 14px;

    color:
        rgba(255,255,255,.54);

    font-size:
        clamp(
            14px,
            1vw,
            17px
        );

    line-height:
        1.7;

}


.es-about-intro strong {

    color:
        rgba(255,255,255,.92);

    font-weight:
        600;

}


/* =========================================================
   TAGS
========================================================= */

.es-about-tags {

    display: flex;

    flex-wrap: wrap;

    gap:
        13px 22px;

    margin-top:
        28px;

}


.es-about-tags span {

    display: flex;

    align-items: center;

    gap: 8px;

    color:
        rgba(255,255,255,.35);

    font-size:
        8px;

    letter-spacing:
        .17em;

}


.es-about-tags i {

    width: 4px;
    height: 4px;

    border-radius: 50%;

    background:
        var(--ab-gold);

    box-shadow:
        0 0 9px
        var(--ab-gold);

}


/* =========================================================
   MINI CONSOLE
========================================================= */

.es-about-console {

    max-width:
        520px;

    margin-top:
        35px;

    padding:
        15px 17px;

    border:

        1px solid
        rgba(229,184,76,.15);

    background:

        linear-gradient(
            145deg,
            rgba(17,17,17,.75),
            rgba(3,3,3,.8)
        );

    backdrop-filter:
        blur(14px);

    -webkit-backdrop-filter:
        blur(14px);

}


.es-about-console-top {

    display: flex;

    justify-content:
        space-between;

    color:
        rgba(255,255,255,.30);

    font-size:
        6px;

    letter-spacing:
        .18em;

}


.es-about-console-top b {

    color:
        var(--ab-gold);

    font-weight:
        500;

}


/* spectrum */

.es-about-spectrum {

    height: 45px;

    margin:
        16px 0;

    display: flex;

    align-items:
        center;

    gap: 3px;

}


.es-about-spectrum i {

    flex: 1;

    height: 15%;

    background:

        linear-gradient(
            to top,
            #765016,
            var(--ab-gold-hi)
        );

    opacity: .65;

    animation:

        esAboutSpectrum
        .6s
        ease-in-out
        infinite alternate;

}


.es-about-spectrum i:nth-child(2n) {

    animation-duration:
        .37s;

}


.es-about-spectrum i:nth-child(3n) {

    animation-duration:
        .82s;

}


.es-about-spectrum i:nth-child(4n) {

    animation-duration:
        .46s;

}


.es-about-spectrum i:nth-child(5n) {

    animation-duration:
        .70s;

}


@keyframes esAboutSpectrum {

    to {

        height:
            calc(
                45% +
                var(--about-progress)
                * 55%
            );

    }

}


.es-about-console-bottom {

    display: flex;

    flex-wrap: wrap;

    gap:
        9px 19px;

    color:
        rgba(255,255,255,.22);

    font-size:
        6px;

    letter-spacing:
        .14em;

}


/* =========================================================
   INSTAGRAM BUTTON
========================================================= */

.es-about-actions {

    margin-top:
        28px;

}


.es-about-instagram {

    min-height:
        54px;

    display:
        inline-flex;

    align-items: center;

    gap: 14px;

    padding:
        0 21px;

    color:
        rgba(255,255,255,.85)
        !important;

    border:

        1px solid
        rgba(229,184,76,.24);

    background:
        rgba(0,0,0,.25);

    text-decoration:
        none !important;

    font-size:
        8px;

    font-weight:
        700;

    letter-spacing:
        .15em;

    transition:
        .3s ease;

}


.es-instagram-icon {

    width: 18px;
    height: 18px;

}


.es-instagram-icon svg {

    width: 100%;
    height: 100%;

    fill: none;

    stroke:
        var(--ab-gold);

    stroke-width:
        1.4;

}


.es-about-instagram b {

    margin-left:
        8px;

    color:
        var(--ab-gold);

    font-size:
        16px;

    transition:
        transform .3s ease;

}


.es-about-instagram:hover {

    border-color:
        rgba(229,184,76,.65);

    background:
        rgba(229,184,76,.04);

}


.es-about-instagram:hover b {

    transform:
        translate(
            4px,
            -4px
        );

}


/* =========================================================
   SOCIAL / INSTAGRAM STAGE
========================================================= */

.es-social-stage {

    position: relative;

    min-height:
        830px;

    perspective:
        1400px;

    display: flex;

    align-items: center;

    justify-content: center;

    transform-style:
        preserve-3d;

}


/* =========================================================
   INSTAGRAM SCREEN
========================================================= */

.es-social-screen {

    position: relative;

    z-index: 5;

    width:
        min(
            520px,
            91%
        );

    padding:
        12px;

    transform-style:
        preserve-3d;

    border:

        1px solid
        rgba(229,184,76,.25);

    background:

        linear-gradient(
            145deg,
            #141414,
            #030303
        );

    box-shadow:

        0 70px 110px
        rgba(0,0,0,.75),

        0 0 80px
        rgba(229,184,76,.07);

    will-change:
        transform;

}


/* top bar */

.es-social-screen-top {

    min-height:
        47px;

    display: flex;

    align-items: center;

    justify-content:
        space-between;

    padding:
        0 8px;

    color:
        rgba(255,255,255,.31);

    font-size:
        6px;

    letter-spacing:
        .21em;

}


.es-social-screen-top div {

    display: flex;

    align-items: center;

    gap: 7px;

}


.es-social-screen-top i {

    width: 5px;
    height: 5px;

    border-radius: 50%;

    background:
        var(--ab-gold);

    box-shadow:
        0 0 9px
        var(--ab-gold);

    animation:
        esSocialLive
        1s
        ease-in-out
        infinite;

}


.es-social-screen-top > span {

    color:
        var(--ab-gold);

}


@keyframes esSocialLive {

    50% {
        opacity: .2;
    }

}


/* =========================================================
   INSTAGRAM CONTAINER
========================================================= */

.es-instagram-shell {

    position: relative;

    min-height:
        570px;

    overflow: hidden;

    background:
        #090909;

}


/*
 Instagram inserts an iframe after processing.
 Keep it centered.
*/

.es-instagram-shell
.instagram-media {

    margin:
        0 auto !important;

    min-width:
        100% !important;

    max-width:
        100% !important;

}


.es-instagram-shell iframe {

    max-width:
        100% !important;

    margin:
        0 auto !important;

}


/* cinematic scan */

.es-instagram-scan {

    position: absolute;

    left: 0;
    right: 0;

    top: -15%;

    height: 80px;

    z-index: 8;

    pointer-events: none;

    opacity: .22;

    background:

        linear-gradient(
            to bottom,
            transparent,
            rgba(255,221,135,.20),
            transparent
        );

    mix-blend-mode:
        screen;

    animation:

        esInstagramScan
        5s
        linear
        infinite;

}


@keyframes esInstagramScan {

    to {
        top: 110%;
    }

}


/* =========================================================
   SCREEN BOTTOM
========================================================= */

.es-social-screen-bottom {

    padding:
        19px 8px
        7px;

}


.es-social-track {

    height: 1px;

    position: relative;

    overflow: hidden;

    background:
        rgba(255,255,255,.10);

}


.es-social-track span {

    position: absolute;

    left: 0;
    top: 0;

    width:
        calc(
            20% +
            var(--about-progress)
            * 80%
        );

    height: 100%;

    background:

        linear-gradient(
            90deg,
            #a16b1d,
            var(--ab-gold-hi)
        );

    box-shadow:
        0 0 8px
        rgba(229,184,76,.5);

}


.es-social-data {

    margin-top:
        12px;

    display: flex;

    justify-content:
        space-between;

    color:
        rgba(255,255,255,.20);

    font-size:
        6px;

    letter-spacing:
        .17em;

}


.es-social-data span:first-child {

    color:
        var(--ab-gold);

}


/* =========================================================
   ORBITS
========================================================= */

.es-social-orbit {

    position: absolute;

    z-index: -1;

    left: 50%;
    top: 50%;

    border-radius: 50%;

    pointer-events: none;

}


.es-social-orbit-a {

    width: 620px;
    height: 620px;

    transform:

        translate(-50%,-50%)

        rotateX(68deg);

    border:

        1px solid
        rgba(229,184,76,.17);

    animation:

        esAboutOrbitA
        18s
        linear
        infinite;

}


.es-social-orbit-b {

    width: 740px;
    height: 740px;

    transform:

        translate(-50%,-50%)

        rotateX(68deg);

    border:

        1px dashed
        rgba(229,184,76,.08);

    animation:

        esAboutOrbitB
        26s
        linear
        infinite;

}


@keyframes esAboutOrbitA {

    to {

        transform:

            translate(-50%,-50%)

            rotateX(68deg)

            rotateZ(360deg);

    }

}


@keyframes esAboutOrbitB {

    to {

        transform:

            translate(-50%,-50%)

            rotateX(68deg)

            rotateZ(-360deg);

    }

}


/* =========================================================
   SIDE METERS
========================================================= */

.es-social-meter {

    position: absolute;

    z-index: 7;

    top: 50%;

    transform:
        translateY(-50%);

    height: 300px;

    display: flex;

    flex-direction: column;

    gap: 7px;

}


.es-social-meter-left {

    left: 2%;

}


.es-social-meter-right {

    right: 2%;

}


.es-social-meter i {

    width: 3px;

    flex: 1;

    background:
        rgba(229,184,76,.14);

    animation:

        esSocialMeter
        .8s
        ease-in-out
        infinite alternate;

}


.es-social-meter i:nth-child(2n) {

    animation-duration:
        .43s;

}


.es-social-meter i:nth-child(3n) {

    animation-duration:
        .61s;

}


@keyframes esSocialMeter {

    to {

        background:
            rgba(
                229,
                184,
                76,
                calc(
                    .25 +
                    var(--about-progress)
                    * .65
                )
            );

        box-shadow:
            0 0 8px
            rgba(229,184,76,.25);

    }

}


/* =========================================================
   FLOATING LABEL
========================================================= */

.es-social-floating {

    position: absolute;

    z-index: 9;

    right: -2%;

    top: 17%;

    min-width:
        180px;

    padding:
        15px 17px;

    border:

        1px solid
        rgba(229,184,76,.17);

    background:
        rgba(2,2,2,.72);

    backdrop-filter:
        blur(15px);

    -webkit-backdrop-filter:
        blur(15px);

    box-shadow:
        0 25px 60px
        rgba(0,0,0,.55);

    display: flex;

    flex-direction: column;

    gap: 5px;

    pointer-events: none;

    will-change:
        transform;

}


.es-social-floating span {

    color:
        rgba(255,255,255,.25);

    font-size:
        6px;

    letter-spacing:
        .20em;

}


.es-social-floating strong {

    color:
        var(--ab-gold);

    font-size:
        13px;

    letter-spacing:
        .09em;

}


.es-social-floating small {

    color:
        rgba(255,255,255,.33);

    font-size:
        6px;

    letter-spacing:
        .14em;

}


/* =========================================================
   FOOTER / TRANSITION
========================================================= */

.es-about-footer {

    position: relative;

    z-index: 6;

    width:
        min(1480px, 90%);

    margin:
        75px auto 0;

    display: grid;

    grid-template-columns:
        auto 1fr auto;

    gap: 22px;

    align-items: center;

    color:
        rgba(255,255,255,.20);

    font-size:
        6px;

    letter-spacing:
        .22em;

}


.es-about-footer > div {

    height: 1px;

    position: relative;

    overflow: hidden;

    background:
        rgba(255,255,255,.07);

}


.es-about-footer i {

    position: absolute;

    left: -20%;

    width: 20%;
    height: 100%;

    background:
        var(--ab-gold);

    animation:

        esAboutFooterLine
        3s
        ease-in-out
        infinite;

}


@keyframes esAboutFooterLine {

    to {
        left: 110%;
    }

}


/* =========================================================
   REVEALS
========================================================= */

.es-about-reveal {

    opacity: 0;

    filter:
        blur(8px);

    transform:
        translateY(38px);

    transition:

        opacity .85s ease,

        filter .85s ease,

        transform
        .9s
        cubic-bezier(
            .16,
            1,
            .3,
            1
        );

}


.es-about-reveal.es-about-visible {

    opacity: 1;

    filter:
        blur(0);

    transform:
        translateY(0);

}


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

@media
(max-width: 1100px) {

    .es-about-container {

        grid-template-columns:
            1fr;

        gap: 75px;

    }


    .es-about-copy {

        max-width:
            800px;

    }


    .es-social-stage {

        min-height:
            760px;

    }


    .es-social-screen {

        width:
            min(
                520px,
                80vw
            );

    }

}


/* =========================================================
   MOBILE
========================================================= */

@media
(max-width: 767px) {

    .es-about {

        padding:
            90px 0
            80px;

    }


    .es-about-container {

        width: 88%;

        gap: 60px;

    }


    .es-about-kicker {

        font-size:
            7px;

        letter-spacing:
            .20em;

    }


    .es-about-kicker > span {

        width:
            25px;

    }


    .es-about-title {

        font-size:
            clamp(
                50px,
                15vw,
                72px
            );

        line-height:
            .84;

    }


    .es-about-intro {

        margin-top:
            27px;

    }


    .es-about-intro p {

        font-size:
            13px;

    }


    .es-about-console {

        padding:
            13px;

    }


    .es-about-instagram {

        width: 100%;

        justify-content:
            space-between;

    }


    .es-social-stage {

        min-height:
            680px;

    }


    .es-social-screen {

        width:
            100%;

        padding:
            8px;

    }


    .es-instagram-shell {

        min-height:
            500px;

    }


    .es-social-floating {

        top: 4%;

        right: -5%;

        scale: .82;

    }


    .es-social-meter {

        display: none;

    }


    .es-social-orbit-a {

        width: 460px;
        height: 460px;

    }


    .es-social-orbit-b {

        width: 550px;
        height: 550px;

    }


    .es-about-footer {

        width: 88%;

        margin-top:
            45px;

    }


    .es-about-footer span:first-child {

        display: none;

    }


    .es-about-footer {

        grid-template-columns:
            1fr auto;

    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media
(prefers-reduced-motion: reduce) {

    .es-about *,
    .es-about *::before,
    .es-about *::after {

        animation-duration:
            .001ms !important;

        animation-iteration-count:
            1 !important;

        transition-duration:
            .001ms !important;

    }

}
/* ============================================================
   ENRY SOUND — MOBILE PERFORMANCE OVERRIDE
   Load AFTER all existing ENRY SOUND CSS.
   Goal: premium look, lower GPU/CPU cost on tablet/mobile.
============================================================ */

/* ---------- Core rendering / touch ---------- */
html {
    overflow-x: clip;
    scroll-behavior: smooth;
}

body {
    overflow-x: clip;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.es-hero,
.es-services,
.es-about,
.es-dna,
.es-flow,
.es-manifesto,
.es-booking,
.es-footer {
    -webkit-tap-highlight-color: transparent;
    touch-action: pan-y;
}

/* Below-the-fold sections: skip paint/layout until near viewport.
   Manifesto excluded because it uses sticky scroll choreography. */
.es-services,
.es-about,
.es-dna,
.es-flow,
.es-booking,
.es-footer {
    content-visibility: auto;
    contain-intrinsic-size: 900px;
}

/* Keep expensive composition hints only on elements that actually move. */
.es-hero *,
.es-services *,
.es-about *,
.es-dna *,
.es-flow *,
.es-booking *,
.es-footer * {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

/* ============================================================
   TABLET + MOBILE PERFORMANCE
============================================================ */
@media (max-width: 1024px) {

    /* Reduce huge GPU blur surfaces while keeping warm premium glow. */
    .es-bg-glow,
    .es-services-glow,
    .es-about-glow,
    .es-dna-glow,
    .es-booking-glow,
    .es-footer-glow,
    .es-manifesto-glow {
        filter: blur(70px) !important;
        opacity: .72;
    }

    /* Glass blur is expensive on mobile Safari/Chrome. */
    .es-bpm-card,
    .es-live-panel,
    .es-social-screen,
    .es-social-floating,
    .es-about-console,
    .es-dna-panel,
    .es-booking-console,
    .es-booking-floating,
    .es-footer-floating {
        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
        background-color: rgba(5,5,5,.88) !important;
    }

    /* Reduce shadow layers, preserve depth. */
    .es-console,
    .es-service-card,
    .es-social-screen,
    .es-booking-console,
    .es-footer-disc,
    .es-about-frame {
        box-shadow:
            0 24px 55px rgba(0,0,0,.48),
            0 0 34px rgba(229,184,76,.045) !important;
    }

    /* Slower, calmer decorative motion = premium rather than noisy. */
    .es-orbit,
    .es-ring,
    .es-social-orbit,
    .es-booking-orbit,
    .es-footer-orbit,
    .es-about-orbit,
    .es-dna-ring,
    .es-manifesto-energy-ring {
        animation-duration: 24s !important;
    }

    .es-waveform,
    .es-card-wave i,
    .es-master-eq i,
    .es-about-spectrum i,
    .es-booking-eq i,
    .es-footer-spectrum i,
    .es-flow-wave i,
    .es-dna-mini-eq i,
    .es-manifesto-wave i {
        box-shadow: none !important;
    }

    /* Reduce perspective complexity. */
    .es-visual,
    .es-dj-area,
    .es-social-stage,
    .es-booking-stage,
    .es-about-visual,
    .es-dna-stage {
        perspective: 900px !important;
    }

    /* Buttons / inputs feel instant. */
    .es-btn,
    .es-card-link,
    .es-about-instagram,
    .es-booking-submit,
    .es-footer-main-cta,
    .es-footer-top,
    .es-event-option,
    .es-dna-mode {
        transition-duration: .22s !important;
    }
}

/* ============================================================
   MOBILE <= 767px
============================================================ */
@media (max-width: 767px) {

    :root {
        --es-mobile-gutter: max(20px, 6vw);
    }

    /* ---------- Global section rhythm ---------- */
    .es-hero,
    .es-services,
    .es-about,
    .es-dna,
    .es-flow,
    .es-booking,
    .es-footer {
        width: 100%;
        max-width: 100%;
    }

    .es-services-container,
    .es-about-container,
    .es-dna-container,
    .es-flow-container,
    .es-booking-container,
    .es-footer-container,
    .es-footer-final {
        width: auto !important;
        margin-left: var(--es-mobile-gutter) !important;
        margin-right: var(--es-mobile-gutter) !important;
    }

    /* ---------- Remove most expensive cosmetic layers ---------- */
    .es-noise,
    .es-about-noise,
    .es-bg-grid,
    .es-services-grid,
    .es-about-grid,
    .es-booking-grid,
    .es-footer-grid {
        display: none !important;
    }

    /* Keep one cinematic light source, not several. */
    .es-stage-light-2,
    .es-laser-2,
    .es-laser-3,
    .es-about-beam-b,
    .es-booking-beam-b,
    .es-manifesto-beam-b,
    .es-manifesto-laser-b {
        display: none !important;
    }

    .es-bg-beam,
    .es-stage-light-1,
    .es-about-beam-a,
    .es-booking-beam-a,
    .es-footer-beam,
    .es-manifesto-beam-a,
    .es-manifesto-laser-a {
        filter: blur(12px) !important;
        opacity: .18 !important;
    }

    .es-bg-glow,
    .es-services-glow,
    .es-about-glow,
    .es-dna-glow,
    .es-booking-glow,
    .es-footer-glow,
    .es-manifesto-glow {
        filter: blur(48px) !important;
        opacity: .50 !important;
    }

    /* Limit ambient DOM particles created by JS. */
    .es-particle:nth-child(n+9),
    .es-ambient-particle:nth-child(n+9),
    .es-about-particle:nth-child(n+8) {
        display: none !important;
    }

    /* Hide secondary orbit layers; one ring keeps the premium 3D cue. */
    .es-orbit-2,
    .es-orbit-3,
    .es-ring-2,
    .es-ring-3,
    .es-social-orbit-b,
    .es-booking-orbit-b,
    .es-footer-orbit-b,
    .es-about-orbit-2,
    .es-dna-ring-3,
    .es-manifesto .es-mer-3 {
        display: none !important;
    }

    /* ---------- Hero ---------- */
    .es-hero {
        min-height: 100svh !important;
        height: auto;
        padding-top: env(safe-area-inset-top);
    }

    .es-hero .es-container {
        width: auto !important;
        min-height: 100svh !important;
        margin: 0 var(--es-mobile-gutter) !important;
        padding: clamp(92px, 15svh, 126px) 0 96px !important;
    }

    .es-hero .es-title {
        font-size: clamp(50px, 15.5vw, 72px) !important;
        line-height: .84 !important;
        letter-spacing: -.055em !important;
    }

    .es-hero .es-description,
    .es-hero .es-subtitle {
        width: 100% !important;
        max-width: 35rem !important;
        font-size: 14px !important;
        line-height: 1.58 !important;
    }

    .es-hero .es-actions {
        width: 100% !important;
        max-width: 360px !important;
        gap: 10px !important;
    }

    .es-hero .es-btn {
        min-height: 54px !important;
        padding-inline: 18px !important;
    }

    .es-hero .es-dj-area,
    .es-hero .es-visual {
        width: 104vw !important;
        right: -58vw !important;
        top: 18% !important;
        opacity: .24 !important;
        filter: none !important;
    }

    .es-hero .es-console {
        box-shadow: 0 24px 45px rgba(0,0,0,.70) !important;
    }

    .es-hero .es-bottom {
        left: var(--es-mobile-gutter) !important;
        right: var(--es-mobile-gutter) !important;
        bottom: max(18px, env(safe-area-inset-bottom)) !important;
    }

    /* ---------- Services ---------- */
    .es-services {
        padding: 82px 0 74px !important;
    }

    .es-services-title,
    .es-about-title,
    .es-dna-title,
    .es-flow-title,
    .es-booking-title,
    .es-footer-title {
        font-size: clamp(46px, 13.6vw, 68px) !important;
        line-height: .87 !important;
        letter-spacing: -.05em !important;
    }

    .es-service-deck {
        overscroll-behavior-x: contain;
        -webkit-overflow-scrolling: touch;
        scroll-padding-inline: var(--es-mobile-gutter);
        gap: 12px !important;
        padding-bottom: 18px !important;
    }

    .es-service-card {
        flex-basis: min(82vw, 315px) !important;
        min-height: 410px !important;
        padding: 20px !important;
        scroll-snap-stop: always;
        transform: none !important;
    }

    .es-service-card:hover {
        transform: none !important;
    }

    .es-card-light {
        display: none !important;
    }

    .es-card-icon {
        margin-top: 34px !important;
        width: 46px !important;
        height: 46px !important;
    }

    .es-card-content {
        margin-top: 30px !important;
    }

    .es-card-wave i:nth-child(even) {
        display: none !important;
    }

    /* ---------- About / Instagram ---------- */
    .es-about {
        padding: 82px 0 74px !important;
    }

    .es-about-container {
        gap: 48px !important;
    }

    .es-social-stage {
        min-height: 610px !important;
        perspective: none !important;
    }

    .es-social-screen {
        width: 100% !important;
        max-width: 520px !important;
        padding: 7px !important;
        transform: none !important;
        border-color: rgba(229,184,76,.18) !important;
    }

    .es-instagram-shell {
        min-height: 480px !important;
    }

    .es-instagram-scan,
    .es-social-meter,
    .es-social-floating {
        display: none !important;
    }

    .es-about-spectrum i:nth-child(even) {
        display: none !important;
    }

    /* ---------- Sound DNA ---------- */
    .es-dna {
        padding: 82px 0 !important;
    }

    .es-dna-stage {
        min-height: 470px !important;
        transform: none !important;
        perspective: none !important;
    }

    .es-dna-core {
        width: min(64vw, 250px) !important;
        box-shadow: 0 0 38px rgba(229,182,74,.08) !important;
    }

    .es-dna-radial {
        width: 315px !important;
        height: 315px !important;
    }

    .es-dna-radial i:nth-child(even) {
        display: none !important;
    }

    .es-dna-panel {
        width: min(170px, 44vw) !important;
        padding: 14px !important;
        background: rgba(4,4,4,.90) !important;
        box-shadow: 0 18px 40px rgba(0,0,0,.45) !important;
    }

    .es-dna-mode {
        min-height: 56px !important;
    }

    /* ---------- Event Flow ---------- */
    .es-flow {
        padding: 82px 0 !important;
    }

    .es-flow-timeline {
        margin-top: 54px !important;
        padding-left: 36px !important;
    }

    .es-flow-step {
        min-height: 128px !important;
        padding: 21px 0 !important;
    }

    .es-flow-step-content p {
        font-size: 12px !important;
        line-height: 1.52 !important;
    }

    .es-flow-step > strong {
        opacity: .7;
    }

    .es-flow-wave i:nth-child(even) {
        display: none !important;
    }

    /* ---------- Manifesto sticky ---------- */
    .es-manifesto {
        height: 225svh !important;
    }

    .es-manifesto-sticky {
        height: 100svh !important;
    }

    .es-manifesto-stage {
        width: auto !important;
        margin-inline: var(--es-mobile-gutter) !important;
        transform: none !important;
    }

    .es-manifesto-title {
        font-size: clamp(56px, 17vw, 82px) !important;
        line-height: .79 !important;
        letter-spacing: -.06em !important;
    }

    .es-manifesto-copy {
        width: 82% !important;
        max-width: 330px !important;
    }

    .es-manifesto-energy {
        width: 290px !important;
        right: -50% !important;
        opacity: .20 !important;
        transform: none !important;
    }

    .es-manifesto-wave i:nth-child(even) {
        display: none !important;
    }

    .es-manifesto-flash {
        opacity: 0 !important;
        animation: none !important;
    }

    /* ---------- Booking ---------- */
    .es-booking {
        padding: 82px 0 52px !important;
    }

    .es-booking-container {
        gap: 48px !important;
    }

    .es-booking-stage {
        padding: 0 !important;
        perspective: none !important;
    }

    .es-booking-console {
        width: 100% !important;
        padding: 20px 16px !important;
        transform: none !important;
        box-shadow: 0 24px 52px rgba(0,0,0,.48) !important;
    }

    .es-booking-input,
    .es-booking-textarea,
    .es-event-option {
        font-size: 16px !important; /* Prevent iOS auto-zoom */
    }

    .es-booking-input {
        height: 50px !important;
    }

    .es-booking-textarea {
        min-height: 96px !important;
    }

    .es-event-option {
        min-height: 48px !important;
        font-size: 11px !important;
    }

    .es-booking-submit {
        min-height: 58px !important;
        font-size: 10px !important;
    }

    .es-booking-eq i:nth-child(even) {
        display: none !important;
    }

    .es-booking-radar {
        opacity: .35 !important;
    }

    /* ---------- Footer ---------- */
    .es-footer {
        padding-top: 82px !important;
        padding-bottom: max(24px, env(safe-area-inset-bottom)) !important;
    }

    .es-footer-closing {
        padding-bottom: 55px !important;
    }

    .es-footer-brand-zone {
        padding: 56px 0 !important;
        gap: 35px !important;
    }

    .es-footer-disc-stage {
        width: min(70vw, 260px) !important;
        transform: none !important;
        perspective: none !important;
    }

    .es-footer-disc {
        animation-duration: 30s !important;
        box-shadow: 0 24px 45px rgba(0,0,0,.62) !important;
    }

    .es-footer-wordmark span,
    .es-footer-wordmark strong {
        font-size: clamp(72px, 23vw, 105px) !important;
    }

    .es-footer-links {
        gap: 38px !important;
        padding: 48px 0 !important;
    }

    .es-footer-spectrum i:nth-child(even) {
        display: none !important;
    }

    /* ---------- Touch targets ---------- */
    .es-btn,
    .es-card-link,
    .es-about-instagram,
    .es-booking-info-row,
    .es-footer-column a,
    .es-footer-main-cta,
    .es-footer-top,
    .es-dna-mode,
    .es-event-option {
        min-height: 44px;
    }

    /* ---------- Avoid hover-only effects getting stuck on touch ---------- */
    .es-service-card:hover,
    .es-about-feature:hover,
    .es-btn:hover,
    .es-card-link:hover,
    .es-about-instagram:hover,
    .es-footer-main-cta:hover,
    .es-footer-top:hover {
        translate: none !important;
    }
}

/* ============================================================
   SMALL PHONES <= 430px
============================================================ */
@media (max-width: 430px) {

    :root {
        --es-mobile-gutter: 18px;
    }

    .es-hero .es-title,
    .es-services-title,
    .es-about-title,
    .es-dna-title,
    .es-flow-title,
    .es-booking-title,
    .es-footer-title {
        hyphens: none;
        overflow-wrap: normal;
        word-break: normal;
    }

    .es-service-card {
        flex-basis: 84vw !important;
    }

    .es-booking-console-top > span,
    .es-social-data span:last-child,
    .es-footer-track-data span:nth-child(2) {
        display: none !important;
    }

    .es-manifesto-copy {
        width: 90% !important;
    }
}

/* ============================================================
   TOUCH / COARSE POINTER — regardless of width
============================================================ */
@media (hover: none), (pointer: coarse) {

    .es-card-light,
    .es-instagram-scan {
        display: none !important;
    }

    .es-service-card,
    .es-social-screen,
    .es-booking-console,
    .es-dna-stage,
    .es-manifesto-stage,
    .es-footer-disc-stage {
        transform: none !important;
    }

    .es-btn,
    .es-card-link,
    .es-event-option,
    .es-dna-mode,
    .es-booking-submit,
    .es-footer-main-cta {
        cursor: pointer;
    }
}

/* ============================================================
   REDUCED MOTION / ACCESSIBILITY
============================================================ */
@media (prefers-reduced-motion: reduce) {

    html {
        scroll-behavior: auto;
    }

    .es-hero *,
    .es-services *,
    .es-about *,
    .es-dna *,
    .es-flow *,
    .es-manifesto *,
    .es-booking *,
    .es-footer * {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
        scroll-behavior: auto !important;
    }

    .es-manifesto {
        height: auto !important;
        min-height: 100svh;
    }

    .es-manifesto-sticky {
        position: relative !important;
        height: auto !important;
        min-height: 100svh;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-f55f937 *//* =========================================================
   SOUND DNA
========================================================= */

.es-dna {

    --dna-gold: #e4b64a;
    --dna-hi: #ffe499;
    --dna-energy: .35;

    position: relative;

    overflow: hidden;

    padding:
        clamp(100px,10vw,155px)
        0;

    background: #020202;

    color: #f4f1ea;

    isolation: isolate;

    font-family:
        Arial,
        Helvetica,
        sans-serif;
}


/* MODE ENERGY */

.es-dna[data-mode="elegant"] {
    --dna-energy: .28;
}

.es-dna[data-mode="warmup"] {
    --dna-energy: .48;
}

.es-dna[data-mode="tech"] {
    --dna-energy: .72;
}

.es-dna[data-mode="peak"] {
    --dna-energy: 1;
}


/* WORLD */

.es-dna-world {

    position: absolute;

    inset: 0;

    z-index: -5;

    background:

        radial-gradient(
            circle at 70% 50%,
            rgba(220,163,48,.11),
            transparent 27%
        ),

        radial-gradient(
            circle at 20% 70%,
            rgba(105,43,165,.07),
            transparent 30%
        ),

        #020202;
}


.es-dna-grid {

    position: absolute;

    inset: 0;

    opacity: .09;

    background-image:

        linear-gradient(
            rgba(255,255,255,.04) 1px,
            transparent 1px
        ),

        linear-gradient(
            90deg,
            rgba(255,255,255,.04) 1px,
            transparent 1px
        );

    background-size:
        70px 70px;
}


.es-dna-glow {

    position: absolute;

    border-radius: 50%;

    filter: blur(120px);

    mix-blend-mode: screen;
}


.es-dna-glow-a {

    width: 500px;
    height: 500px;

    right: 2%;
    top: 4%;

    background:
        rgba(229,182,74,.12);
}


.es-dna-glow-b {

    width: 420px;
    height: 420px;

    left: -8%;
    bottom: -10%;

    background:
        rgba(104,43,165,.08);
}


/* LAYOUT */

.es-dna-container {

    width:
        min(1450px,90%);

    margin: auto;

    display: grid;

    grid-template-columns:
        .9fr 1.1fr;

    align-items: center;

    gap:
        clamp(50px,7vw,110px);
}


/* KICKER */

.es-dna-kicker {

    display: flex;

    align-items: center;

    gap: 13px;

    margin-bottom: 25px;

    color: var(--dna-gold);

    font-size: 8px;

    font-weight: 800;

    letter-spacing: .3em;
}


.es-dna-kicker > span {

    width: 40px;
    height: 1px;

    background: var(--dna-gold);
}


.es-dna-kicker small {

    margin-left: auto;

    color:
        rgba(255,255,255,.18);
}


/* TITLE */

.es-dna-title {

    margin: 0;

    font-size:
        clamp(58px,6.2vw,107px);

    line-height: .82;

    letter-spacing: -.065em;

    font-weight: 900;
}


.es-dna-title > span {
    display: block;
}


.es-dna-outline {

    color: transparent;

    -webkit-text-stroke:
        1px
        rgba(255,255,255,.52);
}


.es-dna-gold {

    width: fit-content;

    color: transparent;

    background:

        linear-gradient(
            105deg,
            #936019,
            #dfae40,
            #ffe49b,
            #aa6d1c
        );

    -webkit-background-clip: text;
    background-clip: text;
}


.es-dna-intro {

    max-width: 500px;

    margin-top: 32px;

    color:
        rgba(255,255,255,.50);

    font-size: 15px;

    line-height: 1.7;
}


/* MODES */

.es-dna-modes {

    margin-top: 37px;

    border-top:
        1px solid
        rgba(255,255,255,.08);
}


.es-dna-mode {

    width: 100%;

    min-height: 62px;

    display: grid;

    grid-template-columns:
        38px 1fr;

    align-items: center;

    border: 0;

    border-bottom:
        1px solid
        rgba(255,255,255,.08);

    background: transparent;

    color:
        rgba(255,255,255,.36);

    text-align: left;

    cursor: pointer;

    font-family: inherit;

    font-size: 9px;

    font-weight: 800;

    letter-spacing: .17em;

    transition: .3s ease;
}


.es-dna-mode span {

    color:
        rgba(229,182,74,.38);

    font-size: 6px;
}


.es-dna-mode:hover {

    padding-left: 8px;

    color: white;
}


.es-dna-mode.es-active {

    padding-left: 12px;

    color:
        var(--dna-hi);

    border-color:
        rgba(229,182,74,.45);

    background:

        linear-gradient(
            90deg,
            rgba(229,182,74,.07),
            transparent
        );
}


/* STAGE */

.es-dna-stage {

    position: relative;

    min-height: 660px;

    display: flex;

    align-items: center;

    justify-content: center;

    transform-style: preserve-3d;

    will-change: transform;
}


/* CORE */

.es-dna-core {

    position: relative;

    width:
        min(390px,32vw);

    aspect-ratio: 1;

    border-radius: 50%;

    display: flex;

    align-items: center;

    justify-content: center;

    background:

        radial-gradient(
            circle,
            rgba(226,180,71,.07),
            #060606 56%,
            #020202 72%
        );

    border:
        1px solid
        rgba(229,182,74,.15);

    box-shadow:

        0 0
        calc(
            50px +
            90px * var(--dna-energy)
        )

        rgba(229,182,74,.09);
}


/* RINGS */

.es-dna-ring {

    position: absolute;

    left: 50%;
    top: 50%;

    border-radius: 50%;

    transform:
        translate(-50%,-50%);
}


.es-dna-ring-1 {

    width: 67%;
    height: 67%;

    border:
        1px solid
        rgba(229,182,74,.28);

    animation:
        esDnaPulse
        2.4s
        ease-in-out
        infinite;
}


.es-dna-ring-2 {

    width: 84%;
    height: 84%;

    border:
        1px dashed
        rgba(229,182,74,.18);

    animation:
        esDnaSpin
        17s
        linear infinite;
}


.es-dna-ring-3 {

    width: 105%;
    height: 105%;

    border:
        1px solid
        rgba(255,255,255,.05);

    animation:
        esDnaSpinBack
        25s
        linear infinite;
}


@keyframes esDnaPulse {

    50% {

        scale:
            calc(
                1 +
                .045 * var(--dna-energy)
            );

        box-shadow:

            0 0
            calc(
                25px *
                var(--dna-energy)
            )
            rgba(229,182,74,.18);
    }
}


@keyframes esDnaSpin {
    to {
        transform:
            translate(-50%,-50%)
            rotate(360deg);
    }
}


@keyframes esDnaSpinBack {
    to {
        transform:
            translate(-50%,-50%)
            rotate(-360deg);
    }
}


/* CENTER */

.es-dna-center {

    position: relative;

    z-index: 4;

    text-align: center;
}


.es-dna-center small {

    display: block;

    color:
        rgba(255,255,255,.25);

    font-size: 6px;

    letter-spacing: .22em;
}


.es-dna-current {

    display: block;

    margin-top: 8px;

    color: var(--dna-gold);

    font-size:
        clamp(18px,2vw,31px);

    letter-spacing: .08em;

    transition:
        opacity .18s ease,
        transform .18s ease;
}


.es-dna-bpm {

    margin-top: 16px;

    display: flex;

    justify-content: center;

    align-items: baseline;

    gap: 6px;
}


.es-dna-bpm b {

    font-size: 38px;

    font-weight: 500;

    color: white;

    transition:
        opacity .18s ease,
        transform .18s ease;
}


.es-dna-bpm span {

    color:
        rgba(255,255,255,.28);

    font-size: 6px;

    letter-spacing: .18em;
}


/* RADIAL */

.es-dna-radial {

    position: absolute;

    width: 510px;
    height: 510px;

    left: 50%;
    top: 50%;

    transform:
        translate(-50%,-50%);

    pointer-events: none;
}


.es-dna-radial i {

    position: absolute;

    left: 50%;
    top: 50%;

    width: 2px;
    height:
        calc(
            12px +
            42px * var(--dna-energy)
        );

    transform-origin:
        center 250px;

    transform:

        translate(-50%,-250px)

        rotate(var(--a));

    background:

        linear-gradient(
            to top,
            transparent,
            var(--dna-gold)
        );

    opacity:
        calc(
            .2 +
            .65 * var(--dna-energy)
        );

    animation:
        esDnaBar
        .7s
        ease-in-out
        infinite alternate;

    animation-delay:
        var(--delay);
}


@keyframes esDnaBar {

    to {

        scale:
            1
            calc(
                .55 +
                var(--dna-energy)
            );
    }
}


/* ORBITS */

.es-dna-orbit {

    position: absolute;

    left: 50%;
    top: 50%;

    border-radius: 50%;
}


.es-dna-orbit-a {

    width: 580px;
    height: 580px;

    transform:
        translate(-50%,-50%)
        rotateX(70deg);

    border:
        1px solid
        rgba(229,182,74,.13);
}


.es-dna-orbit-b {

    width: 690px;
    height: 690px;

    transform:
        translate(-50%,-50%)
        rotateX(70deg);

    border:
        1px dashed
        rgba(255,255,255,.05);
}


/* PANEL */

.es-dna-panel {

    position: absolute;

    right: 0;
    bottom: 8%;

    width: 210px;

    padding: 18px;

    border:
        1px solid
        rgba(229,182,74,.18);

    background:
        rgba(3,3,3,.72);

    backdrop-filter: blur(14px);

    box-shadow:
        0 30px 70px
        rgba(0,0,0,.55);
}


.es-dna-panel > span {

    color:
        rgba(255,255,255,.23);

    font-size: 5px;

    letter-spacing: .22em;
}


.es-dna-panel p {

    min-height: 65px;

    margin:
        10px 0 0;

    color:
        rgba(255,255,255,.50);

    font-size: 11px;

    line-height: 1.55;

    transition:
        opacity .18s ease,
        transform .18s ease;
}


/* EQ */

.es-dna-mini-eq {

    height: 29px;

    display: flex;

    align-items: flex-end;

    gap: 3px;

    margin-top: 14px;
}


.es-dna-mini-eq i {

    flex: 1;

    height: 20%;

    background:
        var(--dna-gold);

    animation:
        esDnaEQ
        .6s
        ease-in-out
        infinite alternate;
}


.es-dna-mini-eq i:nth-child(2n) {
    animation-duration: .35s;
}

.es-dna-mini-eq i:nth-child(3n) {
    animation-duration: .82s;
}


@keyframes esDnaEQ {

    to {

        height:
            calc(
                30% +
                70% * var(--dna-energy)
            );
    }
}


/* TRANSITIONS */

.es-dna-changing {

    opacity: 0 !important;

    transform:
        translateY(6px);
}


.es-dna-hit .es-dna-core {

    animation:
        esDnaHit .45s ease;
}


@keyframes esDnaHit {

    35% {
        scale: 1.045;
    }
}


/* REVEAL */

.es-dna-reveal {

    opacity: 0;

    transform:
        translateY(35px);

    filter:
        blur(8px);

    transition:
        .85s
        cubic-bezier(.16,1,.3,1);
}


.es-dna-visible {

    opacity: 1;

    transform:
        translateY(0);

    filter:
        blur(0);
}


/* TABLET */

@media (max-width: 1050px) {

    .es-dna-container {
        grid-template-columns: 1fr;
    }

    .es-dna-copy {
        max-width: 750px;
    }

    .es-dna-stage {
        min-height: 620px;
    }

}


/* MOBILE */

@media (max-width: 767px) {

    .es-dna {

        padding:
            85px 0;
    }


    .es-dna-container {

        width: 88%;

        gap: 50px;
    }


    .es-dna-title {

        font-size:
            clamp(50px,15vw,72px);
    }


    .es-dna-stage {

        min-height: 500px;
    }


    .es-dna-core {

        width: 260px;
    }


    .es-dna-radial {

        width: 340px;
        height: 340px;
    }


    .es-dna-radial i {

        transform-origin:
            center 165px;

        transform:

            translate(-50%,-165px)

            rotate(var(--a));
    }


    .es-dna-orbit-a {

        width: 370px;
        height: 370px;
    }


    .es-dna-orbit-b {

        width: 440px;
        height: 440px;
    }


    .es-dna-panel {

        width: 170px;

        right: -3%;

        bottom: 0;
    }

}

/* ============================================================
   ENRY SOUND — MOBILE PERFORMANCE OVERRIDE
   Load AFTER all existing ENRY SOUND CSS.
   Goal: premium look, lower GPU/CPU cost on tablet/mobile.
============================================================ */

/* ---------- Core rendering / touch ---------- */
html {
    overflow-x: clip;
    scroll-behavior: smooth;
}

body {
    overflow-x: clip;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.es-hero,
.es-services,
.es-about,
.es-dna,
.es-flow,
.es-manifesto,
.es-booking,
.es-footer {
    -webkit-tap-highlight-color: transparent;
    touch-action: pan-y;
}

/* Below-the-fold sections: skip paint/layout until near viewport.
   Manifesto excluded because it uses sticky scroll choreography. */
.es-services,
.es-about,
.es-dna,
.es-flow,
.es-booking,
.es-footer {
    content-visibility: auto;
    contain-intrinsic-size: 900px;
}

/* Keep expensive composition hints only on elements that actually move. */
.es-hero *,
.es-services *,
.es-about *,
.es-dna *,
.es-flow *,
.es-booking *,
.es-footer * {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

/* ============================================================
   TABLET + MOBILE PERFORMANCE
============================================================ */
@media (max-width: 1024px) {

    /* Reduce huge GPU blur surfaces while keeping warm premium glow. */
    .es-bg-glow,
    .es-services-glow,
    .es-about-glow,
    .es-dna-glow,
    .es-booking-glow,
    .es-footer-glow,
    .es-manifesto-glow {
        filter: blur(70px) !important;
        opacity: .72;
    }

    /* Glass blur is expensive on mobile Safari/Chrome. */
    .es-bpm-card,
    .es-live-panel,
    .es-social-screen,
    .es-social-floating,
    .es-about-console,
    .es-dna-panel,
    .es-booking-console,
    .es-booking-floating,
    .es-footer-floating {
        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
        background-color: rgba(5,5,5,.88) !important;
    }

    /* Reduce shadow layers, preserve depth. */
    .es-console,
    .es-service-card,
    .es-social-screen,
    .es-booking-console,
    .es-footer-disc,
    .es-about-frame {
        box-shadow:
            0 24px 55px rgba(0,0,0,.48),
            0 0 34px rgba(229,184,76,.045) !important;
    }

    /* Slower, calmer decorative motion = premium rather than noisy. */
    .es-orbit,
    .es-ring,
    .es-social-orbit,
    .es-booking-orbit,
    .es-footer-orbit,
    .es-about-orbit,
    .es-dna-ring,
    .es-manifesto-energy-ring {
        animation-duration: 24s !important;
    }

    .es-waveform,
    .es-card-wave i,
    .es-master-eq i,
    .es-about-spectrum i,
    .es-booking-eq i,
    .es-footer-spectrum i,
    .es-flow-wave i,
    .es-dna-mini-eq i,
    .es-manifesto-wave i {
        box-shadow: none !important;
    }

    /* Reduce perspective complexity. */
    .es-visual,
    .es-dj-area,
    .es-social-stage,
    .es-booking-stage,
    .es-about-visual,
    .es-dna-stage {
        perspective: 900px !important;
    }

    /* Buttons / inputs feel instant. */
    .es-btn,
    .es-card-link,
    .es-about-instagram,
    .es-booking-submit,
    .es-footer-main-cta,
    .es-footer-top,
    .es-event-option,
    .es-dna-mode {
        transition-duration: .22s !important;
    }
}

/* ============================================================
   MOBILE <= 767px
============================================================ */
@media (max-width: 767px) {

    :root {
        --es-mobile-gutter: max(20px, 6vw);
    }

    /* ---------- Global section rhythm ---------- */
    .es-hero,
    .es-services,
    .es-about,
    .es-dna,
    .es-flow,
    .es-booking,
    .es-footer {
        width: 100%;
        max-width: 100%;
    }

    .es-services-container,
    .es-about-container,
    .es-dna-container,
    .es-flow-container,
    .es-booking-container,
    .es-footer-container,
    .es-footer-final {
        width: auto !important;
        margin-left: var(--es-mobile-gutter) !important;
        margin-right: var(--es-mobile-gutter) !important;
    }

    /* ---------- Remove most expensive cosmetic layers ---------- */
    .es-noise,
    .es-about-noise,
    .es-bg-grid,
    .es-services-grid,
    .es-about-grid,
    .es-booking-grid,
    .es-footer-grid {
        display: none !important;
    }

    /* Keep one cinematic light source, not several. */
    .es-stage-light-2,
    .es-laser-2,
    .es-laser-3,
    .es-about-beam-b,
    .es-booking-beam-b,
    .es-manifesto-beam-b,
    .es-manifesto-laser-b {
        display: none !important;
    }

    .es-bg-beam,
    .es-stage-light-1,
    .es-about-beam-a,
    .es-booking-beam-a,
    .es-footer-beam,
    .es-manifesto-beam-a,
    .es-manifesto-laser-a {
        filter: blur(12px) !important;
        opacity: .18 !important;
    }

    .es-bg-glow,
    .es-services-glow,
    .es-about-glow,
    .es-dna-glow,
    .es-booking-glow,
    .es-footer-glow,
    .es-manifesto-glow {
        filter: blur(48px) !important;
        opacity: .50 !important;
    }

    /* Limit ambient DOM particles created by JS. */
    .es-particle:nth-child(n+9),
    .es-ambient-particle:nth-child(n+9),
    .es-about-particle:nth-child(n+8) {
        display: none !important;
    }

    /* Hide secondary orbit layers; one ring keeps the premium 3D cue. */
    .es-orbit-2,
    .es-orbit-3,
    .es-ring-2,
    .es-ring-3,
    .es-social-orbit-b,
    .es-booking-orbit-b,
    .es-footer-orbit-b,
    .es-about-orbit-2,
    .es-dna-ring-3,
    .es-manifesto .es-mer-3 {
        display: none !important;
    }

    /* ---------- Hero ---------- */
    .es-hero {
        min-height: 100svh !important;
        height: auto;
        padding-top: env(safe-area-inset-top);
    }

    .es-hero .es-container {
        width: auto !important;
        min-height: 100svh !important;
        margin: 0 var(--es-mobile-gutter) !important;
        padding: clamp(92px, 15svh, 126px) 0 96px !important;
    }

    .es-hero .es-title {
        font-size: clamp(50px, 15.5vw, 72px) !important;
        line-height: .84 !important;
        letter-spacing: -.055em !important;
    }

    .es-hero .es-description,
    .es-hero .es-subtitle {
        width: 100% !important;
        max-width: 35rem !important;
        font-size: 14px !important;
        line-height: 1.58 !important;
    }

    .es-hero .es-actions {
        width: 100% !important;
        max-width: 360px !important;
        gap: 10px !important;
    }

    .es-hero .es-btn {
        min-height: 54px !important;
        padding-inline: 18px !important;
    }

    .es-hero .es-dj-area,
    .es-hero .es-visual {
        width: 104vw !important;
        right: -58vw !important;
        top: 18% !important;
        opacity: .24 !important;
        filter: none !important;
    }

    .es-hero .es-console {
        box-shadow: 0 24px 45px rgba(0,0,0,.70) !important;
    }

    .es-hero .es-bottom {
        left: var(--es-mobile-gutter) !important;
        right: var(--es-mobile-gutter) !important;
        bottom: max(18px, env(safe-area-inset-bottom)) !important;
    }

    /* ---------- Services ---------- */
    .es-services {
        padding: 82px 0 74px !important;
    }

    .es-services-title,
    .es-about-title,
    .es-dna-title,
    .es-flow-title,
    .es-booking-title,
    .es-footer-title {
        font-size: clamp(46px, 13.6vw, 68px) !important;
        line-height: .87 !important;
        letter-spacing: -.05em !important;
    }

    .es-service-deck {
        overscroll-behavior-x: contain;
        -webkit-overflow-scrolling: touch;
        scroll-padding-inline: var(--es-mobile-gutter);
        gap: 12px !important;
        padding-bottom: 18px !important;
    }

    .es-service-card {
        flex-basis: min(82vw, 315px) !important;
        min-height: 410px !important;
        padding: 20px !important;
        scroll-snap-stop: always;
        transform: none !important;
    }

    .es-service-card:hover {
        transform: none !important;
    }

    .es-card-light {
        display: none !important;
    }

    .es-card-icon {
        margin-top: 34px !important;
        width: 46px !important;
        height: 46px !important;
    }

    .es-card-content {
        margin-top: 30px !important;
    }

    .es-card-wave i:nth-child(even) {
        display: none !important;
    }

    /* ---------- About / Instagram ---------- */
    .es-about {
        padding: 82px 0 74px !important;
    }

    .es-about-container {
        gap: 48px !important;
    }

    .es-social-stage {
        min-height: 610px !important;
        perspective: none !important;
    }

    .es-social-screen {
        width: 100% !important;
        max-width: 520px !important;
        padding: 7px !important;
        transform: none !important;
        border-color: rgba(229,184,76,.18) !important;
    }

    .es-instagram-shell {
        min-height: 480px !important;
    }

    .es-instagram-scan,
    .es-social-meter,
    .es-social-floating {
        display: none !important;
    }

    .es-about-spectrum i:nth-child(even) {
        display: none !important;
    }

    /* ---------- Sound DNA ---------- */
    .es-dna {
        padding: 82px 0 !important;
    }

    .es-dna-stage {
        min-height: 470px !important;
        transform: none !important;
        perspective: none !important;
    }

    .es-dna-core {
        width: min(64vw, 250px) !important;
        box-shadow: 0 0 38px rgba(229,182,74,.08) !important;
    }

    .es-dna-radial {
        width: 315px !important;
        height: 315px !important;
    }

    .es-dna-radial i:nth-child(even) {
        display: none !important;
    }

    .es-dna-panel {
        width: min(170px, 44vw) !important;
        padding: 14px !important;
        background: rgba(4,4,4,.90) !important;
        box-shadow: 0 18px 40px rgba(0,0,0,.45) !important;
    }

    .es-dna-mode {
        min-height: 56px !important;
    }

    /* ---------- Event Flow ---------- */
    .es-flow {
        padding: 82px 0 !important;
    }

    .es-flow-timeline {
        margin-top: 54px !important;
        padding-left: 36px !important;
    }

    .es-flow-step {
        min-height: 128px !important;
        padding: 21px 0 !important;
    }

    .es-flow-step-content p {
        font-size: 12px !important;
        line-height: 1.52 !important;
    }

    .es-flow-step > strong {
        opacity: .7;
    }

    .es-flow-wave i:nth-child(even) {
        display: none !important;
    }

    /* ---------- Manifesto sticky ---------- */
    .es-manifesto {
        height: 225svh !important;
    }

    .es-manifesto-sticky {
        height: 100svh !important;
    }

    .es-manifesto-stage {
        width: auto !important;
        margin-inline: var(--es-mobile-gutter) !important;
        transform: none !important;
    }

    .es-manifesto-title {
        font-size: clamp(56px, 17vw, 82px) !important;
        line-height: .79 !important;
        letter-spacing: -.06em !important;
    }

    .es-manifesto-copy {
        width: 82% !important;
        max-width: 330px !important;
    }

    .es-manifesto-energy {
        width: 290px !important;
        right: -50% !important;
        opacity: .20 !important;
        transform: none !important;
    }

    .es-manifesto-wave i:nth-child(even) {
        display: none !important;
    }

    .es-manifesto-flash {
        opacity: 0 !important;
        animation: none !important;
    }

    /* ---------- Booking ---------- */
    .es-booking {
        padding: 82px 0 52px !important;
    }

    .es-booking-container {
        gap: 48px !important;
    }

    .es-booking-stage {
        padding: 0 !important;
        perspective: none !important;
    }

    .es-booking-console {
        width: 100% !important;
        padding: 20px 16px !important;
        transform: none !important;
        box-shadow: 0 24px 52px rgba(0,0,0,.48) !important;
    }

    .es-booking-input,
    .es-booking-textarea,
    .es-event-option {
        font-size: 16px !important; /* Prevent iOS auto-zoom */
    }

    .es-booking-input {
        height: 50px !important;
    }

    .es-booking-textarea {
        min-height: 96px !important;
    }

    .es-event-option {
        min-height: 48px !important;
        font-size: 11px !important;
    }

    .es-booking-submit {
        min-height: 58px !important;
        font-size: 10px !important;
    }

    .es-booking-eq i:nth-child(even) {
        display: none !important;
    }

    .es-booking-radar {
        opacity: .35 !important;
    }

    /* ---------- Footer ---------- */
    .es-footer {
        padding-top: 82px !important;
        padding-bottom: max(24px, env(safe-area-inset-bottom)) !important;
    }

    .es-footer-closing {
        padding-bottom: 55px !important;
    }

    .es-footer-brand-zone {
        padding: 56px 0 !important;
        gap: 35px !important;
    }

    .es-footer-disc-stage {
        width: min(70vw, 260px) !important;
        transform: none !important;
        perspective: none !important;
    }

    .es-footer-disc {
        animation-duration: 30s !important;
        box-shadow: 0 24px 45px rgba(0,0,0,.62) !important;
    }

    .es-footer-wordmark span,
    .es-footer-wordmark strong {
        font-size: clamp(72px, 23vw, 105px) !important;
    }

    .es-footer-links {
        gap: 38px !important;
        padding: 48px 0 !important;
    }

    .es-footer-spectrum i:nth-child(even) {
        display: none !important;
    }

    /* ---------- Touch targets ---------- */
    .es-btn,
    .es-card-link,
    .es-about-instagram,
    .es-booking-info-row,
    .es-footer-column a,
    .es-footer-main-cta,
    .es-footer-top,
    .es-dna-mode,
    .es-event-option {
        min-height: 44px;
    }

    /* ---------- Avoid hover-only effects getting stuck on touch ---------- */
    .es-service-card:hover,
    .es-about-feature:hover,
    .es-btn:hover,
    .es-card-link:hover,
    .es-about-instagram:hover,
    .es-footer-main-cta:hover,
    .es-footer-top:hover {
        translate: none !important;
    }
}

/* ============================================================
   SMALL PHONES <= 430px
============================================================ */
@media (max-width: 430px) {

    :root {
        --es-mobile-gutter: 18px;
    }

    .es-hero .es-title,
    .es-services-title,
    .es-about-title,
    .es-dna-title,
    .es-flow-title,
    .es-booking-title,
    .es-footer-title {
        hyphens: none;
        overflow-wrap: normal;
        word-break: normal;
    }

    .es-service-card {
        flex-basis: 84vw !important;
    }

    .es-booking-console-top > span,
    .es-social-data span:last-child,
    .es-footer-track-data span:nth-child(2) {
        display: none !important;
    }

    .es-manifesto-copy {
        width: 90% !important;
    }
}

/* ============================================================
   TOUCH / COARSE POINTER — regardless of width
============================================================ */
@media (hover: none), (pointer: coarse) {

    .es-card-light,
    .es-instagram-scan {
        display: none !important;
    }

    .es-service-card,
    .es-social-screen,
    .es-booking-console,
    .es-dna-stage,
    .es-manifesto-stage,
    .es-footer-disc-stage {
        transform: none !important;
    }

    .es-btn,
    .es-card-link,
    .es-event-option,
    .es-dna-mode,
    .es-booking-submit,
    .es-footer-main-cta {
        cursor: pointer;
    }
}

/* ============================================================
   REDUCED MOTION / ACCESSIBILITY
============================================================ */
@media (prefers-reduced-motion: reduce) {

    html {
        scroll-behavior: auto;
    }

    .es-hero *,
    .es-services *,
    .es-about *,
    .es-dna *,
    .es-flow *,
    .es-manifesto *,
    .es-booking *,
    .es-footer * {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
        scroll-behavior: auto !important;
    }

    .es-manifesto {
        height: auto !important;
        min-height: 100svh;
    }

    .es-manifesto-sticky {
        position: relative !important;
        height: auto !important;
        min-height: 100svh;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-e96e361 *//* ==========================================================
   ENRY SOUND — BOOKING / CONTACT
========================================================== */

.es-booking {

    --bk-gold: #e5b84c;
    --bk-gold-hi: #ffe59a;
    --bk-purple: #7430ad;

    --booking-progress: 0;

    position: relative;

    width: 100%;

    overflow: hidden;

    padding:
        clamp(110px, 11vw, 175px)
        0
        70px;

    background:
        #020202;

    color:
        #f4f1ea;

    isolation:
        isolate;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

}


/* ==========================================================
   WORLD
========================================================== */

.es-booking-world {

    position: absolute;

    inset: 0;

    z-index: -10;

    overflow: hidden;

    background:

        radial-gradient(
            circle at 76% 45%,
            rgba(226,171,53,.12),
            transparent 28%
        ),

        radial-gradient(
            circle at 10% 75%,
            rgba(108,44,170,.08),
            transparent 28%
        ),

        linear-gradient(
            130deg,
            #020202 0%,
            #080705 52%,
            #020202 100%
        );

}


/* ==========================================================
   GLOW
========================================================== */

.es-booking-glow {

    position: absolute;

    border-radius: 50%;

    filter:
        blur(120px);

    mix-blend-mode:
        screen;

    pointer-events: none;

    will-change:
        transform;

}


.es-booking-glow-a {

    width: 550px;
    height: 550px;

    left: -150px;
    bottom: 0;

    background:
        rgba(112,45,175,.09);

}


.es-booking-glow-b {

    width: 620px;
    height: 620px;

    right: -100px;
    top: 4%;

    background:
        rgba(229,184,76,.12);

}


/* ==========================================================
   GRID
========================================================== */

.es-booking-grid {

    position: absolute;

    inset: 0;

    opacity:
        calc(
            .05 +
            var(--booking-progress)
            * .055
        );

    background-image:

        linear-gradient(
            rgba(255,255,255,.045) 1px,
            transparent 1px
        ),

        linear-gradient(
            90deg,
            rgba(255,255,255,.045) 1px,
            transparent 1px
        );

    background-size:
        75px 75px;

    -webkit-mask-image:

        radial-gradient(
            circle at 70% 48%,
            black,
            transparent 68%
        );

}


/* ==========================================================
   BEAMS
========================================================== */

.es-booking-beam {

    position: absolute;

    top: -30%;

    width: 150px;
    height: 160%;

    filter:
        blur(18px);

    mix-blend-mode:
        screen;

    opacity:
        calc(
            .10 +
            var(--booking-progress)
            * .20
        );

}


.es-booking-beam-a {

    right: 15%;

    transform:
        rotate(21deg);

    background:

        linear-gradient(
            90deg,
            transparent,
            rgba(255,218,126,.14),
            transparent
        );

}


.es-booking-beam-b {

    right: 39%;

    transform:
        rotate(-17deg);

    background:

        linear-gradient(
            90deg,
            transparent,
            rgba(119,54,180,.08),
            transparent
        );

}


/* ==========================================================
   RADAR
========================================================== */

.es-booking-radar {

    position: absolute;

    width: 700px;
    height: 700px;

    right: -160px;
    top: 14%;

}


.es-booking-radar i {

    position: absolute;

    left: 50%;
    top: 50%;

    border-radius: 50%;

    border:
        1px solid
        rgba(229,184,76,.09);

    transform:
        translate(-50%,-50%);

    animation:
        esBookingRadar
        5s
        ease-out
        infinite;

}


.es-booking-radar i:nth-child(1) {

    width: 25%;
    height: 25%;

}


.es-booking-radar i:nth-child(2) {

    width: 45%;
    height: 45%;

    animation-delay:
        .5s;

}


.es-booking-radar i:nth-child(3) {

    width: 70%;
    height: 70%;

    animation-delay:
        1s;

}


.es-booking-radar i:nth-child(4) {

    width: 100%;
    height: 100%;

    animation-delay:
        1.5s;

}


@keyframes esBookingRadar {

    0% {

        opacity: .75;

        scale: .88;

    }

    100% {

        opacity: .05;

        scale: 1.08;

    }

}


/* ==========================================================
   BACKGROUND WORD
========================================================== */

.es-booking-bg-word {

    position: absolute;

    left: -2%;
    bottom: 7%;

    z-index: -2;

    color: transparent;

    -webkit-text-stroke:
        1px
        rgba(255,255,255,.025);

    font-size:
        clamp(
            240px,
            35vw,
            650px
        );

    line-height: .65;

    letter-spacing:
        -.08em;

    font-weight: 900;

    pointer-events: none;

}


/* ==========================================================
   MAIN CONTAINER
========================================================== */

.es-booking-container {

    position: relative;

    z-index: 5;

    width:
        min(
            1480px,
            90%
        );

    margin:
        0 auto;

    display: grid;

    grid-template-columns:
        .9fr 1.1fr;

    align-items:
        center;

    gap:
        clamp(
            55px,
            7vw,
            110px
        );

}


/* ==========================================================
   COPY
========================================================== */

.es-booking-copy {

    position: relative;

    z-index: 7;

}


/* kicker */

.es-booking-kicker {

    display: flex;

    align-items: center;

    gap: 13px;

    margin-bottom:
        25px;

    color:
        var(--bk-gold);

    font-size: 8px;

    font-weight: 800;

    letter-spacing:
        .30em;

}


.es-booking-kicker > span {

    width: 41px;
    height: 1px;

    background:
        var(--bk-gold);

}


.es-booking-kicker small {

    margin-left: auto;

    color:
        rgba(255,255,255,.18);

}


/* ==========================================================
   TITLE
========================================================== */

.es-booking-title {

    margin: 0;

    font-size:
        clamp(
            55px,
            5.9vw,
            103px
        );

    line-height:
        .83;

    letter-spacing:
        -.065em;

    font-weight:
        900;

}


.es-booking-title > span {

    display: block;

}


.es-booking-outline {

    color:
        transparent;

    -webkit-text-stroke:
        1px
        rgba(255,255,255,.52);

}


.es-booking-gold {

    width:
        fit-content;

    color:
        transparent;

    background:

        linear-gradient(
            105deg,
            #925d19,
            #dda941 30%,
            #ffe59c 53%,
            #ae721f
        );

    -webkit-background-clip:
        text;

    background-clip:
        text;

}


/* ==========================================================
   INTRO
========================================================== */

.es-booking-intro {

    max-width:
        560px;

    margin-top:
        36px;

}


.es-booking-intro p {

    margin:
        0 0 15px;

    color:
        rgba(255,255,255,.51);

    font-size:
        clamp(
            14px,
            1vw,
            17px
        );

    line-height:
        1.72;

}


.es-booking-intro strong {

    color:
        rgba(255,255,255,.90);

    font-weight: 500;

}


/* ==========================================================
   INFO ROWS
========================================================== */

.es-booking-info {

    margin-top:
        42px;

    border-top:
        1px solid
        rgba(255,255,255,.08);

}


.es-booking-info-row {

    min-height:
        78px;

    display: grid;

    grid-template-columns:
        42px 1fr auto;

    gap: 14px;

    align-items: center;

    border-bottom:
        1px solid
        rgba(255,255,255,.08);

    color:
        white !important;

    text-decoration:
        none !important;

    transition:
        padding-left .3s ease,
        border-color .3s ease;

}


a.es-booking-info-row:hover {

    padding-left:
        9px;

    border-color:
        rgba(229,184,76,.35);

}


.es-booking-info-number {

    color:
        var(--bk-gold);

    font-size:
        7px;

    letter-spacing:
        .15em;

}


.es-booking-info-row div {

    display: flex;

    flex-direction: column;

    gap: 5px;

}


.es-booking-info-row small {

    color:
        rgba(255,255,255,.25);

    font-size:
        6px;

    letter-spacing:
        .22em;

}


.es-booking-info-row strong {

    color:
        rgba(255,255,255,.83);

    font-size:
        10px;

    letter-spacing:
        .13em;

}


.es-booking-info-row b {

    color:
        var(--bk-gold);

    font-size:
        17px;

    font-weight: 400;

}


.es-booking-live {

    display: flex;

    align-items: center;

    gap: 7px;

    color:
        rgba(255,255,255,.32);

    font-size:
        6px;

    letter-spacing:
        .16em;

}


.es-booking-live i {

    width: 5px;
    height: 5px;

    border-radius: 50%;

    background:
        var(--bk-gold);

    box-shadow:
        0 0 11px
        var(--bk-gold);

    animation:
        esBookingLive
        .9s
        ease-in-out
        infinite;

}


@keyframes esBookingLive {

    50% {

        opacity: .25;

        scale: .65;

    }

}


/* ==========================================================
   STAGE
========================================================== */

.es-booking-stage {

    min-height:
        760px;

    position: relative;

    display: flex;

    align-items: center;

    justify-content: center;

    perspective:
        1400px;

}


/* ==========================================================
   CONSOLE
========================================================== */

.es-booking-console {

    position: relative;

    z-index: 7;

    width:
        min(
            650px,
            95%
        );

    padding:
        clamp(
            25px,
            3vw,
            42px
        );

    border:
        1px solid
        rgba(229,184,76,.22);

    background:

        linear-gradient(
            145deg,
            rgba(20,20,20,.93),
            rgba(4,4,4,.96)
        );

    box-shadow:

        0 60px 110px
        rgba(0,0,0,.65),

        0 0 80px
        rgba(229,184,76,.05),

        inset 0 0 45px
        rgba(255,255,255,.015);

    backdrop-filter:
        blur(17px);

    -webkit-backdrop-filter:
        blur(17px);

    transform-style:
        preserve-3d;

    will-change:
        transform;

}


/* ==========================================================
   CONSOLE HEADER
========================================================== */

.es-booking-console-top {

    display: flex;

    justify-content:
        space-between;

    align-items: center;

    padding-bottom:
        21px;

    border-bottom:
        1px solid
        rgba(255,255,255,.08);

    color:
        rgba(255,255,255,.27);

    font-size:
        6px;

    letter-spacing:
        .19em;

}


.es-booking-console-top > div {

    display: flex;

    align-items: center;

    gap: 8px;

}


.es-booking-console-top > span {

    color:
        rgba(229,184,76,.55);

}


.es-booking-dot {

    width: 5px;
    height: 5px;

    border-radius: 50%;

    background:
        var(--bk-gold);

    box-shadow:
        0 0 10px
        var(--bk-gold);

}


/* ==========================================================
   FIELDS
========================================================== */

.es-booking-field {

    margin-top:
        26px;

}


.es-booking-field label {

    display: block;

    margin-bottom:
        12px;

    color:
        rgba(255,255,255,.31);

    font-size:
        6px;

    letter-spacing:
        .20em;

}


/* ==========================================================
   EVENT BUTTONS
========================================================== */

.es-event-options {

    display: grid;

    grid-template-columns:
        repeat(2,1fr);

    gap: 7px;

}


.es-event-option {

    min-height:
        46px;

    padding:
        0 13px;

    border:
        1px solid
        rgba(255,255,255,.08);

    outline: 0;

    background:
        rgba(255,255,255,.015);

    color:
        rgba(255,255,255,.40);

    font-family: inherit;

    font-size:
        7px;

    font-weight:
        700;

    letter-spacing:
        .14em;

    cursor:
        pointer;

    transition:
        .25s ease;

}


.es-event-option:hover {

    color:
        rgba(255,255,255,.85);

    border-color:
        rgba(229,184,76,.3);

}


.es-event-option.es-selected {

    color:
        #090909;

    border-color:
        var(--bk-gold);

    background:

        linear-gradient(
            120deg,
            #ae7623,
            #e3b54b,
            #f0cf74
        );

    box-shadow:
        0 0 24px
        rgba(229,184,76,.10);

}


/* ==========================================================
   TWO COLUMN FIELDS
========================================================== */

.es-booking-fields-row {

    display: grid;

    grid-template-columns:
        1fr 1fr;

    gap: 12px;

}


/* ==========================================================
   INPUTS
========================================================== */

.es-booking-input,
.es-booking-textarea {

    width: 100%;

    box-sizing:
        border-box;

    border:
        1px solid
        rgba(255,255,255,.09);

    border-radius: 0;

    outline: none;

    color:
        rgba(255,255,255,.88);

    background:
        rgba(255,255,255,.025);

    font-family: inherit;

    transition:
        border-color .25s ease,
        background .25s ease,
        box-shadow .25s ease;

}


.es-booking-input {

    height: 49px;

    padding:
        0 14px;

    font-size:
        11px;

}


.es-booking-textarea {

    min-height:
        88px;

    padding:
        13px 14px;

    resize:
        vertical;

    font-size:
        11px;

    line-height: 1.5;

}


.es-booking-input:focus,
.es-booking-textarea:focus {

    border-color:
        rgba(229,184,76,.55);

    background:
        rgba(229,184,76,.025);

    box-shadow:
        0 0 25px
        rgba(229,184,76,.04);

}


.es-booking-input::placeholder,
.es-booking-textarea::placeholder {

    color:
        rgba(255,255,255,.20);

}


/* Date input icon */

.es-booking-input::-webkit-calendar-picker-indicator {

    filter:
        invert(1)
        sepia(.3);

    opacity: .5;

    cursor:
        pointer;

}


/* ==========================================================
   GUEST RANGE
========================================================== */

.es-booking-label-row {

    display: flex;

    justify-content:
        space-between;

    align-items: center;

    margin-bottom:
        4px;

}


.es-booking-label-row label {

    margin-bottom: 0;

}


.es-booking-label-row strong {

    color:
        var(--bk-gold-hi);

    font-size:
        13px;

    font-weight:
        500;

}


.es-guests-range {

    --range-progress: 16%;

    width: 100%;
    height: 3px;

    appearance: none;

    -webkit-appearance: none;

    outline: none;

    cursor: pointer;

    background:

        linear-gradient(
            90deg,
            var(--bk-gold)
            0,
            var(--bk-gold)
            var(--range-progress),
            rgba(255,255,255,.10)
            var(--range-progress),
            rgba(255,255,255,.10)
            100%
        );

}


.es-guests-range::-webkit-slider-thumb {

    appearance: none;

    -webkit-appearance: none;

    width: 14px;
    height: 14px;

    border-radius: 50%;

    border:
        2px solid
        #090909;

    background:
        var(--bk-gold-hi);

    box-shadow:

        0 0 0 1px
        var(--bk-gold),

        0 0 16px
        rgba(229,184,76,.55);

}


.es-guests-range::-moz-range-thumb {

    width: 14px;
    height: 14px;

    border-radius: 50%;

    border:
        2px solid
        #090909;

    background:
        var(--bk-gold-hi);

}


.es-range-scale {

    margin-top:
        8px;

    display: flex;

    justify-content:
        space-between;

    color:
        rgba(255,255,255,.18);

    font-size:
        6px;

    letter-spacing:
        .12em;

}


/* ==========================================================
   SIGNAL
========================================================== */

.es-booking-signal {

    margin-top:
        26px;

    padding:
        14px 0;

    display: grid;

    grid-template-columns:
        auto 1fr;

    gap: 25px;

    align-items: center;

    border-top:
        1px solid
        rgba(255,255,255,.07);

    border-bottom:
        1px solid
        rgba(255,255,255,.07);

}


.es-booking-signal-copy {

    display: flex;

    flex-direction: column;

    gap: 5px;

}


.es-booking-signal-copy span {

    color:
        rgba(255,255,255,.24);

    font-size:
        5px;

    letter-spacing:
        .18em;

}


.es-booking-signal-copy small {

    color:
        var(--bk-gold);

    font-size:
        7px;

    letter-spacing:
        .14em;

}


/* ==========================================================
   EQ
========================================================== */

.es-booking-eq {

    height:
        31px;

    display: flex;

    align-items:
        center;

    gap: 3px;

}


.es-booking-eq i {

    flex: 1;

    height: 18%;

    background:

        linear-gradient(
            to top,
            #795017,
            var(--bk-gold-hi)
        );

    opacity: .7;

    animation:
        esBookingEq
        .6s
        ease-in-out
        infinite alternate;

}


.es-booking-eq i:nth-child(2n) {
    animation-duration: .33s;
}

.es-booking-eq i:nth-child(3n) {
    animation-duration: .78s;
}

.es-booking-eq i:nth-child(4n) {
    animation-duration: .45s;
}

.es-booking-eq i:nth-child(5n) {
    animation-duration: .69s;
}


@keyframes esBookingEq {

    to {

        height:
            calc(
                42% +
                var(--booking-progress)
                * 58%
            );

    }

}


/* ==========================================================
   SUBMIT
========================================================== */

.es-booking-submit {

    position: relative;

    width: 100%;

    min-height:
        62px;

    margin-top:
        20px;

    padding:
        0 24px;

    overflow: hidden;

    display: flex;

    justify-content:
        space-between;

    align-items: center;

    border: 0;

    outline: 0;

    cursor: pointer;

    color: #080808;

    background:

        linear-gradient(
            115deg,
            #a76f20,
            #e4b74d 40%,
            #f7d97d 60%,
            #a96f1c
        );

    box-shadow:
        0 15px 45px
        rgba(220,163,46,.16);

    font-family: inherit;

    font-size:
        8px;

    font-weight: 900;

    letter-spacing:
        .17em;

    transition:
        transform .3s ease,
        box-shadow .3s ease;

}


.es-booking-submit:hover {

    transform:
        translateY(-3px);

    box-shadow:
        0 20px 60px
        rgba(220,163,46,.31);

}


.es-booking-submit b {

    font-size:
        20px;

    font-weight: 400;

}


.es-booking-submit-light {

    position: absolute;

    top: -50%;
    left: -100px;

    width: 55px;
    height: 200%;

    transform:
        rotate(18deg);

    background:

        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.70),
            transparent
        );

    transition:
        left .7s ease;

}


.es-booking-submit:hover
.es-booking-submit-light {

    left: 120%;

}


/* ==========================================================
   HIT
========================================================== */

.es-booking-hit
.es-booking-console {

    animation:
        esBookingHit
        .45s
        ease-out;

}


@keyframes esBookingHit {

    25% {

        scale: 1.025;

        box-shadow:

            0 60px 110px
            rgba(0,0,0,.65),

            0 0 110px
            rgba(229,184,76,.20);

    }

}


/* ==========================================================
   PRIVACY
========================================================== */

.es-booking-privacy {

    margin-top:
        12px;

    color:
        rgba(255,255,255,.20);

    font-size:
        6px;

    line-height:
        1.6;

    letter-spacing:
        .05em;

}


/* ==========================================================
   ORBITS
========================================================== */

.es-booking-orbit {

    position: absolute;

    left: 50%;
    top: 50%;

    border-radius: 50%;

    pointer-events: none;

}


.es-booking-orbit-a {

    width: 650px;
    height: 650px;

    border:
        1px solid
        rgba(229,184,76,.15);

    transform:

        translate(-50%,-50%)
        rotateX(70deg);

    animation:
        esBookingOrbitA
        17s
        linear
        infinite;

}


.es-booking-orbit-b {

    width: 780px;
    height: 780px;

    border:
        1px dashed
        rgba(229,184,76,.07);

    transform:

        translate(-50%,-50%)
        rotateX(70deg);

    animation:
        esBookingOrbitB
        25s
        linear
        infinite;

}


@keyframes esBookingOrbitA {

    to {

        transform:

            translate(-50%,-50%)
            rotateX(70deg)
            rotateZ(360deg);

    }

}


@keyframes esBookingOrbitB {

    to {

        transform:

            translate(-50%,-50%)
            rotateX(70deg)
            rotateZ(-360deg);

    }

}


/* ==========================================================
   FLOATING STATUS
========================================================== */

.es-booking-floating {

    position: absolute;

    z-index: 10;

    right: -2%;
    top: 16%;

    min-width:
        155px;

    padding:
        15px 17px;

    border:
        1px solid
        rgba(229,184,76,.18);

    background:
        rgba(3,3,3,.73);

    backdrop-filter:
        blur(14px);

    -webkit-backdrop-filter:
        blur(14px);

    box-shadow:
        0 25px 65px
        rgba(0,0,0,.55);

    pointer-events: none;

    will-change:
        transform;

}


.es-booking-floating > span {

    display: block;

    color:
        rgba(255,255,255,.22);

    font-size:
        5px;

    letter-spacing:
        .22em;

}


.es-booking-floating strong {

    display: block;

    margin-top:
        6px;

    color:
        var(--bk-gold);

    font-size:
        16px;

    letter-spacing:
        .08em;

}


.es-booking-floating div {

    margin-top:
        9px;

    display: flex;

    align-items: center;

    gap: 7px;

    color:
        rgba(255,255,255,.34);

    font-size:
        6px;

    letter-spacing:
        .15em;

}


.es-booking-floating i {

    width: 5px;
    height: 5px;

    border-radius: 50%;

    background:
        #54d88a;

    box-shadow:
        0 0 10px
        rgba(84,216,138,.8);

}


/* ==========================================================
   BOTTOM
========================================================== */

.es-booking-bottom {

    position: relative;

    z-index: 7;

    width:
        min(
            1480px,
            90%
        );

    margin:
        80px auto 0;

    padding-top:
        25px;

    display: grid;

    grid-template-columns:
        auto 1fr auto;

    gap: 26px;

    align-items: center;

    border-top:
        1px solid
        rgba(255,255,255,.08);

}


.es-booking-bottom-brand {

    display: flex;

    flex-direction: column;

    gap: 4px;

}


.es-booking-bottom-brand span {

    color:
        var(--bk-gold);

    font-size:
        10px;

    font-weight:
        900;

    letter-spacing:
        .15em;

}


.es-booking-bottom-brand small {

    color:
        rgba(255,255,255,.22);

    font-size:
        5px;

    letter-spacing:
        .20em;

}


.es-booking-bottom-line {

    position: relative;

    height: 1px;

    overflow: hidden;

    background:
        rgba(255,255,255,.07);

}


.es-booking-bottom-line i {

    position: absolute;

    width: 18%;
    height: 100%;

    left: -20%;

    background:
        var(--bk-gold);

    animation:
        esBookingBottom
        3s
        ease-in-out
        infinite;

}


@keyframes esBookingBottom {

    to {
        left: 110%;
    }

}


.es-booking-bottom-copy {

    color:
        rgba(255,255,255,.22);

    font-size:
        6px;

    letter-spacing:
        .19em;

}


/* ==========================================================
   REVEAL
========================================================== */

.es-booking-reveal {

    opacity: 0;

    transform:
        translateY(38px);

    filter:
        blur(8px);

    transition:

        opacity .85s ease,

        transform
        .9s
        cubic-bezier(
            .16,
            1,
            .3,
            1
        ),

        filter .85s ease;

}


.es-booking-reveal.es-booking-visible {

    opacity: 1;

    transform:
        translateY(0);

    filter:
        blur(0);

}


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

@media
(max-width: 1100px) {

    .es-booking-container {

        grid-template-columns:
            1fr;

        gap: 70px;

    }


    .es-booking-copy {

        max-width:
            800px;

    }


    .es-booking-stage {

        min-height:
            700px;

    }


    .es-booking-console {

        width:
            min(
                650px,
                88vw
            );

    }

}


/* ==========================================================
   MOBILE
========================================================== */

@media
(max-width: 767px) {

    .es-booking {

        padding:
            90px 0
            55px;

    }


    .es-booking-container {

        width: 88%;

        gap: 55px;

    }


    .es-booking-kicker {

        font-size:
            7px;

        letter-spacing:
            .20em;

    }


    .es-booking-kicker > span {

        width: 25px;

    }


    .es-booking-title {

        font-size:
            clamp(
                48px,
                14vw,
                70px
            );

        line-height:
            .86;

    }


    .es-booking-intro {

        margin-top:
            27px;

    }


    .es-booking-intro p {

        font-size:
            13px;

    }


    .es-booking-info {

        margin-top:
            32px;

    }


    .es-booking-stage {

        min-height:
            auto;

        padding:
            20px 0;

    }


    .es-booking-console {

        width: 100%;

        padding:
            22px 17px;

    }


    .es-booking-console-top {

        gap: 10px;

    }


    .es-booking-console-top > span {

        display: none;

    }


    .es-event-options {

        grid-template-columns:
            1fr;

    }


    .es-booking-fields-row {

        grid-template-columns:
            1fr;

        gap: 0;

    }


    .es-booking-signal {

        grid-template-columns:
            1fr;

        gap: 11px;

    }


    .es-booking-floating {

        display: none;

    }


    .es-booking-orbit-a {

        width: 470px;
        height: 470px;

    }


    .es-booking-orbit-b {

        width: 570px;
        height: 570px;

    }


    .es-booking-radar {

        width: 450px;
        height: 450px;

        right: -270px;

    }


    .es-booking-bottom {

        width: 88%;

        margin-top:
            50px;

        grid-template-columns:
            auto 1fr;

    }


    .es-booking-bottom-copy {

        display: none;

    }

}


/* ==========================================================
   REDUCED MOTION
========================================================== */

@media
(prefers-reduced-motion: reduce) {

    .es-booking *,
    .es-booking *::before,
    .es-booking *::after {

        animation-duration:
            .001ms !important;

        animation-iteration-count:
            1 !important;

        transition-duration:
            .001ms !important;

    }

}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-298cec3 *//* ============================================================
   ENRY SOUND — MOBILE PERFORMANCE OVERRIDE
   Load AFTER all existing ENRY SOUND CSS.
   Goal: premium look, lower GPU/CPU cost on tablet/mobile.
============================================================ */

/* ---------- Core rendering / touch ---------- */
html {
    overflow-x: clip;
    scroll-behavior: smooth;
}

body {
    overflow-x: clip;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.es-hero,
.es-services,
.es-about,
.es-dna,
.es-flow,
.es-manifesto,
.es-booking,
.es-footer {
    -webkit-tap-highlight-color: transparent;
    touch-action: pan-y;
}

/* Below-the-fold sections: skip paint/layout until near viewport.
   Manifesto excluded because it uses sticky scroll choreography. */
.es-services,
.es-about,
.es-dna,
.es-flow,
.es-booking,
.es-footer {
    content-visibility: auto;
    contain-intrinsic-size: 900px;
}

/* Keep expensive composition hints only on elements that actually move. */
.es-hero *,
.es-services *,
.es-about *,
.es-dna *,
.es-flow *,
.es-booking *,
.es-footer * {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

/* ============================================================
   TABLET + MOBILE PERFORMANCE
============================================================ */
@media (max-width: 1024px) {

    /* Reduce huge GPU blur surfaces while keeping warm premium glow. */
    .es-bg-glow,
    .es-services-glow,
    .es-about-glow,
    .es-dna-glow,
    .es-booking-glow,
    .es-footer-glow,
    .es-manifesto-glow {
        filter: blur(70px) !important;
        opacity: .72;
    }

    /* Glass blur is expensive on mobile Safari/Chrome. */
    .es-bpm-card,
    .es-live-panel,
    .es-social-screen,
    .es-social-floating,
    .es-about-console,
    .es-dna-panel,
    .es-booking-console,
    .es-booking-floating,
    .es-footer-floating {
        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
        background-color: rgba(5,5,5,.88) !important;
    }

    /* Reduce shadow layers, preserve depth. */
    .es-console,
    .es-service-card,
    .es-social-screen,
    .es-booking-console,
    .es-footer-disc,
    .es-about-frame {
        box-shadow:
            0 24px 55px rgba(0,0,0,.48),
            0 0 34px rgba(229,184,76,.045) !important;
    }

    /* Slower, calmer decorative motion = premium rather than noisy. */
    .es-orbit,
    .es-ring,
    .es-social-orbit,
    .es-booking-orbit,
    .es-footer-orbit,
    .es-about-orbit,
    .es-dna-ring,
    .es-manifesto-energy-ring {
        animation-duration: 24s !important;
    }

    .es-waveform,
    .es-card-wave i,
    .es-master-eq i,
    .es-about-spectrum i,
    .es-booking-eq i,
    .es-footer-spectrum i,
    .es-flow-wave i,
    .es-dna-mini-eq i,
    .es-manifesto-wave i {
        box-shadow: none !important;
    }

    /* Reduce perspective complexity. */
    .es-visual,
    .es-dj-area,
    .es-social-stage,
    .es-booking-stage,
    .es-about-visual,
    .es-dna-stage {
        perspective: 900px !important;
    }

    /* Buttons / inputs feel instant. */
    .es-btn,
    .es-card-link,
    .es-about-instagram,
    .es-booking-submit,
    .es-footer-main-cta,
    .es-footer-top,
    .es-event-option,
    .es-dna-mode {
        transition-duration: .22s !important;
    }
}

/* ============================================================
   MOBILE <= 767px
============================================================ */
@media (max-width: 767px) {

    :root {
        --es-mobile-gutter: max(20px, 6vw);
    }

    /* ---------- Global section rhythm ---------- */
    .es-hero,
    .es-services,
    .es-about,
    .es-dna,
    .es-flow,
    .es-booking,
    .es-footer {
        width: 100%;
        max-width: 100%;
    }

    .es-services-container,
    .es-about-container,
    .es-dna-container,
    .es-flow-container,
    .es-booking-container,
    .es-footer-container,
    .es-footer-final {
        width: auto !important;
        margin-left: var(--es-mobile-gutter) !important;
        margin-right: var(--es-mobile-gutter) !important;
    }

    /* ---------- Remove most expensive cosmetic layers ---------- */
    .es-noise,
    .es-about-noise,
    .es-bg-grid,
    .es-services-grid,
    .es-about-grid,
    .es-booking-grid,
    .es-footer-grid {
        display: none !important;
    }

    /* Keep one cinematic light source, not several. */
    .es-stage-light-2,
    .es-laser-2,
    .es-laser-3,
    .es-about-beam-b,
    .es-booking-beam-b,
    .es-manifesto-beam-b,
    .es-manifesto-laser-b {
        display: none !important;
    }

    .es-bg-beam,
    .es-stage-light-1,
    .es-about-beam-a,
    .es-booking-beam-a,
    .es-footer-beam,
    .es-manifesto-beam-a,
    .es-manifesto-laser-a {
        filter: blur(12px) !important;
        opacity: .18 !important;
    }

    .es-bg-glow,
    .es-services-glow,
    .es-about-glow,
    .es-dna-glow,
    .es-booking-glow,
    .es-footer-glow,
    .es-manifesto-glow {
        filter: blur(48px) !important;
        opacity: .50 !important;
    }

    /* Limit ambient DOM particles created by JS. */
    .es-particle:nth-child(n+9),
    .es-ambient-particle:nth-child(n+9),
    .es-about-particle:nth-child(n+8) {
        display: none !important;
    }

    /* Hide secondary orbit layers; one ring keeps the premium 3D cue. */
    .es-orbit-2,
    .es-orbit-3,
    .es-ring-2,
    .es-ring-3,
    .es-social-orbit-b,
    .es-booking-orbit-b,
    .es-footer-orbit-b,
    .es-about-orbit-2,
    .es-dna-ring-3,
    .es-manifesto .es-mer-3 {
        display: none !important;
    }

    /* ---------- Hero ---------- */
    .es-hero {
        min-height: 100svh !important;
        height: auto;
        padding-top: env(safe-area-inset-top);
    }

    .es-hero .es-container {
        width: auto !important;
        min-height: 100svh !important;
        margin: 0 var(--es-mobile-gutter) !important;
        padding: clamp(92px, 15svh, 126px) 0 96px !important;
    }

    .es-hero .es-title {
        font-size: clamp(50px, 15.5vw, 72px) !important;
        line-height: .84 !important;
        letter-spacing: -.055em !important;
    }

    .es-hero .es-description,
    .es-hero .es-subtitle {
        width: 100% !important;
        max-width: 35rem !important;
        font-size: 14px !important;
        line-height: 1.58 !important;
    }

    .es-hero .es-actions {
        width: 100% !important;
        max-width: 360px !important;
        gap: 10px !important;
    }

    .es-hero .es-btn {
        min-height: 54px !important;
        padding-inline: 18px !important;
    }

    .es-hero .es-dj-area,
    .es-hero .es-visual {
        width: 104vw !important;
        right: -58vw !important;
        top: 18% !important;
        opacity: .24 !important;
        filter: none !important;
    }

    .es-hero .es-console {
        box-shadow: 0 24px 45px rgba(0,0,0,.70) !important;
    }

    .es-hero .es-bottom {
        left: var(--es-mobile-gutter) !important;
        right: var(--es-mobile-gutter) !important;
        bottom: max(18px, env(safe-area-inset-bottom)) !important;
    }

    /* ---------- Services ---------- */
    .es-services {
        padding: 82px 0 74px !important;
    }

    .es-services-title,
    .es-about-title,
    .es-dna-title,
    .es-flow-title,
    .es-booking-title,
    .es-footer-title {
        font-size: clamp(46px, 13.6vw, 68px) !important;
        line-height: .87 !important;
        letter-spacing: -.05em !important;
    }

    .es-service-deck {
        overscroll-behavior-x: contain;
        -webkit-overflow-scrolling: touch;
        scroll-padding-inline: var(--es-mobile-gutter);
        gap: 12px !important;
        padding-bottom: 18px !important;
    }

    .es-service-card {
        flex-basis: min(82vw, 315px) !important;
        min-height: 410px !important;
        padding: 20px !important;
        scroll-snap-stop: always;
        transform: none !important;
    }

    .es-service-card:hover {
        transform: none !important;
    }

    .es-card-light {
        display: none !important;
    }

    .es-card-icon {
        margin-top: 34px !important;
        width: 46px !important;
        height: 46px !important;
    }

    .es-card-content {
        margin-top: 30px !important;
    }

    .es-card-wave i:nth-child(even) {
        display: none !important;
    }

    /* ---------- About / Instagram ---------- */
    .es-about {
        padding: 82px 0 74px !important;
    }

    .es-about-container {
        gap: 48px !important;
    }

    .es-social-stage {
        min-height: 610px !important;
        perspective: none !important;
    }

    .es-social-screen {
        width: 100% !important;
        max-width: 520px !important;
        padding: 7px !important;
        transform: none !important;
        border-color: rgba(229,184,76,.18) !important;
    }

    .es-instagram-shell {
        min-height: 480px !important;
    }

    .es-instagram-scan,
    .es-social-meter,
    .es-social-floating {
        display: none !important;
    }

    .es-about-spectrum i:nth-child(even) {
        display: none !important;
    }

    /* ---------- Sound DNA ---------- */
    .es-dna {
        padding: 82px 0 !important;
    }

    .es-dna-stage {
        min-height: 470px !important;
        transform: none !important;
        perspective: none !important;
    }

    .es-dna-core {
        width: min(64vw, 250px) !important;
        box-shadow: 0 0 38px rgba(229,182,74,.08) !important;
    }

    .es-dna-radial {
        width: 315px !important;
        height: 315px !important;
    }

    .es-dna-radial i:nth-child(even) {
        display: none !important;
    }

    .es-dna-panel {
        width: min(170px, 44vw) !important;
        padding: 14px !important;
        background: rgba(4,4,4,.90) !important;
        box-shadow: 0 18px 40px rgba(0,0,0,.45) !important;
    }

    .es-dna-mode {
        min-height: 56px !important;
    }

    /* ---------- Event Flow ---------- */
    .es-flow {
        padding: 82px 0 !important;
    }

    .es-flow-timeline {
        margin-top: 54px !important;
        padding-left: 36px !important;
    }

    .es-flow-step {
        min-height: 128px !important;
        padding: 21px 0 !important;
    }

    .es-flow-step-content p {
        font-size: 12px !important;
        line-height: 1.52 !important;
    }

    .es-flow-step > strong {
        opacity: .7;
    }

    .es-flow-wave i:nth-child(even) {
        display: none !important;
    }

    /* ---------- Manifesto sticky ---------- */
    .es-manifesto {
        height: 225svh !important;
    }

    .es-manifesto-sticky {
        height: 100svh !important;
    }

    .es-manifesto-stage {
        width: auto !important;
        margin-inline: var(--es-mobile-gutter) !important;
        transform: none !important;
    }

    .es-manifesto-title {
        font-size: clamp(56px, 17vw, 82px) !important;
        line-height: .79 !important;
        letter-spacing: -.06em !important;
    }

    .es-manifesto-copy {
        width: 82% !important;
        max-width: 330px !important;
    }

    .es-manifesto-energy {
        width: 290px !important;
        right: -50% !important;
        opacity: .20 !important;
        transform: none !important;
    }

    .es-manifesto-wave i:nth-child(even) {
        display: none !important;
    }

    .es-manifesto-flash {
        opacity: 0 !important;
        animation: none !important;
    }

    /* ---------- Booking ---------- */
    .es-booking {
        padding: 82px 0 52px !important;
    }

    .es-booking-container {
        gap: 48px !important;
    }

    .es-booking-stage {
        padding: 0 !important;
        perspective: none !important;
    }

    .es-booking-console {
        width: 100% !important;
        padding: 20px 16px !important;
        transform: none !important;
        box-shadow: 0 24px 52px rgba(0,0,0,.48) !important;
    }

    .es-booking-input,
    .es-booking-textarea,
    .es-event-option {
        font-size: 16px !important; /* Prevent iOS auto-zoom */
    }

    .es-booking-input {
        height: 50px !important;
    }

    .es-booking-textarea {
        min-height: 96px !important;
    }

    .es-event-option {
        min-height: 48px !important;
        font-size: 11px !important;
    }

    .es-booking-submit {
        min-height: 58px !important;
        font-size: 10px !important;
    }

    .es-booking-eq i:nth-child(even) {
        display: none !important;
    }

    .es-booking-radar {
        opacity: .35 !important;
    }

    /* ---------- Footer ---------- */
    .es-footer {
        padding-top: 82px !important;
        padding-bottom: max(24px, env(safe-area-inset-bottom)) !important;
    }

    .es-footer-closing {
        padding-bottom: 55px !important;
    }

    .es-footer-brand-zone {
        padding: 56px 0 !important;
        gap: 35px !important;
    }

    .es-footer-disc-stage {
        width: min(70vw, 260px) !important;
        transform: none !important;
        perspective: none !important;
    }

    .es-footer-disc {
        animation-duration: 30s !important;
        box-shadow: 0 24px 45px rgba(0,0,0,.62) !important;
    }

    .es-footer-wordmark span,
    .es-footer-wordmark strong {
        font-size: clamp(72px, 23vw, 105px) !important;
    }

    .es-footer-links {
        gap: 38px !important;
        padding: 48px 0 !important;
    }

    .es-footer-spectrum i:nth-child(even) {
        display: none !important;
    }

    /* ---------- Touch targets ---------- */
    .es-btn,
    .es-card-link,
    .es-about-instagram,
    .es-booking-info-row,
    .es-footer-column a,
    .es-footer-main-cta,
    .es-footer-top,
    .es-dna-mode,
    .es-event-option {
        min-height: 44px;
    }

    /* ---------- Avoid hover-only effects getting stuck on touch ---------- */
    .es-service-card:hover,
    .es-about-feature:hover,
    .es-btn:hover,
    .es-card-link:hover,
    .es-about-instagram:hover,
    .es-footer-main-cta:hover,
    .es-footer-top:hover {
        translate: none !important;
    }
}

/* ============================================================
   SMALL PHONES <= 430px
============================================================ */
@media (max-width: 430px) {

    :root {
        --es-mobile-gutter: 18px;
    }

    .es-hero .es-title,
    .es-services-title,
    .es-about-title,
    .es-dna-title,
    .es-flow-title,
    .es-booking-title,
    .es-footer-title {
        hyphens: none;
        overflow-wrap: normal;
        word-break: normal;
    }

    .es-service-card {
        flex-basis: 84vw !important;
    }

    .es-booking-console-top > span,
    .es-social-data span:last-child,
    .es-footer-track-data span:nth-child(2) {
        display: none !important;
    }

    .es-manifesto-copy {
        width: 90% !important;
    }
}

/* ============================================================
   TOUCH / COARSE POINTER — regardless of width
============================================================ */
@media (hover: none), (pointer: coarse) {

    .es-card-light,
    .es-instagram-scan {
        display: none !important;
    }

    .es-service-card,
    .es-social-screen,
    .es-booking-console,
    .es-dna-stage,
    .es-manifesto-stage,
    .es-footer-disc-stage {
        transform: none !important;
    }

    .es-btn,
    .es-card-link,
    .es-event-option,
    .es-dna-mode,
    .es-booking-submit,
    .es-footer-main-cta {
        cursor: pointer;
    }
}

/* ============================================================
   REDUCED MOTION / ACCESSIBILITY
============================================================ */
@media (prefers-reduced-motion: reduce) {

    html {
        scroll-behavior: auto;
    }

    .es-hero *,
    .es-services *,
    .es-about *,
    .es-dna *,
    .es-flow *,
    .es-manifesto *,
    .es-booking *,
    .es-footer * {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
        scroll-behavior: auto !important;
    }

    .es-manifesto {
        height: auto !important;
        min-height: 100svh;
    }

    .es-manifesto-sticky {
        position: relative !important;
        height: auto !important;
        min-height: 100svh;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-59728d6 *//* =========================================================
   ENRY SOUND — EVENT FLOW
========================================================= */

.es-flow {

    --flow-gold: #e5b84c;
    --flow-hi: #ffe69c;
    --flow: 0;

    position: relative;

    overflow: hidden;

    padding:
        clamp(105px,11vw,170px)
        0;

    background:
        #020202;

    color: white;

    isolation: isolate;

    font-family:
        Arial,
        Helvetica,
        sans-serif;
}


.es-flow-world {

    position: absolute;

    inset: 0;

    z-index: -5;

    background:

        radial-gradient(
            circle at 75% 48%,
            rgba(224,167,52,.08),
            transparent 31%
        ),

        linear-gradient(
            180deg,
            #020202,
            #070605 50%,
            #020202
        );
}


.es-flow-glow {

    position: absolute;

    width: 500px;
    height: 500px;

    right: -150px;
    top: 30%;

    border-radius: 50%;

    filter:
        blur(130px);

    background:
        rgba(229,184,76,.09);
}


.es-flow-container {

    width:
        min(1400px,90%);

    margin: auto;
}


/* HEADER */

.es-flow-kicker {

    display: flex;

    gap: 13px;

    align-items: center;

    margin-bottom: 25px;

    color:
        var(--flow-gold);

    font-size: 8px;

    font-weight: 800;

    letter-spacing: .3em;
}


.es-flow-kicker > span {

    width: 40px;
    height: 1px;

    background:
        var(--flow-gold);
}


.es-flow-kicker small {

    margin-left: auto;

    color:
        rgba(255,255,255,.17);
}


.es-flow-title {

    margin: 0;

    max-width: 1100px;

    font-size:
        clamp(57px,6.8vw,116px);

    line-height: .81;

    letter-spacing: -.065em;

    font-weight: 900;
}


.es-flow-title > span {
    display: block;
}


.es-flow-outline {

    color: transparent;

    -webkit-text-stroke:
        1px
        rgba(255,255,255,.48);
}


.es-flow-gold {

    color: transparent;

    width: fit-content;

    background:

        linear-gradient(
            105deg,
            #946019,
            #dea940,
            #ffe59a,
            #a96d1c
        );

    background-clip: text;

    -webkit-background-clip: text;
}


/* TIMELINE */

.es-flow-timeline {

    position: relative;

    margin-top:
        clamp(70px,8vw,115px);

    padding-left: 70px;
}


.es-flow-progress {

    position: absolute;

    left: 16px;

    top: 20px;
    bottom: 20px;

    width: 1px;

    background:
        rgba(255,255,255,.09);
}


.es-flow-progress i {

    position: absolute;

    left: 0;
    top: 0;

    width: 100%;
    height: 0;

    background:

        linear-gradient(
            to bottom,
            var(--flow-hi),
            #9c6518
        );

    box-shadow:
        0 0 10px
        rgba(229,184,76,.45);
}


/* STEP */

.es-flow-step {

    position: relative;

    min-height: 165px;

    display: grid;

    grid-template-columns:
        50px 1fr auto;

    gap: 30px;

    align-items: center;

    padding:
        24px 0;

    border-bottom:
        1px solid
        rgba(255,255,255,.07);

    opacity: .25;

    transform:
        translateX(18px);

    transition:
        opacity .6s ease,
        transform .6s ease,
        border-color .6s ease;
}


.es-flow-step::before {

    content: "";

    position: absolute;

    left: -58px;

    top: 50%;

    width: 9px;
    height: 9px;

    transform:
        translateY(-50%);

    border-radius: 50%;

    border:
        1px solid
        rgba(229,184,76,.4);

    background: #030303;

    transition: .5s ease;
}


.es-flow-step.es-active {

    opacity: 1;

    transform:
        translateX(0);

    border-color:
        rgba(229,184,76,.18);
}


.es-flow-step.es-active::before {

    background:
        var(--flow-gold);

    box-shadow:

        0 0 15px
        rgba(229,184,76,.85),

        0 0 35px
        rgba(229,184,76,.25);
}


.es-flow-index {

    color:
        rgba(229,184,76,.45);

    font-size: 7px;

    letter-spacing: .15em;
}


.es-flow-step-content small {

    color:
        var(--flow-gold);

    font-size: 6px;

    letter-spacing: .22em;
}


.es-flow-step-content h3 {

    margin:
        8px 0 0;

    color:
        rgba(255,255,255,.92);

    font-size:
        clamp(25px,3vw,45px);

    letter-spacing: -.04em;
}


.es-flow-step-content p {

    max-width: 580px;

    margin:
        10px 0 0;

    color:
        rgba(255,255,255,.40);

    font-size: 12px;

    line-height: 1.6;
}


.es-flow-step > strong {

    color: transparent;

    -webkit-text-stroke:
        1px
        rgba(255,255,255,.10);

    font-size:
        clamp(50px,6vw,90px);

    font-weight: 900;
}


/* FOOT */

.es-flow-footer {

    min-height: 90px;

    margin-top: 45px;

    display: grid;

    grid-template-columns:
        auto 1fr auto;

    gap: 30px;

    align-items: center;

    color:
        rgba(255,255,255,.26);

    font-size: 6px;

    letter-spacing: .2em;
}


.es-flow-wave {

    height: 30px;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 4px;
}


.es-flow-wave i {

    width: 2px;

    height: 20%;

    background:
        var(--flow-gold);

    animation:
        esFlowWave
        .55s
        ease-in-out
        infinite alternate;
}


.es-flow-wave i:nth-child(2n) {
    animation-duration: .32s;
}

.es-flow-wave i:nth-child(3n) {
    animation-duration: .78s;
}


@keyframes esFlowWave {

    to {
        height: 100%;
    }
}


/* REVEAL */

.es-flow-reveal {

    opacity: 0;

    transform:
        translateY(35px);

    filter:
        blur(8px);

    transition:
        .85s
        cubic-bezier(.16,1,.3,1);
}


.es-flow-visible {

    opacity: 1;

    transform:
        translateY(0);

    filter:
        blur(0);
}


/* MOBILE */

@media (max-width: 767px) {

    .es-flow {

        padding:
            85px 0;
    }


    .es-flow-container {

        width: 88%;
    }


    .es-flow-title {

        font-size:
            clamp(48px,14vw,70px);
    }


    .es-flow-timeline {

        padding-left: 42px;

        margin-top: 65px;
    }


    .es-flow-progress {

        left: 6px;
    }


    .es-flow-step {

        min-height: 145px;

        grid-template-columns:
            1fr;

        gap: 5px;

        padding:
            25px 0;
    }


    .es-flow-step::before {

        left: -40px;
    }


    .es-flow-index {

        display: none;
    }


    .es-flow-step > strong {

        position: absolute;

        right: 0;
        top: 18px;

        font-size: 48px;
    }


    .es-flow-step-content {

        padding-right: 55px;
    }


    .es-flow-footer {

        grid-template-columns:
            1fr;

        gap: 15px;
    }


    .es-flow-footer > span:last-child {

        text-align: right;
    }

}
/* ============================================================
   ENRY SOUND — MOBILE PERFORMANCE OVERRIDE
   Load AFTER all existing ENRY SOUND CSS.
   Goal: premium look, lower GPU/CPU cost on tablet/mobile.
============================================================ */

/* ---------- Core rendering / touch ---------- */
html {
    overflow-x: clip;
    scroll-behavior: smooth;
}

body {
    overflow-x: clip;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.es-hero,
.es-services,
.es-about,
.es-dna,
.es-flow,
.es-manifesto,
.es-booking,
.es-footer {
    -webkit-tap-highlight-color: transparent;
    touch-action: pan-y;
}

/* Below-the-fold sections: skip paint/layout until near viewport.
   Manifesto excluded because it uses sticky scroll choreography. */
.es-services,
.es-about,
.es-dna,
.es-flow,
.es-booking,
.es-footer {
    content-visibility: auto;
    contain-intrinsic-size: 900px;
}

/* Keep expensive composition hints only on elements that actually move. */
.es-hero *,
.es-services *,
.es-about *,
.es-dna *,
.es-flow *,
.es-booking *,
.es-footer * {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

/* ============================================================
   TABLET + MOBILE PERFORMANCE
============================================================ */
@media (max-width: 1024px) {

    /* Reduce huge GPU blur surfaces while keeping warm premium glow. */
    .es-bg-glow,
    .es-services-glow,
    .es-about-glow,
    .es-dna-glow,
    .es-booking-glow,
    .es-footer-glow,
    .es-manifesto-glow {
        filter: blur(70px) !important;
        opacity: .72;
    }

    /* Glass blur is expensive on mobile Safari/Chrome. */
    .es-bpm-card,
    .es-live-panel,
    .es-social-screen,
    .es-social-floating,
    .es-about-console,
    .es-dna-panel,
    .es-booking-console,
    .es-booking-floating,
    .es-footer-floating {
        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
        background-color: rgba(5,5,5,.88) !important;
    }

    /* Reduce shadow layers, preserve depth. */
    .es-console,
    .es-service-card,
    .es-social-screen,
    .es-booking-console,
    .es-footer-disc,
    .es-about-frame {
        box-shadow:
            0 24px 55px rgba(0,0,0,.48),
            0 0 34px rgba(229,184,76,.045) !important;
    }

    /* Slower, calmer decorative motion = premium rather than noisy. */
    .es-orbit,
    .es-ring,
    .es-social-orbit,
    .es-booking-orbit,
    .es-footer-orbit,
    .es-about-orbit,
    .es-dna-ring,
    .es-manifesto-energy-ring {
        animation-duration: 24s !important;
    }

    .es-waveform,
    .es-card-wave i,
    .es-master-eq i,
    .es-about-spectrum i,
    .es-booking-eq i,
    .es-footer-spectrum i,
    .es-flow-wave i,
    .es-dna-mini-eq i,
    .es-manifesto-wave i {
        box-shadow: none !important;
    }

    /* Reduce perspective complexity. */
    .es-visual,
    .es-dj-area,
    .es-social-stage,
    .es-booking-stage,
    .es-about-visual,
    .es-dna-stage {
        perspective: 900px !important;
    }

    /* Buttons / inputs feel instant. */
    .es-btn,
    .es-card-link,
    .es-about-instagram,
    .es-booking-submit,
    .es-footer-main-cta,
    .es-footer-top,
    .es-event-option,
    .es-dna-mode {
        transition-duration: .22s !important;
    }
}

/* ============================================================
   MOBILE <= 767px
============================================================ */
@media (max-width: 767px) {

    :root {
        --es-mobile-gutter: max(20px, 6vw);
    }

    /* ---------- Global section rhythm ---------- */
    .es-hero,
    .es-services,
    .es-about,
    .es-dna,
    .es-flow,
    .es-booking,
    .es-footer {
        width: 100%;
        max-width: 100%;
    }

    .es-services-container,
    .es-about-container,
    .es-dna-container,
    .es-flow-container,
    .es-booking-container,
    .es-footer-container,
    .es-footer-final {
        width: auto !important;
        margin-left: var(--es-mobile-gutter) !important;
        margin-right: var(--es-mobile-gutter) !important;
    }

    /* ---------- Remove most expensive cosmetic layers ---------- */
    .es-noise,
    .es-about-noise,
    .es-bg-grid,
    .es-services-grid,
    .es-about-grid,
    .es-booking-grid,
    .es-footer-grid {
        display: none !important;
    }

    /* Keep one cinematic light source, not several. */
    .es-stage-light-2,
    .es-laser-2,
    .es-laser-3,
    .es-about-beam-b,
    .es-booking-beam-b,
    .es-manifesto-beam-b,
    .es-manifesto-laser-b {
        display: none !important;
    }

    .es-bg-beam,
    .es-stage-light-1,
    .es-about-beam-a,
    .es-booking-beam-a,
    .es-footer-beam,
    .es-manifesto-beam-a,
    .es-manifesto-laser-a {
        filter: blur(12px) !important;
        opacity: .18 !important;
    }

    .es-bg-glow,
    .es-services-glow,
    .es-about-glow,
    .es-dna-glow,
    .es-booking-glow,
    .es-footer-glow,
    .es-manifesto-glow {
        filter: blur(48px) !important;
        opacity: .50 !important;
    }

    /* Limit ambient DOM particles created by JS. */
    .es-particle:nth-child(n+9),
    .es-ambient-particle:nth-child(n+9),
    .es-about-particle:nth-child(n+8) {
        display: none !important;
    }

    /* Hide secondary orbit layers; one ring keeps the premium 3D cue. */
    .es-orbit-2,
    .es-orbit-3,
    .es-ring-2,
    .es-ring-3,
    .es-social-orbit-b,
    .es-booking-orbit-b,
    .es-footer-orbit-b,
    .es-about-orbit-2,
    .es-dna-ring-3,
    .es-manifesto .es-mer-3 {
        display: none !important;
    }

    /* ---------- Hero ---------- */
    .es-hero {
        min-height: 100svh !important;
        height: auto;
        padding-top: env(safe-area-inset-top);
    }

    .es-hero .es-container {
        width: auto !important;
        min-height: 100svh !important;
        margin: 0 var(--es-mobile-gutter) !important;
        padding: clamp(92px, 15svh, 126px) 0 96px !important;
    }

    .es-hero .es-title {
        font-size: clamp(50px, 15.5vw, 72px) !important;
        line-height: .84 !important;
        letter-spacing: -.055em !important;
    }

    .es-hero .es-description,
    .es-hero .es-subtitle {
        width: 100% !important;
        max-width: 35rem !important;
        font-size: 14px !important;
        line-height: 1.58 !important;
    }

    .es-hero .es-actions {
        width: 100% !important;
        max-width: 360px !important;
        gap: 10px !important;
    }

    .es-hero .es-btn {
        min-height: 54px !important;
        padding-inline: 18px !important;
    }

    .es-hero .es-dj-area,
    .es-hero .es-visual {
        width: 104vw !important;
        right: -58vw !important;
        top: 18% !important;
        opacity: .24 !important;
        filter: none !important;
    }

    .es-hero .es-console {
        box-shadow: 0 24px 45px rgba(0,0,0,.70) !important;
    }

    .es-hero .es-bottom {
        left: var(--es-mobile-gutter) !important;
        right: var(--es-mobile-gutter) !important;
        bottom: max(18px, env(safe-area-inset-bottom)) !important;
    }

    /* ---------- Services ---------- */
    .es-services {
        padding: 82px 0 74px !important;
    }

    .es-services-title,
    .es-about-title,
    .es-dna-title,
    .es-flow-title,
    .es-booking-title,
    .es-footer-title {
        font-size: clamp(46px, 13.6vw, 68px) !important;
        line-height: .87 !important;
        letter-spacing: -.05em !important;
    }

    .es-service-deck {
        overscroll-behavior-x: contain;
        -webkit-overflow-scrolling: touch;
        scroll-padding-inline: var(--es-mobile-gutter);
        gap: 12px !important;
        padding-bottom: 18px !important;
    }

    .es-service-card {
        flex-basis: min(82vw, 315px) !important;
        min-height: 410px !important;
        padding: 20px !important;
        scroll-snap-stop: always;
        transform: none !important;
    }

    .es-service-card:hover {
        transform: none !important;
    }

    .es-card-light {
        display: none !important;
    }

    .es-card-icon {
        margin-top: 34px !important;
        width: 46px !important;
        height: 46px !important;
    }

    .es-card-content {
        margin-top: 30px !important;
    }

    .es-card-wave i:nth-child(even) {
        display: none !important;
    }

    /* ---------- About / Instagram ---------- */
    .es-about {
        padding: 82px 0 74px !important;
    }

    .es-about-container {
        gap: 48px !important;
    }

    .es-social-stage {
        min-height: 610px !important;
        perspective: none !important;
    }

    .es-social-screen {
        width: 100% !important;
        max-width: 520px !important;
        padding: 7px !important;
        transform: none !important;
        border-color: rgba(229,184,76,.18) !important;
    }

    .es-instagram-shell {
        min-height: 480px !important;
    }

    .es-instagram-scan,
    .es-social-meter,
    .es-social-floating {
        display: none !important;
    }

    .es-about-spectrum i:nth-child(even) {
        display: none !important;
    }

    /* ---------- Sound DNA ---------- */
    .es-dna {
        padding: 82px 0 !important;
    }

    .es-dna-stage {
        min-height: 470px !important;
        transform: none !important;
        perspective: none !important;
    }

    .es-dna-core {
        width: min(64vw, 250px) !important;
        box-shadow: 0 0 38px rgba(229,182,74,.08) !important;
    }

    .es-dna-radial {
        width: 315px !important;
        height: 315px !important;
    }

    .es-dna-radial i:nth-child(even) {
        display: none !important;
    }

    .es-dna-panel {
        width: min(170px, 44vw) !important;
        padding: 14px !important;
        background: rgba(4,4,4,.90) !important;
        box-shadow: 0 18px 40px rgba(0,0,0,.45) !important;
    }

    .es-dna-mode {
        min-height: 56px !important;
    }

    /* ---------- Event Flow ---------- */
    .es-flow {
        padding: 82px 0 !important;
    }

    .es-flow-timeline {
        margin-top: 54px !important;
        padding-left: 36px !important;
    }

    .es-flow-step {
        min-height: 128px !important;
        padding: 21px 0 !important;
    }

    .es-flow-step-content p {
        font-size: 12px !important;
        line-height: 1.52 !important;
    }

    .es-flow-step > strong {
        opacity: .7;
    }

    .es-flow-wave i:nth-child(even) {
        display: none !important;
    }

    /* ---------- Manifesto sticky ---------- */
    .es-manifesto {
        height: 225svh !important;
    }

    .es-manifesto-sticky {
        height: 100svh !important;
    }

    .es-manifesto-stage {
        width: auto !important;
        margin-inline: var(--es-mobile-gutter) !important;
        transform: none !important;
    }

    .es-manifesto-title {
        font-size: clamp(56px, 17vw, 82px) !important;
        line-height: .79 !important;
        letter-spacing: -.06em !important;
    }

    .es-manifesto-copy {
        width: 82% !important;
        max-width: 330px !important;
    }

    .es-manifesto-energy {
        width: 290px !important;
        right: -50% !important;
        opacity: .20 !important;
        transform: none !important;
    }

    .es-manifesto-wave i:nth-child(even) {
        display: none !important;
    }

    .es-manifesto-flash {
        opacity: 0 !important;
        animation: none !important;
    }

    /* ---------- Booking ---------- */
    .es-booking {
        padding: 82px 0 52px !important;
    }

    .es-booking-container {
        gap: 48px !important;
    }

    .es-booking-stage {
        padding: 0 !important;
        perspective: none !important;
    }

    .es-booking-console {
        width: 100% !important;
        padding: 20px 16px !important;
        transform: none !important;
        box-shadow: 0 24px 52px rgba(0,0,0,.48) !important;
    }

    .es-booking-input,
    .es-booking-textarea,
    .es-event-option {
        font-size: 16px !important; /* Prevent iOS auto-zoom */
    }

    .es-booking-input {
        height: 50px !important;
    }

    .es-booking-textarea {
        min-height: 96px !important;
    }

    .es-event-option {
        min-height: 48px !important;
        font-size: 11px !important;
    }

    .es-booking-submit {
        min-height: 58px !important;
        font-size: 10px !important;
    }

    .es-booking-eq i:nth-child(even) {
        display: none !important;
    }

    .es-booking-radar {
        opacity: .35 !important;
    }

    /* ---------- Footer ---------- */
    .es-footer {
        padding-top: 82px !important;
        padding-bottom: max(24px, env(safe-area-inset-bottom)) !important;
    }

    .es-footer-closing {
        padding-bottom: 55px !important;
    }

    .es-footer-brand-zone {
        padding: 56px 0 !important;
        gap: 35px !important;
    }

    .es-footer-disc-stage {
        width: min(70vw, 260px) !important;
        transform: none !important;
        perspective: none !important;
    }

    .es-footer-disc {
        animation-duration: 30s !important;
        box-shadow: 0 24px 45px rgba(0,0,0,.62) !important;
    }

    .es-footer-wordmark span,
    .es-footer-wordmark strong {
        font-size: clamp(72px, 23vw, 105px) !important;
    }

    .es-footer-links {
        gap: 38px !important;
        padding: 48px 0 !important;
    }

    .es-footer-spectrum i:nth-child(even) {
        display: none !important;
    }

    /* ---------- Touch targets ---------- */
    .es-btn,
    .es-card-link,
    .es-about-instagram,
    .es-booking-info-row,
    .es-footer-column a,
    .es-footer-main-cta,
    .es-footer-top,
    .es-dna-mode,
    .es-event-option {
        min-height: 44px;
    }

    /* ---------- Avoid hover-only effects getting stuck on touch ---------- */
    .es-service-card:hover,
    .es-about-feature:hover,
    .es-btn:hover,
    .es-card-link:hover,
    .es-about-instagram:hover,
    .es-footer-main-cta:hover,
    .es-footer-top:hover {
        translate: none !important;
    }
}

/* ============================================================
   SMALL PHONES <= 430px
============================================================ */
@media (max-width: 430px) {

    :root {
        --es-mobile-gutter: 18px;
    }

    .es-hero .es-title,
    .es-services-title,
    .es-about-title,
    .es-dna-title,
    .es-flow-title,
    .es-booking-title,
    .es-footer-title {
        hyphens: none;
        overflow-wrap: normal;
        word-break: normal;
    }

    .es-service-card {
        flex-basis: 84vw !important;
    }

    .es-booking-console-top > span,
    .es-social-data span:last-child,
    .es-footer-track-data span:nth-child(2) {
        display: none !important;
    }

    .es-manifesto-copy {
        width: 90% !important;
    }
}

/* ============================================================
   TOUCH / COARSE POINTER — regardless of width
============================================================ */
@media (hover: none), (pointer: coarse) {

    .es-card-light,
    .es-instagram-scan {
        display: none !important;
    }

    .es-service-card,
    .es-social-screen,
    .es-booking-console,
    .es-dna-stage,
    .es-manifesto-stage,
    .es-footer-disc-stage {
        transform: none !important;
    }

    .es-btn,
    .es-card-link,
    .es-event-option,
    .es-dna-mode,
    .es-booking-submit,
    .es-footer-main-cta {
        cursor: pointer;
    }
}

/* ============================================================
   REDUCED MOTION / ACCESSIBILITY
============================================================ */
@media (prefers-reduced-motion: reduce) {

    html {
        scroll-behavior: auto;
    }

    .es-hero *,
    .es-services *,
    .es-about *,
    .es-dna *,
    .es-flow *,
    .es-manifesto *,
    .es-booking *,
    .es-footer * {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
        scroll-behavior: auto !important;
    }

    .es-manifesto {
        height: auto !important;
        min-height: 100svh;
    }

    .es-manifesto-sticky {
        position: relative !important;
        height: auto !important;
        min-height: 100svh;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-a382330 *//* ==========================================================
   ENRY SOUND — CLOSING TRACK FOOTER
========================================================== */

.es-footer {

    --ft-gold: #e5b84c;
    --ft-gold-hi: #ffe69b;
    --ft-purple: #6e2daa;

    --footer-progress: 0;
    --footer-audio: 1;

    position: relative;

    width: 100%;

    overflow: hidden;

    padding:
        120px
        0
        35px;

    background:
        #010101;

    color:
        #f4f1eb;

    isolation:
        isolate;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

}


/* ==========================================================
   WORLD
========================================================== */

.es-footer-world {

    position: absolute;

    inset: 0;

    z-index: -10;

    overflow: hidden;

    background:

        radial-gradient(
            circle at 70% 42%,
            rgba(215,157,43,.10),
            transparent 27%
        ),

        radial-gradient(
            circle at 20% 60%,
            rgba(100,43,157,.06),
            transparent 28%
        ),

        linear-gradient(
            180deg,
            #040403,
            #010101 62%,
            #000
        );

}


/* ==========================================================
   GLOW
========================================================== */

.es-footer-glow {

    position: absolute;

    border-radius: 50%;

    filter:
        blur(130px);

    mix-blend-mode:
        screen;

    pointer-events:
        none;

    will-change:
        transform;

}


.es-footer-glow-a {

    width:
        600px;

    height:
        600px;

    left:
        -180px;

    top:
        15%;

    background:
        rgba(111,44,171,.08);

}


.es-footer-glow-b {

    width:
        650px;

    height:
        650px;

    right:
        -130px;

    top:
        2%;

    background:
        rgba(229,184,76,.10);

}


/* ==========================================================
   GRID
========================================================== */

.es-footer-grid {

    position: absolute;

    inset: 0;

    opacity:

        calc(
            .06
            *
            var(--footer-audio)
        );

    background-image:

        linear-gradient(
            rgba(255,255,255,.04) 1px,
            transparent 1px
        ),

        linear-gradient(
            90deg,
            rgba(255,255,255,.04) 1px,
            transparent 1px
        );

    background-size:
        80px 80px;

    -webkit-mask-image:

        linear-gradient(
            to bottom,
            black,
            transparent 82%
        );

}


/* ==========================================================
   BEAM
========================================================== */

.es-footer-beam {

    position: absolute;

    width:
        180px;

    height:
        120%;

    right:
        22%;

    top:
        -20%;

    transform:
        rotate(19deg);

    transform-origin:
        top center;

    background:

        linear-gradient(
            90deg,
            transparent,
            rgba(255,217,120,.12),
            transparent
        );

    filter:
        blur(24px);

    opacity:

        calc(
            .38
            *
            var(--footer-audio)
        );

    transition:
        opacity .3s ease;

}


/* ==========================================================
   VIGNETTE
========================================================== */

.es-footer-vignette {

    position: absolute;

    inset: 0;

    box-shadow:

        inset
        0
        -180px
        180px
        rgba(0,0,0,.75);

}


/* ==========================================================
   TOP SPECTRUM
========================================================== */

.es-footer-spectrum {

    position: absolute;

    left: 0;
    right: 0;

    top: 0;

    height:
        58px;

    display: flex;

    align-items: flex-start;

    gap:
        4px;

    overflow: hidden;

    opacity:

        calc(
            .55
            *
            var(--footer-audio)
        );

    -webkit-mask-image:

        linear-gradient(
            90deg,
            transparent,
            black 10%,
            black 90%,
            transparent
        );

}


.es-footer-spectrum i {

    --footer-bar-height: 50%;

    flex: 1;

    height:
        10%;

    background:

        linear-gradient(
            to bottom,
            var(--ft-gold-hi),
            rgba(229,184,76,.10)
        );

    animation:

        esFooterSpectrum
        .55s
        ease-in-out
        infinite alternate;

}


@keyframes esFooterSpectrum {

    to {

        height:

            calc(
                var(--footer-bar-height)
                *
                var(--footer-audio)
            );

    }

}


/* ==========================================================
   CONTAINER
========================================================== */

.es-footer-container {

    position: relative;

    z-index: 5;

    width:
        min(
            1480px,
            90%
        );

    margin:
        0 auto;

}


/* ==========================================================
   CLOSING
========================================================== */

.es-footer-closing {

    padding-bottom:
        90px;

    border-bottom:

        1px solid
        rgba(255,255,255,.08);

}


/* kicker */

.es-footer-kicker {

    display: flex;

    align-items: center;

    gap:
        13px;

    margin-bottom:
        27px;

    color:
        var(--ft-gold);

    font-size:
        8px;

    font-weight:
        800;

    letter-spacing:
        .30em;

}


.es-footer-kicker > span {

    width:
        41px;

    height:
        1px;

    background:
        var(--ft-gold);

}


.es-footer-kicker small {

    margin-left:
        auto;

    color:
        rgba(255,255,255,.16);

}


/* ==========================================================
   TITLE
========================================================== */

.es-footer-title {

    margin: 0;

    max-width:
        1250px;

    font-size:

        clamp(
            61px,
            7.7vw,
            135px
        );

    line-height:
        .78;

    letter-spacing:
        -.07em;

    font-weight:
        900;

}


.es-footer-title > span {

    display:
        block;

}


.es-footer-outline {

    color:
        transparent;

    -webkit-text-stroke:

        1px
        rgba(255,255,255,.48);

}


.es-footer-gold {

    width:
        fit-content;

    color:
        transparent;

    background:

        linear-gradient(
            105deg,
            #925c18,
            #daa63b 28%,
            #ffe59a 52%,
            #ad701c
        );

    background-clip:
        text;

    -webkit-background-clip:
        text;

}


/* ==========================================================
   CLOSING ROW
========================================================== */

.es-footer-closing-row {

    margin-top:
        45px;

    display: flex;

    justify-content:
        space-between;

    align-items:
        flex-end;

    gap:
        40px;

}


.es-footer-description {

    max-width:
        530px;

    margin: 0;

    color:
        rgba(255,255,255,.48);

    font-size:

        clamp(
            14px,
            1vw,
            17px
        );

    line-height:
        1.72;

}


.es-footer-description strong {

    color:
        rgba(255,255,255,.88);

    font-weight:
        500;

}


/* ==========================================================
   MAIN CTA
========================================================== */

.es-footer-main-cta {

    position: relative;

    min-width:
        285px;

    min-height:
        62px;

    padding:
        0 24px;

    overflow:
        hidden;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        20px;

    color:
        #060606 !important;

    background:

        linear-gradient(
            115deg,
            #a26a1d,
            #e4b649 42%,
            #f5d77a 61%,
            #a76c1c
        );

    box-shadow:

        0 15px 50px
        rgba(216,159,43,.16);

    text-decoration:
        none !important;

    font-size:
        8px;

    font-weight:
        900;

    letter-spacing:
        .16em;

    transition:
        transform .3s ease,
        box-shadow .3s ease;

}


.es-footer-main-cta:hover {

    transform:
        translateY(-4px);

    box-shadow:

        0 22px 65px
        rgba(216,159,43,.31);

}


.es-footer-main-cta b {

    font-size:
        20px;

    font-weight:
        400;

}


.es-footer-cta-light {

    position: absolute;

    left: -90px;
    top: -50%;

    width: 55px;
    height: 200%;

    transform:
        rotate(20deg);

    background:

        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.7),
            transparent
        );

    transition:
        left .7s ease;

}


.es-footer-main-cta:hover
.es-footer-cta-light {

    left:
        120%;

}


/* ==========================================================
   BRAND ZONE
========================================================== */

.es-footer-brand-zone {

    min-height:
        520px;

    position: relative;

    display: grid;

    grid-template-columns:
        .8fr 1.2fr;

    align-items:
        center;

    gap:
        50px;

    border-bottom:

        1px solid
        rgba(255,255,255,.08);

}


/* ==========================================================
   DISC STAGE
========================================================== */

.es-footer-disc-stage {

    position: relative;

    width:
        min(
            430px,
            34vw
        );

    aspect-ratio:
        1;

    display: flex;

    align-items: center;

    justify-content: center;

    perspective:
        1200px;

    transform-style:
        preserve-3d;

    will-change:
        transform;

}


/* ==========================================================
   DISC
========================================================== */

.es-footer-disc {

    position: relative;

    z-index: 4;

    width:
        67%;

    aspect-ratio:
        1;

    border-radius:
        50%;

    transform:

        rotateX(62deg)
        rotateZ(-15deg);

    background:

        radial-gradient(
            circle at 35% 28%,
            rgba(255,255,255,.10),
            transparent 17%
        ),

        radial-gradient(
            circle,
            #191919 0%,
            #080808 45%,
            #020202 78%
        );

    border:

        1px solid
        rgba(229,184,76,.27);

    box-shadow:

        0 50px 65px
        rgba(0,0,0,.85),

        0 0 60px
        rgba(229,184,76,.06);

    animation:

        esFooterDiscSpin
        20s
        linear
        infinite;

    animation-play-state:
        running;

}


@keyframes esFooterDiscSpin {

    to {

        transform:

            rotateX(62deg)
            rotateZ(345deg);

    }

}


/* grooves */

.es-footer-disc-grooves {

    position: absolute;

    inset:
        4%;

    border-radius:
        50%;

    background:

        repeating-radial-gradient(
            circle,
            transparent 0,
            transparent 7px,
            rgba(255,255,255,.026) 8px,
            transparent 9px
        );

}


/* label */

.es-footer-disc-label {

    position: absolute;

    width:
        31%;

    aspect-ratio:
        1;

    left:
        50%;

    top:
        50%;

    transform:
        translate(-50%,-50%);

    border-radius:
        50%;

    display:
        flex;

    flex-direction:
        column;

    align-items:
        center;

    justify-content:
        center;

    background:

        radial-gradient(
            circle,
            #c68f2d,
            #171008
        );

    border:

        1px solid
        var(--ft-gold-hi);

    color:
        var(--ft-gold-hi);

    font-size:
        8px;

    font-weight:
        900;

    letter-spacing:
        .12em;

}


.es-footer-disc-label i {

    width: 5px;
    height: 5px;

    margin:
        5px 0;

    border-radius:
        50%;

    background:
        #050505;

}


.es-footer-disc-label small {

    margin-top:
        4px;

    font-size:
        4px;

    letter-spacing:
        .18em;

}


/* ==========================================================
   DISC LIGHT
========================================================== */

.es-footer-disc-light {

    position: absolute;

    left: 50%;
    top: 54%;

    width:
        70%;

    height:
        25%;

    transform:
        translate(-50%,-50%);

    border-radius:
        50%;

    background:

        rgba(
            229,
            184,
            76,
            calc(
                .05
                +
                var(--footer-audio)
                * .08
            )
        );

    filter:
        blur(55px);

    pointer-events:
        none;

}


/* ==========================================================
   ORBITS
========================================================== */

.es-footer-orbit {

    position: absolute;

    left:
        50%;

    top:
        50%;

    border-radius:
        50%;

    transform:

        translate(-50%,-50%)
        rotateX(68deg);

}


.es-footer-orbit-a {

    width:
        84%;

    height:
        84%;

    border:

        1px solid
        rgba(229,184,76,.20);

    animation:

        esFooterOrbitA
        18s
        linear
        infinite;

}


.es-footer-orbit-b {

    width:
        108%;

    height:
        108%;

    border:

        1px dashed
        rgba(255,255,255,.06);

    animation:

        esFooterOrbitB
        27s
        linear
        infinite;

}


@keyframes esFooterOrbitA {

    to {

        transform:

            translate(-50%,-50%)
            rotateX(68deg)
            rotateZ(360deg);

    }

}


@keyframes esFooterOrbitB {

    to {

        transform:

            translate(-50%,-50%)
            rotateX(68deg)
            rotateZ(-360deg);

    }

}


/* ==========================================================
   WORDMARK
========================================================== */

.es-footer-wordmark {

    display: flex;

    flex-direction:
        column;

    align-items:
        flex-start;

    line-height:
        .70;

}


.es-footer-wordmark span,
.es-footer-wordmark strong {

    font-size:

        clamp(
            95px,
            12vw,
            210px
        );

    font-weight:
        900;

    letter-spacing:
        -.075em;

}


.es-footer-wordmark span {

    color:
        transparent;

    -webkit-text-stroke:

        1px
        rgba(255,255,255,.23);

}


.es-footer-wordmark strong {

    color:
        transparent;

    background:

        linear-gradient(
            105deg,
            #875515,
            #dca73c,
            #ffe59b,
            #a86b1b
        );

    background-clip:
        text;

    -webkit-background-clip:
        text;

}


.es-footer-wordmark small {

    margin-top:
        35px;

    color:
        rgba(255,255,255,.25);

    font-size:
        8px;

    letter-spacing:
        .31em;

}


/* ==========================================================
   LINKS AREA
========================================================== */

.es-footer-links {

    display: grid;

    grid-template-columns:
        1fr 1.15fr 1.15fr .8fr;

    gap:
        50px;

    padding:
        70px 0;

    border-bottom:

        1px solid
        rgba(255,255,255,.08);

}


/* ==========================================================
   COLUMN
========================================================== */

.es-footer-column {

    min-width: 0;

}


.es-footer-column-label {

    display: block;

    margin-bottom:
        23px;

    color:
        var(--ft-gold);

    font-size:
        6px;

    letter-spacing:
        .25em;

}


/* ==========================================================
   NAV
========================================================== */

.es-footer-column nav {

    display: flex;

    flex-direction:
        column;

}


.es-footer-column nav a {

    min-height:
        41px;

    display: flex;

    align-items:
        center;

    gap:
        12px;

    border-bottom:

        1px solid
        rgba(255,255,255,.06);

    color:
        rgba(255,255,255,.47)
        !important;

    text-decoration:
        none !important;

    font-size:
        8px;

    letter-spacing:
        .15em;

    transition:
        padding-left .25s ease,
        color .25s ease,
        border-color .25s ease;

}


.es-footer-column nav a span {

    color:
        rgba(229,184,76,.50);

    font-size:
        6px;

}


.es-footer-column nav a:hover {

    padding-left:
        8px;

    color:
        white !important;

    border-color:
        rgba(229,184,76,.35);

}


/* ==========================================================
   CONTACT
========================================================== */

.es-footer-contact {

    position: relative;

    min-height:
        70px;

    display: grid;

    grid-template-columns:
        1fr auto;

    align-content:
        center;

    border-bottom:

        1px solid
        rgba(255,255,255,.07);

    text-decoration:
        none !important;

    transition:
        padding-left .25s ease,
        border-color .25s ease;

}


.es-footer-contact small {

    grid-column:
        1;

    color:
        rgba(255,255,255,.22);

    font-size:
        5px;

    letter-spacing:
        .21em;

}


.es-footer-contact strong {

    grid-column:
        1;

    margin-top:
        5px;

    color:
        rgba(255,255,255,.72);

    font-size:
        10px;

    letter-spacing:
        .12em;

}


.es-footer-contact b {

    grid-column:
        2;

    grid-row:
        1 / 3;

    align-self:
        center;

    color:
        var(--ft-gold);

    font-size:
        17px;

    font-weight:
        400;

}


.es-footer-contact:hover {

    padding-left:
        8px;

    border-color:
        rgba(229,184,76,.35);

}


/* ==========================================================
   SOCIAL
========================================================== */

.es-footer-social {

    min-height:
        75px;

    padding:
        0 4px;

    display: grid;

    grid-template-columns:
        30px 1fr auto;

    gap:
        12px;

    align-items:
        center;

    border-bottom:

        1px solid
        rgba(255,255,255,.07);

    color:
        white !important;

    text-decoration:
        none !important;

    transition:
        padding-left .25s ease,
        border-color .25s ease;

}


.es-footer-social:hover {

    padding-left:
        10px;

    border-color:
        rgba(229,184,76,.35);

}


.es-footer-instagram-icon {

    width:
        22px;

    height:
        22px;

}


.es-footer-instagram-icon svg {

    width:
        100%;

    height:
        100%;

    fill:
        none;

    stroke:
        var(--ft-gold);

    stroke-width:
        1.4;

}


.es-footer-social div {

    display: flex;

    flex-direction:
        column;

    gap:
        5px;

}


.es-footer-social small {

    color:
        rgba(255,255,255,.20);

    font-size:
        5px;

    letter-spacing:
        .18em;

}


.es-footer-social strong {

    color:
        rgba(255,255,255,.70);

    font-size:
        9px;

    letter-spacing:
        .11em;

}


.es-footer-social b {

    color:
        var(--ft-gold);

    font-size:
        17px;

    font-weight:
        400;

}


/* ==========================================================
   LOCATION
========================================================== */

.es-footer-location {

    display:
        flex;

    align-items:
        center;

    gap:
        11px;

}


.es-footer-location > i {

    width:
        7px;

    height:
        7px;

    border-radius:
        50%;

    background:
        var(--ft-gold);

    box-shadow:

        0 0 14px
        var(--ft-gold);

    animation:

        esFooterLocation
        1.1s
        ease-in-out
        infinite;

}


@keyframes esFooterLocation {

    50% {

        opacity: .25;

        scale: .65;

    }

}


.es-footer-location div {

    display: flex;

    flex-direction:
        column;

    gap:
        5px;

}


.es-footer-location strong {

    color:
        rgba(255,255,255,.72);

    font-size:
        10px;

    letter-spacing:
        .14em;

}


.es-footer-location small {

    color:
        rgba(255,255,255,.25);

    font-size:
        6px;

    letter-spacing:
        .18em;

}


.es-footer-coordinates {

    margin-top:
        22px;

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

    font-size:
        6px;

    line-height:
        1.8;

    letter-spacing:
        .17em;

}


/* ==========================================================
   FINAL BAR
========================================================== */

.es-footer-final {

    position: relative;

    z-index: 7;

    width:
        min(
            1480px,
            90%
        );

    min-height:
        95px;

    margin:
        0 auto;

    display: grid;

    grid-template-columns:
        auto 1fr auto;

    gap:
        35px;

    align-items:
        center;

}


.es-footer-final-left {

    display: flex;

    flex-direction:
        column;

    gap:
        5px;

    color:
        rgba(255,255,255,.23);

    font-size:
        6px;

    letter-spacing:
        .17em;

}


.es-footer-final-left b {

    font-weight:
        400;

}


/* ==========================================================
   TRACK
========================================================== */

.es-footer-final-track {

    width: 100%;

}


.es-footer-track-line {

    position: relative;

    width:
        100%;

    height:
        1px;

    background:
        rgba(255,255,255,.07);

}


.es-footer-track-line i {

    position: absolute;

    left: 0;
    top: 0;

    width:

        calc(
            100%
            *
            var(--footer-progress)
        );

    height: 100%;

    background:

        linear-gradient(
            90deg,
            #8c5715,
            var(--ft-gold-hi)
        );

    box-shadow:

        0 0 8px
        rgba(229,184,76,.5);

}


.es-footer-track-data {

    margin-top:
        10px;

    display: flex;

    justify-content:
        space-between;

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

    font-size:
        5px;

    letter-spacing:
        .17em;

}


.es-footer-status {

    display: flex;

    align-items: center;

    gap:
        6px;

}


.es-footer-status i {

    width: 4px;
    height: 4px;

    border-radius: 50%;

    background:
        rgba(229,184,76,.65);

    opacity:
        var(--footer-audio);

}


/* ==========================================================
   BACK TO TOP
========================================================== */

.es-footer-top {

    width:
        55px;

    height:
        55px;

    display:
        flex;

    flex-direction:
        column;

    align-items:
        center;

    justify-content:
        center;

    gap:
        4px;

    cursor:
        pointer;

    border:

        1px solid
        rgba(229,184,76,.22);

    background:
        rgba(255,255,255,.015);

    color:
        var(--ft-gold);

    transition:
        background .3s ease,
        border-color .3s ease,
        transform .3s ease;

}


.es-footer-top span {

    font-size:
        17px;

    line-height: 1;

}


.es-footer-top small {

    color:
        rgba(255,255,255,.32);

    font-size:
        5px;

    letter-spacing:
        .15em;

}


.es-footer-top:hover {

    transform:
        translateY(-5px);

    background:
        var(--ft-gold);

    border-color:
        var(--ft-gold);

    color:
        #050505;

}


.es-footer-top:hover small {

    color:
        #050505;

}


/* ==========================================================
   LAST PULSE
========================================================== */

.es-footer-last-pulse {

    position: absolute;

    left:
        50%;

    bottom:
        -150px;

    width:
        500px;

    height:
        260px;

    transform:
        translateX(-50%);

    border-radius:
        50%;

    background:
        rgba(229,184,76,.08);

    filter:
        blur(90px);

    opacity: 0;

    pointer-events:
        none;

}


.es-footer-ending
.es-footer-last-pulse {

    animation:

        esFooterLastPulse
        1.2s
        ease-out;

}


@keyframes esFooterLastPulse {

    0% {

        opacity: 0;

        scale: .3;

    }

    28% {

        opacity: .85;

    }

    100% {

        opacity: 0;

        scale: 1.6;

    }

}


/* ==========================================================
   REVEAL
========================================================== */

.es-footer-reveal {

    opacity: 0;

    transform:
        translateY(40px);

    filter:
        blur(8px);

    transition:

        opacity .85s ease,

        filter .85s ease,

        transform
        .9s
        cubic-bezier(
            .16,
            1,
            .3,
            1
        );

}


.es-footer-reveal.es-footer-visible {

    opacity: 1;

    transform:
        translateY(0);

    filter:
        blur(0);

}


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

@media
(max-width: 1100px) {

    .es-footer-brand-zone {

        grid-template-columns:
            .7fr 1.3fr;

    }


    .es-footer-links {

        grid-template-columns:
            1fr 1fr;

        gap:
            60px 50px;

    }


    .es-footer-disc-stage {

        width:
            min(
                380px,
                38vw
            );

    }

}


/* ==========================================================
   MOBILE
========================================================== */

@media
(max-width: 767px) {

    .es-footer {

        padding-top:
            90px;

    }


    .es-footer-container {

        width:
            88%;

    }


    .es-footer-closing {

        padding-bottom:
            65px;

    }


    .es-footer-kicker {

        font-size:
            7px;

        letter-spacing:
            .20em;

    }


    .es-footer-kicker > span {

        width:
            25px;

    }


    .es-footer-title {

        font-size:

            clamp(
                50px,
                14vw,
                72px
            );

        line-height:
            .83;

    }


    .es-footer-closing-row {

        margin-top:
            32px;

        flex-direction:
            column;

        align-items:
            flex-start;

        gap:
            30px;

    }


    .es-footer-description {

        font-size:
            13px;

    }


    .es-footer-main-cta {

        width: 100%;

        box-sizing:
            border-box;

    }


    /* BRAND */

    .es-footer-brand-zone {

        min-height:
            auto;

        padding:
            70px 0;

        display:
            flex;

        flex-direction:
            column;

        align-items:
            flex-start;

        gap:
            45px;

    }


    .es-footer-disc-stage {

        width:
            280px;

        max-width:
            84vw;

        align-self:
            center;

    }


    .es-footer-wordmark span,
    .es-footer-wordmark strong {

        font-size:

            clamp(
                78px,
                26vw,
                120px
            );

    }


    .es-footer-wordmark small {

        margin-top:
            25px;

        font-size:
            6px;

        line-height:
            1.6;

    }


    /* LINKS */

    .es-footer-links {

        grid-template-columns:
            1fr;

        gap:
            45px;

        padding:
            55px 0;

    }


    /* FINAL */

    .es-footer-final {

        width:
            88%;

        padding:
            25px 0;

        grid-template-columns:
            1fr auto;

        gap:
            20px;

    }


    .es-footer-final-track {

        grid-column:
            1 / 3;

        grid-row:
            1;

    }


    .es-footer-final-left {

        grid-column:
            1;

        grid-row:
            2;

    }


    .es-footer-top {

        grid-column:
            2;

        grid-row:
            2;

    }


    .es-footer-track-data {

        gap:
            10px;

    }


    .es-footer-track-data span:nth-child(2) {

        display:
            none;

    }


    .es-footer-spectrum {

        height:
            38px;

    }

}


/* ==========================================================
   REDUCED MOTION
========================================================== */

@media
(prefers-reduced-motion: reduce) {

    .es-footer *,
    .es-footer *::before,
    .es-footer *::after {

        animation-duration:
            .001ms !important;

        animation-iteration-count:
            1 !important;

        transition-duration:
            .001ms !important;

    }

}
/* ============================================================
   ENRY SOUND — MOBILE PERFORMANCE OVERRIDE
   Load AFTER all existing ENRY SOUND CSS.
   Goal: premium look, lower GPU/CPU cost on tablet/mobile.
============================================================ */

/* ---------- Core rendering / touch ---------- */
html {
    overflow-x: clip;
    scroll-behavior: smooth;
}

body {
    overflow-x: clip;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.es-hero,
.es-services,
.es-about,
.es-dna,
.es-flow,
.es-manifesto,
.es-booking,
.es-footer {
    -webkit-tap-highlight-color: transparent;
    touch-action: pan-y;
}

/* Below-the-fold sections: skip paint/layout until near viewport.
   Manifesto excluded because it uses sticky scroll choreography. */
.es-services,
.es-about,
.es-dna,
.es-flow,
.es-booking,
.es-footer {
    content-visibility: auto;
    contain-intrinsic-size: 900px;
}

/* Keep expensive composition hints only on elements that actually move. */
.es-hero *,
.es-services *,
.es-about *,
.es-dna *,
.es-flow *,
.es-booking *,
.es-footer * {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

/* ============================================================
   TABLET + MOBILE PERFORMANCE
============================================================ */
@media (max-width: 1024px) {

    /* Reduce huge GPU blur surfaces while keeping warm premium glow. */
    .es-bg-glow,
    .es-services-glow,
    .es-about-glow,
    .es-dna-glow,
    .es-booking-glow,
    .es-footer-glow,
    .es-manifesto-glow {
        filter: blur(70px) !important;
        opacity: .72;
    }

    /* Glass blur is expensive on mobile Safari/Chrome. */
    .es-bpm-card,
    .es-live-panel,
    .es-social-screen,
    .es-social-floating,
    .es-about-console,
    .es-dna-panel,
    .es-booking-console,
    .es-booking-floating,
    .es-footer-floating {
        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
        background-color: rgba(5,5,5,.88) !important;
    }

    /* Reduce shadow layers, preserve depth. */
    .es-console,
    .es-service-card,
    .es-social-screen,
    .es-booking-console,
    .es-footer-disc,
    .es-about-frame {
        box-shadow:
            0 24px 55px rgba(0,0,0,.48),
            0 0 34px rgba(229,184,76,.045) !important;
    }

    /* Slower, calmer decorative motion = premium rather than noisy. */
    .es-orbit,
    .es-ring,
    .es-social-orbit,
    .es-booking-orbit,
    .es-footer-orbit,
    .es-about-orbit,
    .es-dna-ring,
    .es-manifesto-energy-ring {
        animation-duration: 24s !important;
    }

    .es-waveform,
    .es-card-wave i,
    .es-master-eq i,
    .es-about-spectrum i,
    .es-booking-eq i,
    .es-footer-spectrum i,
    .es-flow-wave i,
    .es-dna-mini-eq i,
    .es-manifesto-wave i {
        box-shadow: none !important;
    }

    /* Reduce perspective complexity. */
    .es-visual,
    .es-dj-area,
    .es-social-stage,
    .es-booking-stage,
    .es-about-visual,
    .es-dna-stage {
        perspective: 900px !important;
    }

    /* Buttons / inputs feel instant. */
    .es-btn,
    .es-card-link,
    .es-about-instagram,
    .es-booking-submit,
    .es-footer-main-cta,
    .es-footer-top,
    .es-event-option,
    .es-dna-mode {
        transition-duration: .22s !important;
    }
}

/* ============================================================
   MOBILE <= 767px
============================================================ */
@media (max-width: 767px) {

    :root {
        --es-mobile-gutter: max(20px, 6vw);
    }

    /* ---------- Global section rhythm ---------- */
    .es-hero,
    .es-services,
    .es-about,
    .es-dna,
    .es-flow,
    .es-booking,
    .es-footer {
        width: 100%;
        max-width: 100%;
    }

    .es-services-container,
    .es-about-container,
    .es-dna-container,
    .es-flow-container,
    .es-booking-container,
    .es-footer-container,
    .es-footer-final {
        width: auto !important;
        margin-left: var(--es-mobile-gutter) !important;
        margin-right: var(--es-mobile-gutter) !important;
    }

    /* ---------- Remove most expensive cosmetic layers ---------- */
    .es-noise,
    .es-about-noise,
    .es-bg-grid,
    .es-services-grid,
    .es-about-grid,
    .es-booking-grid,
    .es-footer-grid {
        display: none !important;
    }

    /* Keep one cinematic light source, not several. */
    .es-stage-light-2,
    .es-laser-2,
    .es-laser-3,
    .es-about-beam-b,
    .es-booking-beam-b,
    .es-manifesto-beam-b,
    .es-manifesto-laser-b {
        display: none !important;
    }

    .es-bg-beam,
    .es-stage-light-1,
    .es-about-beam-a,
    .es-booking-beam-a,
    .es-footer-beam,
    .es-manifesto-beam-a,
    .es-manifesto-laser-a {
        filter: blur(12px) !important;
        opacity: .18 !important;
    }

    .es-bg-glow,
    .es-services-glow,
    .es-about-glow,
    .es-dna-glow,
    .es-booking-glow,
    .es-footer-glow,
    .es-manifesto-glow {
        filter: blur(48px) !important;
        opacity: .50 !important;
    }

    /* Limit ambient DOM particles created by JS. */
    .es-particle:nth-child(n+9),
    .es-ambient-particle:nth-child(n+9),
    .es-about-particle:nth-child(n+8) {
        display: none !important;
    }

    /* Hide secondary orbit layers; one ring keeps the premium 3D cue. */
    .es-orbit-2,
    .es-orbit-3,
    .es-ring-2,
    .es-ring-3,
    .es-social-orbit-b,
    .es-booking-orbit-b,
    .es-footer-orbit-b,
    .es-about-orbit-2,
    .es-dna-ring-3,
    .es-manifesto .es-mer-3 {
        display: none !important;
    }

    /* ---------- Hero ---------- */
    .es-hero {
        min-height: 100svh !important;
        height: auto;
        padding-top: env(safe-area-inset-top);
    }

    .es-hero .es-container {
        width: auto !important;
        min-height: 100svh !important;
        margin: 0 var(--es-mobile-gutter) !important;
        padding: clamp(92px, 15svh, 126px) 0 96px !important;
    }

    .es-hero .es-title {
        font-size: clamp(50px, 15.5vw, 72px) !important;
        line-height: .84 !important;
        letter-spacing: -.055em !important;
    }

    .es-hero .es-description,
    .es-hero .es-subtitle {
        width: 100% !important;
        max-width: 35rem !important;
        font-size: 14px !important;
        line-height: 1.58 !important;
    }

    .es-hero .es-actions {
        width: 100% !important;
        max-width: 360px !important;
        gap: 10px !important;
    }

    .es-hero .es-btn {
        min-height: 54px !important;
        padding-inline: 18px !important;
    }

    .es-hero .es-dj-area,
    .es-hero .es-visual {
        width: 104vw !important;
        right: -58vw !important;
        top: 18% !important;
        opacity: .24 !important;
        filter: none !important;
    }

    .es-hero .es-console {
        box-shadow: 0 24px 45px rgba(0,0,0,.70) !important;
    }

    .es-hero .es-bottom {
        left: var(--es-mobile-gutter) !important;
        right: var(--es-mobile-gutter) !important;
        bottom: max(18px, env(safe-area-inset-bottom)) !important;
    }

    /* ---------- Services ---------- */
    .es-services {
        padding: 82px 0 74px !important;
    }

    .es-services-title,
    .es-about-title,
    .es-dna-title,
    .es-flow-title,
    .es-booking-title,
    .es-footer-title {
        font-size: clamp(46px, 13.6vw, 68px) !important;
        line-height: .87 !important;
        letter-spacing: -.05em !important;
    }

    .es-service-deck {
        overscroll-behavior-x: contain;
        -webkit-overflow-scrolling: touch;
        scroll-padding-inline: var(--es-mobile-gutter);
        gap: 12px !important;
        padding-bottom: 18px !important;
    }

    .es-service-card {
        flex-basis: min(82vw, 315px) !important;
        min-height: 410px !important;
        padding: 20px !important;
        scroll-snap-stop: always;
        transform: none !important;
    }

    .es-service-card:hover {
        transform: none !important;
    }

    .es-card-light {
        display: none !important;
    }

    .es-card-icon {
        margin-top: 34px !important;
        width: 46px !important;
        height: 46px !important;
    }

    .es-card-content {
        margin-top: 30px !important;
    }

    .es-card-wave i:nth-child(even) {
        display: none !important;
    }

    /* ---------- About / Instagram ---------- */
    .es-about {
        padding: 82px 0 74px !important;
    }

    .es-about-container {
        gap: 48px !important;
    }

    .es-social-stage {
        min-height: 610px !important;
        perspective: none !important;
    }

    .es-social-screen {
        width: 100% !important;
        max-width: 520px !important;
        padding: 7px !important;
        transform: none !important;
        border-color: rgba(229,184,76,.18) !important;
    }

    .es-instagram-shell {
        min-height: 480px !important;
    }

    .es-instagram-scan,
    .es-social-meter,
    .es-social-floating {
        display: none !important;
    }

    .es-about-spectrum i:nth-child(even) {
        display: none !important;
    }

    /* ---------- Sound DNA ---------- */
    .es-dna {
        padding: 82px 0 !important;
    }

    .es-dna-stage {
        min-height: 470px !important;
        transform: none !important;
        perspective: none !important;
    }

    .es-dna-core {
        width: min(64vw, 250px) !important;
        box-shadow: 0 0 38px rgba(229,182,74,.08) !important;
    }

    .es-dna-radial {
        width: 315px !important;
        height: 315px !important;
    }

    .es-dna-radial i:nth-child(even) {
        display: none !important;
    }

    .es-dna-panel {
        width: min(170px, 44vw) !important;
        padding: 14px !important;
        background: rgba(4,4,4,.90) !important;
        box-shadow: 0 18px 40px rgba(0,0,0,.45) !important;
    }

    .es-dna-mode {
        min-height: 56px !important;
    }

    /* ---------- Event Flow ---------- */
    .es-flow {
        padding: 82px 0 !important;
    }

    .es-flow-timeline {
        margin-top: 54px !important;
        padding-left: 36px !important;
    }

    .es-flow-step {
        min-height: 128px !important;
        padding: 21px 0 !important;
    }

    .es-flow-step-content p {
        font-size: 12px !important;
        line-height: 1.52 !important;
    }

    .es-flow-step > strong {
        opacity: .7;
    }

    .es-flow-wave i:nth-child(even) {
        display: none !important;
    }

    /* ---------- Manifesto sticky ---------- */
    .es-manifesto {
        height: 225svh !important;
    }

    .es-manifesto-sticky {
        height: 100svh !important;
    }

    .es-manifesto-stage {
        width: auto !important;
        margin-inline: var(--es-mobile-gutter) !important;
        transform: none !important;
    }

    .es-manifesto-title {
        font-size: clamp(56px, 17vw, 82px) !important;
        line-height: .79 !important;
        letter-spacing: -.06em !important;
    }

    .es-manifesto-copy {
        width: 82% !important;
        max-width: 330px !important;
    }

    .es-manifesto-energy {
        width: 290px !important;
        right: -50% !important;
        opacity: .20 !important;
        transform: none !important;
    }

    .es-manifesto-wave i:nth-child(even) {
        display: none !important;
    }

    .es-manifesto-flash {
        opacity: 0 !important;
        animation: none !important;
    }

    /* ---------- Booking ---------- */
    .es-booking {
        padding: 82px 0 52px !important;
    }

    .es-booking-container {
        gap: 48px !important;
    }

    .es-booking-stage {
        padding: 0 !important;
        perspective: none !important;
    }

    .es-booking-console {
        width: 100% !important;
        padding: 20px 16px !important;
        transform: none !important;
        box-shadow: 0 24px 52px rgba(0,0,0,.48) !important;
    }

    .es-booking-input,
    .es-booking-textarea,
    .es-event-option {
        font-size: 16px !important; /* Prevent iOS auto-zoom */
    }

    .es-booking-input {
        height: 50px !important;
    }

    .es-booking-textarea {
        min-height: 96px !important;
    }

    .es-event-option {
        min-height: 48px !important;
        font-size: 11px !important;
    }

    .es-booking-submit {
        min-height: 58px !important;
        font-size: 10px !important;
    }

    .es-booking-eq i:nth-child(even) {
        display: none !important;
    }

    .es-booking-radar {
        opacity: .35 !important;
    }

    /* ---------- Footer ---------- */
    .es-footer {
        padding-top: 82px !important;
        padding-bottom: max(24px, env(safe-area-inset-bottom)) !important;
    }

    .es-footer-closing {
        padding-bottom: 55px !important;
    }

    .es-footer-brand-zone {
        padding: 56px 0 !important;
        gap: 35px !important;
    }

    .es-footer-disc-stage {
        width: min(70vw, 260px) !important;
        transform: none !important;
        perspective: none !important;
    }

    .es-footer-disc {
        animation-duration: 30s !important;
        box-shadow: 0 24px 45px rgba(0,0,0,.62) !important;
    }

    .es-footer-wordmark span,
    .es-footer-wordmark strong {
        font-size: clamp(72px, 23vw, 105px) !important;
    }

    .es-footer-links {
        gap: 38px !important;
        padding: 48px 0 !important;
    }

    .es-footer-spectrum i:nth-child(even) {
        display: none !important;
    }

    /* ---------- Touch targets ---------- */
    .es-btn,
    .es-card-link,
    .es-about-instagram,
    .es-booking-info-row,
    .es-footer-column a,
    .es-footer-main-cta,
    .es-footer-top,
    .es-dna-mode,
    .es-event-option {
        min-height: 44px;
    }

    /* ---------- Avoid hover-only effects getting stuck on touch ---------- */
    .es-service-card:hover,
    .es-about-feature:hover,
    .es-btn:hover,
    .es-card-link:hover,
    .es-about-instagram:hover,
    .es-footer-main-cta:hover,
    .es-footer-top:hover {
        translate: none !important;
    }
}

/* ============================================================
   SMALL PHONES <= 430px
============================================================ */
@media (max-width: 430px) {

    :root {
        --es-mobile-gutter: 18px;
    }

    .es-hero .es-title,
    .es-services-title,
    .es-about-title,
    .es-dna-title,
    .es-flow-title,
    .es-booking-title,
    .es-footer-title {
        hyphens: none;
        overflow-wrap: normal;
        word-break: normal;
    }

    .es-service-card {
        flex-basis: 84vw !important;
    }

    .es-booking-console-top > span,
    .es-social-data span:last-child,
    .es-footer-track-data span:nth-child(2) {
        display: none !important;
    }

    .es-manifesto-copy {
        width: 90% !important;
    }
}

/* ============================================================
   TOUCH / COARSE POINTER — regardless of width
============================================================ */
@media (hover: none), (pointer: coarse) {

    .es-card-light,
    .es-instagram-scan {
        display: none !important;
    }

    .es-service-card,
    .es-social-screen,
    .es-booking-console,
    .es-dna-stage,
    .es-manifesto-stage,
    .es-footer-disc-stage {
        transform: none !important;
    }

    .es-btn,
    .es-card-link,
    .es-event-option,
    .es-dna-mode,
    .es-booking-submit,
    .es-footer-main-cta {
        cursor: pointer;
    }
}

/* ============================================================
   REDUCED MOTION / ACCESSIBILITY
============================================================ */
@media (prefers-reduced-motion: reduce) {

    html {
        scroll-behavior: auto;
    }

    .es-hero *,
    .es-services *,
    .es-about *,
    .es-dna *,
    .es-flow *,
    .es-manifesto *,
    .es-booking *,
    .es-footer * {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
        scroll-behavior: auto !important;
    }

    .es-manifesto {
        height: auto !important;
        min-height: 100svh;
    }

    .es-manifesto-sticky {
        position: relative !important;
        height: auto !important;
        min-height: 100svh;
    }
}
/* ============================================================
   ENRY SOUND — MOBILE PERFORMANCE OVERRIDE
   Load AFTER all existing ENRY SOUND CSS.
   Goal: premium look, lower GPU/CPU cost on tablet/mobile.
============================================================ */

/* ---------- Core rendering / touch ---------- */
html {
    overflow-x: clip;
    scroll-behavior: smooth;
}

body {
    overflow-x: clip;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.es-hero,
.es-services,
.es-about,
.es-dna,
.es-flow,
.es-manifesto,
.es-booking,
.es-footer {
    -webkit-tap-highlight-color: transparent;
    touch-action: pan-y;
}

/* Below-the-fold sections: skip paint/layout until near viewport.
   Manifesto excluded because it uses sticky scroll choreography. */
.es-services,
.es-about,
.es-dna,
.es-flow,
.es-booking,
.es-footer {
    content-visibility: auto;
    contain-intrinsic-size: 900px;
}

/* Keep expensive composition hints only on elements that actually move. */
.es-hero *,
.es-services *,
.es-about *,
.es-dna *,
.es-flow *,
.es-booking *,
.es-footer * {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

/* ============================================================
   TABLET + MOBILE PERFORMANCE
============================================================ */
@media (max-width: 1024px) {

    /* Reduce huge GPU blur surfaces while keeping warm premium glow. */
    .es-bg-glow,
    .es-services-glow,
    .es-about-glow,
    .es-dna-glow,
    .es-booking-glow,
    .es-footer-glow,
    .es-manifesto-glow {
        filter: blur(70px) !important;
        opacity: .72;
    }

    /* Glass blur is expensive on mobile Safari/Chrome. */
    .es-bpm-card,
    .es-live-panel,
    .es-social-screen,
    .es-social-floating,
    .es-about-console,
    .es-dna-panel,
    .es-booking-console,
    .es-booking-floating,
    .es-footer-floating {
        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
        background-color: rgba(5,5,5,.88) !important;
    }

    /* Reduce shadow layers, preserve depth. */
    .es-console,
    .es-service-card,
    .es-social-screen,
    .es-booking-console,
    .es-footer-disc,
    .es-about-frame {
        box-shadow:
            0 24px 55px rgba(0,0,0,.48),
            0 0 34px rgba(229,184,76,.045) !important;
    }

    /* Slower, calmer decorative motion = premium rather than noisy. */
    .es-orbit,
    .es-ring,
    .es-social-orbit,
    .es-booking-orbit,
    .es-footer-orbit,
    .es-about-orbit,
    .es-dna-ring,
    .es-manifesto-energy-ring {
        animation-duration: 24s !important;
    }

    .es-waveform,
    .es-card-wave i,
    .es-master-eq i,
    .es-about-spectrum i,
    .es-booking-eq i,
    .es-footer-spectrum i,
    .es-flow-wave i,
    .es-dna-mini-eq i,
    .es-manifesto-wave i {
        box-shadow: none !important;
    }

    /* Reduce perspective complexity. */
    .es-visual,
    .es-dj-area,
    .es-social-stage,
    .es-booking-stage,
    .es-about-visual,
    .es-dna-stage {
        perspective: 900px !important;
    }

    /* Buttons / inputs feel instant. */
    .es-btn,
    .es-card-link,
    .es-about-instagram,
    .es-booking-submit,
    .es-footer-main-cta,
    .es-footer-top,
    .es-event-option,
    .es-dna-mode {
        transition-duration: .22s !important;
    }
}

/* ============================================================
   MOBILE <= 767px
============================================================ */
@media (max-width: 767px) {

    :root {
        --es-mobile-gutter: max(20px, 6vw);
    }

    /* ---------- Global section rhythm ---------- */
    .es-hero,
    .es-services,
    .es-about,
    .es-dna,
    .es-flow,
    .es-booking,
    .es-footer {
        width: 100%;
        max-width: 100%;
    }

    .es-services-container,
    .es-about-container,
    .es-dna-container,
    .es-flow-container,
    .es-booking-container,
    .es-footer-container,
    .es-footer-final {
        width: auto !important;
        margin-left: var(--es-mobile-gutter) !important;
        margin-right: var(--es-mobile-gutter) !important;
    }

    /* ---------- Remove most expensive cosmetic layers ---------- */
    .es-noise,
    .es-about-noise,
    .es-bg-grid,
    .es-services-grid,
    .es-about-grid,
    .es-booking-grid,
    .es-footer-grid {
        display: none !important;
    }

    /* Keep one cinematic light source, not several. */
    .es-stage-light-2,
    .es-laser-2,
    .es-laser-3,
    .es-about-beam-b,
    .es-booking-beam-b,
    .es-manifesto-beam-b,
    .es-manifesto-laser-b {
        display: none !important;
    }

    .es-bg-beam,
    .es-stage-light-1,
    .es-about-beam-a,
    .es-booking-beam-a,
    .es-footer-beam,
    .es-manifesto-beam-a,
    .es-manifesto-laser-a {
        filter: blur(12px) !important;
        opacity: .18 !important;
    }

    .es-bg-glow,
    .es-services-glow,
    .es-about-glow,
    .es-dna-glow,
    .es-booking-glow,
    .es-footer-glow,
    .es-manifesto-glow {
        filter: blur(48px) !important;
        opacity: .50 !important;
    }

    /* Limit ambient DOM particles created by JS. */
    .es-particle:nth-child(n+9),
    .es-ambient-particle:nth-child(n+9),
    .es-about-particle:nth-child(n+8) {
        display: none !important;
    }

    /* Hide secondary orbit layers; one ring keeps the premium 3D cue. */
    .es-orbit-2,
    .es-orbit-3,
    .es-ring-2,
    .es-ring-3,
    .es-social-orbit-b,
    .es-booking-orbit-b,
    .es-footer-orbit-b,
    .es-about-orbit-2,
    .es-dna-ring-3,
    .es-manifesto .es-mer-3 {
        display: none !important;
    }

    /* ---------- Hero ---------- */
    .es-hero {
        min-height: 100svh !important;
        height: auto;
        padding-top: env(safe-area-inset-top);
    }

    .es-hero .es-container {
        width: auto !important;
        min-height: 100svh !important;
        margin: 0 var(--es-mobile-gutter) !important;
        padding: clamp(92px, 15svh, 126px) 0 96px !important;
    }

    .es-hero .es-title {
        font-size: clamp(50px, 15.5vw, 72px) !important;
        line-height: .84 !important;
        letter-spacing: -.055em !important;
    }

    .es-hero .es-description,
    .es-hero .es-subtitle {
        width: 100% !important;
        max-width: 35rem !important;
        font-size: 14px !important;
        line-height: 1.58 !important;
    }

    .es-hero .es-actions {
        width: 100% !important;
        max-width: 360px !important;
        gap: 10px !important;
    }

    .es-hero .es-btn {
        min-height: 54px !important;
        padding-inline: 18px !important;
    }

    .es-hero .es-dj-area,
    .es-hero .es-visual {
        width: 104vw !important;
        right: -58vw !important;
        top: 18% !important;
        opacity: .24 !important;
        filter: none !important;
    }

    .es-hero .es-console {
        box-shadow: 0 24px 45px rgba(0,0,0,.70) !important;
    }

    .es-hero .es-bottom {
        left: var(--es-mobile-gutter) !important;
        right: var(--es-mobile-gutter) !important;
        bottom: max(18px, env(safe-area-inset-bottom)) !important;
    }

    /* ---------- Services ---------- */
    .es-services {
        padding: 82px 0 74px !important;
    }

    .es-services-title,
    .es-about-title,
    .es-dna-title,
    .es-flow-title,
    .es-booking-title,
    .es-footer-title {
        font-size: clamp(46px, 13.6vw, 68px) !important;
        line-height: .87 !important;
        letter-spacing: -.05em !important;
    }

    .es-service-deck {
        overscroll-behavior-x: contain;
        -webkit-overflow-scrolling: touch;
        scroll-padding-inline: var(--es-mobile-gutter);
        gap: 12px !important;
        padding-bottom: 18px !important;
    }

    .es-service-card {
        flex-basis: min(82vw, 315px) !important;
        min-height: 410px !important;
        padding: 20px !important;
        scroll-snap-stop: always;
        transform: none !important;
    }

    .es-service-card:hover {
        transform: none !important;
    }

    .es-card-light {
        display: none !important;
    }

    .es-card-icon {
        margin-top: 34px !important;
        width: 46px !important;
        height: 46px !important;
    }

    .es-card-content {
        margin-top: 30px !important;
    }

    .es-card-wave i:nth-child(even) {
        display: none !important;
    }

    /* ---------- About / Instagram ---------- */
    .es-about {
        padding: 82px 0 74px !important;
    }

    .es-about-container {
        gap: 48px !important;
    }

    .es-social-stage {
        min-height: 610px !important;
        perspective: none !important;
    }

    .es-social-screen {
        width: 100% !important;
        max-width: 520px !important;
        padding: 7px !important;
        transform: none !important;
        border-color: rgba(229,184,76,.18) !important;
    }

    .es-instagram-shell {
        min-height: 480px !important;
    }

    .es-instagram-scan,
    .es-social-meter,
    .es-social-floating {
        display: none !important;
    }

    .es-about-spectrum i:nth-child(even) {
        display: none !important;
    }

    /* ---------- Sound DNA ---------- */
    .es-dna {
        padding: 82px 0 !important;
    }

    .es-dna-stage {
        min-height: 470px !important;
        transform: none !important;
        perspective: none !important;
    }

    .es-dna-core {
        width: min(64vw, 250px) !important;
        box-shadow: 0 0 38px rgba(229,182,74,.08) !important;
    }

    .es-dna-radial {
        width: 315px !important;
        height: 315px !important;
    }

    .es-dna-radial i:nth-child(even) {
        display: none !important;
    }

    .es-dna-panel {
        width: min(170px, 44vw) !important;
        padding: 14px !important;
        background: rgba(4,4,4,.90) !important;
        box-shadow: 0 18px 40px rgba(0,0,0,.45) !important;
    }

    .es-dna-mode {
        min-height: 56px !important;
    }

    /* ---------- Event Flow ---------- */
    .es-flow {
        padding: 82px 0 !important;
    }

    .es-flow-timeline {
        margin-top: 54px !important;
        padding-left: 36px !important;
    }

    .es-flow-step {
        min-height: 128px !important;
        padding: 21px 0 !important;
    }

    .es-flow-step-content p {
        font-size: 12px !important;
        line-height: 1.52 !important;
    }

    .es-flow-step > strong {
        opacity: .7;
    }

    .es-flow-wave i:nth-child(even) {
        display: none !important;
    }

    /* ---------- Manifesto sticky ---------- */
    .es-manifesto {
        height: 225svh !important;
    }

    .es-manifesto-sticky {
        height: 100svh !important;
    }

    .es-manifesto-stage {
        width: auto !important;
        margin-inline: var(--es-mobile-gutter) !important;
        transform: none !important;
    }

    .es-manifesto-title {
        font-size: clamp(56px, 17vw, 82px) !important;
        line-height: .79 !important;
        letter-spacing: -.06em !important;
    }

    .es-manifesto-copy {
        width: 82% !important;
        max-width: 330px !important;
    }

    .es-manifesto-energy {
        width: 290px !important;
        right: -50% !important;
        opacity: .20 !important;
        transform: none !important;
    }

    .es-manifesto-wave i:nth-child(even) {
        display: none !important;
    }

    .es-manifesto-flash {
        opacity: 0 !important;
        animation: none !important;
    }

    /* ---------- Booking ---------- */
    .es-booking {
        padding: 82px 0 52px !important;
    }

    .es-booking-container {
        gap: 48px !important;
    }

    .es-booking-stage {
        padding: 0 !important;
        perspective: none !important;
    }

    .es-booking-console {
        width: 100% !important;
        padding: 20px 16px !important;
        transform: none !important;
        box-shadow: 0 24px 52px rgba(0,0,0,.48) !important;
    }

    .es-booking-input,
    .es-booking-textarea,
    .es-event-option {
        font-size: 16px !important; /* Prevent iOS auto-zoom */
    }

    .es-booking-input {
        height: 50px !important;
    }

    .es-booking-textarea {
        min-height: 96px !important;
    }

    .es-event-option {
        min-height: 48px !important;
        font-size: 11px !important;
    }

    .es-booking-submit {
        min-height: 58px !important;
        font-size: 10px !important;
    }

    .es-booking-eq i:nth-child(even) {
        display: none !important;
    }

    .es-booking-radar {
        opacity: .35 !important;
    }

    /* ---------- Footer ---------- */
    .es-footer {
        padding-top: 82px !important;
        padding-bottom: max(24px, env(safe-area-inset-bottom)) !important;
    }

    .es-footer-closing {
        padding-bottom: 55px !important;
    }

    .es-footer-brand-zone {
        padding: 56px 0 !important;
        gap: 35px !important;
    }

    .es-footer-disc-stage {
        width: min(70vw, 260px) !important;
        transform: none !important;
        perspective: none !important;
    }

    .es-footer-disc {
        animation-duration: 30s !important;
        box-shadow: 0 24px 45px rgba(0,0,0,.62) !important;
    }

    .es-footer-wordmark span,
    .es-footer-wordmark strong {
        font-size: clamp(72px, 23vw, 105px) !important;
    }

    .es-footer-links {
        gap: 38px !important;
        padding: 48px 0 !important;
    }

    .es-footer-spectrum i:nth-child(even) {
        display: none !important;
    }

    /* ---------- Touch targets ---------- */
    .es-btn,
    .es-card-link,
    .es-about-instagram,
    .es-booking-info-row,
    .es-footer-column a,
    .es-footer-main-cta,
    .es-footer-top,
    .es-dna-mode,
    .es-event-option {
        min-height: 44px;
    }

    /* ---------- Avoid hover-only effects getting stuck on touch ---------- */
    .es-service-card:hover,
    .es-about-feature:hover,
    .es-btn:hover,
    .es-card-link:hover,
    .es-about-instagram:hover,
    .es-footer-main-cta:hover,
    .es-footer-top:hover {
        translate: none !important;
    }
}

/* ============================================================
   SMALL PHONES <= 430px
============================================================ */
@media (max-width: 430px) {

    :root {
        --es-mobile-gutter: 18px;
    }

    .es-hero .es-title,
    .es-services-title,
    .es-about-title,
    .es-dna-title,
    .es-flow-title,
    .es-booking-title,
    .es-footer-title {
        hyphens: none;
        overflow-wrap: normal;
        word-break: normal;
    }

    .es-service-card {
        flex-basis: 84vw !important;
    }

    .es-booking-console-top > span,
    .es-social-data span:last-child,
    .es-footer-track-data span:nth-child(2) {
        display: none !important;
    }

    .es-manifesto-copy {
        width: 90% !important;
    }
}

/* ============================================================
   TOUCH / COARSE POINTER — regardless of width
============================================================ */
@media (hover: none), (pointer: coarse) {

    .es-card-light,
    .es-instagram-scan {
        display: none !important;
    }

    .es-service-card,
    .es-social-screen,
    .es-booking-console,
    .es-dna-stage,
    .es-manifesto-stage,
    .es-footer-disc-stage {
        transform: none !important;
    }

    .es-btn,
    .es-card-link,
    .es-event-option,
    .es-dna-mode,
    .es-booking-submit,
    .es-footer-main-cta {
        cursor: pointer;
    }
}

/* ============================================================
   REDUCED MOTION / ACCESSIBILITY
============================================================ */
@media (prefers-reduced-motion: reduce) {

    html {
        scroll-behavior: auto;
    }

    .es-hero *,
    .es-services *,
    .es-about *,
    .es-dna *,
    .es-flow *,
    .es-manifesto *,
    .es-booking *,
    .es-footer * {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
        scroll-behavior: auto !important;
    }

    .es-manifesto {
        height: auto !important;
        min-height: 100svh;
    }

    .es-manifesto-sticky {
        position: relative !important;
        height: auto !important;
        min-height: 100svh;
    }
}/* End custom CSS */