body.home-magic {
    --txt-main: #f3f5fb;
    --txt-soft: #b6bfd3;
    --accent-hot: #ff7f66;
    --accent-cool: #a9b4ff;
    --layout-main-content-width: 1460px;
    --layout-main-pad-x: clamp(18px, 5vw, 96px);
    --scroll-energy: 0;
    --page-progress: 0;
    --core-energy: 0;
    --core-rot: 0deg;
    --dir-factor: 1;
    --trail-alpha: 0;
    --signal-length: 1;
    --signal-progress: 0;
    --mesh-energy: 0;
    background: #050508;
    color: var(--txt-main);
}

/* Kill custom decorative backdrop: let neural network lead */
body.home-magic::before {
    content: "";
    position: fixed;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 1px;
    transform: translateX(-50%);
    pointer-events: none;
    z-index: 1;
    background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0),
        rgba(169, 180, 255, 0.26),
        rgba(255, 127, 102, 0.24),
        rgba(255, 255, 255, 0)
    );
    opacity: 0.35;
}

body.home-magic::after {
    opacity: 0.012;
}

body.home-magic #tsparticles {
    opacity: 1;
    filter: none;
}

body.home-magic .page-wrapper {
    isolation: isolate;
}

/* Traveling pulse over the center line (reversible by scroll) */
body.home-magic .page-wrapper::before {
    content: "";
    position: fixed;
    left: 50%;
    top: calc(8vh + (var(--page-progress) * 82vh));
    width: calc(12px + (var(--scroll-energy) * 16px));
    height: calc(12px + (var(--scroll-energy) * 16px));
    transform: translate(-50%, -50%);
    border-radius: 50%;
    pointer-events: none;
    z-index: 3;
    opacity: calc(0.28 + (var(--trail-alpha) * 0.68));
    background: radial-gradient(
        circle,
        rgba(255, 255, 255, 0.95) 0%,
        rgba(255, 127, 102, 0.85) 28%,
        rgba(255, 127, 102, 0) 72%
    );
    box-shadow:
        0 0 20px rgba(255, 127, 102, 0.48),
        0 0 40px rgba(169, 180, 255, 0.32);
}

body.home-magic.scroll-dir-up .page-wrapper::before {
    background: radial-gradient(
        circle,
        rgba(255, 255, 255, 0.95) 0%,
        rgba(169, 180, 255, 0.86) 30%,
        rgba(169, 180, 255, 0) 74%
    );
}

/* Header: clean and frameless */
body.home-magic header {
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    transform: none;
    padding: 18px clamp(12px, 4vw, 52px);
    border: 0;
    border-radius: 0;
    background: transparent;
    backdrop-filter: none;
    box-shadow: none;
}

body.home-magic .logo {
    font-size: 0.94rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

body.home-magic .logo span {
    color: var(--accent-hot);
}

body.home-magic .header-links {
    gap: 16px;
    margin-right: 20px;
}

body.home-magic .header-link {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    color: #dbe2f2;
    font-size: 0.68rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    font-weight: 650;
    position: relative;
}

body.home-magic .header-link::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -6px;
    height: 1px;
    background: linear-gradient(90deg, rgba(255, 127, 102, 0), rgba(255, 127, 102, 0.9), rgba(255, 127, 102, 0));
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.24s ease;
}

body.home-magic .header-link:hover,
body.home-magic .header-link:focus-visible {
    color: #fff;
    transform: none;
}

body.home-magic .header-link:hover::after,
body.home-magic .header-link:focus-visible::after {
    transform: scaleX(1);
}

body.home-magic .header-link-yt {
    color: #ffd1c7;
}

body.home-magic .lang-current {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    color: #dbe2f2;
    font-size: 0.68rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

body.home-magic .lang-current:hover {
    color: #fff;
    box-shadow: none;
    border: 0;
}

body.home-magic .lang-menu {
    margin-top: 10px;
    border: 0;
    border-radius: 0;
    background: rgba(9, 11, 16, 0.94);
    backdrop-filter: blur(10px);
}

body.home-magic .lang-option {
    border-radius: 0;
    font-size: 0.7rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

body.home-magic .lang-option:hover,
body.home-magic .lang-option.active {
    background: rgba(255, 127, 102, 0.13);
    color: #fff;
}

/* Hero */
body.home-magic .hero {
    --hero-progress: 0.5;
    position: relative;
    min-height: clamp(680px, 92svh, 860px);
    max-width: calc(var(--layout-main-content-width) + (var(--layout-main-pad-x) * 2));
    margin: 0 auto;
    padding: clamp(94px, 13vh, 132px) var(--layout-main-pad-x) clamp(44px, 7vh, 76px);
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr);
    grid-template-areas:
        "content media"
        "ctas media";
    column-gap: clamp(24px, 5vw, 90px);
    row-gap: clamp(20px, 2.4vw, 30px);
    align-items: center;
}

body.home-magic .hero::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(520px 220px at 18% 16%, rgba(169, 180, 255, 0.14), transparent 72%),
        radial-gradient(620px 280px at 80% 14%, rgba(255, 127, 102, 0.16), transparent 76%);
    z-index: -1;
}

body.home-magic .hero::after {
    content: "";
    position: absolute;
    left: 8%;
    right: 12%;
    bottom: 0;
    height: 1px;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(255, 127, 102, 0), rgba(255, 127, 102, 0.52), rgba(169, 180, 255, 0));
}

body.home-magic .hero-aurora {
    display: none;
}

body.home-magic .hero-text,
body.home-magic .hero-media,
body.home-magic .hero-ctas {
    position: relative;
    z-index: 2;
}

body.home-magic .hero-name {
    margin-bottom: 22px;
    font-size: clamp(3.1rem, 8.8vw, 7.6rem);
    line-height: 0.84;
    font-weight: 900;
    letter-spacing: -0.05em;
    text-transform: uppercase;
    text-wrap: balance;
    text-shadow: 0 18px 34px rgba(0, 0, 0, 0.54);
}

body.home-magic .hero-name .highlight {
    background: linear-gradient(100deg, #ffffff 8%, #ccd3ff 46%, #ffb3a6 92%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

body.home-magic .hero-subtitle {
    margin: 0 0 14px;
    min-height: 0;
    max-width: 60ch;
    font-size: clamp(0.96rem, 1.22vw, 1.18rem);
    line-height: 1.74;
    color: rgba(220, 227, 243, 0.9);
}

body.home-magic .role-rotator {
    height: 34px;
    margin-bottom: 6px;
    border: 0;
    padding: 0;
    background: none;
}

body.home-magic .role-item {
    font-size: 0.75rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #d8def6;
}

body.home-magic .role-item::before {
    color: rgba(255, 127, 102, 0.86);
}

/* CTA links: text + kinetic underline */
body.home-magic .hero-ctas {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 18px;
}

body.home-magic .cta-primary,
body.home-magic .cta-ghost,
body.home-magic .media-badge {
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    color: #f4f7ff;
    box-shadow: none;
    font-size: 0.78rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-weight: 650;
    position: relative;
    transition: opacity 0.2s ease;
}

body.home-magic .cta-primary::after,
body.home-magic .cta-ghost::after,
body.home-magic .media-badge::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -7px;
    height: 1px;
    background: linear-gradient(90deg, rgba(255, 127, 102, 0), rgba(255, 127, 102, 0.95), rgba(255, 127, 102, 0));
    transform: scaleX(0.22);
    transform-origin: left;
    opacity: 0.72;
    transition: transform 0.24s ease, opacity 0.24s ease;
}

body.home-magic .cta-primary {
    color: #ffd7cf;
}

body.home-magic .hero-ctas .media-badge {
    order: 4;
    flex-basis: 100%;
    margin-left: 0;
    margin-top: 6px;
    color: #d7def8;
}

body.home-magic .cta-primary:hover,
body.home-magic .cta-ghost:hover,
body.home-magic .media-badge:hover,
body.home-magic .cta-primary:focus-visible,
body.home-magic .cta-ghost:focus-visible,
body.home-magic .media-badge:focus-visible {
    opacity: 1;
    transform: none;
    box-shadow: none;
    border: 0;
    outline: none;
}

body.home-magic .cta-primary:hover::after,
body.home-magic .cta-ghost:hover::after,
body.home-magic .media-badge:hover::after,
body.home-magic .cta-primary:focus-visible::after,
body.home-magic .cta-ghost:focus-visible::after,
body.home-magic .media-badge:focus-visible::after {
    transform: scaleX(1);
    opacity: 1;
}

body.home-magic .media-badge .cope-logo {
    width: 34px;
    height: 14px;
}

body.home-magic .media-badge .cope-title {
    font-weight: 700;
}

/* Hero video: clean, no frame/bg */
body.home-magic .hero-media {
    width: min(520px, 100%);
    justify-self: end;
}

body.home-magic .hero-photo {
    width: 100%;
    max-width: 560px;
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
    transform: translateY(calc((0.5 - var(--hero-progress)) * 24px));
}

body.home-magic .hero-photo::before,
body.home-magic .hero-photo::after {
    content: none;
}

body.home-magic .hero-photo video {
    width: 100%;
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 18px 34px rgba(0, 0, 0, 0.54));
    border-radius: 0;
}

/* Bigger mouse indicator, no label */
body.home-magic .scroll-cue {
    position: fixed;
    left: 50%;
    bottom: 22px;
    z-index: 95;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    transform: translateX(-50%);
    transition: opacity 0.32s ease, transform 0.32s ease;
    pointer-events: none;
}

body.home-magic .scroll-cue.is-hidden {
    opacity: 0;
    transform: translate(-50%, 14px);
}

body.home-magic .scroll-cue-mouse {
    width: 38px;
    height: 64px;
    border: 2px solid rgba(255, 255, 255, 0.8);
    border-radius: 20px;
    display: inline-flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 11px;
    box-shadow:
        0 0 14px rgba(169, 180, 255, 0.28),
        0 0 20px rgba(255, 127, 102, 0.22);
}

body.home-magic .scroll-cue-wheel {
    width: 5px;
    height: 12px;
    border-radius: 999px;
    background: linear-gradient(180deg, #ffffff, #ffb19f);
    animation: wheel 1.5s ease-in-out infinite;
}

body.home-magic .scroll-cue-label {
    display: none;
}

/* Epic core */
body.home-magic .epic-core {
    position: fixed;
    left: 50%;
    top: 50%;
    width: clamp(120px, 12vw, 210px);
    aspect-ratio: 1;
    transform: translate(-50%, -50%) rotate(var(--core-rot)) scale(calc(0.7 + (var(--core-energy) * 0.4)));
    transform-origin: center;
    pointer-events: none;
    z-index: 4;
    opacity: calc(0.3 + (var(--core-energy) * 0.6));
    mix-blend-mode: screen;
    transition: opacity 0.22s ease;
    --core-a: rgba(169, 180, 255, 0.8);
    --core-b: rgba(255, 127, 102, 0.86);
}

body.home-magic .epic-core[data-phase="diagnose"] {
    --core-a: rgba(169, 180, 255, 0.86);
    --core-b: rgba(255, 180, 164, 0.8);
}

body.home-magic .epic-core[data-phase="design"] {
    --core-a: rgba(255, 186, 120, 0.84);
    --core-b: rgba(255, 127, 102, 0.88);
}

body.home-magic .epic-core[data-phase="deploy"] {
    --core-a: rgba(129, 233, 255, 0.84);
    --core-b: rgba(169, 180, 255, 0.84);
}

body.home-magic .epic-core[data-phase="scale"] {
    --core-a: rgba(255, 127, 102, 0.86);
    --core-b: rgba(255, 218, 181, 0.82);
}

body.home-magic .core-ring {
    position: absolute;
    inset: 0;
    border-radius: 50%;
}

body.home-magic .core-ring-a {
    inset: 8%;
    border: 1px solid var(--core-a);
    opacity: 0.7;
    animation: core-spin-a 8.8s linear infinite;
}

body.home-magic .core-ring-b {
    inset: 22%;
    border: 1px solid var(--core-b);
    opacity: 0.8;
    animation: core-spin-b 6.4s linear infinite;
}

body.home-magic .core-ring-c {
    inset: 36%;
    border: 1px solid rgba(255, 255, 255, 0.7);
    opacity: 0.8;
    animation: core-spin-c 4.2s linear infinite;
}

body.home-magic.scroll-dir-up .core-ring-a,
body.home-magic.scroll-dir-up .core-ring-b,
body.home-magic.scroll-dir-up .core-ring-c {
    animation-direction: reverse;
}

body.home-magic .core-node {
    position: absolute;
    left: 50%;
    top: 50%;
    width: calc(8px + (var(--core-energy) * 10px));
    height: calc(8px + (var(--core-energy) * 10px));
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background: radial-gradient(circle, #fff 0%, color-mix(in srgb, var(--core-b) 78%, #fff) 36%, transparent 72%);
    box-shadow: 0 0 18px var(--core-b), 0 0 36px var(--core-a);
}

body.home-magic .core-spark {
    position: absolute;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0 10px color-mix(in srgb, var(--core-a) 70%, #fff);
}

body.home-magic .core-spark-a {
    left: 16%;
    top: 46%;
    animation: core-orbit-a 3.6s linear infinite;
}

body.home-magic .core-spark-b {
    left: 68%;
    top: 22%;
    animation: core-orbit-b 4.2s linear infinite;
}

/* Section choreography */
body.home-magic .scene-section {
    --scene-progress: 0;
    --scene-magic: 0;
    content-visibility: visible !important;
    contain: none !important;
    contain-intrinsic-size: auto !important;
    position: relative;
    isolation: isolate;
    max-width: calc(var(--layout-main-content-width) + (var(--layout-main-pad-x) * 2));
    margin: 0 auto;
    min-height: clamp(640px, 92vh, 980px);
    padding: clamp(68px, 9vw, 124px) var(--layout-main-pad-x) clamp(16px, 3vw, 40px);
    display: grid;
    grid-template-columns: minmax(220px, 320px) minmax(0, 1fr);
    column-gap: clamp(20px, 4.5vw, 70px);
    row-gap: clamp(12px, 1.8vw, 18px);
}

body.home-magic .scene-section::before {
    content: "";
    position: absolute;
    left: var(--layout-main-pad-x);
    right: var(--layout-main-pad-x);
    top: 0;
    height: 1px;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(255, 127, 102, 0), rgba(255, 127, 102, 0.56), rgba(169, 180, 255, 0));
    opacity: calc(0.16 + (var(--scene-magic) * 0.6));
    transform: scaleX(calc(0.3 + (var(--scene-magic) * 0.7)));
    transform-origin: left center;
}

body.home-magic.scroll-dir-up .scene-section::before {
    transform-origin: right center;
}

body.home-magic .scene-section::after {
    content: "";
    position: absolute;
    left: calc(var(--layout-main-pad-x) + clamp(180px, 18vw, 250px));
    top: clamp(68px, 9vw, 124px);
    bottom: clamp(16px, 3vw, 40px);
    width: 1px;
    pointer-events: none;
    background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0),
        rgba(169, 180, 255, calc(0.18 + (var(--scene-magic) * 0.3))),
        rgba(255, 127, 102, calc(0.18 + (var(--scene-magic) * 0.3))),
        rgba(255, 255, 255, 0)
    );
}

body.home-magic .section-title {
    grid-column: 1;
    margin: 0;
    position: sticky;
    top: 118px;
    align-self: start;
    font-size: clamp(2rem, 4.8vw, 4.6rem);
    line-height: 0.88;
    letter-spacing: -0.035em;
    text-transform: uppercase;
    max-width: 8.6ch;
    transform: translateY(calc((0.5 - var(--scene-progress)) * 38px));
}

body.home-magic .section-title span {
    background: linear-gradient(98deg, #ffffff 8%, #cfd5ff 44%, #ffb1a2 92%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    filter: drop-shadow(0 6px 20px rgba(255, 127, 102, calc(0.08 + (var(--scene-magic) * 0.2))));
}

body.home-magic .section-subtitle,
body.home-magic .neo-services,
body.home-magic .neo-cases,
body.home-magic .neo-ia,
body.home-magic .neo-resources,
body.home-magic .resources-view-all {
    grid-column: 2;
}

body.home-magic .section-subtitle {
    margin: 0 0 clamp(14px, 2.4vw, 28px);
    max-width: 68ch;
    font-size: clamp(0.9rem, 1.06vw, 1.02rem);
    line-height: 1.72;
    color: rgba(210, 218, 236, 0.84);
}

body.home-magic .why-ai-subtitle {
    display: flex;
    align-items: center;
    gap: 10px;
}

body.home-magic .why-ai-avatar-preview {
    width: 32px;
    height: 32px;
    border: 0;
    border-radius: 50%;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.44);
}

body.home-magic .neo-services,
body.home-magic .neo-cases,
body.home-magic .neo-ia,
body.home-magic .neo-resources {
    position: relative;
    z-index: 1;
    transform: translateY(calc((0.5 - var(--scene-progress)) * 34px));
    transition: transform 0.22s linear;
}

/* Panel base: no boxes */
body.home-magic .neo-panel {
    --panel-transform: translate3d(0, calc((1 - var(--card-visible, 1)) * 18px), 0) rotateX(calc(var(--card-skew, 0deg) * 0.22));
    position: relative;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
    transform: var(--panel-transform);
    opacity: calc(0.42 + (var(--card-visible, 1) * 0.58));
    filter: blur(calc((1 - var(--card-visible, 1)) * 2px));
    transition: transform 0.34s ease, opacity 0.3s ease, filter 0.3s ease;
}

body.home-magic .neo-panel::before,
body.home-magic .neo-panel::after {
    content: none !important;
}

body.home-magic .neo-head,
body.home-magic .neo-services .neo-panel--service .neo-head,
body.home-magic .neo-cases .neo-panel--case .neo-head {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    margin: 0 0 8px !important;
}

body.home-magic .neo-icon {
    width: 30px;
    height: 30px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    padding: 0;
    justify-content: flex-start;
}

body.home-magic .neo-icon::after {
    content: none;
}

body.home-magic .neo-icon svg {
    width: 18px;
    height: 18px;
    stroke: #f4f6ff;
    opacity: 0.9;
}

body.home-magic .neo-title {
    margin: 0;
    font-size: clamp(1rem, 1.45vw, 1.56rem);
    line-height: 1.2;
    color: #f6f8ff;
    text-wrap: pretty;
}

body.home-magic .neo-copy {
    margin: 0;
    color: rgba(213, 221, 240, 0.86);
    font-size: 0.88rem;
    line-height: 1.64;
    text-wrap: pretty;
}

/* Services: progressive numbered narrative */
body.home-magic .neo-services {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: clamp(26px, 4vw, 54px);
    row-gap: clamp(22px, 3vw, 42px);
    counter-reset: svc;
}

body.home-magic .neo-services .neo-panel--service {
    counter-increment: svc;
    padding-left: 62px !important;
    min-height: 0;
}

body.home-magic .neo-services .neo-panel--service::before {
    content: "" !important;
    position: absolute;
    left: 0;
    top: 0.7rem;
    width: 34px;
    height: 1px;
    background: linear-gradient(90deg, rgba(255, 127, 102, 0.2), rgba(255, 127, 102, 0.88));
}

body.home-magic .neo-services .neo-panel--service::after {
    content: counter(svc, decimal-leading-zero) !important;
    position: absolute;
    left: 0;
    top: -0.16rem;
    font-family: var(--font-mono, monospace);
    font-size: 0.62rem;
    letter-spacing: 0.16em;
    color: rgba(255, 127, 102, 0.9);
}

body.home-magic .neo-services .neo-panel--service .neo-head {
    display: none !important;
}

body.home-magic .neo-services .neo-panel--service .neo-title,
body.home-magic .neo-services .neo-panel--service .neo-copy,
body.home-magic .neo-services .neo-panel--service:nth-child(even) .neo-title,
body.home-magic .neo-services .neo-panel--service:nth-child(even) .neo-copy {
    width: 100%;
    margin: 0;
    padding: 0;
    text-align: left;
}

body.home-magic .neo-services .neo-panel--service .neo-copy,
body.home-magic .neo-services .neo-panel--service:nth-child(even) .neo-copy {
    margin-top: 6px;
}

body.home-magic .neo-services .neo-panel--service::before,
body.home-magic .neo-services .neo-panel--service::after {
    display: block;
}

/* Cases: staged story cards */
body.home-magic .neo-cases {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: clamp(26px, 4vw, 54px);
    row-gap: clamp(22px, 3vw, 42px);
    counter-reset: case;
}

body.home-magic .neo-cases::before {
    display: none;
}

body.home-magic .neo-cases .neo-panel--case {
    counter-increment: case;
    min-height: 0;
    padding-left: 70px;
    padding-top: 0;
    border-left: 0;
}

body.home-magic .neo-cases .neo-panel--case::before {
    content: "CASE" !important;
    position: absolute;
    left: 0;
    top: 0;
    font-family: var(--font-mono, monospace);
    font-size: 0.58rem;
    letter-spacing: 0.16em;
    color: rgba(169, 180, 255, 0.8);
}

body.home-magic .neo-cases .neo-panel--case::after {
    content: counter(case, decimal-leading-zero) !important;
    position: absolute;
    left: 0;
    top: 0.88rem;
    font-family: var(--font-mono, monospace);
    font-size: 0.86rem;
    letter-spacing: 0.08em;
    color: rgba(255, 127, 102, 0.9);
}

body.home-magic .neo-cases .neo-panel--case .neo-head {
    display: none !important;
}

body.home-magic .neo-cases .neo-panel--case:nth-child(3) {
    grid-column: 1 / -1;
}

body.home-magic .use-case-points {
    margin-top: 10px;
    display: grid;
    gap: 8px;
    border-left: 0;
    padding-left: 0;
}

body.home-magic .use-case-points p {
    margin: 0;
    color: rgba(214, 222, 240, 0.88);
    font-size: 0.81rem;
    line-height: 1.52;
}

body.home-magic .use-case-points p span {
    color: #ffd2c8;
    font-weight: 700;
}

body.home-magic .neo-expand {
    min-width: 0;
    width: fit-content;
    margin-top: 10px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    color: #ffe0da;
    font-family: var(--font-mono, monospace);
    font-size: 0.7rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

body.home-magic .neo-expand::after {
    content: " +";
    font-size: 0.72rem;
}

body.home-magic .neo-panel.is-open .neo-expand::after {
    content: " −";
}

body.home-magic .neo-expand:hover,
body.home-magic .neo-expand:focus-visible {
    color: #fff;
    border: 0;
    background: none;
    outline: none;
}

/* AI manifesto */
body.home-magic .neo-ia {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: clamp(20px, 3vw, 40px);
    row-gap: clamp(20px, 3vw, 30px);
}

body.home-magic .neo-ia .neo-panel--ia {
    min-height: 0;
    padding-left: 40px !important;
    border: 0;
    display: block;
}

body.home-magic .neo-ia .neo-panel--ia::before {
    content: "" !important;
    position: absolute;
    left: 0;
    top: 0.82rem;
    width: 24px;
    height: 1px;
    background: linear-gradient(90deg, rgba(169, 180, 255, 0.2), rgba(169, 180, 255, 0.8));
}

body.home-magic .neo-ia .neo-panel--ia .neo-head {
    display: none !important;
}

body.home-magic .neo-ia .neo-panel--ia:first-child {
    border: 0;
}

/* Resources */
body.home-magic .neo-resources {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: clamp(20px, 3.2vw, 42px);
    row-gap: clamp(18px, 2.8vw, 30px);
}

body.home-magic .neo-panel--resource {
    min-height: 0;
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    padding-left: 0 !important;
}

body.home-magic .neo-panel--resource .neo-head {
    display: none;
}

body.home-magic .resource-teaser-thumb,
body.home-magic .resource-thumb {
    width: 100%;
    height: 128px;
    object-fit: contain;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    padding: 0;
    transform: rotate(calc(var(--resource-tilt, -1) * 1.2deg));
    transform-origin: center;
    transition: transform 0.24s ease;
}

body.home-magic .neo-panel--resource:hover .resource-teaser-thumb,
body.home-magic .neo-panel--resource:hover .resource-thumb {
    transform: rotate(0deg);
}

body.home-magic .resource-teaser-actions,
body.home-magic .resource-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

body.home-magic .resource-teaser-actions .neo-cta {
    grid-column: auto;
}

body.home-magic .neo-cta,
body.home-magic .resources-view-all {
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    color: #ffe0da;
    font-size: 0.69rem;
    font-family: var(--font-mono, monospace);
    letter-spacing: 0.14em;
    text-transform: uppercase;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

body.home-magic .neo-cta::after,
body.home-magic .resources-view-all::after {
    content: "→";
    opacity: 0.76;
}

body.home-magic .neo-cta:hover,
body.home-magic .neo-cta:focus-visible,
body.home-magic .resources-view-all:hover,
body.home-magic .resources-view-all:focus-visible {
    color: #fff;
    border: 0;
    transform: none;
    outline: none;
}

body.home-magic .resources-view-all {
    margin-top: 20px;
}

/* Never hide content by reveal classes */
body.home-magic .neo-dynamics .reveal-item,
body.home-magic .neo-dynamics .reveal-item.is-visible {
    opacity: 1 !important;
    transform: var(--panel-transform) !important;
    filter: blur(calc((1 - var(--card-visible, 1)) * 2px)) !important;
    transition: transform 0.34s ease, opacity 0.3s ease, filter 0.3s ease !important;
}

/* Ultra theatrical scroll system */
body.home-magic {
    --chapter-top: clamp(106px, 13vh, 160px);
    --chapter-content-top: clamp(230px, 33vh, 356px);
    --axis-focus-y: 50vh;
}

body.home-magic::before,
body.home-magic .page-wrapper::before {
    display: none;
}

body.home-magic .axis-engine {
    --axis-a: #a8b6ff;
    --axis-b: #ff7f66;
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 4;
    mix-blend-mode: screen;
}

body.home-magic .axis-engine {
    display: none !important;
}

body.home-magic .axis-column {
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: clamp(120px, 12vw, 190px);
    transform: translateX(-50%);
    background:
        radial-gradient(
            ellipse at center,
            color-mix(in srgb, var(--axis-a) 34%, transparent),
            color-mix(in srgb, var(--axis-a) 0%, transparent) 70%
        ),
        linear-gradient(
            180deg,
            color-mix(in srgb, var(--axis-a) 12%, transparent),
            color-mix(in srgb, var(--axis-a) 28%, transparent) 18%,
            color-mix(in srgb, var(--axis-b) 26%, transparent) 55%,
            color-mix(in srgb, var(--axis-a) 30%, transparent) 82%,
            color-mix(in srgb, var(--axis-a) 12%, transparent)
        );
    opacity: calc(0.3 + (var(--core-energy) * 0.6));
}

body.home-magic .axis-thread {
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 2px;
    transform: translateX(-50%);
    background: linear-gradient(
        180deg,
        color-mix(in srgb, var(--axis-a) 0%, transparent),
        color-mix(in srgb, var(--axis-a) 94%, transparent) 14%,
        color-mix(in srgb, var(--axis-b) 92%, transparent) 50%,
        color-mix(in srgb, var(--axis-a) 90%, transparent) 86%,
        color-mix(in srgb, var(--axis-a) 0%, transparent)
    );
    box-shadow:
        0 0 16px color-mix(in srgb, var(--axis-a) 72%, transparent),
        0 0 28px color-mix(in srgb, var(--axis-b) 48%, transparent);
    opacity: calc(0.46 + (var(--core-energy) * 0.54));
}

body.home-magic .axis-focus {
    position: absolute;
    left: 50%;
    top: var(--axis-focus-y);
    width: clamp(36px, 3.6vw, 60px);
    height: clamp(36px, 3.6vw, 60px);
    transform: translate(-50%, -50%) scale(calc(0.72 + (var(--core-energy) * 0.36)));
    border-radius: 50%;
    border: 1px solid rgba(245, 247, 255, 0.72);
    box-shadow:
        inset 0 0 16px rgba(169, 180, 255, 0.4),
        0 0 16px rgba(169, 180, 255, 0.46),
        0 0 26px rgba(255, 127, 102, 0.32);
    opacity: calc(0.32 + (var(--core-energy) * 0.62));
}

body.home-magic .axis-pulse {
    position: absolute;
    left: 50%;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
}

body.home-magic .axis-pulse-a {
    top: calc(8vh + (var(--page-progress) * 82vh));
    width: clamp(16px, 2.4vw, 34px);
    height: clamp(16px, 2.4vw, 34px);
    background: radial-gradient(circle, rgba(255, 255, 255, 1), rgba(255, 127, 102, 0.88), rgba(255, 127, 102, 0));
    box-shadow: 0 0 20px rgba(255, 127, 102, 0.56), 0 0 32px rgba(169, 180, 255, 0.42);
    opacity: calc(0.4 + (var(--scroll-energy) * 0.56));
}

body.home-magic .axis-pulse-b {
    top: calc(12vh + (var(--signal-progress) * 76vh));
    width: clamp(10px, 1.5vw, 22px);
    height: clamp(10px, 1.5vw, 22px);
    background: radial-gradient(circle, rgba(255, 255, 255, 0.96), rgba(169, 180, 255, 0.82), rgba(169, 180, 255, 0));
    box-shadow: 0 0 16px rgba(169, 180, 255, 0.56);
    opacity: calc(0.24 + (var(--core-energy) * 0.52));
}

body.home-magic .axis-phase {
    position: absolute;
    left: 50%;
    font-family: var(--font-mono, monospace);
    font-size: 0.56rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: rgba(220, 227, 243, 0.62);
    text-shadow: 0 0 12px rgba(0, 0, 0, 0.9);
    opacity: 0.52;
}

body.home-magic .axis-phase-data {
    top: 20%;
    transform: translateX(calc(-100% - 18px));
}

body.home-magic .axis-phase-context {
    top: 38%;
    transform: translateX(18px);
}

body.home-magic .axis-phase-decision {
    top: 56%;
    transform: translateX(calc(-100% - 18px));
}

body.home-magic .axis-phase-execution {
    top: 74%;
    transform: translateX(18px);
}

body.home-magic .signal-path {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 2;
    overflow: visible;
    opacity: 0.48;
    mix-blend-mode: screen;
}

body.home-magic .signal-path-line,
body.home-magic .signal-path-glow {
    fill: none;
    stroke-dasharray: var(--signal-length) var(--signal-length);
    stroke-dashoffset: calc(var(--signal-length) * (1 - var(--signal-progress)));
    vector-effect: non-scaling-stroke;
    transition: stroke-dashoffset 0.12s linear, opacity 0.14s linear;
}

body.home-magic .signal-path-line {
    stroke: url(#signalPathGradient);
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
    opacity: calc(0.16 + (var(--mesh-energy) * 0.44));
    filter: drop-shadow(0 0 6px rgba(169, 180, 255, 0.26)) drop-shadow(0 0 10px rgba(255, 127, 102, 0.16));
}

body.home-magic .signal-path-glow {
    stroke: rgba(169, 180, 255, 0.78);
    stroke-width: 6;
    stroke-linecap: round;
    opacity: calc(0.02 + (var(--mesh-energy) * 0.1));
    filter: blur(2px);
}

body.home-magic .epic-core {
    z-index: 6;
    width: clamp(84px, 8vw, 124px);
    opacity: calc(0.08 + (var(--core-energy) * 0.26));
}

body.home-magic .epic-core::before {
    content: "";
    position: absolute;
    inset: -26%;
    border-radius: 50%;
    background:
        conic-gradient(
            from calc(var(--core-rot) * -1),
            rgba(255, 255, 255, 0) 0deg,
            color-mix(in srgb, var(--core-a) 52%, #fff) 98deg,
            rgba(255, 255, 255, 0) 176deg,
            color-mix(in srgb, var(--core-b) 56%, #fff) 248deg,
            rgba(255, 255, 255, 0) 360deg
        );
    opacity: calc(0.1 + (var(--core-energy) * 0.36));
    filter: blur(16px);
}

body.home-magic .epic-core::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    font-family: var(--font-mono, monospace);
    font-size: clamp(0.55rem, 0.66vw, 0.68rem);
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: rgba(246, 249, 255, 0.8);
}

body.home-magic .epic-core[data-phase="data"]::after,
body.home-magic .epic-core[data-phase="diagnose"]::after {
    content: "DATA";
}

body.home-magic .epic-core[data-phase="context"]::after,
body.home-magic .epic-core[data-phase="design"]::after {
    content: "CONTEXT";
}

body.home-magic .epic-core[data-phase="decision"]::after,
body.home-magic .epic-core[data-phase="deploy"]::after {
    content: "DECISION";
}

body.home-magic .epic-core[data-phase="execution"]::after,
body.home-magic .epic-core[data-phase="scale"]::after {
    content: "EXECUTION";
}

body.home-magic .epic-core[data-phase="data"],
body.home-magic .epic-core[data-phase="diagnose"],
body.home-magic .axis-engine[data-phase="data"],
body.home-magic .agent-mesh[data-phase="data"],
body.home-magic .agent-mesh[data-phase="diagnose"] {
    --core-a: rgba(169, 180, 255, 0.9);
    --core-b: rgba(122, 226, 255, 0.82);
    --mesh-accent-a: #a8b6ff;
    --mesh-accent-b: #75dcff;
}

body.home-magic .epic-core[data-phase="context"],
body.home-magic .epic-core[data-phase="design"],
body.home-magic .axis-engine[data-phase="context"],
body.home-magic .agent-mesh[data-phase="context"],
body.home-magic .agent-mesh[data-phase="design"] {
    --core-a: rgba(255, 187, 132, 0.86);
    --core-b: rgba(255, 127, 102, 0.9);
    --mesh-accent-a: #ffbc84;
    --mesh-accent-b: #ff7f66;
}

body.home-magic .epic-core[data-phase="decision"],
body.home-magic .epic-core[data-phase="deploy"],
body.home-magic .axis-engine[data-phase="decision"],
body.home-magic .agent-mesh[data-phase="decision"],
body.home-magic .agent-mesh[data-phase="deploy"] {
    --core-a: rgba(120, 236, 220, 0.84);
    --core-b: rgba(169, 180, 255, 0.86);
    --mesh-accent-a: #78ecdc;
    --mesh-accent-b: #a8b6ff;
}

body.home-magic .epic-core[data-phase="execution"],
body.home-magic .epic-core[data-phase="scale"],
body.home-magic .axis-engine[data-phase="execution"],
body.home-magic .agent-mesh[data-phase="execution"],
body.home-magic .agent-mesh[data-phase="scale"] {
    --core-a: rgba(255, 127, 102, 0.9);
    --core-b: rgba(255, 230, 165, 0.84);
    --mesh-accent-a: #ff7f66;
    --mesh-accent-b: #ffe6a5;
}

body.home-magic .agent-mesh {
    position: fixed;
    right: clamp(16px, 2.8vw, 48px);
    top: 58%;
    width: clamp(188px, 14vw, 248px);
    height: clamp(172px, 13vw, 220px);
    transform: translateY(-50%) scale(calc(0.82 + (var(--mesh-energy) * 0.24)));
    transform-origin: right center;
    pointer-events: none;
    z-index: 5;
    opacity: calc(0.16 + (var(--mesh-energy) * 0.84));
    mix-blend-mode: screen;
    transition: opacity 0.24s ease, transform 0.24s ease;
}

body.home-magic .agent-mesh {
    display: none !important;
}

body.home-magic .axis-engine[data-phase="data"] .axis-phase-data,
body.home-magic .axis-engine[data-phase="context"] .axis-phase-context,
body.home-magic .axis-engine[data-phase="decision"] .axis-phase-decision,
body.home-magic .axis-engine[data-phase="execution"] .axis-phase-execution {
    color: #f8fbff;
    opacity: 0.96;
}

body.home-magic .axis-engine[data-phase="data"] {
    --axis-a: #a8b6ff;
    --axis-b: #75dcff;
}

body.home-magic .axis-engine[data-phase="context"] {
    --axis-a: #ffbc84;
    --axis-b: #ff7f66;
}

body.home-magic .axis-engine[data-phase="decision"] {
    --axis-a: #78ecdc;
    --axis-b: #a8b6ff;
}

body.home-magic .axis-engine[data-phase="execution"] {
    --axis-a: #ff7f66;
    --axis-b: #ffe6a5;
}

body.home-magic .mesh-link {
    position: absolute;
    height: 1px;
    transform-origin: left center;
    background: linear-gradient(
        90deg,
        color-mix(in srgb, var(--mesh-accent-a, #a8b6ff) 74%, #fff),
        color-mix(in srgb, var(--mesh-accent-b, #ff7f66) 80%, #fff)
    );
    box-shadow: 0 0 8px color-mix(in srgb, var(--mesh-accent-a, #a8b6ff) 70%, transparent);
    opacity: calc(0.14 + (var(--mesh-energy) * 0.74));
}

body.home-magic .mesh-link-1 {
    left: 52px;
    top: 44px;
    width: 110px;
    transform: rotate(4deg) scaleX(calc(0.22 + (var(--mesh-energy) * 0.78)));
}

body.home-magic .mesh-link-2 {
    left: 42px;
    top: 52px;
    width: 78px;
    transform: rotate(58deg) scaleX(calc(0.22 + (var(--mesh-energy) * 0.78)));
}

body.home-magic .mesh-link-3 {
    left: 114px;
    top: 54px;
    width: 84px;
    transform: rotate(118deg) scaleX(calc(0.22 + (var(--mesh-energy) * 0.78)));
}

body.home-magic .mesh-link-4 {
    left: 72px;
    top: 122px;
    width: 82px;
    transform: rotate(-4deg) scaleX(calc(0.22 + (var(--mesh-energy) * 0.78)));
}

body.home-magic .mesh-node {
    position: absolute;
    font-family: var(--font-mono, monospace);
    font-size: 0.52rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: rgba(244, 247, 255, 0.82);
    text-shadow: 0 0 8px rgba(0, 0, 0, 0.75);
    opacity: calc(0.4 + (var(--mesh-energy) * 0.6));
}

body.home-magic .mesh-node::before {
    content: "";
    display: inline-block;
    width: 5px;
    height: 5px;
    margin-right: 5px;
    border-radius: 50%;
    background: color-mix(in srgb, var(--mesh-accent-a, #a8b6ff) 66%, #fff);
    box-shadow:
        0 0 8px color-mix(in srgb, var(--mesh-accent-a, #a8b6ff) 74%, transparent),
        0 0 12px color-mix(in srgb, var(--mesh-accent-b, #ff7f66) 66%, transparent);
    transform: scale(calc(0.84 + (var(--mesh-energy) * 0.4)));
}

body.home-magic .mesh-node-sales {
    left: 10px;
    top: 24px;
}

body.home-magic .mesh-node-ops {
    right: 2px;
    top: 20px;
}

body.home-magic .mesh-node-support {
    right: 0;
    bottom: 64px;
}

body.home-magic .mesh-node-data {
    left: 8px;
    bottom: 66px;
}

body.home-magic .mesh-kpis {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -52px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
}

body.home-magic .mesh-kpi {
    display: grid;
    gap: 2px;
}

body.home-magic .mesh-kpi-label {
    font-family: var(--font-mono, monospace);
    font-size: 0.5rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: rgba(201, 209, 228, 0.75);
}

body.home-magic .mesh-kpi-value {
    font-family: var(--font-mono, monospace);
    font-size: 0.66rem;
    letter-spacing: 0.1em;
    color: #f5f8ff;
}

body.home-magic .scene-section {
    min-height: clamp(700px, 104vh, 980px);
    padding-top: clamp(72px, 9vh, 112px);
    padding-bottom: clamp(64px, 9vh, 96px);
    grid-template-columns: minmax(250px, 360px) minmax(0, 1fr);
    column-gap: clamp(26px, 4vw, 72px);
    row-gap: clamp(10px, 1.5vw, 18px);
}

body.home-magic .scene-section + .scene-section {
    margin-top: clamp(24px, 4vh, 56px);
}

body.home-magic .scene-section::before {
    left: var(--layout-main-pad-x);
    right: var(--layout-main-pad-x);
    top: 0;
    opacity: calc(0.2 + (var(--scene-energy, 0) * 0.56));
    transform: scaleX(calc(0.7 + (var(--scene-energy, 0) * 0.3)));
    background: linear-gradient(
        90deg,
        rgba(255, 127, 102, 0),
        rgba(255, 127, 102, 0.34) 34%,
        rgba(168, 182, 255, 0.44) 52%,
        rgba(255, 127, 102, 0.34) 70%,
        rgba(255, 127, 102, 0)
    );
}

body.home-magic .scene-section::after {
    left: calc(var(--layout-main-pad-x) + clamp(246px, 27vw, 360px));
    top: clamp(72px, 9vh, 110px);
    bottom: clamp(54px, 8vh, 88px);
    width: 1px;
    transform: none;
    opacity: calc(0.16 + (var(--scene-energy, 0) * 0.46));
    background: linear-gradient(
        180deg,
        rgba(168, 182, 255, 0),
        rgba(168, 182, 255, 0.46) 24%,
        rgba(255, 127, 102, 0.56) 50%,
        rgba(168, 182, 255, 0.46) 76%,
        rgba(168, 182, 255, 0)
    );
    box-shadow: 0 0 8px rgba(168, 182, 255, 0.2);
}

body.home-magic .section-title {
    grid-column: 1;
    justify-self: start;
    text-align: left;
    padding-right: 0;
    position: relative;
    top: auto;
    z-index: 3;
    opacity: calc(0.72 + (var(--scene-energy, 0) * 0.28));
    transform:
        translate3d(
            0,
            calc((0.5 - var(--scene-progress, 0)) * 20px),
            0
        )
        rotate(0deg);
    transition: transform 0.14s linear, opacity 0.14s linear;
}

body.home-magic .section-subtitle {
    grid-column: 2;
    padding-left: 0;
    position: relative;
    top: auto;
    align-self: start;
    z-index: 2;
    opacity: calc(0.7 + (var(--scene-energy, 0) * 0.3));
    transform:
        translate3d(
            0,
            calc((0.5 - var(--scene-progress, 0)) * 12px),
            0
        );
    transition: transform 0.14s linear, opacity 0.14s linear;
}

body.home-magic .neo-services,
body.home-magic .neo-cases,
body.home-magic .neo-ia,
body.home-magic .neo-resources {
    grid-column: 2;
    padding-left: 0;
    position: relative;
    top: auto;
    align-self: start;
    z-index: 2;
    opacity: calc(0.62 + (var(--scene-energy, 0) * 0.38));
    transform:
        translate3d(
            0,
            calc((0.5 - var(--scene-progress, 0)) * 14px),
            0
        )
        rotate(0deg);
    transition: transform 0.14s linear, opacity 0.14s linear;
}

body.home-magic .resources-view-all {
    grid-column: 2;
    padding-left: 0;
    position: relative;
    top: auto;
    margin-top: 16px;
    z-index: 2;
}

body.home-magic .neo-panel {
    transform:
        translate3d(
            calc(((1 - var(--card-reveal, 0)) * -28px) + ((1 - var(--card-reveal, 0)) * var(--chaos-x, 0px) * 0.35)),
            calc((1 - var(--card-reveal, 0)) * var(--chaos-y, 0px)),
            0
        )
        rotate(calc((1 - var(--card-reveal, 0)) * var(--chaos-rot, 0deg)))
        scale(calc(0.94 + (var(--card-reveal, 0) * 0.06)));
    transform-origin: center center;
    opacity: calc(0.26 + (var(--card-reveal, 0) * 0.74));
    filter: blur(calc((1 - var(--card-reveal, 0)) * 2.4px));
    will-change: transform, opacity, filter;
}

body.home-magic .neo-dynamics .reveal-item,
body.home-magic .neo-dynamics .reveal-item.is-visible {
    transform:
        translate3d(
            calc(((1 - var(--card-reveal, 0)) * -28px) + ((1 - var(--card-reveal, 0)) * var(--chaos-x, 0px) * 0.35)),
            calc((1 - var(--card-reveal, 0)) * var(--chaos-y, 0px)),
            0
        )
        rotate(calc((1 - var(--card-reveal, 0)) * var(--chaos-rot, 0deg)))
        scale(calc(0.94 + (var(--card-reveal, 0) * 0.06))) !important;
    opacity: calc(0.26 + (var(--card-reveal, 0) * 0.74)) !important;
    filter: blur(calc((1 - var(--card-reveal, 0)) * 2.4px)) !important;
}

body.home-magic .neo-title {
    transform: translate3d(0, calc((1 - var(--card-reveal, 0)) * 18px), 0);
    opacity: calc(0.22 + (var(--card-reveal, 0) * 0.78));
    transition: transform 0.34s cubic-bezier(0.2, 0.8, 0.18, 1), opacity 0.34s ease;
}

body.home-magic .neo-copy,
body.home-magic .use-case-points,
body.home-magic .neo-expand,
body.home-magic .neo-cta {
    transform: translate3d(0, calc((1 - var(--card-reveal, 0)) * 12px), 0);
    opacity: calc(0.48 + (var(--card-reveal, 0) * 0.52));
    transition: transform 0.32s cubic-bezier(0.2, 0.8, 0.18, 1), opacity 0.32s ease;
}

body.home-magic .neo-services .neo-panel--service::before,
body.home-magic .neo-services .neo-panel--service::after,
body.home-magic .neo-cases .neo-panel--case::before,
body.home-magic .neo-cases .neo-panel--case::after,
body.home-magic .neo-ia .neo-panel--ia::before {
    opacity: calc(0.16 + (var(--card-reveal, 0) * 0.84));
}

body.home-magic .scene-section[data-scene="services"] {
    --chapter-content-top: clamp(228px, 33vh, 350px);
}

body.home-magic .scene-section[data-scene="usecases"] {
    --chapter-content-top: clamp(220px, 32vh, 338px);
}

body.home-magic .scene-section[data-scene="ai"] {
    --chapter-content-top: clamp(236px, 34vh, 360px);
}

body.home-magic .scene-section[data-scene="resources"] {
    --chapter-content-top: clamp(248px, 35vh, 380px);
}

body.home-magic .scene-section[data-stage="seed"] .section-title,
body.home-magic .scene-section[data-stage="seed"] .neo-services,
body.home-magic .scene-section[data-stage="seed"] .neo-cases,
body.home-magic .scene-section[data-stage="seed"] .neo-ia,
body.home-magic .scene-section[data-stage="seed"] .neo-resources {
    filter: none;
}

body.home-magic .scene-section[data-stage="ship"] .section-title,
body.home-magic .scene-section[data-stage="ship"] .neo-services,
body.home-magic .scene-section[data-stage="ship"] .neo-cases,
body.home-magic .scene-section[data-stage="ship"] .neo-ia,
body.home-magic .scene-section[data-stage="ship"] .neo-resources {
    filter: blur(0);
}

@media (min-width: 1081px) and (hover: hover) and (pointer: fine) {
    html {
        scroll-snap-type: none;
    }
}

/* Responsive */
@media (max-width: 1220px) {
    body.home-magic .scene-section {
        min-height: clamp(680px, 98vh, 900px);
        grid-template-columns: minmax(220px, 320px) minmax(0, 1fr);
        column-gap: clamp(20px, 3.4vw, 54px);
    }

    body.home-magic .section-title {
        padding-right: 0;
    }

    body.home-magic .section-subtitle,
    body.home-magic .neo-services,
    body.home-magic .neo-cases,
    body.home-magic .neo-ia,
    body.home-magic .neo-resources,
    body.home-magic .resources-view-all {
        padding-left: 0;
    }

    body.home-magic .neo-ia,
    body.home-magic .neo-resources {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.home-magic .epic-core {
        width: clamp(104px, 11vw, 170px);
    }

    body.home-magic .agent-mesh {
        right: 14px;
        width: 182px;
        height: 168px;
    }

    body.home-magic .axis-phase {
        font-size: 0.48rem;
    }
}

@media (max-width: 1080px) {
    body.home-magic .hero {
        grid-template-columns: 1fr;
        grid-template-areas:
            "content"
            "media"
            "ctas";
        row-gap: 24px;
        min-height: 0;
    }

    body.home-magic .hero-media {
        justify-self: center;
        width: min(560px, 100%);
    }

    body.home-magic .hero-ctas .media-badge {
        margin-left: 0;
    }

    body.home-magic .scene-section {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    body.home-magic .scene-section::before,
    body.home-magic .scene-section::after {
        display: none;
    }

    body.home-magic .section-title {
        grid-column: 1;
        position: relative;
        top: auto;
        max-width: 11ch;
        margin-bottom: 4px;
        padding-right: 0;
        transform: none;
        opacity: 1;
    }

    body.home-magic .section-subtitle,
    body.home-magic .neo-services,
    body.home-magic .neo-cases,
    body.home-magic .neo-ia,
    body.home-magic .neo-resources,
    body.home-magic .resources-view-all {
        grid-column: 1;
        position: relative;
        top: auto;
        padding-left: 0;
        transform: none;
        opacity: 1;
    }

    body.home-magic .scene-section[data-stage="seed"] .section-title,
    body.home-magic .scene-section[data-stage="seed"] .neo-services,
    body.home-magic .scene-section[data-stage="seed"] .neo-cases,
    body.home-magic .scene-section[data-stage="seed"] .neo-ia,
    body.home-magic .scene-section[data-stage="seed"] .neo-resources,
    body.home-magic .scene-section[data-stage="ship"] .section-title,
    body.home-magic .scene-section[data-stage="ship"] .neo-services,
    body.home-magic .scene-section[data-stage="ship"] .neo-cases,
    body.home-magic .scene-section[data-stage="ship"] .neo-ia,
    body.home-magic .scene-section[data-stage="ship"] .neo-resources {
        filter: none;
    }

    body.home-magic .epic-core {
        display: none;
    }

    body.home-magic .axis-engine,
    body.home-magic .signal-path,
    body.home-magic .agent-mesh {
        display: none;
    }
}

@media (max-width: 900px) {
    body.home-magic header {
        padding: 14px;
    }

    body.home-magic .header-links,
    body.home-magic .quidditch-score {
        display: none;
    }

    body.home-magic .hero {
        padding-top: 94px;
        padding-left: 16px;
        padding-right: 16px;
        padding-bottom: 58px;
        text-align: center;
    }

    body.home-magic .hero-subtitle {
        margin-left: auto;
        margin-right: auto;
    }

    body.home-magic .role-rotator {
        margin-left: auto;
        margin-right: auto;
    }

    body.home-magic .hero-ctas {
        justify-content: center;
        gap: 14px;
    }

    body.home-magic .scene-section {
        min-height: 0;
        padding-top: 56px;
        padding-left: 16px;
        padding-right: 16px;
    }

    body.home-magic .section-title {
        font-size: clamp(1.8rem, 10vw, 3rem);
        line-height: 0.92;
        margin-bottom: 10px;
        transform: none;
    }

    body.home-magic .neo-services,
    body.home-magic .neo-cases,
    body.home-magic .neo-ia,
    body.home-magic .neo-resources {
        grid-template-columns: 1fr;
        row-gap: 24px;
        transform: none;
    }

    body.home-magic .neo-services .neo-panel--service,
    body.home-magic .neo-cases .neo-panel--case,
    body.home-magic .neo-ia .neo-panel--ia,
    body.home-magic .neo-resources .neo-panel--resource {
        padding-left: 46px !important;
    }

    body.home-magic .neo-panel--resource {
        grid-template-columns: 98px minmax(0, 1fr);
        gap: 10px;
    }

    body.home-magic .resource-teaser-thumb,
    body.home-magic .resource-thumb {
        height: 102px;
        transform: none;
    }

    body.home-magic .page-wrapper::before,
    body.home-magic::before {
        display: none;
    }
}

@media (max-width: 640px) {
    body.home-magic .hero-name {
        font-size: clamp(2.1rem, 14vw, 3.3rem);
    }

    body.home-magic .resources-view-all {
        width: 100%;
        justify-content: flex-start;
    }
}

@media (hover: none), (pointer: coarse), (max-width: 900px) {
    body.home-magic .scroll-cue {
        display: none;
    }

    body.home-magic .axis-engine,
    body.home-magic .signal-path,
    body.home-magic .agent-mesh {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.home-magic .scroll-cue-wheel,
    body.home-magic .hero-photo,
    body.home-magic .neo-panel,
    body.home-magic .neo-panel:hover,
    body.home-magic .neo-panel:focus-within,
    body.home-magic .neo-services,
    body.home-magic .neo-cases,
    body.home-magic .neo-ia,
    body.home-magic .neo-resources,
    body.home-magic .core-ring,
    body.home-magic .core-spark {
        animation: none !important;
        transition: none !important;
        transform: none !important;
        filter: none !important;
    }

    body.home-magic .scroll-cue,
    body.home-magic .page-wrapper::before,
    body.home-magic::before,
    body.home-magic .epic-core,
    body.home-magic .axis-engine,
    body.home-magic .signal-path,
    body.home-magic .agent-mesh {
        display: none;
    }
}

@keyframes wheel {
    0% {
        opacity: 1;
        transform: translateY(0);
    }

    68% {
        opacity: 1;
        transform: translateY(22px);
    }

    69% {
        opacity: 0;
        transform: translateY(0);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes core-spin-a {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

@keyframes core-spin-b {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(-360deg);
    }
}

@keyframes core-spin-c {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

@keyframes core-orbit-a {
    0% {
        transform: translate(0, 0);
    }

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

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

    75% {
        transform: translate(2px, 8px);
    }

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

@keyframes core-orbit-b {
    0% {
        transform: translate(0, 0);
    }

    25% {
        transform: translate(-6px, 4px);
    }

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

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

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

/* ------------------------------------------------------------------ */
/* Home Magic Rebuild v2 (Advisorscada-inspired chapter flow)         */
/* ------------------------------------------------------------------ */

body.home-magic {
    --chapter-gap: clamp(24px, 4.2vh, 64px);
    --chapter-pad-top: clamp(68px, 8.8vh, 112px);
    --chapter-pad-bottom: clamp(56px, 8vh, 94px);
}

body.home-magic header {
    background: transparent !important;
    backdrop-filter: none !important;
}

body.home-magic .hero {
    min-height: clamp(680px, 92svh, 860px) !important;
    padding: clamp(92px, 12vh, 128px) var(--layout-main-pad-x) clamp(40px, 6.6vh, 72px) !important;
    row-gap: clamp(14px, 2vw, 26px) !important;
}

body.home-magic .hero-name {
    font-size: clamp(2.8rem, 8vw, 6.8rem) !important;
    line-height: 0.86 !important;
    margin-bottom: 16px !important;
}

body.home-magic .hero-subtitle {
    max-width: 52ch !important;
}

body.home-magic .hero-media {
    width: min(500px, 100%) !important;
}

body.home-magic .hero-ctas {
    gap: 10px 16px !important;
}

body.home-magic .hero-ctas .media-badge {
    order: 4;
    flex-basis: 100%;
    margin-top: 4px;
}

body.home-magic .scroll-cue {
    bottom: 18px !important;
}

body.home-magic .scroll-cue-mouse {
    width: 34px !important;
    height: 58px !important;
    border-radius: 18px !important;
}

body.home-magic .scroll-cue-wheel {
    width: 4px !important;
    height: 11px !important;
    animation: wheel-loop 1.45s linear infinite !important;
}

@keyframes wheel-loop {
    0% {
        opacity: 1;
        transform: translateY(0);
    }

    68% {
        opacity: 1;
        transform: translateY(20px);
    }

    69% {
        opacity: 0;
        transform: translateY(0);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Disable failed overlays from previous attempts */
body.home-magic .axis-engine,
body.home-magic .agent-mesh {
    display: none !important;
}

body.home-magic .epic-core {
    width: clamp(80px, 7.2vw, 118px) !important;
    opacity: calc(0.08 + (var(--core-energy) * 0.24)) !important;
    z-index: 3 !important;
}

body.home-magic .epic-core::after {
    content: "" !important;
}

/* Central conductor line, integrated */
body.home-magic .signal-path {
    z-index: 2 !important;
    opacity: 0.42 !important;
}

body.home-magic .signal-path-line {
    stroke-width: 1.6 !important;
    opacity: calc(0.14 + (var(--core-energy) * 0.42)) !important;
    filter: drop-shadow(0 0 6px rgba(169, 180, 255, 0.22)) !important;
}

body.home-magic .signal-path-glow {
    stroke-width: 5 !important;
    opacity: calc(0.02 + (var(--core-energy) * 0.08)) !important;
    filter: blur(2px) !important;
}

/* Chapter layout: no massive dead space, no overlapping text */
body.home-magic .scene-section {
    min-height: clamp(700px, 104vh, 980px) !important;
    padding: var(--chapter-pad-top) var(--layout-main-pad-x) var(--chapter-pad-bottom) !important;
    grid-template-columns: minmax(240px, 350px) minmax(0, 1fr) !important;
    column-gap: clamp(24px, 3.8vw, 68px) !important;
    row-gap: clamp(10px, 1.4vw, 18px) !important;
}

body.home-magic .scene-section + .scene-section {
    margin-top: var(--chapter-gap);
}

body.home-magic .scene-section::before {
    top: 0 !important;
    left: var(--layout-main-pad-x) !important;
    right: var(--layout-main-pad-x) !important;
    opacity: calc(0.2 + (var(--scene-energy, 0) * 0.44)) !important;
    transform: scaleX(calc(0.74 + (var(--scene-energy, 0) * 0.22))) !important;
    background: linear-gradient(
        90deg,
        rgba(255, 127, 102, 0),
        rgba(255, 127, 102, 0.3) 34%,
        rgba(168, 182, 255, 0.42) 52%,
        rgba(255, 127, 102, 0.3) 70%,
        rgba(255, 127, 102, 0)
    ) !important;
}

body.home-magic .scene-section::after {
    left: calc(var(--layout-main-pad-x) + clamp(238px, 26vw, 350px)) !important;
    top: clamp(66px, 8.4vh, 108px) !important;
    bottom: clamp(52px, 8vh, 86px) !important;
    width: 1px !important;
    transform: none !important;
    opacity: calc(0.12 + (var(--scene-energy, 0) * 0.36)) !important;
    background: linear-gradient(
        180deg,
        rgba(168, 182, 255, 0),
        rgba(168, 182, 255, 0.34) 28%,
        rgba(255, 127, 102, 0.44) 50%,
        rgba(168, 182, 255, 0.34) 72%,
        rgba(168, 182, 255, 0)
    ) !important;
    box-shadow: 0 0 7px rgba(168, 182, 255, 0.14) !important;
}

body.home-magic .section-title {
    grid-column: 1 !important;
    justify-self: start !important;
    position: sticky !important;
    top: clamp(94px, 11vh, 136px) !important;
    margin: 0 !important;
    padding: 0 !important;
    max-width: 9ch !important;
    opacity: calc(0.76 + (var(--scene-energy, 0) * 0.24)) !important;
    transform: translate3d(0, calc((0.5 - var(--scene-progress, 0)) * 18px), 0) !important;
}

body.home-magic .section-subtitle,
body.home-magic .neo-services,
body.home-magic .neo-cases,
body.home-magic .neo-ia,
body.home-magic .neo-resources,
body.home-magic .resources-view-all {
    grid-column: 2 !important;
    padding: 0 !important;
    position: relative !important;
    top: auto !important;
}

body.home-magic .section-subtitle {
    margin: 0 0 clamp(12px, 1.6vw, 20px) !important;
    opacity: calc(0.74 + (var(--scene-energy, 0) * 0.26)) !important;
    transform: translate3d(0, calc((0.5 - var(--scene-progress, 0)) * 10px), 0) !important;
}

body.home-magic .neo-services,
body.home-magic .neo-cases,
body.home-magic .neo-ia,
body.home-magic .neo-resources {
    opacity: calc(0.68 + (var(--scene-energy, 0) * 0.32)) !important;
    transform: translate3d(0, calc((0.5 - var(--scene-progress, 0)) * 12px), 0) !important;
}

body.home-magic .resources-view-all {
    margin-top: 14px !important;
}

/* Reversible card choreography (position-based, no one-shot state) */
body.home-magic .neo-panel {
    transform: translate3d(0, calc((1 - var(--card-reveal, 1)) * 22px), 0) !important;
    opacity: calc(0.28 + (var(--card-reveal, 1) * 0.72)) !important;
    filter: blur(calc((1 - var(--card-reveal, 1)) * 2.2px)) !important;
}

body.home-magic .neo-dynamics .reveal-item,
body.home-magic .neo-dynamics .reveal-item.is-visible {
    transform: translate3d(0, calc((1 - var(--card-reveal, 1)) * 22px), 0) !important;
    opacity: calc(0.28 + (var(--card-reveal, 1) * 0.72)) !important;
    filter: blur(calc((1 - var(--card-reveal, 1)) * 2.2px)) !important;
}

body.home-magic .neo-title {
    opacity: calc(0.4 + (var(--card-reveal, 1) * 0.6)) !important;
}

body.home-magic .neo-copy,
body.home-magic .use-case-points,
body.home-magic .neo-expand,
body.home-magic .neo-cta {
    opacity: calc(0.54 + (var(--card-reveal, 1) * 0.46)) !important;
}

body.home-magic .scene-section[data-stage] .section-title,
body.home-magic .scene-section[data-stage] .neo-services,
body.home-magic .scene-section[data-stage] .neo-cases,
body.home-magic .scene-section[data-stage] .neo-ia,
body.home-magic .scene-section[data-stage] .neo-resources {
    filter: none !important;
}

@media (max-width: 1220px) {
    body.home-magic .scene-section {
        min-height: clamp(640px, 94vh, 860px) !important;
        grid-template-columns: minmax(210px, 300px) minmax(0, 1fr) !important;
        column-gap: clamp(18px, 3vw, 44px) !important;
    }

    body.home-magic .scene-section::after {
        left: calc(var(--layout-main-pad-x) + clamp(204px, 25vw, 290px)) !important;
    }
}

@media (max-width: 1080px) {
    body.home-magic .hero {
        min-height: 0 !important;
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "content"
            "media"
            "ctas" !important;
        row-gap: 20px !important;
        text-align: center;
    }

    body.home-magic .hero-subtitle {
        margin-left: auto;
        margin-right: auto;
    }

    body.home-magic .hero-media {
        justify-self: center !important;
    }

    body.home-magic .hero-ctas {
        justify-content: center !important;
    }

    body.home-magic .hero-ctas .media-badge {
        flex-basis: auto;
        margin-top: 0;
    }

    body.home-magic .scene-section {
        min-height: 0 !important;
        grid-template-columns: 1fr !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    body.home-magic .scene-section + .scene-section {
        margin-top: clamp(18px, 3.2vh, 30px);
    }

    body.home-magic .scene-section::before,
    body.home-magic .scene-section::after {
        display: none !important;
    }

    body.home-magic .section-title {
        position: relative !important;
        top: auto !important;
        max-width: 11ch !important;
        transform: none !important;
    }

    body.home-magic .section-subtitle,
    body.home-magic .neo-services,
    body.home-magic .neo-cases,
    body.home-magic .neo-ia,
    body.home-magic .neo-resources,
    body.home-magic .resources-view-all {
        grid-column: 1 !important;
        transform: none !important;
    }

    body.home-magic .epic-core,
    body.home-magic .signal-path {
        display: none !important;
    }
}

/* ------------------------------------------------------------------ */
/* Home Magic Rebuild v3 (cinematic chapters + reversible scrub)      */
/* ------------------------------------------------------------------ */

body.home-magic {
    --chapter-height: clamp(168svh, 190vh, 220svh);
    --stage-top-pad: clamp(94px, 11vh, 130px);
    --stage-bottom-pad: clamp(58px, 8vh, 92px);
    --stage-axis-x: clamp(232px, 25vw, 350px);
}

body.home-magic::before,
body.home-magic .page-wrapper::before {
    display: none !important;
}

body.home-magic .axis-engine,
body.home-magic .agent-mesh {
    display: none !important;
}

body.home-magic header {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: linear-gradient(
        180deg,
        rgba(6, 8, 14, 0.82),
        rgba(6, 8, 14, 0.38) 48%,
        rgba(6, 8, 14, 0)
    ) !important;
    backdrop-filter: blur(6px) !important;
}

body.home-magic .hero {
    min-height: clamp(620px, 88svh, 820px) !important;
    padding: clamp(88px, 11vh, 120px) var(--layout-main-pad-x) clamp(34px, 5.6vh, 64px) !important;
    grid-template-columns: minmax(0, 1.04fr) minmax(320px, 0.96fr) !important;
    grid-template-areas:
        "content media"
        "ctas media" !important;
    column-gap: clamp(18px, 4vw, 62px) !important;
    row-gap: clamp(14px, 1.8vw, 22px) !important;
}

body.home-magic .hero::after {
    left: var(--layout-main-pad-x) !important;
    right: var(--layout-main-pad-x) !important;
    background: linear-gradient(90deg, rgba(255, 127, 102, 0), rgba(255, 127, 102, 0.36), rgba(168, 182, 255, 0.26), rgba(255, 127, 102, 0)) !important;
}

body.home-magic .hero-name {
    font-size: clamp(2.7rem, 7.2vw, 6.2rem) !important;
    line-height: 0.86 !important;
}

body.home-magic .hero-subtitle {
    max-width: 50ch !important;
}

body.home-magic .hero-media {
    width: min(540px, 100%) !important;
}

body.home-magic .hero-photo,
body.home-magic .hero-photo::before,
body.home-magic .hero-photo::after {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.home-magic .hero-ctas {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 10px 16px !important;
    margin-top: clamp(4px, 1vh, 12px) !important;
}

body.home-magic .hero-ctas > * {
    flex: 0 0 auto !important;
}

body.home-magic .hero-ctas .media-badge {
    display: inline-flex !important;
    order: 4;
    margin-top: 0 !important;
}

body.home-magic .scroll-cue {
    bottom: 18px !important;
}

body.home-magic .scroll-cue-mouse {
    width: 46px !important;
    height: 74px !important;
    border-radius: 24px !important;
    border-width: 2px !important;
}

body.home-magic .scroll-cue-wheel {
    width: 5px !important;
    height: 16px !important;
    border-radius: 999px !important;
    animation: wheel-flow 1.35s linear infinite !important;
}

@keyframes wheel-flow {
    0% {
        opacity: 1;
        transform: translateY(-10px);
    }

    62% {
        opacity: 1;
        transform: translateY(19px);
    }

    63% {
        opacity: 0;
        transform: translateY(-10px);
    }

    100% {
        opacity: 1;
        transform: translateY(-10px);
    }
}

body.home-magic .signal-path {
    z-index: 2 !important;
    opacity: 0.72 !important;
    mix-blend-mode: screen !important;
}

body.home-magic .signal-path-line {
    stroke-width: 2.2 !important;
    opacity: calc(0.22 + (var(--core-energy, 0) * 0.62)) !important;
    filter: drop-shadow(0 0 10px rgba(168, 182, 255, 0.4)) drop-shadow(0 0 14px rgba(255, 127, 102, 0.28)) !important;
}

body.home-magic .signal-path-glow {
    stroke-width: 8 !important;
    opacity: calc(0.05 + (var(--core-energy, 0) * 0.18)) !important;
    filter: blur(2.6px) !important;
}

body.home-magic .epic-core {
    width: clamp(86px, 7vw, 118px) !important;
    z-index: 4 !important;
    opacity: calc(0.1 + (var(--core-energy, 0) * 0.32)) !important;
}

body.home-magic .scene-section {
    --scene-progress: 0;
    --scene-enter: 0;
    --scene-leave: 0;
    --scene-focus: 0;
    --scene-energy: 0;
    position: relative !important;
    max-width: calc(var(--layout-main-content-width) + (var(--layout-main-pad-x) * 2)) !important;
    margin: 0 auto !important;
    min-height: var(--chapter-height) !important;
    padding: 0 var(--layout-main-pad-x) !important;
    display: block !important;
    overflow: clip !important;
}

body.home-magic .scene-section + .scene-section {
    margin-top: clamp(8px, 1.4vh, 18px) !important;
}

body.home-magic .scene-section::before,
body.home-magic .scene-section::after {
    content: none !important;
}

body.home-magic .scene-stage {
    position: sticky;
    top: 0;
    height: 100svh;
    padding: var(--stage-top-pad) 0 var(--stage-bottom-pad);
    display: grid;
    grid-template-columns: minmax(232px, 350px) minmax(0, 1fr);
    grid-template-rows: auto auto 1fr auto;
    column-gap: clamp(22px, 3.8vw, 64px);
    align-content: start;
    align-items: start;
    isolation: isolate;
}

body.home-magic .scene-stage::before {
    content: "";
    position: absolute;
    left: var(--stage-axis-x);
    top: calc(var(--stage-top-pad) - 8px);
    bottom: calc(var(--stage-bottom-pad) - 8px);
    width: 1px;
    pointer-events: none;
    opacity: calc(0.16 + (var(--scene-focus) * 0.6));
    background: linear-gradient(
        180deg,
        rgba(168, 182, 255, 0),
        rgba(168, 182, 255, 0.62) 24%,
        rgba(255, 127, 102, 0.64) 50%,
        rgba(168, 182, 255, 0.62) 76%,
        rgba(168, 182, 255, 0)
    );
    box-shadow: 0 0 9px rgba(168, 182, 255, 0.24);
}

body.home-magic .scene-stage::after {
    content: "";
    position: absolute;
    left: calc(var(--stage-axis-x) - 9px);
    top: calc(20% + (var(--scene-progress) * 58%));
    width: 18px;
    height: 18px;
    border-radius: 50%;
    pointer-events: none;
    transform: translateY(-50%) scale(calc(0.62 + (var(--scene-focus) * 0.58)));
    opacity: calc(0.28 + (var(--scene-focus) * 0.72));
    background: radial-gradient(
        circle,
        rgba(255, 255, 255, 0.95) 0%,
        rgba(255, 127, 102, 0.84) 36%,
        rgba(168, 182, 255, 0.22) 64%,
        rgba(168, 182, 255, 0) 100%
    );
    box-shadow:
        0 0 18px rgba(255, 127, 102, 0.42),
        0 0 32px rgba(168, 182, 255, 0.36);
}

body.home-magic .scene-stage > .section-title {
    position: relative !important;
    top: auto !important;
    grid-column: 1;
    grid-row: 1 / span 3;
    align-self: center;
    margin: 0 !important;
    max-width: 8.4ch !important;
    padding: 0 !important;
    text-align: left !important;
    transform: translate3d(0, calc((0.5 - var(--scene-progress)) * 26px), 0) scale(calc(0.92 + (var(--scene-focus) * 0.08))) !important;
    opacity: calc(0.58 + (var(--scene-focus) * 0.42)) !important;
}

body.home-magic .scene-stage > .section-title span {
    background: linear-gradient(98deg, #ffffff 10%, #ccd2ff 44%, #ffb4a7 92%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    filter: drop-shadow(0 12px 24px rgba(255, 127, 102, 0.16)) !important;
}

body.home-magic .scene-stage > .section-subtitle,
body.home-magic .scene-stage > .neo-services,
body.home-magic .scene-stage > .neo-cases,
body.home-magic .scene-stage > .neo-ia,
body.home-magic .scene-stage > .neo-resources,
body.home-magic .scene-stage > .resources-view-all,
body.home-magic .scene-stage > noscript {
    grid-column: 2 !important;
    position: relative !important;
    top: auto !important;
    padding: 0 !important;
}

body.home-magic .scene-stage > .section-subtitle {
    grid-row: 1;
    margin: 0 0 clamp(14px, 1.8vw, 24px) !important;
    max-width: 64ch !important;
    transform: translate3d(0, calc((0.5 - var(--scene-progress)) * 14px), 0) !important;
    opacity: calc(0.66 + (var(--scene-focus) * 0.34)) !important;
}

body.home-magic .scene-stage > .neo-services,
body.home-magic .scene-stage > .neo-cases,
body.home-magic .scene-stage > .neo-ia,
body.home-magic .scene-stage > .neo-resources {
    grid-row: 2;
    transform: translate3d(0, calc((0.5 - var(--scene-progress)) * 10px), 0) !important;
    opacity: calc(0.62 + (var(--scene-focus) * 0.38)) !important;
}

body.home-magic .scene-stage > .resources-view-all {
    grid-row: 3;
    margin-top: clamp(10px, 1.4vw, 20px) !important;
}

body.home-magic .scene-stage .neo-panel {
    position: relative;
    min-height: 0;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: translate3d(var(--card-drift-x, 0), var(--card-drift-y, 0), 0) rotate(var(--card-tilt, 0deg)) scale(calc(0.94 + (var(--card-visible, 1) * 0.06))) !important;
    transform-origin: center center;
    opacity: calc(0.56 + (var(--card-visible, 1) * 0.44)) !important;
    filter: blur(calc((1 - var(--card-visible, 1)) * 1.6px)) !important;
    transition: transform 0.18s linear, opacity 0.18s linear, filter 0.18s linear !important;
    will-change: transform, opacity, filter;
}

body.home-magic .scene-stage .neo-panel::before,
body.home-magic .scene-stage .neo-panel::after {
    content: none !important;
}

body.home-magic .neo-dynamics .scene-stage .reveal-item,
body.home-magic .neo-dynamics .scene-stage .reveal-item.is-visible {
    transform: translate3d(var(--card-drift-x, 0), var(--card-drift-y, 0), 0) rotate(var(--card-tilt, 0deg)) scale(calc(0.94 + (var(--card-visible, 1) * 0.06))) !important;
    opacity: calc(0.56 + (var(--card-visible, 1) * 0.44)) !important;
    filter: blur(calc((1 - var(--card-visible, 1)) * 1.6px)) !important;
}

body.home-magic .scene-stage .neo-head {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    margin: 0 0 8px !important;
}

body.home-magic .scene-stage .neo-title {
    margin: 0 !important;
    transform: translate3d(0, calc((1 - var(--card-visible, 1)) * 10px), 0) !important;
    opacity: calc(0.7 + (var(--card-visible, 1) * 0.3)) !important;
}

body.home-magic .scene-stage .neo-copy,
body.home-magic .scene-stage .neo-expand,
body.home-magic .scene-stage .use-case-points,
body.home-magic .scene-stage .neo-cta {
    transform: translate3d(0, calc((1 - var(--card-visible, 1)) * 8px), 0) !important;
    opacity: calc(0.64 + (var(--card-visible, 1) * 0.36)) !important;
}

body.home-magic .scene-stage .neo-services {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: clamp(26px, 3.8vw, 54px) !important;
    row-gap: clamp(22px, 3vw, 38px) !important;
    counter-reset: svc;
}

body.home-magic .scene-stage .neo-services .neo-panel--service {
    counter-increment: svc;
    padding-left: 60px !important;
}

body.home-magic .scene-stage .neo-services .neo-panel--service .neo-head {
    display: none !important;
}

body.home-magic .scene-stage .neo-services .neo-panel--service::before {
    content: counter(svc, decimal-leading-zero) !important;
    position: absolute;
    left: 0;
    top: -0.06rem;
    font-family: var(--font-mono, monospace);
    font-size: 0.62rem;
    letter-spacing: 0.16em;
    color: rgba(255, 127, 102, 0.9);
}

body.home-magic .scene-stage .neo-services .neo-panel--service::after {
    content: "" !important;
    position: absolute;
    left: 0;
    top: 0.72rem;
    width: 34px;
    height: 1px;
    background: linear-gradient(90deg, rgba(255, 127, 102, 0.2), rgba(255, 127, 102, 0.88));
}

body.home-magic .scene-stage .neo-cases {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: clamp(26px, 3.8vw, 54px) !important;
    row-gap: clamp(22px, 3vw, 38px) !important;
    counter-reset: case;
}

body.home-magic .scene-stage .neo-cases .neo-panel--case {
    counter-increment: case;
    padding-left: 66px !important;
}

body.home-magic .scene-stage .neo-cases .neo-panel--case .neo-head {
    display: none !important;
}

body.home-magic .scene-stage .neo-cases .neo-panel--case::before {
    content: "CASE" !important;
    position: absolute;
    left: 0;
    top: -0.02rem;
    font-family: var(--font-mono, monospace);
    font-size: 0.56rem;
    letter-spacing: 0.16em;
    color: rgba(168, 182, 255, 0.82);
}

body.home-magic .scene-stage .neo-cases .neo-panel--case::after {
    content: counter(case, decimal-leading-zero) !important;
    position: absolute;
    left: 0;
    top: 0.82rem;
    font-family: var(--font-mono, monospace);
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    color: rgba(255, 127, 102, 0.88);
}

body.home-magic .scene-stage .neo-cases .neo-panel--case:nth-child(3) {
    grid-column: 1 / -1;
}

body.home-magic .scene-stage .neo-ia {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    column-gap: clamp(22px, 3vw, 36px) !important;
    row-gap: clamp(18px, 2.6vw, 30px) !important;
}

body.home-magic .scene-stage .neo-ia .neo-panel--ia {
    padding-left: 26px !important;
}

body.home-magic .scene-stage .neo-ia .neo-panel--ia::before {
    content: "" !important;
    position: absolute;
    left: 0;
    top: 0.84rem;
    width: 16px;
    height: 1px;
    background: linear-gradient(90deg, rgba(168, 182, 255, 0.24), rgba(168, 182, 255, 0.9));
}

body.home-magic .scene-stage .neo-ia .neo-panel--ia .neo-head {
    display: none !important;
}

body.home-magic .scene-stage .neo-resources {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: clamp(20px, 3.2vw, 40px) !important;
    row-gap: clamp(18px, 2.8vw, 32px) !important;
}

body.home-magic .scene-stage .neo-panel--resource {
    display: grid !important;
    grid-template-columns: 118px minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: start !important;
}

body.home-magic .scene-stage .neo-panel--resource .neo-head {
    display: none !important;
}

body.home-magic .scene-stage .resource-teaser-thumb,
body.home-magic .scene-stage .resource-thumb {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: rotate(calc((0.5 - var(--scene-progress)) * 2.4deg));
}

body.home-magic .scene-stage .neo-cta,
body.home-magic .scene-stage .resources-view-all,
body.home-magic .scene-stage .neo-expand {
    border: 0 !important;
    border-radius: 0 !important;
    background: none !important;
}

@media (max-width: 1220px) {
    body.home-magic {
        --chapter-height: clamp(154svh, 176vh, 198svh);
        --stage-axis-x: clamp(214px, 24vw, 306px);
    }

    body.home-magic .scene-stage {
        grid-template-columns: minmax(208px, 302px) minmax(0, 1fr);
        column-gap: clamp(18px, 3vw, 42px);
    }

    body.home-magic .scene-stage .neo-ia {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 1080px) {
    body.home-magic .hero {
        min-height: 0 !important;
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "content"
            "media"
            "ctas" !important;
        text-align: center;
    }

    body.home-magic .hero-subtitle {
        margin-left: auto;
        margin-right: auto;
    }

    body.home-magic .hero-media {
        justify-self: center !important;
    }

    body.home-magic .hero-ctas {
        justify-content: center !important;
    }

    body.home-magic .hero-ctas .media-badge {
        order: 4;
        width: auto !important;
    }

    body.home-magic .scene-section {
        min-height: 0 !important;
        padding: clamp(62px, 10vh, 88px) 16px clamp(48px, 8vh, 68px) !important;
    }

    body.home-magic .scene-section + .scene-section {
        margin-top: clamp(18px, 3vh, 28px) !important;
    }

    body.home-magic .scene-stage {
        position: relative;
        top: auto;
        height: auto;
        padding: 0;
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        row-gap: 16px;
    }

    body.home-magic .scene-stage::before,
    body.home-magic .scene-stage::after {
        display: none;
    }

    body.home-magic .scene-stage > .section-title,
    body.home-magic .scene-stage > .section-subtitle,
    body.home-magic .scene-stage > .neo-services,
    body.home-magic .scene-stage > .neo-cases,
    body.home-magic .scene-stage > .neo-ia,
    body.home-magic .scene-stage > .neo-resources,
    body.home-magic .scene-stage > .resources-view-all,
    body.home-magic .scene-stage > noscript {
        grid-column: 1 !important;
        grid-row: auto !important;
        transform: none !important;
        opacity: 1 !important;
    }

    body.home-magic .scene-stage > .section-title {
        align-self: start;
        max-width: 10.4ch !important;
    }

    body.home-magic .scene-stage .neo-services,
    body.home-magic .scene-stage .neo-cases,
    body.home-magic .scene-stage .neo-resources {
        grid-template-columns: 1fr !important;
    }

    body.home-magic .scene-stage .neo-ia {
        grid-template-columns: 1fr !important;
    }

    body.home-magic .scene-stage .neo-panel--case:nth-child(3) {
        grid-column: auto;
    }

    body.home-magic .scene-stage .neo-panel--resource {
        grid-template-columns: 100px minmax(0, 1fr) !important;
    }

    body.home-magic .epic-core,
    body.home-magic .signal-path {
        display: none !important;
    }
}
