@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&display=swap');

body.home-magic {
    --bg-0: #04060f;
    --bg-1: #091327;
    --bg-2: #132446;
    --ink-0: #f4f6ff;
    --ink-1: #c7d1ee;
    --ink-2: #8794bd;
    --accent-a: #6ce4ff;
    --accent-b: #ff9377;
    --accent-c: #9fa9ff;
    --layout-main-content-width: 1480px;
    --layout-main-pad-x: clamp(18px, 4.2vw, 92px);
    --hero-progress: 0;
    --page-progress: 0;
    --signal-length: 1;
    --signal-progress: 0;
    --scroll-energy: 0;
    --core-energy: 0;
    --mesh-energy: 0;
    --chapter-height: clamp(166svh, 186vh, 214svh);
    --stage-axis-x: clamp(250px, 25.5vw, 360px);
    --stage-top-pad: clamp(96px, 11vh, 132px);
    --stage-bottom-pad: clamp(56px, 8vh, 92px);
    background: radial-gradient(140% 96% at 15% -8%, #16274a 0%, #060a14 45%, #03040a 88%);
    color: var(--ink-0);
    font-family: 'Manrope', sans-serif;
}

body.home-magic::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 1;
    background:
        radial-gradient(520px 260px at 16% 12%, rgba(108, 228, 255, 0.09), transparent 72%),
        radial-gradient(620px 320px at 82% 8%, rgba(255, 147, 119, 0.13), transparent 74%),
        radial-gradient(880px 460px at 50% 120%, rgba(159, 169, 255, 0.07), transparent 78%);
}

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

body.home-magic #tsparticles {
    opacity: 0.9;
    filter: saturate(1.18) brightness(1.05);
}

body.home-magic .page-wrapper {
    position: relative;
    z-index: 2;
    isolation: isolate;
}

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

body.home-magic header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    transform: none;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    backdrop-filter: blur(8px);
    background: linear-gradient(
        180deg,
        rgba(3, 6, 14, 0.86),
        rgba(3, 6, 14, 0.48) 52%,
        rgba(3, 6, 14, 0)
    );
    padding: 16px clamp(12px, 3.8vw, 52px);
}

body.home-magic .logo {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 0.98rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #f5f8ff;
}

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

body.home-magic .header-links {
    gap: clamp(10px, 1.5vw, 20px);
    margin-right: 14px;
}

body.home-magic .header-link {
    border: 0;
    border-radius: 0;
    background: none;
    padding: 0;
    color: var(--ink-1);
    font-family: 'Space Grotesk', sans-serif;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    transition: color 0.2s ease;
}

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

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

body.home-magic .lang-current {
    border: 0;
    border-radius: 0;
    background: none;
    color: var(--ink-1);
    padding: 0;
    font-family: 'Space Grotesk', sans-serif;
    font-size: 0.72rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

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

body.home-magic .lang-menu {
    margin-top: 10px;
    border: 1px solid rgba(159, 169, 255, 0.22);
    border-radius: 10px;
    background: rgba(4, 10, 24, 0.92);
    backdrop-filter: blur(10px);
}

body.home-magic .lang-option {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 0.7rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    border-radius: 8px;
}

body.home-magic .lang-option:hover,
body.home-magic .lang-option.active {
    background: rgba(108, 228, 255, 0.12);
    color: #fff;
}

body.home-magic .hero {
    min-height: clamp(640px, 90svh, 860px);
    max-width: calc(var(--layout-main-content-width) + (var(--layout-main-pad-x) * 2));
    margin: 0 auto;
    padding: clamp(94px, 11.4vh, 130px) var(--layout-main-pad-x) clamp(44px, 6.6vh, 80px);
    display: grid;
    grid-template-columns: minmax(0, 1.04fr) minmax(320px, 0.96fr);
    grid-template-areas:
        "content media"
        "ctas media";
    column-gap: clamp(20px, 4.2vw, 68px);
    row-gap: clamp(16px, 2.2vw, 30px);
    align-items: center;
    position: relative;
}

body.home-magic .hero::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(
        100deg,
        rgba(108, 228, 255, 0.04) 0%,
        rgba(108, 228, 255, 0) 38%,
        rgba(255, 147, 119, 0.07) 74%,
        rgba(255, 147, 119, 0) 100%
    );
    z-index: -1;
}

body.home-magic .hero::after {
    content: "";
    position: absolute;
    left: var(--layout-main-pad-x);
    right: var(--layout-main-pad-x);
    bottom: 0;
    height: 1px;
    pointer-events: none;
    opacity: 0.84;
    background: linear-gradient(90deg, rgba(255, 147, 119, 0), rgba(255, 147, 119, 0.28), rgba(108, 228, 255, 0.34), rgba(255, 147, 119, 0));
}

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

body.home-magic .hero-text {
    grid-area: content;
    max-width: 64ch;
}

body.home-magic .hero-intro {
    margin: 0 0 10px;
    color: rgba(199, 209, 238, 0.78);
    font-family: 'Space Grotesk', sans-serif;
    font-size: clamp(0.8rem, 1vw, 0.9rem);
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

body.home-magic .hero-name {
    margin: 0 0 18px;
    font-family: 'Space Grotesk', sans-serif;
    font-size: clamp(2.95rem, 7.6vw, 6.4rem);
    line-height: 0.84;
    letter-spacing: -0.042em;
    text-transform: uppercase;
    text-wrap: balance;
    text-shadow: 0 14px 36px rgba(0, 0, 0, 0.58);
}

body.home-magic .hero-name .highlight {
    background: linear-gradient(98deg, #ffffff 8%, #cfd7ff 42%, #ffb19f 92%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

body.home-magic .hero-subtitle {
    margin: 0;
    max-width: 52ch;
    color: rgba(214, 223, 244, 0.9);
    font-size: clamp(1rem, 1.17vw, 1.26rem);
    line-height: 1.64;
    text-wrap: pretty;
}

body.home-magic .role-rotator {
    margin-top: clamp(18px, 2.3vw, 28px);
    height: auto;
    overflow: visible;
    border: 0;
    padding: 0;
    background: none;
}

body.home-magic .role-rotator-inner {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, max-content));
    gap: clamp(10px, 1.5vw, 18px);
    align-items: center;
    transform: none !important;
    animation: none !important;
}

body.home-magic .role-item {
    position: relative;
    width: auto;
    color: rgba(203, 213, 236, 0.9);
    font-family: 'Space Grotesk', sans-serif;
    font-size: 0.67rem;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    padding-left: 10px;
}

body.home-magic .role-item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 4px;
    height: 4px;
    transform: translateY(-50%);
    border-radius: 50%;
    background: rgba(108, 228, 255, 0.86);
    box-shadow: 0 0 10px rgba(108, 228, 255, 0.62);
}

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

body.home-magic .hero-photo {
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
}

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

body.home-magic .hero-photo video {
    width: 100%;
    height: auto;
    max-height: min(62vh, 660px);
    object-fit: contain;
    filter: drop-shadow(0 18px 26px rgba(0, 0, 0, 0.52));
    transform: translateY(calc((0.5 - var(--hero-progress, 0.5)) * 14px));
}

body.home-magic .hero-ctas {
    grid-area: ctas;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 18px;
}

body.home-magic .cta-primary,
body.home-magic .cta-ghost {
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
    color: #f4f7ff;
    padding: 0;
    font-family: 'Space Grotesk', sans-serif;
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    min-height: 0;
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    position: relative;
    transition: color 0.2s ease;
}

body.home-magic .cta-primary::after,
body.home-magic .cta-ghost::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -5px;
    height: 1px;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.22s ease;
    background: linear-gradient(90deg, rgba(108, 228, 255, 0), rgba(108, 228, 255, 0.9), rgba(255, 147, 119, 0.8));
}

body.home-magic .cta-primary:hover,
body.home-magic .cta-primary:focus-visible,
body.home-magic .cta-ghost:hover,
body.home-magic .cta-ghost:focus-visible {
    color: #fff;
    border: 0;
    background: none;
    transform: none;
}

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

body.home-magic .media-badge {
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
    padding: 0 0 0 16px;
    min-height: 0;
    margin-left: clamp(2px, 1vw, 8px);
    color: #ffe1db;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    position: relative;
    transition: color 0.2s ease;
}

body.home-magic .media-badge::before {
    content: "";
    position: absolute;
    left: 0;
    top: 3px;
    bottom: 3px;
    width: 1px;
    background: linear-gradient(180deg, rgba(255, 147, 119, 0), rgba(255, 147, 119, 0.92), rgba(108, 228, 255, 0));
}

body.home-magic .media-badge:hover,
body.home-magic .media-badge:focus-visible {
    color: #fff;
    border: 0;
    transform: none;
    outline: none;
}

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

body.home-magic .media-badge .cope-title {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 0.66rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    font-weight: 700;
}

body.home-magic .scroll-cue {
    position: fixed;
    left: 50%;
    bottom: 18px;
    transform: translateX(-50%);
    z-index: 8;
    opacity: 1;
    transition: opacity 0.25s ease;
}

body.home-magic .scroll-cue.is-hidden {
    opacity: 0;
    pointer-events: none;
}

body.home-magic .scroll-cue-mouse {
    width: 46px;
    height: 74px;
    border: 2px solid rgba(237, 241, 255, 0.82);
    border-radius: 24px;
    display: grid;
    place-items: center;
    box-shadow:
        inset 0 0 18px rgba(159, 169, 255, 0.16),
        0 0 20px rgba(159, 169, 255, 0.3);
}

body.home-magic .scroll-cue-wheel {
    width: 5px;
    height: 15px;
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(255, 147, 119, 0.92), rgba(108, 228, 255, 0.92));
    box-shadow: 0 0 14px rgba(255, 147, 119, 0.42);
    animation: cue-wheel-bounce 1.18s ease-in-out infinite alternate;
}

@keyframes cue-wheel-bounce {
    from {
        transform: translateY(-8px);
        opacity: 1;
    }

    to {
        transform: translateY(12px);
        opacity: 0.75;
    }
}

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

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)));
    transition: stroke-dashoffset 0.1s linear;
    vector-effect: non-scaling-stroke;
}

body.home-magic .signal-path-line {
    stroke: url(#signalPathGradient);
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
    opacity: calc(0.24 + (var(--core-energy) * 0.58));
    filter: drop-shadow(0 0 10px rgba(108, 228, 255, 0.48)) drop-shadow(0 0 16px rgba(255, 147, 119, 0.3));
}

body.home-magic .signal-path-glow {
    stroke: rgba(171, 211, 255, 0.85);
    stroke-width: 8;
    stroke-linecap: round;
    opacity: calc(0.06 + (var(--core-energy) * 0.18));
    filter: blur(2.4px);
}

body.home-magic .epic-core {
    position: fixed;
    left: 50%;
    top: 50%;
    width: clamp(86px, 7vw, 118px);
    aspect-ratio: 1;
    transform: translate(-50%, -50%);
    z-index: 4;
    opacity: calc(0.08 + (var(--core-energy) * 0.32));
    pointer-events: none;
}

body.home-magic .core-ring {
    position: absolute;
    left: 50%;
    top: 50%;
    border: 1px solid rgba(159, 169, 255, 0.46);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    mix-blend-mode: screen;
}

body.home-magic .core-ring-a {
    width: 100%;
    height: 100%;
    animation: core-spin-a 7.8s linear infinite;
}

body.home-magic .core-ring-b {
    width: 72%;
    height: 72%;
    border-color: rgba(108, 228, 255, 0.42);
    animation: core-spin-b 6.3s linear infinite reverse;
}

body.home-magic .core-ring-c {
    width: 46%;
    height: 46%;
    border-color: rgba(255, 147, 119, 0.5);
    animation: core-spin-c 5.1s linear infinite;
}

body.home-magic .core-node {
    position: absolute;
    left: 50%;
    top: 50%;
    width: calc(7px + (var(--core-energy) * 10px));
    height: calc(7px + (var(--core-energy) * 10px));
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background: radial-gradient(circle, #fff 0%, rgba(255, 147, 119, 0.88) 40%, rgba(108, 228, 255, 0) 74%);
    box-shadow: 0 0 18px rgba(255, 147, 119, 0.5), 0 0 34px rgba(108, 228, 255, 0.36);
}

body.home-magic .core-spark {
    position: absolute;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0 10px rgba(108, 228, 255, 0.64);
}

body.home-magic .core-spark-a {
    left: 22%;
    top: 44%;
    animation: core-float-a 3.6s linear infinite;
}

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

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

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

@keyframes core-spin-b {
    from {
        transform: translate(-50%, -50%) rotate(360deg);
    }

    to {
        transform: translate(-50%, -50%) rotate(0deg);
    }
}

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

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

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

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

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

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

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

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

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

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

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

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

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

body.home-magic .scene-section + .scene-section {
    margin-top: clamp(6px, 1.2vh, 14px);
}

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;
    opacity: calc(0.1 + (var(--scene-focus) * 0.32));
    background: linear-gradient(90deg, rgba(255, 147, 119, 0), rgba(255, 147, 119, 0.3), rgba(108, 228, 255, 0.42), rgba(255, 147, 119, 0));
}

body.home-magic .scene-section::after {
    content: "";
    position: absolute;
    left: calc(var(--stage-axis-x) - 1px);
    top: 0;
    bottom: 0;
    width: 2px;
    pointer-events: none;
    opacity: calc(0.06 + (var(--scene-focus) * 0.16));
    background: linear-gradient(180deg, rgba(159, 169, 255, 0), rgba(159, 169, 255, 0.6), rgba(255, 147, 119, 0.52), rgba(159, 169, 255, 0));
}

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(250px, 360px) minmax(0, 1fr);
    grid-template-rows: auto auto 1fr;
    column-gap: clamp(24px, 4vw, 66px);
    row-gap: clamp(12px, 1.8vw, 20px);
    align-content: start;
    align-items: start;
    isolation: isolate;
}

body.home-magic .scene-stage::before {
    content: "";
    position: absolute;
    left: calc(var(--stage-axis-x) - 8px);
    top: calc(22% + (var(--scene-progress) * 56%));
    width: 16px;
    height: 16px;
    border-radius: 50%;
    pointer-events: none;
    transform: translateY(-50%) scale(calc(0.62 + (var(--scene-focus) * 0.56)));
    opacity: calc(0.32 + (var(--scene-focus) * 0.68));
    background: radial-gradient(circle, rgba(255, 255, 255, 0.92), rgba(255, 147, 119, 0.88) 36%, rgba(108, 228, 255, 0.26) 68%, rgba(108, 228, 255, 0));
    box-shadow: 0 0 18px rgba(255, 147, 119, 0.44), 0 0 30px rgba(108, 228, 255, 0.36);
}

body.home-magic .section-title {
    grid-column: 1;
    grid-row: 1 / span 3;
    align-self: center;
    margin: 0;
    max-width: 8.6ch;
    padding: 0;
    text-align: left;
    text-transform: uppercase;
    font-family: 'Space Grotesk', sans-serif;
    font-size: clamp(2.08rem, 5.2vw, 5rem);
    line-height: 0.88;
    letter-spacing: -0.036em;
    position: relative;
    top: auto;
    transform: translate3d(0, calc((0.5 - var(--scene-progress)) * 32px), 0) scale(calc(0.9 + (var(--scene-focus) * 0.1)));
    opacity: calc(0.54 + (var(--scene-focus) * 0.46));
}

body.home-magic .section-title span {
    background: linear-gradient(102deg, #ffffff 8%, #c6cff8 42%, #ffae9b 92%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: none;
}

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,
body.home-magic .scene-stage > noscript {
    grid-column: 2;
    position: relative;
    top: auto;
    padding: 0;
}

body.home-magic .section-subtitle {
    grid-row: 1;
    margin: 0;
    max-width: 65ch;
    color: rgba(205, 216, 243, 0.82);
    font-size: clamp(0.9rem, 1.04vw, 1.02rem);
    line-height: 1.72;
    text-wrap: pretty;
    transform: translate3d(0, calc((0.5 - var(--scene-progress)) * 12px), 0);
    opacity: calc(0.62 + (var(--scene-focus) * 0.38));
}

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

body.home-magic .why-ai-avatar-preview {
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 50%;
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.46);
}

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

body.home-magic .resources-view-all {
    grid-row: 3;
    margin-top: 12px;
}

body.home-magic .neo-panel {
    position: relative;
    min-height: 0;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !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)));
    transform-origin: center center;
    opacity: calc(0.56 + (var(--card-visible, 1) * 0.44));
    filter: blur(calc((1 - var(--card-visible, 1)) * 1.8px));
    transition: transform 0.16s linear, opacity 0.16s linear, filter 0.16s linear;
}

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

body.home-magic .neo-dynamics .reveal-item,
body.home-magic .neo-dynamics .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.8px)) !important;
    transition: transform 0.16s linear, opacity 0.16s linear, filter 0.16s linear !important;
}

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

body.home-magic .neo-icon {
    width: 26px;
    height: 26px;
    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: 16px;
    height: 16px;
    stroke: rgba(225, 233, 255, 0.86);
}

body.home-magic .neo-title {
    margin: 0;
    font-size: clamp(1.02rem, 1.35vw, 1.44rem);
    line-height: 1.26;
    color: #f8f9ff;
    text-wrap: pretty;
    transform: translate3d(0, calc((1 - var(--card-visible, 1)) * 8px), 0);
    opacity: calc(0.72 + (var(--card-visible, 1) * 0.28));
}

body.home-magic .neo-copy {
    margin: 6px 0 0;
    font-size: 0.9rem;
    line-height: 1.64;
    color: rgba(208, 218, 241, 0.86);
    text-wrap: pretty;
    transform: translate3d(0, calc((1 - var(--card-visible, 1)) * 6px), 0);
    opacity: calc(0.64 + (var(--card-visible, 1) * 0.36));
}

body.home-magic .neo-services {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: clamp(24px, 3.6vw, 52px);
    row-gap: clamp(20px, 2.8vw, 36px);
    counter-reset: svc;
}

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

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

body.home-magic .neo-services .neo-panel--service::before {
    content: counter(svc, decimal-leading-zero) !important;
    position: absolute;
    left: 0;
    top: -0.08rem;
    color: rgba(255, 147, 119, 0.9);
    font-family: 'Space Grotesk', sans-serif;
    font-size: 0.6rem;
    letter-spacing: 0.16em;
    font-weight: 700;
}

body.home-magic .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, 147, 119, 0.2), rgba(255, 147, 119, 0.9));
}

body.home-magic .neo-cases {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: clamp(24px, 3.6vw, 52px);
    row-gap: clamp(20px, 2.8vw, 36px);
    counter-reset: case;
}

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

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

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

body.home-magic .neo-cases .neo-panel--case::before {
    content: "Case" !important;
    position: absolute;
    left: 0;
    top: -0.02rem;
    color: rgba(167, 183, 255, 0.85);
    font-family: 'Space Grotesk', sans-serif;
    font-size: 0.56rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

body.home-magic .neo-cases .neo-panel--case::after {
    content: counter(case, decimal-leading-zero) !important;
    position: absolute;
    left: 0;
    top: 0.84rem;
    color: rgba(255, 147, 119, 0.88);
    font-family: 'Space Grotesk', sans-serif;
    font-size: 0.74rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

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

body.home-magic .neo-expand {
    border: 0;
    border-radius: 0;
    background: none;
    padding: 0;
    margin-top: 10px;
    color: #ffe2dc;
    font-family: 'Space Grotesk', sans-serif;
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    min-height: 0;
    min-width: 0;
}

body.home-magic .neo-expand::after {
    content: " +";
}

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;
}

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

body.home-magic .use-case-points p {
    margin: 0;
    font-size: 0.84rem;
    line-height: 1.54;
    color: rgba(212, 221, 242, 0.86);
}

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

body.home-magic .neo-ia {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: clamp(20px, 2.8vw, 34px);
    row-gap: clamp(16px, 2.2vw, 28px);
}

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

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

body.home-magic .neo-ia .neo-panel--ia::before {
    content: "" !important;
    position: absolute;
    left: 0;
    top: 0.84rem;
    width: 14px;
    height: 1px;
    background: linear-gradient(90deg, rgba(108, 228, 255, 0.2), rgba(108, 228, 255, 0.86));
}

body.home-magic .neo-resources {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: clamp(18px, 2.8vw, 34px);
    row-gap: clamp(18px, 2.6vw, 30px);
}

body.home-magic .neo-panel--resource {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    align-items: start;
}

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

body.home-magic .resource-teaser-thumb,
body.home-magic .resource-thumb {
    width: 100%;
    aspect-ratio: 1 / 1.22;
    height: auto;
    object-fit: contain;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    transform: rotate(calc((0.5 - var(--scene-progress)) * 2deg));
    transform-origin: center;
}

body.home-magic .resource-teaser-title {
    margin: 0;
}

body.home-magic .resource-meta-line {
    margin: 4px 0 0;
    color: rgba(180, 193, 223, 0.72);
    font-family: 'Space Grotesk', sans-serif;
    font-size: 0.62rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

body.home-magic .resource-teaser-desc {
    margin-top: 8px;
    font-size: 0.84rem;
    line-height: 1.58;
}

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

body.home-magic .neo-cta,
body.home-magic .resources-view-all {
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
    padding: 0;
    color: #ffe3dc;
    font-family: 'Space Grotesk', sans-serif;
    font-size: 0.64rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    min-height: 0;
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

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

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;
    background: none;
    transform: none;
}

body.home-magic .chat-fab {
    border: 1px solid rgba(108, 228, 255, 0.6);
    box-shadow: 0 0 0 1px rgba(3, 13, 28, 0.7), 0 10px 26px rgba(0, 0, 0, 0.5), 0 0 24px rgba(108, 228, 255, 0.34);
    background: radial-gradient(circle at 30% 24%, rgba(108, 228, 255, 0.24), rgba(6, 11, 24, 0.9) 64%);
}

body.home-magic .chat-panel {
    border: 1px solid rgba(159, 169, 255, 0.32);
    background: linear-gradient(180deg, rgba(5, 10, 24, 0.96), rgba(3, 7, 18, 0.94));
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.52), 0 0 34px rgba(108, 228, 255, 0.12);
}

body.home-magic .chat-panel-header {
    border-bottom-color: rgba(159, 169, 255, 0.24);
}

body.home-magic .chat-panel-info h3 {
    color: #eff3ff;
}

body.home-magic .chat-panel-info p {
    color: rgba(198, 209, 238, 0.74);
}

body.home-magic .chat-messages {
    background: transparent;
}

body.home-magic .msg-ai {
    background: rgba(108, 228, 255, 0.08);
    border: 1px solid rgba(108, 228, 255, 0.22);
    color: rgba(229, 236, 255, 0.92);
}

body.home-magic .msg-user {
    background: rgba(255, 147, 119, 0.14);
    border: 1px solid rgba(255, 147, 119, 0.24);
    color: #fff;
}

body.home-magic .chat-input-area {
    border-top-color: rgba(159, 169, 255, 0.22);
}

body.home-magic .chat-input-area textarea {
    color: #f1f4ff;
}

body.home-magic .btn-send {
    background: linear-gradient(135deg, rgba(255, 147, 119, 0.95), rgba(108, 228, 255, 0.95));
}

body.home-magic .chat-disclaimer {
    color: rgba(177, 190, 223, 0.72);
}

@media (max-width: 1280px) {
    body.home-magic {
        --chapter-height: clamp(152svh, 170vh, 190svh);
        --stage-axis-x: clamp(228px, 24.5vw, 308px);
    }

    body.home-magic .hero {
        grid-template-columns: minmax(0, 1fr) minmax(300px, 0.96fr);
        column-gap: clamp(16px, 3vw, 44px);
    }

    body.home-magic .scene-stage {
        grid-template-columns: minmax(228px, 308px) minmax(0, 1fr);
    }

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

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

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

    body.home-magic .role-rotator-inner {
        grid-template-columns: 1fr;
        justify-items: center;
        gap: 8px;
    }

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

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

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

    body.home-magic .media-badge::before {
        content: none;
    }

    body.home-magic .scene-section {
        min-height: 0;
        padding: clamp(64px, 10vh, 92px) 16px clamp(50px, 8vh, 72px);
    }

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

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

    body.home-magic .scene-stage::before {
        content: none;
    }

    body.home-magic .section-title,
    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,
    body.home-magic .scene-stage > noscript {
        grid-column: 1;
        grid-row: auto;
        transform: none;
        opacity: 1;
    }

    body.home-magic .section-title {
        max-width: 10.6ch;
        align-self: start;
    }

    body.home-magic .neo-services,
    body.home-magic .neo-cases,
    body.home-magic .neo-ia,
    body.home-magic .neo-resources {
        grid-template-columns: 1fr;
    }

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

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

@media (max-width: 700px) {
    body.home-magic .hero-name {
        font-size: clamp(2.42rem, 13.5vw, 3.28rem);
    }

    body.home-magic .hero-subtitle {
        font-size: 0.95rem;
    }

    body.home-magic .cta-primary,
    body.home-magic .cta-ghost,
    body.home-magic .media-badge .cope-title {
        font-size: 0.63rem;
        letter-spacing: 0.12em;
    }

    body.home-magic .section-title {
        font-size: clamp(2rem, 13vw, 2.72rem);
    }
}

@media (prefers-reduced-motion: reduce) {
    body.home-magic .scroll-cue-wheel,
    body.home-magic .core-ring,
    body.home-magic .core-spark {
        animation: none !important;
    }

    body.home-magic .neo-panel,
    body.home-magic .section-title,
    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 {
        transition: none !important;
        transform: none !important;
        filter: none !important;
    }
}
