:root {
    --night: #070a12;
    --ink: #edf3ff;
    --muted: #bdcae2;
    --line: rgba(230, 239, 255, .24);
    --lime: #c7ff61;
    --violet: #9584ff;
}

html:has(.immersive-home),
body.immersive-home {
    overflow: hidden;
    height: 100%;
    background: var(--night);
}

.immersive-home__main {
    height: 100dvh;
}

.immersive-home .skip-link { background: var(--lime); color: #080b13; }
.immersive-home a { color: inherit; }
.immersive-home a:hover, .immersive-home a:focus { text-decoration: none; }

.slides {
    height: 100%;
    position: relative;
    overflow: hidden;
    color: var(--ink);
    background: var(--night);
    isolation: isolate;
}

.slides::before {
    content: "";
    position: absolute;
    z-index: 3;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px), linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px);
    background-size: 64px 64px;
    mask-image: linear-gradient(90deg, transparent, rgba(0,0,0,.5) 20%, rgba(0,0,0,.4) 80%, transparent);
}

.slides__topbar { display: none; }
.slides__brand { display: flex; align-items: center; gap: 10px; color: #fff; font-size: .78rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.slides__brand-mark { width: 40px; height: 40px; padding: 0; border: 0; border-radius: 0; object-fit: contain; background: transparent; box-shadow: none; }
.slides__nav { display: flex; align-items: center; gap: 20px; font-size: .78rem; color: var(--muted); }
.slides__nav a { transition: color .2s ease; }
.slides__nav a:hover, .slides__nav a:focus { color: var(--lime); }

.slides__track { height: 100%; transition: transform 750ms cubic-bezier(.77,0,.18,1); will-change: transform; }
.slide { position: relative; height: 100%; min-height: 100%; display: grid; align-items: center; overflow: hidden; padding: 96px clamp(22px, 8vw, 144px) 58px; }
.slide__content { width: min(840px, 100%); position: relative; z-index: 4; }
.slide__eyebrow { display: flex; align-items: center; gap: 10px; color: var(--lime); font-size: .72rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; margin: 0 0 20px; }
.slide__eyebrow::before { content: ""; width: 28px; height: 1px; background: currentColor; }
.slide__title { max-width: 780px; margin: 0; color: #f8faff; font-size: clamp(3.1rem, 7.2vw, 7.5rem); letter-spacing: -.075em; line-height: .91; font-weight: 700; }
.slide__title em { color: var(--lime); font-style: normal; }
.slide__copy { width: min(540px, 100%); margin: 28px 0 0; color: var(--muted); font-size: clamp(1rem, 1.4vw, 1.18rem); line-height: 1.7; text-shadow: 0 1px 14px rgba(0,0,0,.34); }
.slide__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.slide__button { display: inline-flex; justify-content: center; align-items: center; min-height: 52px; padding: 0 22px; border: 1px solid var(--line); border-radius: 999px; color: #f6f9ff; font-size: .86rem; font-weight: 700; transition: transform .2s ease, background .2s ease, color .2s ease; }
.slide__button:hover, .slide__button:focus { transform: translateY(-3px); background: rgba(255,255,255,.14); }
.slides a.slide__button--bright, .slide__button--bright { background: var(--lime); border-color: var(--lime); color: #07100a; text-shadow: none; }
.slides a.slide__button--bright:hover, .slides a.slide__button--bright:focus, .slide__button--bright:hover, .slide__button--bright:focus { background: #e0ff9e; color: #07100a; }

.slides__counter { position: fixed; z-index: 10; right: clamp(22px, 4vw, 64px); bottom: 35px; font-size: .76rem; letter-spacing: .13em; color: var(--muted); }
.slides__counter strong { color: #fff; font-size: 1.05rem; }
.slides__dots { position: fixed; z-index: 10; left: clamp(22px, 4vw, 64px); bottom: 35px; display: flex; gap: 9px; }
.slides__dot { width: 24px; height: 3px; padding: 0; border: 0; background: rgba(255,255,255,.25); cursor: pointer; transition: width .3s ease, background .3s ease; }
.slides__dot[aria-current="true"] { width: 54px; background: var(--lime); }

.slide::before { content: attr(data-formula); position: absolute; z-index: 2; right: clamp(6vw, 14vw, 18vw); top: 43%; max-width: 38vw; color: rgba(237,243,255,.24); font-family: "SFMono-Regular", Consolas, monospace; font-size: clamp(1.2rem, 3.5vw, 4.8rem); font-weight: 600; letter-spacing: -.08em; line-height: 1.1; pointer-events: none; transform: rotate(-8deg); text-shadow: 0 0 30px rgba(149,132,255,.22); }
.slide::after { content: ""; position: absolute; border-radius: 50%; pointer-events: none; filter: blur(1px); }
.slide--intro { background: radial-gradient(circle at 81% 48%, #26326d 0, #111a41 15%, transparent 39%), radial-gradient(circle at 20% 94%, #24412d 0, transparent 35%), #070a12; }
.slide--intro::after { width: min(64vw, 850px); aspect-ratio: 1; right: -18vw; top: 50%; transform: translateY(-50%); border: 1px solid rgba(199,255,97,.48); box-shadow: 0 0 0 35px rgba(199,255,97,.04), 0 0 0 130px rgba(149,132,255,.05); }
.slide--intro::before { right: clamp(8vw, 17vw, 20vw); top: 30%; color: rgba(237,243,255,.19); }
.intro-equation { position: absolute; right: clamp(5vw, 11vw, 13vw); top: 50%; z-index: 2; transform: translateY(-50%) rotate(-10deg); color: rgba(222,233,255,.16); font-size: clamp(8rem, 22vw, 20rem); font-family: Georgia, serif; font-style: italic; }
.slide--intro .slide__content { transform: translateY(10px); }

.slide--approach { background: radial-gradient(ellipse at 75% 50%, #301e58 0, transparent 34%), radial-gradient(circle at 4% 0%, #0b4c53 0, transparent 36%), #090914; }
.slide--approach::after { width: 48vw; height: 48vw; left: 55%; top: 52%; transform: translateY(-50%); border: 1px solid rgba(149,132,255,.48); box-shadow: inset 0 0 80px rgba(149,132,255,.12); }
.slide--approach::before { right: 8vw; top: 18%; color: rgba(199,255,97,.18); font-size: clamp(1rem, 2.2vw, 2.8rem); }
.method-cards { position: absolute; z-index: 3; right: clamp(7vw, 13vw, 16vw); top: 50%; transform: translateY(-50%) rotate(8deg); width: min(26vw, 330px); display: grid; gap: 10px; }
.method-card { padding: 17px 19px; border: 1px solid rgba(255,255,255,.17); border-radius: 12px; background: rgba(12,13,28,.55); backdrop-filter: blur(14px); color: #fff; font-size: .85rem; box-shadow: 0 20px 40px rgba(0,0,0,.16); }
.method-card span { display: block; color: var(--lime); font-size: .66rem; font-weight: 700; letter-spacing: .12em; margin-bottom: 4px; }
.slide--approach .slide__title { max-width: 700px; }

.slide--story { background: radial-gradient(circle at 80% 23%, #133c50, transparent 30%), radial-gradient(circle at 67% 82%, #3a265e, transparent 35%), #070a12; }
.slide--story::after { width: min(52vw, 740px); height: min(52vw, 740px); right: 4vw; top: 50%; transform: translateY(-50%); background: repeating-radial-gradient(circle at 50% 50%, transparent 0 40px, rgba(199,255,97,.11) 41px 42px, transparent 43px 82px); opacity: .8; }
.slide--story::before { right: clamp(4vw, 9vw, 13vw); top: 22%; color: rgba(237,243,255,.19); }
.story-orbit { position: absolute; z-index: 3; right: clamp(8vw, 15vw, 19vw); top: 50%; transform: translateY(-50%); width: min(30vw, 410px); aspect-ratio: 1; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; }
.story-orbit::before, .story-orbit::after { content: ""; position: absolute; border: 1px solid rgba(199,255,97,.4); border-radius: 50%; }
.story-orbit::before { width: 67%; height: 67%; }.story-orbit::after { width: 31%; height: 31%; background: var(--lime); box-shadow: 0 0 60px rgba(199,255,97,.45); }
.story-orbit span { position: relative; z-index: 2; margin-top: 90%; color: #fff; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }
.slide--story .slide__title { max-width: 720px; }

.slide--contact { background: radial-gradient(circle at 88% 16%, #33316c 0, transparent 32%), radial-gradient(circle at 10% 94%, #26422e 0, transparent 32%), #070a12; }
.slide--contact::after { width: 55vw; height: 55vw; right: -10vw; top: 50%; transform: translateY(-50%); background: conic-gradient(from 200deg, transparent, rgba(199,255,97,.18), transparent, rgba(149,132,255,.18), transparent); }
.slide--contact::before { right: clamp(7vw, 15vw, 19vw); top: 39%; color: rgba(237,243,255,.24); }
.contact-note { margin-top: 30px; display: flex; gap: 25px; width: min(585px, 100%); padding-top: 18px; border-top: 1px solid var(--line); color: var(--muted); font-size: .82rem; }
.contact-note strong { display: block; color: #fff; font-size: 1.2rem; margin-bottom: 2px; }

.slide:not(.is-active) .slide__content, .slide:not(.is-active) .intro-equation, .slide:not(.is-active) .method-cards, .slide:not(.is-active) .story-orbit { opacity: 0; transform: translateY(32px); }
.slide__content, .intro-equation, .method-cards, .story-orbit { transition: opacity 500ms ease 150ms, transform 650ms cubic-bezier(.23,1,.32,1) 100ms; }
.slide--intro.is-active .intro-equation { transform: translateY(-50%) rotate(-10deg); }
.slide--approach.is-active .method-cards { transform: translateY(-50%) rotate(8deg); }
.slide--story.is-active .story-orbit { transform: translateY(-50%); }

@media (max-width: 760px) {
    .slides__topbar { padding: 18px 20px; }.slides__nav { gap: 13px; font-size: .68rem; }.slides__nav a:not(:last-child) { display: none; }
    .slide { padding: 82px 24px 80px; align-items: center; }.slide__title { font-size: clamp(3.1rem, 15.3vw, 5.2rem); letter-spacing: -.07em; }.slide__copy { margin-top: 20px; font-size: .97rem; line-height: 1.58; }
    .slide::before { right: -11vw; top: 71%; max-width: 65vw; font-size: 1.45rem; opacity: .65; }
    .slide--intro::after, .slide--approach::after, .slide--story::after, .slide--contact::after { width: 105vw; height: 105vw; right: -46vw; top: auto; bottom: -26vw; transform: none; }.intro-equation { right: -13vw; top: 79%; font-size: 11rem; }.method-cards, .story-orbit { opacity: .5; right: -8vw; top: 74%; }.method-cards { width: 180px; }.method-card { padding: 11px 13px; font-size: .7rem; }.story-orbit { width: 220px; }.story-orbit span { font-size: .55rem; }
    .slide__actions { margin-top: 25px; }.slide__button { min-height: 48px; padding: 0 17px; font-size: .78rem; }.slides__counter { right: 20px; bottom: 20px; }.slides__dots { left: 20px; bottom: 22px; }.contact-note { gap: 15px; font-size: .72rem; }.contact-note strong { font-size: 1rem; }
}

@media (prefers-reduced-motion: reduce) { .slides__track, .slide__content, .intro-equation, .method-cards, .story-orbit { transition: none; } }
