:root {
    --pandora-expo: cubic-bezier(.16, 1, .3, 1);
    --pandora-quint: cubic-bezier(.22, 1, .36, 1);
    --pandora-white: #fbfff7;
    --pandora-glow: rgba(171, 237, 83, .52);
}

html { overflow-x: clip; }

body[data-pandora-page] {
    position: relative;
    isolation: isolate;
    overflow-x: clip;
}

body.pandora-locked { overflow: hidden; }

body[data-pandora-page] > .announcement,
body[data-pandora-page] > .site-header,
body[data-pandora-page] > main,
body[data-pandora-page] > .site-footer,
body[data-pandora-page] > .mobile-order-bar {
    position: relative;
    z-index: 2;
}

.ambient-canvas {
    position: fixed;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    opacity: .58;
    mix-blend-mode: multiply;
}

.cursor-aura {
    position: fixed;
    z-index: 200;
    top: 0;
    left: 0;
    width: 190px;
    height: 190px;
    margin: -95px 0 0 -95px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(248, 184, 56, .12), rgba(112, 176, 0, .055) 38%, transparent 70%);
    transform: translate3d(var(--cursor-x, -300px), var(--cursor-y, -300px), 0) scale(var(--cursor-scale, .7));
    opacity: var(--cursor-opacity, 0);
    pointer-events: none;
    transition: opacity .35s var(--pandora-expo), transform .18s linear;
    will-change: transform;
}

.pandora-intro {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: grid;
    place-items: center;
    overflow: hidden;
    background:
        radial-gradient(circle at 50% 50%, rgba(112, 176, 0, .28), transparent 15%),
        radial-gradient(circle at 50% 50%, rgba(248, 184, 56, .14), transparent 35%),
        #173523;
    color: var(--pandora-white);
    opacity: 1;
    visibility: visible;
    transition: opacity .65s var(--pandora-expo), visibility .65s;
}

.pandora-intro::before,
.pandora-intro::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    aspect-ratio: 1;
    border-radius: 50%;
    transform: translate(-50%, -50%) scale(.25);
    opacity: 0;
}

.pandora-intro::before {
    width: min(72vw, 760px);
    border: 1px solid rgba(195, 240, 126, .24);
    box-shadow: 0 0 0 70px rgba(112, 176, 0, .04), 0 0 0 140px rgba(248, 184, 56, .025);
    animation: pandora-open-ring 1.5s .08s var(--pandora-expo) both;
}

.pandora-intro::after {
    width: min(24vw, 240px);
    background: var(--pandora-white);
    filter: blur(28px);
    animation: pandora-open-flash 1.4s .26s var(--pandora-expo) both;
}

.pandora-intro-core {
    position: relative;
    z-index: 2;
    display: grid;
    place-items: center;
    gap: 22px;
    transform: scale(.76);
    opacity: 0;
    animation: pandora-mark-arrive .82s .28s var(--pandora-expo) forwards;
}

.pandora-intro-core img { width: clamp(168px, 18vw, 250px); }
.pandora-intro-core p { margin: 0; color: rgba(251, 255, 247, .68); font-size: 11px; font-weight: 650; letter-spacing: .18em; text-transform: uppercase; }
.pandora-intro-ring { position: absolute; width: 120%; aspect-ratio: 1; border: 1px dashed rgba(248, 184, 56, .36); border-radius: 50%; animation: pandora-ring-turn 10s linear infinite; }

.pandora-intro > button {
    position: absolute;
    z-index: 3;
    right: 24px;
    bottom: 24px;
    padding: 10px 14px;
    cursor: pointer;
    border: 1px solid rgba(251, 255, 247, .16);
    border-radius: 999px;
    background: rgba(251, 255, 247, .06);
    color: rgba(251, 255, 247, .72);
    font-size: 10px;
    font-weight: 700;
}

.pandora-intro.is-leaving,
.pandora-intro.is-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.pandora-intro.is-leaving .pandora-intro-core { transform: scale(1.9); filter: blur(10px); opacity: 0; transition: transform .7s var(--pandora-expo), filter .5s, opacity .35s; }

.sound-control {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 140;
    min-width: 92px;
    min-height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 8px 13px;
    cursor: pointer;
    border: 1px solid rgba(255, 255, 255, .82);
    border-radius: 999px;
    background: rgba(244, 250, 239, .86);
    color: var(--ink);
    box-shadow: 0 14px 40px rgba(37, 75, 37, .14), inset 0 1px 0 rgba(255, 255, 255, .92);
    font-size: 10px;
    font-weight: 760;
    backdrop-filter: blur(18px);
    transition: transform .25s var(--pandora-expo), background .25s, color .25s;
}

.sound-control:hover { transform: translateY(-3px); }
.sound-control[aria-pressed="true"] { background: var(--ink); color: var(--pandora-white); }
.sound-bars { height: 14px; display: flex; align-items: center; gap: 2px; }
.sound-bars i { width: 2px; height: 5px; border-radius: 9px; background: currentColor; transform-origin: center; }
.sound-control[aria-pressed="true"] .sound-bars i { animation: sound-bar .75s ease-in-out infinite alternate; }
.sound-control[aria-pressed="true"] .sound-bars i:nth-child(2) { animation-delay: -.28s; }
.sound-control[aria-pressed="true"] .sound-bars i:nth-child(3) { animation-delay: -.51s; }

/* Hero portal and physical interaction */
.hero { --hero-light-x: 50%; --hero-light-y: 50%; isolation: isolate; }
.hero::after { background: radial-gradient(circle at var(--hero-light-x) var(--hero-light-y), rgba(112, 176, 0, .24), transparent 62%); }
.hero-stage { transform-style: preserve-3d; }
.hero-stage > * { transform-style: preserve-3d; }

.hero-portal {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    width: min(44vw, 610px);
    aspect-ratio: 1;
    transform: translate(-50%, -50%) rotateX(calc(var(--hero-tilt-y, 0deg) * .35)) rotateY(calc(var(--hero-tilt-x, 0deg) * .35));
    border-radius: 50%;
    pointer-events: none;
}

.hero-portal::before,
.hero-portal::after,
.hero-portal i {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
}

.hero-portal::before { border: 1px solid rgba(112, 176, 0, .22); box-shadow: inset 0 0 40px rgba(112, 176, 0, .08), 0 0 50px rgba(112, 176, 0, .08); animation: portal-breathe 5.8s ease-in-out infinite alternate; }
.hero-portal::after { inset: 8%; border: 1px dashed rgba(63, 118, 0, .24); animation: pandora-ring-turn 24s linear infinite; }
.hero-portal i:nth-child(1) { inset: 18%; border: 1px solid rgba(248, 184, 56, .25); animation: pandora-ring-turn 18s linear infinite reverse; }
.hero-portal i:nth-child(2) { inset: 31%; background: radial-gradient(circle, rgba(251, 255, 247, .92), rgba(205, 235, 157, .18) 48%, transparent 69%); filter: blur(1px); animation: portal-core 4.8s ease-in-out infinite alternate; }
.hero-portal i:nth-child(3) { inset: 47%; background: var(--brand-yellow); box-shadow: 0 0 34px rgba(248, 184, 56, .48); animation: portal-spark 3.2s ease-in-out infinite; }

.hero-product {
    transform: translate3d(calc(-50% + var(--px)), var(--py), 58px) rotateX(var(--hero-tilt-y, 0deg)) rotateY(var(--hero-tilt-x, 0deg)) rotateZ(-2deg);
    pointer-events: none;
    will-change: transform, filter;
}

.hero-stage.is-running .hero-portal::before { animation: engine-portal .7s var(--pandora-expo) both; }
.hero-stage.is-running .hero-portal i:nth-child(2) { filter: blur(6px); }
.hero-stage.is-running .hero-callout { box-shadow: 0 0 0 1px rgba(248, 184, 56, .35), 0 24px 80px rgba(112, 176, 0, .28); }

.hero-energy-wave {
    position: absolute;
    z-index: 7;
    top: 50%;
    left: 50%;
    width: 40%;
    aspect-ratio: 1;
    transform: translate(-50%, -50%) scale(.2);
    border: 2px solid rgba(248, 184, 56, .72);
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
}

.hero-stage.is-running .hero-energy-wave { animation: engine-wave .9s var(--pandora-expo) forwards; }

.engine-trigger {
    position: absolute;
    z-index: 10;
    right: -8px;
    bottom: 4%;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 14px 8px 8px;
    cursor: pointer;
    border: 1px solid rgba(255, 255, 255, .88);
    border-radius: 999px;
    background: rgba(247, 252, 243, .82);
    color: var(--ink);
    box-shadow: 0 18px 54px rgba(37, 75, 37, .18), inset 0 1px 0 rgba(255, 255, 255, .96);
    backdrop-filter: blur(16px);
    transition: transform .28s var(--pandora-expo), box-shadow .28s;
}

.engine-trigger:hover { transform: translateY(-4px); box-shadow: 0 26px 64px rgba(37, 75, 37, .24), inset 0 1px 0 rgba(255, 255, 255, .96); }
.engine-trigger:active { transform: translateY(1px) scale(.97); }
.engine-trigger-core { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: var(--ink); box-shadow: inset 0 0 0 1px rgba(251, 255, 247, .12); }
.engine-trigger-core i { width: 12px; height: 12px; border: 2px solid var(--brand-yellow); border-top-color: transparent; border-radius: 50%; }
.engine-trigger-copy { display: grid; text-align: left; line-height: 1.1; }
.engine-trigger-copy small { color: var(--ink-soft); font-size: 8px; font-weight: 700; text-transform: uppercase; }
.engine-trigger-copy strong { font-size: 12px; }
.engine-trigger[aria-pressed="true"] .engine-trigger-core { background: var(--brand-green); }
.engine-trigger[aria-pressed="true"] .engine-trigger-core i { animation: starter-turn .55s linear infinite; }

.engine-status {
    position: absolute;
    z-index: 9;
    right: 4px;
    bottom: -12px;
    margin: 0;
    color: var(--ink-soft);
    font-size: 9px;
    font-weight: 700;
    opacity: .7;
}

/* Scroll journey */
.power-journey {
    position: relative;
    width: calc(100% - 24px);
    max-width: 1380px;
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
    gap: clamp(34px, 6vw, 92px);
    margin: 0 auto clamp(110px, 12vw, 170px);
    padding: clamp(18px, 2vw, 28px);
    border: 1px solid rgba(255, 255, 255, .78);
    border-radius: 48px;
    background:
        radial-gradient(circle at 28% 30%, rgba(248, 184, 56, .17), transparent 26rem),
        linear-gradient(145deg, rgba(244, 250, 239, .92), rgba(220, 240, 202, .78));
    box-shadow: inset 0 2px 0 rgba(255, 255, 255, .84), 0 26px 80px rgba(48, 89, 40, .11);
}

.journey-sticky {
    position: sticky;
    top: 84px;
    height: calc(100svh - 104px);
    min-height: 640px;
    align-self: start;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .82);
    border-radius: 36px;
    background:
        radial-gradient(circle at 50% 44%, rgba(251, 255, 247, .97) 0 20%, rgba(220, 241, 197, .48) 38%, transparent 68%),
        rgba(237, 246, 231, .68);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .94);
}

.journey-visual { position: absolute; inset: 0; display: grid; place-items: center; perspective: 1500px; }
.journey-visual::before { content: ""; position: absolute; inset: 12%; border-radius: 50%; background: radial-gradient(circle, rgba(112, 176, 0, .13), transparent 66%); filter: blur(18px); transform: scale(calc(.8 + var(--journey-progress-value, 0) * .25)); }
.journey-visual img { position: relative; z-index: 3; width: min(90%, 720px); max-width: none; transform: translate3d(var(--journey-x, 0px), var(--journey-y, 0px), 60px) rotateZ(var(--journey-rotation, -4deg)) scale(var(--journey-scale, .92)); filter: saturate(1.08) drop-shadow(0 38px 40px rgba(37, 74, 34, .20)); transition: transform .9s var(--pandora-expo), filter .7s; will-change: transform; }
.journey-halo { position: absolute; top: 50%; left: 50%; aspect-ratio: 1; border-radius: 50%; pointer-events: none; }
.journey-halo--outer { width: 82%; border: 1px dashed rgba(63, 118, 0, .23); animation: pandora-ring-turn 34s linear infinite; }
.journey-halo--inner { width: 58%; border: 1px solid rgba(248, 184, 56, .26); animation: pandora-ring-turn 22s linear infinite reverse; }
.journey-flare { position: absolute; top: 19%; left: 17%; width: 9px; height: 9px; border-radius: 50%; background: var(--brand-yellow); box-shadow: 0 0 0 10px rgba(248, 184, 56, .10), 0 0 30px rgba(248, 184, 56, .42); }

.journey-focus { position: absolute; z-index: 4; top: 8%; right: 7%; display: flex; align-items: flex-end; gap: 7px; color: rgba(63, 118, 0, .13); line-height: .78; }
.journey-focus span { font-size: clamp(104px, 13vw, 204px); font-weight: 870; letter-spacing: -.09em; }
.journey-focus small { padding-bottom: 12px; font-size: 14px; font-weight: 850; }

.journey-copy { position: absolute; z-index: 6; right: 7%; bottom: 7%; left: 7%; max-width: 620px; }
.journey-copy h2 { margin-bottom: 20px; font-size: clamp(43px, 5vw, 76px); font-weight: 780; line-height: .98; letter-spacing: -.065em; }
.journey-copy h2 span { color: var(--brand-green); }
.journey-copy > p:not(.section-index) { max-width: 520px; margin-bottom: 22px; color: var(--ink-soft); }
.journey-progress { width: 100%; height: 3px; overflow: hidden; border-radius: 99px; background: rgba(63, 118, 0, .11); }
.journey-progress i { display: block; width: 100%; height: 100%; transform: scaleX(var(--journey-progress-value, .05)); transform-origin: left; border-radius: inherit; background: linear-gradient(90deg, var(--brand-green), var(--brand-yellow)); transition: transform .25s linear; }

.journey-steps { display: grid; gap: 22vh; padding: 38vh 12px; }
.journey-step {
    position: relative;
    z-index: 2;
    min-height: 44vh;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: clamp(24px, 4vw, 46px);
    border: 1px solid rgba(255, 255, 255, .78);
    border-radius: 30px;
    background: rgba(248, 251, 245, .72);
    color: var(--ink);
    opacity: .38;
    transform: translate3d(0, 36px, 0) scale(.96);
    filter: blur(2px) saturate(.8);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .92);
    transition: opacity .65s var(--pandora-expo), transform .65s var(--pandora-expo), filter .65s, background .65s, box-shadow .65s;
}

.journey-step.is-active { opacity: 1; transform: none; filter: none; background: rgba(251, 253, 248, .94); box-shadow: 0 24px 70px rgba(45, 84, 39, .13), inset 0 1px 0 rgba(255, 255, 255, .98); }
.journey-step > span { margin-bottom: auto; color: var(--brand-green); font-size: 11px; font-weight: 850; letter-spacing: .14em; }
.journey-step h3 { margin-bottom: 8px; font-size: clamp(25px, 3vw, 38px); letter-spacing: -.04em; }
.journey-step p { margin: 0; color: var(--ink-soft); font-size: 14px; }

/* Portal gallery */
.gallery-showcase { isolation: isolate; }
.gallery-showcase::after { content: ""; position: absolute; z-index: 0; inset: 10% 22%; border-radius: 50%; background: radial-gradient(circle, rgba(112, 176, 0, .12), transparent 66%); filter: blur(26px); pointer-events: none; }
.gallery-main.pandora-entering { animation: gallery-portal-arrive .72s var(--pandora-expo) both, gallery-float 5.8s .72s ease-in-out infinite alternate; }
.gallery-stage.is-changing .gallery-orbit--one { animation-duration: 2.5s; }
.gallery-stage.is-changing .gallery-orbit--two { animation-duration: 1.8s; }
.gallery-thumb:active img { transform: scale(.92); transition: transform .12s var(--pandora-expo); }

/* Kit assembles itself */
.kit-visual { isolation: isolate; }
.kit-visual > .kit-hero-piece { position: relative; z-index: 4; width: 72%; animation: kit-float 6.4s ease-in-out infinite alternate; }
.kit-constellation { position: absolute; z-index: 3; inset: 0; pointer-events: none; }
.kit-visual .kit-piece { position: absolute; z-index: 3; width: 23%; max-width: 180px; opacity: 0; filter: saturate(1.05) drop-shadow(0 16px 18px rgba(42, 75, 32, .18)); animation: none; transition: none; }
.kit-visual .kit-piece--one { top: 10%; right: 12%; --from-x: -190px; --from-y: 210px; --turn: 28deg; }
.kit-visual .kit-piece--two { top: 33%; left: 5%; --from-x: 220px; --from-y: 70px; --turn: -24deg; }
.kit-visual .kit-piece--three { right: 5%; bottom: 22%; --from-x: -210px; --from-y: -90px; --turn: 34deg; }
.kit-visual .kit-piece--four { bottom: 5%; left: 15%; --from-x: 160px; --from-y: -190px; --turn: -20deg; }
.kit-visual .kit-piece--five { top: 7%; left: 13%; --from-x: 150px; --from-y: 220px; --turn: -18deg; }
.kit-visual.is-visible .kit-piece { animation: kit-assemble 1.1s var(--pandora-expo) forwards; }
.kit-visual.is-visible .kit-piece--two { animation-delay: .12s; }
.kit-visual.is-visible .kit-piece--three { animation-delay: .22s; }
.kit-visual.is-visible .kit-piece--four { animation-delay: .32s; }
.kit-visual.is-visible .kit-piece--five { animation-delay: .42s; }
.kit-visual:hover .kit-piece { transform: translateY(-5px); }

/* Conversion finale */
.order-section { isolation: isolate; }
.order-energy { position: absolute; z-index: 0; inset: 0; pointer-events: none; }
.order-energy i { position: absolute; right: 18%; top: 50%; width: 220px; aspect-ratio: 1; transform: translate(50%, -50%) scale(.42); border: 1px solid rgba(251, 255, 247, .18); border-radius: 50%; opacity: 0; }
.order-energy i:nth-child(2) { width: 390px; }
.order-energy i:nth-child(3) { width: 570px; }
.order-section.is-primed .order-energy i { animation: order-converge 2.4s var(--pandora-expo) infinite; }
.order-section.is-primed .order-energy i:nth-child(2) { animation-delay: .35s; }
.order-section.is-primed .order-energy i:nth-child(3) { animation-delay: .7s; }
.order-section.is-primed .form-panel { box-shadow: 0 0 0 1px rgba(248, 184, 56, .22), 0 32px 100px rgba(20, 54, 18, .32); }
.form-panel { transition: transform .5s var(--pandora-expo), box-shadow .5s; }
.form-panel:focus-within { transform: translateY(-7px); box-shadow: 0 0 0 1px rgba(248, 184, 56, .34), 0 40px 110px rgba(20, 54, 18, .35); }
.form-field input { transition: border-color .25s, box-shadow .25s, transform .25s var(--pandora-expo); }
.form-field input:focus { transform: translateY(-2px); box-shadow: 0 0 0 4px rgba(112, 176, 0, .10), 0 12px 28px rgba(47, 91, 35, .08); }

/* Thank-you portal */
body[data-pandora-page="thanks"] .thank-main { position: relative; overflow: hidden; isolation: isolate; }
.thank-portal { position: absolute; z-index: 0; top: 50%; left: 50%; width: min(78vw, 840px); aspect-ratio: 1; transform: translate(-50%, -50%); border-radius: 50%; background: radial-gradient(circle, rgba(251, 255, 247, .92) 0 8%, rgba(173, 224, 96, .28) 24%, transparent 64%); }
.thank-portal::before,
.thank-portal::after { content: ""; position: absolute; inset: 0; border: 1px solid rgba(112, 176, 0, .22); border-radius: 50%; animation: thank-close 1.8s .2s var(--pandora-expo) both; }
.thank-portal::after { inset: 16%; border-style: dashed; animation-delay: .34s; }
body[data-pandora-page="thanks"] .thank-content { position: relative; z-index: 2; }
body[data-pandora-page="thanks"] .thank-mark { animation: thank-mark-land .9s .4s var(--pandora-expo) both; }

@keyframes pandora-open-ring { 0% { transform: translate(-50%, -50%) scale(.15); opacity: 0; } 48% { opacity: 1; } 100% { transform: translate(-50%, -50%) scale(1.15); opacity: .18; } }
@keyframes pandora-open-flash { 0% { transform: translate(-50%, -50%) scale(.12); opacity: 0; } 38% { opacity: .8; } 100% { transform: translate(-50%, -50%) scale(7); opacity: 0; } }
@keyframes pandora-mark-arrive { to { transform: scale(1); opacity: 1; } }
@keyframes pandora-ring-turn { to { transform: translate(-50%, -50%) rotate(360deg); } }
@keyframes sound-bar { from { height: 4px; } to { height: 14px; } }
@keyframes portal-breathe { from { transform: scale(.96); opacity: .55; } to { transform: scale(1.04); opacity: 1; } }
@keyframes portal-core { from { transform: scale(.82); opacity: .66; } to { transform: scale(1.05); opacity: 1; } }
@keyframes portal-spark { 0%, 100% { transform: scale(.55); opacity: .4; } 50% { transform: scale(1.25); opacity: 1; } }
@keyframes engine-portal { 0% { transform: scale(.92); box-shadow: inset 0 0 40px rgba(112, 176, 0, .08), 0 0 40px rgba(112, 176, 0, .08); } 38% { transform: scale(1.08); box-shadow: inset 0 0 70px rgba(248, 184, 56, .20), 0 0 90px rgba(112, 176, 0, .30); } 100% { transform: scale(1); } }
@keyframes engine-wave { 0% { transform: translate(-50%, -50%) scale(.18); opacity: 0; } 18% { opacity: 1; } 100% { transform: translate(-50%, -50%) scale(4.2); opacity: 0; } }
@keyframes starter-turn { to { transform: rotate(360deg); } }
@keyframes gallery-portal-arrive { 0% { opacity: 0; transform: rotateX(var(--gy)) rotateY(var(--gx)) translateZ(-80px) scale(.4) rotate(14deg); filter: blur(18px) saturate(.4); clip-path: circle(3% at 50% 50%); } 52% { opacity: 1; clip-path: circle(48% at 50% 50%); } 100% { transform: rotateX(var(--gy)) rotateY(var(--gx)) translateZ(32px) scale(1); filter: saturate(1.04) drop-shadow(0 36px 35px rgba(37,74,34,.19)); clip-path: circle(75% at 50% 50%); } }
@keyframes kit-assemble { 0% { opacity: 0; transform: translate3d(var(--from-x), var(--from-y), -120px) scale(.18) rotate(var(--turn)); filter: blur(14px) saturate(.5); } 55% { opacity: 1; } 100% { opacity: 1; transform: translate3d(0, 0, 0) scale(1) rotate(0); filter: saturate(1.05) drop-shadow(0 16px 18px rgba(42,75,32,.18)); } }
@keyframes order-converge { 0% { transform: translate(50%, -50%) scale(1.28); opacity: 0; } 28% { opacity: .55; } 100% { transform: translate(50%, -50%) scale(.42); opacity: 0; } }
@keyframes thank-close { from { transform: scale(1.7); opacity: 0; } 35% { opacity: 1; } to { transform: scale(.72); opacity: .26; } }
@keyframes thank-mark-land { from { transform: scale(.25) rotate(-18deg); opacity: 0; filter: blur(10px); } to { transform: scale(1); opacity: 1; filter: none; } }

@media (max-width: 1080px) {
    .power-journey { grid-template-columns: minmax(0, 1.08fr) minmax(280px, .92fr); gap: 26px; }
    .journey-sticky { min-height: 590px; }
    .journey-copy h2 { font-size: clamp(40px, 5vw, 62px); }
}

@media (max-width: 860px) {
    .hero-portal { width: min(84vw, 590px); }
    .power-journey { display: block; padding: 10px; }
    .journey-sticky { top: 78px; height: calc(74svh - 78px); min-height: 500px; z-index: 1; }
    .journey-visual img { width: min(108%, 680px); }
    .journey-copy { top: 5%; right: 5%; bottom: auto; left: 5%; }
    .journey-copy h2,
    .journey-copy > p:not(.section-index),
    .journey-progress { display: none; }
    .journey-copy .section-index { margin: 0; }
    .journey-steps { position: relative; z-index: 2; gap: 42vh; padding: 58vh 12px 34vh; pointer-events: none; }
    .journey-step { min-height: 230px; pointer-events: auto; }
    .kit-visual .kit-piece { width: 21%; }
}

@media (max-width: 560px) {
    .cursor-aura { display: none; }
    .ambient-canvas { opacity: .42; }
    .pandora-intro-core p { max-width: 240px; text-align: center; font-size: 9px; }
    .pandora-intro > button { right: 14px; bottom: 14px; }
    .sound-control { right: 14px; bottom: 82px; min-width: 44px; width: 44px; padding-inline: 0; }
    .sound-control > span:last-child { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
    .hero-portal { width: 96vw; }
    .engine-trigger { right: -5px; bottom: 1%; padding-right: 10px; }
    .engine-trigger-core { width: 38px; height: 38px; }
    .engine-trigger-copy strong { font-size: 10px; }
    .engine-status { display: none; }
    .power-journey { width: calc(100% - 14px); margin-bottom: 88px; border-radius: 32px; }
    .journey-sticky { top: 74px; height: calc(70svh - 74px); min-height: 440px; border-radius: 24px; }
    .journey-visual img { width: 116%; }
    .journey-focus { top: 6%; right: 4%; }
    .journey-focus span { font-size: 27vw; }
    .journey-copy h2 { margin-bottom: 12px; font-size: clamp(31px, 9vw, 42px); }
    .journey-copy > p:not(.section-index) { max-width: 90%; margin-bottom: 14px; font-size: 12px; }
    .journey-copy .section-index { margin-bottom: 10px; }
    .journey-steps { gap: 35vh; padding: 54vh 6px 28vh; }
    .journey-step { min-height: 200px; padding: 24px; border-radius: 22px; }
    .kit-visual > .kit-hero-piece { width: 70%; }
    .kit-visual .kit-piece { width: 20%; }
    .kit-visual .kit-piece--one { top: 13%; right: 8%; }
    .kit-visual .kit-piece--two { left: 3%; }
    .kit-visual .kit-piece--three { right: 4%; bottom: 18%; }
    .kit-visual .kit-piece--four { bottom: 7%; left: 12%; }
    .kit-visual .kit-piece--five { top: 12%; left: 10%; }
    .order-energy i { right: 48%; }
}

@media (pointer: coarse) {
    .cursor-aura { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    .pandora-intro { display: none !important; }
    .ambient-canvas,
    .cursor-aura { display: none !important; }
    .hero-product { transform: translate3d(-50%, 0, 58px) rotateZ(-2deg); }
    .journey-sticky { position: relative; top: auto; height: auto; min-height: 640px; }
    .journey-steps { gap: 20px; padding-block: 20px; }
    .journey-step { min-height: 240px; opacity: 1; transform: none; filter: none; }
    .kit-visual .kit-piece { opacity: 1; transform: none; }
    .order-energy { display: none; }
}
