/*
 * Chemist home cinematic layer.
 *
 * This file deliberately sits on top of home.css. The original editorial
 * layout remains the no-JS fallback; JavaScript only supplies scroll progress,
 * active stages and subtle pointer depth through CSS custom properties.
 */

.home-cinema-root {
    --hc-ease: cubic-bezier(.2, .75, .25, 1);
    --hero-pointer-x: 0px;
    --hero-pointer-y: 0px;
    --hero-rotate-x: 0deg;
    --hero-rotate-y: 0deg;
    --hero-scroll-y: 0px;
    /* `hidden` creates a non-scrolling overflow ancestor and disables sticky
       descendants. `clip` keeps the horizontal guard without doing that. */
    overflow-x: clip !important;
    overflow-y: visible !important;
}

.home-cinema-root > [style*="position: fixed"][style*="mix-blend-mode: multiply"] {
    contain: strict;
    transform: translateZ(0);
}

.hc-scroll-progress {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 90;
    height: 2px;
    pointer-events: none;
}

.hc-scroll-progress span {
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, var(--gold, #C8922E), var(--goldb, #E0A93A));
    box-shadow: 0 0 14px color-mix(in srgb, var(--gold, #C8922E) 55%, transparent);
    transform: scaleX(0);
    transform-origin: left center;
    will-change: transform;
}

.hc-entry-sweep {
    position: fixed;
    inset: 0;
    z-index: 85;
    pointer-events: none;
    opacity: 0;
    background: linear-gradient(
        105deg,
        transparent 41%,
        color-mix(in srgb, var(--gold, #C8922E) 8%, transparent) 46%,
        color-mix(in srgb, var(--goldb, #E0A93A) 48%, transparent) 50%,
        color-mix(in srgb, var(--gold, #C8922E) 8%, transparent) 54%,
        transparent 59%
    );
    transform: translate3d(-115%, 0, 0);
    animation: hcEntrySweep 1.35s .12s var(--hc-ease) both;
}

@keyframes hcEntrySweep {
    0% { opacity: 0; transform: translate3d(-115%, 0, 0); }
    16% { opacity: 1; }
    76% { opacity: .72; }
    100% { opacity: 0; transform: translate3d(115%, 0, 0); }
}

/* ------------------------------------------------------------------ hero */

.home-cinema-hero {
    position: relative;
    isolation: isolate;
    min-height: calc(100svh - 74px);
}

.home-cinema-hero::before,
.home-cinema-hero::after {
    content: "";
    position: absolute;
    z-index: -1;
    pointer-events: none;
    border-radius: 50%;
}

.home-cinema-hero::before {
    top: 9%;
    right: -13%;
    width: min(62vw, 720px);
    aspect-ratio: 1;
    opacity: .5;
    background:
        radial-gradient(circle at center, color-mix(in srgb, var(--gold, #C8922E) 16%, transparent), transparent 57%),
        repeating-radial-gradient(circle at center, transparent 0 54px, color-mix(in srgb, var(--gold, #C8922E) 17%, transparent) 55px 56px);
    transform: translate3d(calc(var(--hero-pointer-x) * -.28), calc(var(--hero-pointer-y) * -.28), 0);
    transition: opacity .5s ease;
}

.home-cinema-hero::after {
    left: 45%;
    bottom: 8%;
    width: 190px;
    height: 1px;
    border-radius: 0;
    opacity: .62;
    background: linear-gradient(90deg, transparent, var(--gold, #C8922E), transparent);
    transform: rotate(-18deg);
    box-shadow: 0 0 28px color-mix(in srgb, var(--gold, #C8922E) 42%, transparent);
}

.hc-hero-orbits {
    position: absolute;
    z-index: 0;
    top: 9%;
    right: -13%;
    width: min(62vw, 720px);
    aspect-ratio: 1;
    opacity: .62;
    pointer-events: none;
    transform: translate3d(calc(var(--hero-pointer-x) * -.28), calc(var(--hero-pointer-y) * -.28), 0);
    transition: opacity .5s ease, transform .8s var(--hc-ease);
}

.hc-hero-orbit {
    position: absolute;
    border: 1px solid color-mix(in srgb, var(--gold, #C8922E) 30%, transparent);
    border-radius: 50%;
    will-change: transform;
}

.hc-hero-orbit i {
    position: absolute;
    display: block;
    width: 9px;
    height: 9px;
    border: 1px solid color-mix(in srgb, var(--goldb, #E0A93A) 80%, #fff 20%);
    border-radius: 50%;
    background: var(--gold, #C8922E);
    box-shadow:
        0 0 0 4px color-mix(in srgb, var(--gold, #C8922E) 11%, transparent),
        0 0 24px color-mix(in srgb, var(--goldb, #E0A93A) 74%, transparent);
}

.hc-hero-orbit i::after {
    content: "";
    position: absolute;
    top: -5px;
    left: 13px;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: color-mix(in srgb, var(--ink, #2A2418) 72%, var(--gold, #C8922E));
}

.hc-hero-orbit-one {
    inset: 7%;
    animation: hcHeroPlanetOrbit 23s linear infinite;
}

.hc-hero-orbit-one i {
    top: 50%;
    left: -5px;
}

.hc-hero-orbit-two {
    inset: 24%;
    border-style: dashed;
    border-color: color-mix(in srgb, var(--gold, #C8922E) 24%, transparent);
    animation: hcHeroPlanetOrbitReverse 16s linear infinite;
}

.hc-hero-orbit-two i {
    top: -4px;
    left: 50%;
    width: 7px;
    height: 7px;
}

.hc-hero-orbit-three {
    inset: 39%;
    border-color: color-mix(in srgb, var(--gold, #C8922E) 38%, transparent);
    animation: hcHeroPlanetOrbit 10s linear infinite;
}

.hc-hero-orbit-three i {
    right: 7%;
    bottom: 16%;
    width: 5px;
    height: 5px;
    background: var(--ink2, #5C5238);
    box-shadow: 0 0 16px color-mix(in srgb, var(--gold, #C8922E) 58%, transparent);
}

@keyframes hcHeroPlanetOrbit { to { transform: rotate(360deg); } }
@keyframes hcHeroPlanetOrbitReverse { to { transform: rotate(-360deg); } }

.home-cinema-hero .hc-hero-copy,
.home-cinema-hero .home-hero-art {
    position: relative;
    z-index: 1;
    animation: none !important;
}

.hc-hero-kicker {
    opacity: 0;
    transform: translate3d(0, 10px, 0);
    animation: hcFadeUp .72s .28s var(--hc-ease) forwards;
}

.hc-hero-kicker > span:first-child {
    transform: scaleX(0);
    transform-origin: left center;
    animation: hcLineGrow .7s .58s var(--hc-ease) forwards;
}

.hc-title-line {
    display: block;
    overflow: hidden;
    padding-bottom: .05em;
}

.hc-title-line > span {
    display: block;
    opacity: 0;
    transform: translate3d(0, 112%, 0) rotate(1.6deg);
    transform-origin: left bottom;
    animation: hcTitleIn 1.05s .42s var(--hc-ease) forwards;
}

.hc-title-line:nth-child(2) > span {
    animation-delay: .56s;
}

.hc-hero-lead {
    opacity: 0;
    transform: translate3d(0, 18px, 0);
    animation: hcFadeUp .85s .76s var(--hc-ease) forwards;
}

.home-hero-actions {
    opacity: 0;
    transform: translate3d(0, 16px, 0);
    animation: hcFadeUp .8s .88s var(--hc-ease) forwards;
}

.hc-hero-scroll {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    opacity: 0;
    color: var(--ink3, #8A7E60);
    font-family: Cinzel, serif;
    font-size: 9px;
    letter-spacing: .2em;
    text-transform: uppercase;
    animation: hcFadeUp .7s 1.1s var(--hc-ease) forwards;
}

.hc-hero-scroll span {
    position: relative;
    width: 30px;
    height: 1px;
    overflow: hidden;
    background: color-mix(in srgb, var(--ink3, #8A7E60) 38%, transparent);
}

.hc-hero-scroll span::after {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--gold, #C8922E);
    transform: translateX(-105%);
    animation: hcScrollPulse 2.3s 1.4s ease-in-out infinite;
}

.home-cinema-hero .home-hero-art {
    opacity: 0;
    transform:
        translate3d(
            var(--hero-pointer-x),
            calc(var(--hero-pointer-y) + var(--hero-scroll-y)),
            0
        )
        rotateX(var(--hero-rotate-x))
        rotateY(var(--hero-rotate-y));
    transform-style: preserve-3d;
    will-change: transform;
    animation: hcArtReveal 1.12s .42s var(--hc-ease) forwards !important;
}

.home-cinema-hero .home-hero-art-frame {
    isolation: isolate;
}

.home-cinema-hero .home-hero-art-frame::before {
    opacity: .34;
    transform: translateX(-48%) rotate(8deg);
    animation: hcArtSheen 4.8s 1.25s ease-in-out infinite;
}

@keyframes hcFadeUp {
    to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes hcLineGrow {
    to { transform: scaleX(1); }
}

@keyframes hcTitleIn {
    to { opacity: 1; transform: translate3d(0, 0, 0) rotate(0); }
}

@keyframes hcArtReveal {
    0% {
        opacity: 0;
        clip-path: inset(16% 11% 18% 11%);
        transform: translate3d(34px, 28px, 0) scale(.94) rotateY(-3deg);
        filter: saturate(.68) contrast(.9);
    }
    100% {
        opacity: 1;
        clip-path: inset(0);
        transform:
            translate3d(
                var(--hero-pointer-x),
                calc(var(--hero-pointer-y) + var(--hero-scroll-y)),
                0
            )
            scale(1)
            rotateX(var(--hero-rotate-x))
            rotateY(var(--hero-rotate-y));
        filter: none;
    }
}

@keyframes hcArtSheen {
    0%, 14% { opacity: 0; transform: translateX(-58%) rotate(8deg); }
    35% { opacity: .48; }
    58%, 100% { opacity: 0; transform: translateX(58%) rotate(8deg); }
}

@keyframes hcScrollPulse {
    0%, 12% { transform: translateX(-105%); }
    52%, 100% { transform: translateX(105%); }
}

/* --------------------------------------------------------------- furnace */

.home-furnace {
    position: relative;
    /* Long enough for the three acts, short enough not to feel scroll-locked. */
    height: 225svh;
    color: #ece0c2;
    background: #171109;
    border-top: 1px solid rgba(200, 146, 46, .28);
    border-bottom: 1px solid rgba(200, 146, 46, .28);
}

.home-furnace-sticky {
    position: sticky;
    top: 0;
    display: grid;
    min-height: 100svh;
    overflow: hidden;
    place-items: center;
    padding: 96px 32px 64px;
    background:
        linear-gradient(180deg, rgba(8, 6, 3, .3), transparent 30%, rgba(8, 6, 3, .38)),
        radial-gradient(circle at 50% 58%, rgba(200, 146, 46, .22), transparent 31%),
        #171109;
}

.home-furnace-sticky::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .18;
    background-image:
        linear-gradient(rgba(236, 224, 194, .05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(236, 224, 194, .04) 1px, transparent 1px);
    background-size: 88px 88px;
    mask-image: radial-gradient(circle at center, #000, transparent 76%);
}

.hf-atmosphere {
    position: absolute;
    top: 50%;
    left: 50%;
    width: min(76vw, 820px);
    aspect-ratio: 1;
    pointer-events: none;
    transform: translate(-50%, -50%);
}

.hf-orbit {
    position: absolute;
    inset: 8%;
    border: 1px solid rgba(200, 146, 46, .24);
    border-radius: 50%;
    transform: rotate(var(--furnace-turn, 0deg)) scale(var(--furnace-scale, .92));
    will-change: transform;
}

.hf-orbit::before,
.hf-orbit::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #c8922e;
    box-shadow: 0 0 28px rgba(224, 169, 58, .9);
}

.hf-orbit::before { left: -4px; }
.hf-orbit::after { right: -4px; }

.hf-orbit-two {
    inset: 21%;
    border-style: dashed;
    border-color: rgba(236, 224, 194, .16);
    transform: rotate(var(--furnace-turn-reverse, 0deg)) scale(var(--furnace-scale, .92));
}

.hf-orbit-two::before,
.hf-orbit-two::after {
    width: 5px;
    height: 5px;
    background: #ece0c2;
    box-shadow: 0 0 20px rgba(236, 224, 194, .62);
}

.hf-core {
    position: absolute;
    top: 50%;
    left: 50%;
    display: grid;
    width: 72px;
    height: 72px;
    border: 1px solid rgba(200, 146, 46, .4);
    border-radius: 50%;
    place-items: center;
    color: #e0a93a;
    background: rgba(23, 17, 9, .76);
    font-size: 18px;
    box-shadow: 0 0 52px rgba(200, 146, 46, .44);
    transform: translate(-50%, -50%) rotate(var(--furnace-turn-reverse, 0deg));
}

.hf-content {
    position: relative;
    z-index: 2;
    width: min(100%, 1080px);
    text-align: center;
}

.hf-kicker {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-bottom: 20px;
    color: rgba(224, 169, 58, .84);
    font-family: Cinzel, serif;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .25em;
    text-transform: uppercase;
}

.hf-kicker span {
    width: 54px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(200, 146, 46, .68));
}

.hf-kicker span:last-child { transform: rotate(180deg); }

.hf-content h2 {
    margin: 0;
    color: #ece0c2;
    font-family: "EB Garamond", Georgia, serif;
    font-size: clamp(44px, 7vw, 86px);
    font-weight: 500;
    letter-spacing: -.045em;
    line-height: .92;
    text-wrap: balance;
}

.hf-content h2 em {
    color: #c8922e;
    font-weight: 500;
}

.hf-lead {
    margin: 20px auto 34px;
    color: rgba(236, 224, 194, .58);
    font-size: clamp(16px, 1.8vw, 20px);
    letter-spacing: .015em;
}

.home-furnace .home-decoders {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    width: min(100%, 920px);
    margin: 0 auto;
    padding: 24px 0;
    border-top: 1px solid rgba(200, 146, 46, .24);
    border-bottom: 1px solid rgba(200, 146, 46, .24);
}

.home-furnace .home-decoder-word {
    min-width: 0;
    color: rgba(236, 224, 194, .27);
    font-size: clamp(15px, 2.1vw, 23px);
    cursor: default;
    opacity: .7;
    transform: translateY(0) scale(.94);
    transition: color .65s ease, opacity .65s ease, transform .65s var(--hc-ease), text-shadow .65s ease;
}

.home-furnace .home-decoder-word::before,
.home-furnace .home-decoder-word::after {
    display: none;
}

.home-furnace .home-decoder-word span {
    opacity: 1;
    filter: none;
    transform: none;
    transition: letter-spacing .65s var(--hc-ease);
}

.home-furnace[data-stage="0"] [data-furnace-step="0"],
.home-furnace[data-stage="1"] [data-furnace-step="1"],
.home-furnace[data-stage="2"] [data-furnace-step="2"] {
    color: #e0a93a;
    opacity: 1;
    text-shadow: 0 0 30px rgba(200, 146, 46, .48);
    transform: translateY(-4px) scale(1.08);
}

.home-furnace[data-stage="0"] [data-furnace-step="0"] span,
.home-furnace[data-stage="1"] [data-furnace-step="1"] span,
.home-furnace[data-stage="2"] [data-furnace-step="2"] span {
    letter-spacing: .24em;
}

.hf-star {
    color: rgba(200, 146, 46, .42);
    font-size: 12px;
    transform: rotate(var(--furnace-turn, 0deg));
}

.hf-notes {
    display: grid;
    width: min(100%, 640px);
    min-height: 74px;
    margin: 26px auto 0;
    place-items: start center;
}

.hf-note {
    grid-area: 1 / 1;
    margin: 0;
    color: rgba(236, 224, 194, .62);
    font-size: clamp(16px, 1.7vw, 19px);
    line-height: 1.5;
    opacity: 0;
    transform: translate3d(0, 15px, 0);
    transition: opacity .5s ease, transform .6s var(--hc-ease);
}

.hf-note strong {
    color: #ece0c2;
    font-family: Cinzel, serif;
    font-size: .7em;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.home-furnace[data-stage="0"] [data-furnace-note="0"],
.home-furnace[data-stage="1"] [data-furnace-note="1"],
.home-furnace[data-stage="2"] [data-furnace-note="2"] {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

.hf-meter {
    width: min(100%, 640px);
    height: 2px;
    margin: 8px auto 0;
    overflow: hidden;
    background: rgba(236, 224, 194, .1);
}

.hf-meter span {
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, #9c5f1f, #e0a93a, #f0ca72);
    box-shadow: 0 0 18px rgba(224, 169, 58, .72);
    transform: scaleX(var(--furnace-progress, 0));
    transform-origin: left center;
    will-change: transform;
}

.hf-scroll-hint {
    margin-top: 18px;
    color: rgba(236, 224, 194, .34);
    font-family: Cinzel, serif;
    font-size: 8px;
    letter-spacing: .2em;
    text-transform: uppercase;
}

.hf-scroll-hint span {
    display: inline-block;
    margin-left: 5px;
    color: #c8922e;
    transform: translateY(var(--furnace-rise, 0px));
}

/* --------------------------------------------------------------- writing */

.home-cinema-writing {
    position: relative;
    --writing-progress: 0;
    --writing-image-shift: 0px;
}

.home-cinema-writing::before {
    content: "";
    position: absolute;
    top: 84px;
    bottom: 42px;
    left: 10px;
    width: 1px;
    opacity: .62;
    background: linear-gradient(to bottom, var(--gold, #C8922E), color-mix(in srgb, var(--gold, #C8922E) 6%, transparent));
    transform: scaleY(var(--writing-progress));
    transform-origin: top center;
    will-change: transform;
}

.home-featured-frame {
    position: relative;
    overflow: hidden;
    box-shadow: rgba(20, 15, 8, .18) 0 30px 48px -38px;
}

.home-featured-frame::after {
    content: "";
    position: absolute;
    inset: 8px;
    pointer-events: none;
    border: 1px solid color-mix(in srgb, var(--gold, #C8922E) 28%, transparent);
}

.home-featured-frame img {
    transform: translate3d(0, var(--writing-image-shift), 0) scale(1.045);
    will-change: transform;
}

.hc-motion-ready .home-cinema-writing .hc-writing-head,
.hc-motion-ready .home-cinema-writing .home-featured-frame,
.hc-motion-ready .home-cinema-writing .home-featured-copy {
    opacity: 0;
    transition: opacity .85s ease, transform 1s var(--hc-ease), clip-path 1.05s var(--hc-ease);
}

.hc-motion-ready .home-cinema-writing .hc-writing-head {
    transform: translate3d(0, 34px, 0);
}

.hc-motion-ready .home-cinema-writing .home-featured-frame {
    clip-path: inset(9% 7% 12% 7%);
    transform: translate3d(0, 58px, 0) scale(.96);
}

.hc-motion-ready .home-cinema-writing .home-featured-copy {
    transform: translate3d(34px, 0, 0);
}

.hc-motion-ready .home-cinema-writing.is-in-view .hc-writing-head,
.hc-motion-ready .home-cinema-writing.is-in-view .home-featured-frame,
.hc-motion-ready .home-cinema-writing.is-in-view .home-featured-copy {
    opacity: 1;
    clip-path: inset(0);
    transform: translate3d(0, 0, 0) scale(1);
}

.hc-motion-ready .home-cinema-writing.is-in-view .home-featured-frame { transition-delay: .12s; }
.hc-motion-ready .home-cinema-writing.is-in-view .home-featured-copy { transition-delay: .22s; }

.hc-motion-ready .home-writing-row[data-cinema-row] {
    opacity: 0;
    transform: translate3d(0, 34px, 0) scale(.985);
    transform-origin: top center;
    transition: opacity .68s ease, transform .78s var(--hc-ease), background .28s ease, padding .28s ease;
}

.hc-motion-ready .home-writing-row[data-cinema-row].is-in-view {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
    transition-delay: calc(var(--row-index, 0) * 45ms);
}

.home-writing-row[data-cinema-row]:hover,
.home-writing-row[data-cinema-row]:focus-visible {
    padding-right: 14px !important;
    padding-left: 14px !important;
    background: linear-gradient(90deg, color-mix(in srgb, var(--gold, #C8922E) 10%, transparent), transparent 72%);
    outline: none;
}

/* ------------------------------------------------------------------- lab */

.home-cinema-lab {
    position: relative;
    isolation: isolate;
}

.home-cinema-lab::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: -12%;
    left: 50%;
    width: min(94vw, 980px);
    height: 420px;
    pointer-events: none;
    opacity: .38;
    background: radial-gradient(ellipse at center, color-mix(in srgb, var(--gold, #C8922E) 17%, transparent), transparent 68%);
    transform: translateX(-50%);
}

.hc-motion-ready .home-cinema-lab .hl-intro {
    opacity: 0;
    transform: translate3d(0, 42px, 0);
    transition: opacity .8s ease, transform .9s var(--hc-ease);
}

.hc-motion-ready .home-cinema-lab.is-in-view .hl-intro {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

.hl-grid[data-cinema-lab-grid] {
    position: relative;
}

.hl-grid[data-cinema-lab-grid]::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: var(--lab-spot-y, 50%);
    left: var(--lab-spot-x, 50%);
    width: 520px;
    height: 520px;
    pointer-events: none;
    opacity: var(--lab-spot-opacity, 0);
    background: radial-gradient(circle, color-mix(in srgb, var(--gold, #C8922E) 24%, transparent), transparent 66%);
    transform: translate(-50%, -50%);
    transition: opacity .35s ease;
}

.hl-tile[data-cinema-tile] {
    --tile-entry-y: 0px;
    --tile-lift: 0px;
    --tile-rx: 0deg;
    --tile-ry: 0deg;
    opacity: 1;
    transform:
        perspective(900px)
        translate3d(0, calc(var(--tile-entry-y) + var(--tile-lift)), 0)
        rotateX(var(--tile-rx))
        rotateY(var(--tile-ry));
    transform-style: preserve-3d;
    will-change: transform;
    transition: opacity .7s ease, transform .72s var(--hc-ease), border-color .22s ease, box-shadow .22s ease;
}

.hc-motion-ready .home-cinema-lab:not(.is-in-view) .hl-tile[data-cinema-tile] {
    --tile-entry-y: 46px;
    opacity: 0;
}

.hc-motion-ready .home-cinema-lab.is-in-view .hl-tile[data-cinema-tile] {
    --tile-entry-y: 0px;
    opacity: 1;
    transition-delay: calc(var(--tile-index, 0) * 42ms);
}

.hl-tile[data-cinema-tile]:hover,
.hl-tile[data-cinema-tile]:focus-visible {
    --tile-lift: -5px;
    border-color: color-mix(in srgb, var(--gold, #C8922E) 66%, transparent);
    box-shadow: inset 0 2px 0 var(--gold, #C8922E), rgba(20, 15, 8, .28) 0 28px 50px -28px;
    outline: none;
}

.hl-tile[data-cinema-tile] > *:not(.hl-tile-go) {
    transform: translateZ(16px);
}

/* ---------------------------------------------------------- lower chapters */

/* The small editorial dividers now behave like chapter gates instead of
   static rules. Their reveal is intentionally quiet between larger scenes. */
.hc-motion-ready .home-chapter-divider[data-cinema-reveal] {
    opacity: .2;
    transform: scaleX(.22);
    transition: opacity .75s ease, transform 1.1s var(--hc-ease);
}

.hc-motion-ready .home-chapter-divider[data-cinema-reveal].is-in-view {
    opacity: 1;
    transform: scaleX(1);
}

.home-chapter-divider[data-cinema-reveal] span {
    transition: transform 1.1s var(--hc-ease), box-shadow .8s ease;
}

.home-chapter-divider[data-cinema-reveal].is-in-view span {
    box-shadow: 0 0 28px color-mix(in srgb, var(--gold, #C8922E) 24%, transparent);
    transform: translate(-50%, -50%) rotate(225deg);
}

/* ------------------------------------------------------------ references */

.home-cinema-references {
    --reference-spot-opacity: 0;
    position: relative;
    isolation: isolate;
}

.home-cinema-references::before {
    content: "02";
    position: absolute;
    z-index: -1;
    top: 12px;
    right: 24px;
    color: color-mix(in srgb, var(--gold, #C8922E) 8%, transparent);
    font-family: Cinzel, serif;
    font-size: clamp(100px, 16vw, 210px);
    font-weight: 600;
    letter-spacing: -.08em;
    line-height: 1;
    pointer-events: none;
}

.home-reference-grid[data-cinema-reference-grid] {
    position: relative;
    perspective: 1100px;
}

.home-reference-grid[data-cinema-reference-grid]::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: var(--reference-spot-y, 50%);
    left: var(--reference-spot-x, 50%);
    width: 460px;
    height: 360px;
    border-radius: 50%;
    opacity: var(--reference-spot-opacity);
    pointer-events: none;
    background: radial-gradient(circle, color-mix(in srgb, var(--gold, #C8922E) 23%, transparent), transparent 69%);
    transform: translate(-50%, -50%);
    transition: opacity .35s ease;
}

#references .logocard[data-cinema-reference] {
    --reference-rx: 0deg;
    --reference-ry: 0deg;
    --reference-lift: 0px;
    background:
        linear-gradient(145deg, color-mix(in srgb, var(--plate, #E4D8B6) 82%, white), color-mix(in srgb, var(--plate, #E4D8B6) 94%, transparent)) !important;
    color: var(--ink2, #5C5238);
    text-decoration: none;
    transform: perspective(900px) translate3d(0, var(--reference-lift), 0) rotateX(var(--reference-rx)) rotateY(var(--reference-ry));
    transform-style: preserve-3d;
    will-change: transform;
    transition: opacity .72s ease, transform .78s var(--hc-ease), border-color .3s ease, box-shadow .3s ease !important;
}

#references .logocard[data-cinema-reference]::after {
    content: "";
    position: absolute;
    inset: -90% -42%;
    pointer-events: none;
    opacity: 0;
    background: linear-gradient(105deg, transparent 43%, rgba(255, 248, 221, .62) 49%, transparent 55%);
    transform: translateX(-42%) rotate(8deg);
    transition: opacity .25s ease, transform .72s var(--hc-ease);
}

.hc-motion-ready .home-cinema-references:not(.is-in-view) .hc-references-head {
    opacity: 0;
    transform: translate3d(0, 32px, 0);
}

.hc-references-head {
    transition: opacity .75s ease, transform .9s var(--hc-ease);
}

.hc-motion-ready .home-cinema-references:not(.is-in-view) .logocard[data-cinema-reference] {
    opacity: 0;
    transform: perspective(900px) translate3d(0, 55px, 0) rotateX(8deg) rotateY(0deg);
}

.hc-motion-ready .home-cinema-references.is-in-view .logocard[data-cinema-reference] {
    transition-delay: calc(var(--reference-index, 0) * 70ms) !important;
}

#references .logocard[data-cinema-reference]:hover,
#references .logocard[data-cinema-reference]:focus-visible {
    --reference-lift: -7px;
    transform: perspective(900px) translate3d(0, var(--reference-lift), 16px) rotateX(var(--reference-rx)) rotateY(var(--reference-ry));
    box-shadow: rgba(20, 15, 8, .24) 0 28px 44px -27px;
}

#references .logocard[data-cinema-reference]:hover::after,
#references .logocard[data-cinema-reference]:focus-visible::after {
    opacity: .72;
    transform: translateX(42%) rotate(8deg);
}

#references .logocard[data-cinema-reference] img,
#references .logocard[data-cinema-reference] > span:not(.logocard-name) {
    transform: translateZ(14px);
}

/* ---------------------------------------------------------------- about */

.home-cinema-about {
    --about-turn: 0deg;
    --about-turn-reverse: 0deg;
    position: relative;
    isolation: isolate;
}

.hc-about-layout {
    position: relative;
    z-index: 2;
}

.hc-about-dial {
    position: absolute;
    z-index: -1;
    top: 50%;
    left: -190px;
    width: 480px;
    aspect-ratio: 1;
    pointer-events: none;
    opacity: .44;
    border: 1px solid color-mix(in srgb, var(--gold, #C8922E) 24%, transparent);
    border-radius: 50%;
    background: repeating-radial-gradient(circle, transparent 0 43px, color-mix(in srgb, var(--gold, #C8922E) 9%, transparent) 44px 45px);
    transform: translateY(-50%) rotate(var(--about-turn));
    will-change: transform;
}

.hc-about-dial::before,
.hc-about-dial::after {
    content: "";
    position: absolute;
    top: 50%;
    left: -8px;
    right: -8px;
    height: 1px;
    background: color-mix(in srgb, var(--gold, #C8922E) 22%, transparent);
}

.hc-about-dial::after { transform: rotate(90deg); }

.hc-about-dial > span {
    position: absolute;
    inset: 17%;
    border: 1px dashed color-mix(in srgb, var(--gold, #C8922E) 34%, transparent);
    border-radius: 50%;
}

.hc-about-dial > span:nth-child(2) {
    inset: 34%;
    border-style: solid;
}

.hc-about-dial i {
    position: absolute;
    top: 48%;
    right: -12px;
    color: var(--gold, #C8922E);
    font-family: Cinzel, serif;
    font-size: 10px;
    font-style: normal;
    letter-spacing: .16em;
    transform: rotate(var(--about-turn-reverse));
}

.hc-about-avatar {
    position: relative;
    display: inline-grid;
    flex: 0 0 auto;
    place-items: center;
}

.hc-about-avatar > span {
    position: absolute;
    inset: -13px;
    border: 1px dashed color-mix(in srgb, var(--gold, #C8922E) 50%, transparent);
    border-radius: 50%;
    transform: rotate(var(--about-turn));
}

.hc-about-avatar > span::after {
    content: "✦";
    position: absolute;
    top: 2px;
    right: 7px;
    color: var(--gold, #C8922E);
    font-size: 9px;
    text-shadow: 0 0 12px color-mix(in srgb, var(--gold, #C8922E) 55%, transparent);
}

.hc-about-avatar img {
    position: relative;
    z-index: 1;
}

.hc-about-copy {
    position: relative;
    padding-left: 34px;
}

.hc-about-copy::before {
    content: "";
    position: absolute;
    top: 7px;
    bottom: 7px;
    left: 0;
    width: 1px;
    background: linear-gradient(var(--gold, #C8922E), color-mix(in srgb, var(--gold, #C8922E) 5%, transparent));
    transform: scaleY(var(--about-progress, 0));
    transform-origin: top center;
}

.hc-motion-ready .home-cinema-about:not(.is-in-view) .hc-about-identity {
    opacity: 0;
    transform: translate3d(-42px, 0, 0);
}

.hc-motion-ready .home-cinema-about:not(.is-in-view) .hc-about-copy {
    opacity: 0;
    transform: translate3d(42px, 0, 0);
}

.hc-about-identity,
.hc-about-copy {
    transition: opacity .82s ease, transform 1s var(--hc-ease);
}

.hc-motion-ready .home-cinema-about.is-in-view .hc-about-copy { transition-delay: .15s; }

.hc-about-tags span {
    transition: color .3s ease, background .3s ease, border-color .3s ease, transform .3s var(--hc-ease);
}

.hc-about-tags span:hover {
    color: var(--bg, #EDE3C7) !important;
    border-color: var(--gold, #C8922E) !important;
    background: var(--gold, #C8922E);
    transform: translateY(-3px);
}

/* --------------------------------------------------------------- signal */

.home-cinema-signal {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

.home-cinema-signal::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    opacity: .34;
    background:
        linear-gradient(90deg, transparent 49.9%, color-mix(in srgb, var(--gold, #C8922E) 10%, transparent) 50%, transparent 50.1%),
        radial-gradient(ellipse at 50% 100%, color-mix(in srgb, var(--gold, #C8922E) 13%, transparent), transparent 61%);
}

.hc-motion-ready .home-cinema-signal:not(.is-in-view) .hc-signal-inner > *:not(.score-cards) {
    opacity: 0;
    transform: translate3d(0, 24px, 0);
}

.hc-signal-inner > *:not(.score-cards) {
    transition: opacity .72s ease, transform .85s var(--hc-ease);
}

.home-cinema-signal .score-card {
    position: relative;
    overflow: hidden;
    transition: opacity .72s ease, transform .82s var(--hc-ease), border-color .25s ease, box-shadow .25s ease, background .25s ease !important;
}

.home-cinema-signal .score-card::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: -30%;
    width: 22%;
    pointer-events: none;
    opacity: 0;
    background: linear-gradient(90deg, transparent, rgba(255, 248, 221, .58), transparent);
    transform: skewX(-18deg);
}

.hc-motion-ready .home-cinema-signal:not(.is-in-view) .score-card {
    opacity: 0;
    transform: translate3d(0, 38px, 0) scale(.96);
}

.hc-motion-ready .home-cinema-signal.is-in-view .score-card:nth-child(2) { transition-delay: .13s !important; }

.hc-motion-ready .home-cinema-signal:not(.is-in-view) .score-ring-fill {
    stroke-dashoffset: 131.95 !important;
}

.home-cinema-signal.is-in-view .score-card::after {
    animation: hcSignalScan 1.1s .48s var(--hc-ease) both;
}

@keyframes hcSignalScan {
    0% { left: -30%; opacity: 0; }
    24% { opacity: .72; }
    100% { left: 112%; opacity: 0; }
}

/* ----------------------------------------------------------- newsletter */

.home-cinema-newsletter {
    --newsletter-turn: 0deg;
    --newsletter-turn-reverse: 0deg;
    position: relative;
    min-height: 410px;
    overflow: hidden;
    isolation: isolate;
    color: #ece0c2;
    background:
        linear-gradient(112deg, rgba(8, 6, 3, .48), transparent 52%),
        radial-gradient(circle at 82% 50%, rgba(200, 146, 46, .17), transparent 27%),
        #171109 !important;
    border-color: rgba(200, 146, 46, .28) !important;
}

.home-cinema-newsletter::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .22;
    background-image:
        linear-gradient(rgba(236, 224, 194, .055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(236, 224, 194, .045) 1px, transparent 1px);
    background-size: 72px 72px;
    mask-image: linear-gradient(90deg, #000, transparent 78%);
}

.home-cinema-newsletter::after {
    content: "";
    position: absolute;
    z-index: 0;
    right: 0;
    left: 0;
    top: 0;
    height: 1px;
    pointer-events: none;
    opacity: .48;
    background: linear-gradient(90deg, transparent 45%, rgba(224, 169, 58, .5) 72%, transparent 100%);
    box-shadow: 0 0 24px rgba(224, 169, 58, .26);
    transform: translate3d(0, var(--newsletter-scan-y, 205px), 0);
    will-change: transform;
}

.hc-newsletter-inner {
    position: relative;
    z-index: 2;
    min-height: 410px;
}

.home-cinema-newsletter h2 { color: #ece0c2 !important; }
.home-cinema-newsletter .hc-newsletter-copy > p { color: rgba(236, 224, 194, .6) !important; }

.hc-newsletter-orbit {
    position: absolute;
    z-index: 1;
    top: 50%;
    right: -90px;
    width: min(44vw, 540px);
    aspect-ratio: 1;
    pointer-events: none;
    opacity: .62;
    border: 1px solid rgba(200, 146, 46, .25);
    border-radius: 50%;
    transform: translateY(-50%) rotate(var(--newsletter-turn));
    will-change: transform;
}

.hc-newsletter-orbit::before,
.hc-newsletter-orbit::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    border: 1px dashed rgba(236, 224, 194, .16);
    border-radius: 50%;
    transform: translate(-50%, -50%);
}

.hc-newsletter-orbit::before { width: 72%; height: 72%; }
.hc-newsletter-orbit::after { width: 38%; height: 38%; }

.hc-newsletter-orbit > span {
    position: absolute;
    top: 50%;
    left: -5px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #e0a93a;
    box-shadow: 0 0 25px rgba(224, 169, 58, .9);
}

.hc-newsletter-orbit > span:nth-child(2) { right: -5px; left: auto; }

.hc-newsletter-orbit i {
    position: absolute;
    top: 50%;
    left: 50%;
    display: grid;
    width: 58px;
    height: 58px;
    place-items: center;
    color: #e0a93a;
    border: 1px solid rgba(200, 146, 46, .42);
    border-radius: 50%;
    font-style: normal;
    transform: translate(-50%, -50%) rotate(var(--newsletter-turn-reverse));
}

.hc-newsletter-action {
    padding: 28px;
    border: 1px solid rgba(236, 224, 194, .14);
    background: rgba(8, 6, 3, .46);
    box-shadow: rgba(0, 0, 0, .28) 0 28px 56px -34px;
    backdrop-filter: blur(11px);
}

.hc-transmission-status {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 18px;
    color: rgba(236, 224, 194, .44);
    font-family: Cinzel, serif;
    font-size: 8px;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.hc-transmission-status span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #e0a93a;
    box-shadow: 0 0 0 0 rgba(224, 169, 58, .45);
    animation: hcTransmissionPulse 2.2s ease-out infinite;
}

@keyframes hcTransmissionPulse {
    0% { box-shadow: 0 0 0 0 rgba(224, 169, 58, .42); }
    70%, 100% { box-shadow: 0 0 0 9px rgba(224, 169, 58, 0); }
}

.home-cinema-newsletter .home-newsletter-form input {
    color: #2a2418 !important;
    background: rgba(244, 236, 214, .94) !important;
    border-color: rgba(224, 169, 58, .45) !important;
}

.home-cinema-newsletter .home-newsletter-form button {
    color: #1c1407 !important;
    background: #c8922e !important;
    transition: background .25s ease, transform .25s var(--hc-ease), box-shadow .25s ease;
}

.home-cinema-newsletter .home-newsletter-form button:hover,
.home-cinema-newsletter .home-newsletter-form button:focus-visible {
    background: #e0a93a !important;
    box-shadow: 0 10px 28px -12px rgba(224, 169, 58, .9);
    transform: translateY(-2px);
}

.home-cinema-newsletter .hc-newsletter-action > div:last-child {
    color: rgba(236, 224, 194, .4) !important;
}

.hc-motion-ready .home-cinema-newsletter:not(.is-in-view) .hc-newsletter-copy {
    opacity: 0;
    transform: translate3d(-45px, 0, 0);
}

.hc-motion-ready .home-cinema-newsletter:not(.is-in-view) .hc-newsletter-action {
    opacity: 0;
    transform: translate3d(45px, 0, 0) scale(.96);
}

.hc-motion-ready .home-cinema-newsletter:not(.is-in-view) .hc-newsletter-orbit {
    opacity: 0;
    transform: translateY(-50%) rotate(var(--newsletter-turn)) scale(.72);
}

.hc-newsletter-copy,
.hc-newsletter-action,
.hc-newsletter-orbit {
    transition: opacity .85s ease, transform 1s var(--hc-ease);
}

.home-cinema-newsletter.is-in-view .hc-newsletter-action { transition-delay: .14s; }

/* -------------------------------------------------------- contact finale */

.home-cinema-contact-image {
    --contact-image-y: 0px;
    overflow: hidden;
    isolation: isolate;
}

.home-cinema-contact-image::before {
    content: "";
    position: absolute;
    z-index: 3;
    inset: 26px;
    pointer-events: none;
    border: 1px solid rgba(224, 169, 58, .46);
    clip-path: polygon(0 0, 18% 0, 18% 1px, 82% 1px, 82% 0, 100% 0, 100% 100%, 82% 100%, 82% calc(100% - 1px), 18% calc(100% - 1px), 18% 100%, 0 100%);
}

.hc-contact-plate {
    transform: translate3d(0, var(--contact-image-y), 0) scale(1.12);
    will-change: transform;
}

.hc-contact-veil { z-index: 1; }
.hc-contact-caption { z-index: 4; }

.hc-contact-words {
    position: absolute;
    z-index: 2;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .34em;
    color: rgba(244, 236, 214, .9);
    font-family: Cinzel, serif;
    font-size: clamp(18px, 4.4vw, 58px);
    font-weight: 500;
    letter-spacing: .17em;
    text-align: center;
    text-shadow: 0 2px 28px rgba(0, 0, 0, .75);
    pointer-events: none;
}

.hc-contact-words i {
    color: #e0a93a;
    font-family: "EB Garamond", Georgia, serif;
    font-style: italic;
    font-weight: 500;
    letter-spacing: 0;
}

.hc-motion-ready .home-cinema-contact-image:not(.is-in-view) .hc-contact-plate {
    opacity: .35;
    filter: saturate(.5);
    transform: translate3d(0, calc(var(--contact-image-y) + 55px), 0) scale(1.2);
}

.hc-motion-ready .home-cinema-contact-image:not(.is-in-view) .hc-contact-words {
    opacity: 0;
    letter-spacing: .28em;
}

.hc-contact-plate {
    transition: opacity 1s ease, filter 1.1s ease, transform .12s linear;
}

.hc-contact-words {
    transition: opacity .9s ease, letter-spacing 1.15s var(--hc-ease);
}

.home-cinema-contact-wrap {
    position: relative;
    z-index: 5;
    transform: translateY(-18px);
}

.home-cinema-contact {
    position: relative;
    box-shadow: inset 0 4px 0 var(--gold, #C8922E), rgba(20, 15, 8, .25) 0 34px 70px -42px !important;
}

.home-cinema-contact::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 64%;
    width: 1px;
    pointer-events: none;
    opacity: .25;
    background: var(--gold, #C8922E);
    transform: skewX(-22deg);
}

.hc-motion-ready .home-cinema-contact-wrap:not(.is-in-view) .home-cinema-contact {
    opacity: 0;
    clip-path: inset(0 8% 0 8%);
    transform: translate3d(0, 48px, 0) scale(.97);
}

.home-cinema-contact {
    transition: opacity .85s ease, transform 1s var(--hc-ease), clip-path 1s var(--hc-ease);
}

/* ---------------------------------------------------------------- footer */

.home-cinema-footer {
    --footer-mark-y: 0px;
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

.home-cinema-footer::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    opacity: .18;
    background:
        radial-gradient(circle at 50% 0, rgba(200, 146, 46, .24), transparent 38%),
        linear-gradient(rgba(236, 224, 194, .04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(236, 224, 194, .035) 1px, transparent 1px);
    background-size: auto, 90px 90px, 90px 90px;
    mask-image: linear-gradient(#000, transparent 88%);
}

.hc-footer-mark {
    position: absolute;
    z-index: -1;
    top: -4vw;
    left: 50%;
    color: transparent;
    font-family: Cinzel, serif;
    font-size: clamp(90px, 19vw, 270px);
    font-weight: 700;
    letter-spacing: .08em;
    line-height: 1;
    white-space: nowrap;
    -webkit-text-stroke: 1px rgba(200, 146, 46, .11);
    transform: translate3d(-50%, var(--footer-mark-y), 0);
    will-change: transform;
}

.hc-footer-quote,
.hc-footer-grid,
.hc-footer-bottom {
    position: relative;
    z-index: 2;
}

.hc-motion-ready .home-cinema-footer:not(.is-in-view) .hc-footer-quote {
    opacity: 0;
    transform: translate3d(0, 34px, 0);
}

.hc-motion-ready .home-cinema-footer:not(.is-in-view) .hc-footer-grid > div {
    opacity: 0;
    transform: translate3d(0, 30px, 0);
}

.hc-footer-quote,
.hc-footer-grid > div {
    transition: opacity .8s ease, transform .9s var(--hc-ease);
}

.home-cinema-footer.is-in-view .hc-footer-grid > div:nth-child(1) { transition-delay: .15s; }
.home-cinema-footer.is-in-view .hc-footer-grid > div:nth-child(2) { transition-delay: .24s; }
.home-cinema-footer.is-in-view .hc-footer-grid > div:nth-child(3) { transition-delay: .33s; }

/* ----------------------------------------------------------- responsive */

@media (max-width: 900px) {
    .home-cinema-hero {
        min-height: auto;
    }

    .home-cinema-hero::before {
        top: -5%;
        right: -34%;
    }

    .hc-hero-orbits {
        top: -5%;
        right: -34%;
    }

    .home-cinema-writing::before {
        display: none;
    }

    .hc-newsletter-orbit {
        right: -180px;
        width: 560px;
    }

    .hc-contact-words {
        letter-spacing: .12em;
    }
}

@media (max-width: 760px) {
    .hc-entry-sweep { display: none; }

    .home-cinema-root > [style*="position: fixed"][style*="mix-blend-mode: multiply"] {
        display: none;
    }

    .home-cinema-root nav[style*="position:"][style*="sticky"] {
        background: color-mix(in srgb, var(--bg, #EDE3C7) 96%, transparent) !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    .home-cinema-hero .home-hero-art {
        transform: none;
        will-change: auto;
    }

    .home-cinema-hero::before {
        top: -14%;
        right: -55%;
        width: 130vw;
        opacity: .3;
    }

    .hc-hero-orbits {
        top: -14%;
        right: -55%;
        width: 130vw;
        opacity: .36;
        transform: none;
    }

    .hc-hero-orbit-three { display: none; }

    .hc-hero-scroll { display: none; }

    .home-furnace {
        height: auto;
    }

    .home-furnace-sticky {
        position: relative;
        min-height: auto;
        padding: 72px 20px 68px;
    }

    .hf-atmosphere {
        top: 38%;
        width: 120vw;
        max-width: 620px;
        opacity: .65;
    }

    .hf-core {
        width: 54px;
        height: 54px;
        font-size: 14px;
    }

    .hf-content h2 {
        font-size: clamp(38px, 12vw, 54px);
    }

    .home-furnace .home-decoders {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        padding: 20px 0 !important;
    }

    .home-furnace .home-decoder-word,
    .home-furnace[data-stage] .home-decoder-word {
        color: #e0a93a;
        font-size: 17px !important;
        opacity: 1;
        text-shadow: 0 0 24px rgba(200, 146, 46, .34);
        transform: none;
    }

    .home-furnace .home-decoder-word span,
    .home-furnace[data-stage] .home-decoder-word span {
        letter-spacing: .18em;
    }

    .hf-star { display: none; }

    .hf-notes {
        display: block;
        min-height: 0;
        margin-top: 24px;
    }

    .hf-note,
    .home-furnace[data-stage] .hf-note {
        position: relative;
        margin: 0;
        padding: 12px 0;
        border-bottom: 1px solid rgba(236, 224, 194, .09);
        opacity: 1;
        filter: none;
        transform: none;
    }

    .hf-meter,
    .hf-scroll-hint { display: none; }

    .home-featured-frame img {
        transform: none;
        will-change: auto;
    }

    .hc-motion-ready .home-cinema-writing .home-featured-copy {
        transform: translate3d(0, 28px, 0);
    }

    .hl-grid[data-cinema-lab-grid]::before { display: none; }

    .hl-tile[data-cinema-tile],
    .hl-tile[data-cinema-tile]:hover,
    .hl-tile[data-cinema-tile]:focus-visible {
        --tile-rx: 0deg !important;
        --tile-ry: 0deg !important;
        transform: translate3d(0, calc(var(--tile-entry-y) + var(--tile-lift)), 0);
    }

    .hl-tile[data-cinema-tile] > *:not(.hl-tile-go) { transform: none; }

    .home-reference-grid[data-cinema-reference-grid]::before { display: none; }

    #references .logocard[data-cinema-reference],
    #references .logocard[data-cinema-reference]:hover,
    #references .logocard[data-cinema-reference]:focus-visible {
        --reference-rx: 0deg !important;
        --reference-ry: 0deg !important;
        transform: translate3d(0, var(--reference-lift), 0);
    }

    #references .logocard[data-cinema-reference] img,
    #references .logocard[data-cinema-reference] > span:not(.logocard-name) {
        transform: none;
    }

    .home-cinema-references::before {
        top: 22px;
        right: 18px;
        font-size: 100px;
    }

    .hc-about-dial {
        top: 30%;
        left: -180px;
        width: 340px;
        opacity: .3;
    }

    .hc-about-copy {
        padding-left: 18px;
    }

    .hc-about-copy::before { display: none; }

    .home-cinema-newsletter,
    .hc-newsletter-inner {
        min-height: auto;
    }

    #newsletter > .hc-newsletter-orbit {
        top: 23%;
        right: -230px;
        width: 460px;
        padding: 0 !important;
        opacity: .36;
    }

    .hc-newsletter-action {
        padding: 22px;
    }

    .hc-contact-plate,
    .hc-motion-ready .home-cinema-contact-image:not(.is-in-view) .hc-contact-plate {
        filter: none;
        transform: none;
        transition-duration: .9s;
    }

    .home-cinema-contact-image::before {
        inset: 13px;
    }

    .hc-contact-words {
        flex-direction: column;
        gap: 0;
        padding: 32px;
        font-size: clamp(17px, 7vw, 26px);
        letter-spacing: .12em;
        line-height: 1.18;
    }

    .home-cinema-contact-wrap {
        transform: translateY(-8px);
    }

    .home-cinema-contact::before { display: none; }

    .home-cinema-contact h2 br {
        display: block !important;
    }

    .hc-footer-mark {
        top: 38px;
        font-size: 28vw;
        letter-spacing: .02em;
    }
}

@media (max-width: 430px) {
    .hc-title-line > span {
        animation-duration: .82s;
    }

    .hf-kicker {
        gap: 9px;
        font-size: 8px;
        letter-spacing: .17em;
    }

    .hf-kicker span { width: 26px; }

    .hc-newsletter-action { padding: 18px; }

    .hc-transmission-status {
        font-size: 7px;
        letter-spacing: .12em;
    }

    .hc-contact-words { padding-bottom: 54px; }
}

/* Motion is enhancement, never a content requirement. */
@media (prefers-reduced-motion: reduce) {
    .hc-entry-sweep,
    .hc-scroll-progress,
    .hc-hero-scroll { display: none; }

    .hc-hero-kicker,
    .hc-title-line > span,
    .hc-hero-lead,
    .home-hero-actions,
    .home-cinema-hero .home-hero-art {
        opacity: 1;
        clip-path: none;
        filter: none;
        transform: none;
        animation: none !important;
    }

    .hc-hero-kicker > span:first-child,
    .home-cinema-hero .home-hero-art-frame::before {
        animation: none;
        transform: none;
    }

    .hc-hero-orbit {
        animation: none !important;
    }

    .home-furnace {
        height: auto;
    }

    .home-furnace-sticky {
        position: relative;
        min-height: auto;
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .hf-orbit,
    .hf-core,
    .hf-star,
    .hf-scroll-hint span,
    .hf-meter span {
        transform: none;
    }

    .home-furnace .home-decoder-word,
    .home-furnace[data-stage] .home-decoder-word,
    .hf-note,
    .home-furnace[data-stage] .hf-note,
    .hc-motion-ready .home-cinema-writing .hc-writing-head,
    .hc-motion-ready .home-cinema-writing .home-featured-frame,
    .hc-motion-ready .home-cinema-writing .home-featured-copy,
    .hc-motion-ready .home-writing-row[data-cinema-row],
    .hc-motion-ready .home-cinema-lab .hl-intro,
    .hc-motion-ready .home-cinema-lab .hl-tile[data-cinema-tile],
    .hc-motion-ready .home-cinema-references .hc-references-head,
    .hc-motion-ready .home-cinema-references .logocard[data-cinema-reference],
    .hc-motion-ready .home-cinema-about .hc-about-identity,
    .hc-motion-ready .home-cinema-about .hc-about-copy,
    .hc-motion-ready .home-cinema-signal .hc-signal-inner > *,
    .hc-motion-ready .home-cinema-newsletter .hc-newsletter-copy,
    .hc-motion-ready .home-cinema-newsletter .hc-newsletter-action,
    .hc-motion-ready .home-cinema-contact-image .hc-contact-plate,
    .hc-motion-ready .home-cinema-contact-image .hc-contact-words,
    .hc-motion-ready .home-cinema-contact-wrap .home-cinema-contact,
    .hc-motion-ready .home-cinema-footer .hc-footer-quote,
    .hc-motion-ready .home-cinema-footer .hc-footer-grid > div {
        opacity: 1;
        clip-path: none;
        filter: none;
        transform: none;
        transition: none;
    }

    .hf-notes {
        display: block;
        min-height: 0;
    }

    .hf-note { position: static; margin: 10px 0; }

    .hc-about-dial { transform: translateY(-50%); }
    .hc-about-avatar > span { transform: none; }
    .hc-newsletter-orbit { transform: translateY(-50%); transition: none; }
    .hc-newsletter-orbit i { transform: translate(-50%, -50%); }
    .hc-contact-plate { transform: none; }
    .hc-footer-mark { transform: translateX(-50%); }

    .hc-transmission-status span,
    .home-cinema-signal.is-in-view .score-card::after {
        animation: none;
    }

    .home-reference-grid[data-cinema-reference-grid]::before { display: none; }
}
