.kk-scene{position:absolute;inset:0;overflow:hidden;isolation:isolate;background:#080b18;--dx:0px;--dy:0px}
.kk-scene>img{width:100%;height:100%;object-fit:cover;object-position:62% center;display:block}
.kk-art{position:absolute;inset:-3%;transform:translate(var(--dx),var(--dy));transition:transform 1.4s ease-out;pointer-events:none}
.kk-art svg{width:100%;height:100%;display:block}
.kk-scene:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#080b1838,transparent 62%)}
.kk-prism .kk-art{inset:-4%}
.kk-prism-float{position:absolute;inset:-2%;overflow:hidden;transform-origin:72% 48%;transform:translate(-.6%,.6%) scale(1.025)}
.kk-prism-float>svg{display:block;width:100%;height:100%}
.kk-prism-blue{opacity:.85;transform:translate(-170px,100px)}
.kk-prism-rose{opacity:.75;transform:translate(120px,-170px)}
.kk-prism-sheen{opacity:.95;transform:translateX(-450px)}
.kk-scene[data-animate=true] .kk-prism-float{animation:kk-prism-float 18s ease-in-out infinite alternate}
.kk-scene[data-animate=true] .kk-prism-blue{animation:kk-prism-blue 5.5s ease-in-out infinite alternate}
.kk-scene[data-animate=true] .kk-prism-rose{animation:kk-prism-rose 7s ease-in-out infinite alternate}
.kk-scene[data-animate=true] .kk-prism-sheen{animation:kk-prism-sheen 6.5s ease-in-out infinite alternate}
.kk-scene[data-animate=true] .kk-prism-sheen-second{animation-duration:8.5s;animation-delay:-4s;animation-direction:alternate-reverse;opacity:.8}
@keyframes kk-prism-float{50%{transform:translate(.3%,-.8%) scale(1.045) rotate(.3deg)}to{transform:translate(.8%,-1.4%) scale(1.055) rotate(-.35deg)}}
@keyframes kk-prism-blue{to{transform:translate(180px,-130px);opacity:.35}}
@keyframes kk-prism-rose{to{transform:translate(-190px,150px);opacity:1}}
@keyframes kk-prism-sheen{to{transform:translateX(520px)}}

.kk-scene[data-paused=true] *{animation-play-state:paused!important}.kk-scene[data-paused=true] .kk-art{transition:none;transform:none}
@media(max-width:600px){.kk-prism-float>svg{width:130%;max-width:none;transform:translateX(-23%)}}
@media(prefers-reduced-motion:reduce){.kk-scene *{animation:none!important;transition:none!important}.kk-art{transform:none!important}}
/* Homepage integration; the glass artwork and motion come from background 03. */
.hero--prism{isolation:isolate;background:#080b18}
.hero--prism .hero__media{background:#080b18;transform:none;pointer-events:none}
.hero--prism .hero__scrim{pointer-events:none;background:linear-gradient(90deg,#080b18bd 0%,#080b1880 38%,#080b1826 74%,#080b1808),linear-gradient(0deg,#080b1870,transparent 52%)}
.hero--prism .hero__content h1{text-shadow:0 2px 28px #080b184d}
.hero--prism .hero__content .eyebrow{color:#f3a4c3}
.hero--prism .hero__motion{position:absolute;z-index:4;left:max(1.25rem,calc((100vw - 1360px)/2));bottom:3rem;display:inline-flex;align-items:center;min-height:44px;padding:10px 16px;border:1px solid #e8cfdf66;border-radius:30px;background:#080b18b8;color:#ffe3ec;font:500 11px/1.5 var(--sans);cursor:pointer}
.hero--prism .hero__motion[hidden]{display:none}
.hero--prism .hero__motion:hover{background:#17203e;border-color:#ffe3ec}
.hero--prism .hero__motion:focus-visible{outline:3px solid #ff92b4;outline-offset:4px}
.hero--prism .hero__motion:disabled{cursor:default;color:#d1c6d4}
@media(max-width:760px){.hero--prism .hero__scrim{background:linear-gradient(90deg,#080b18c9,#080b1861 70%,#080b1838),linear-gradient(0deg,#080b187a,transparent 80%)}.hero--prism .hero__motion{left:1.25rem;bottom:1.1rem}}

/* Balanced homepage composition and an explicit next-section cue. */
body.page-home .hero--prism { min-height: clamp(720px, 82svh, 1020px); align-items: center; }
body.page-home .hero--prism .hero__content { padding: clamp(170px, 14vh, 210px) 0 170px; }
body.page-home .hero--prism .hero__content h1 { font-size: clamp(2.4rem, 4.8vw, 4.2rem); max-width: 56rem; line-height: 1.12; }
body.page-home .hero--prism .hero__media { inset: 0 max(0px, calc((100% - 2200px)/2)) 84px; background: transparent; }
body.page-home .hero--prism .kk-art, body.page-home .hero--prism .kk-prism-float { inset: 0; }
body.page-home .hero--prism .hero__motion { left: max(1.25rem, calc((100vw - 1440px)/2)); bottom: 110px; }
body.page-home .hero--prism .hero__rail { bottom: 120px; }
.hero__scroll-cue { position: absolute; z-index: 5; inset: auto 0 0; padding: 17px 0; border-top: 1px solid #f3a4c32b; background: #080b18ed; }
.hero__scroll-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.hero__scroll-inner > span { color: #d5d9e7; font-size: .8rem; line-height: 1.5; }
.hero__scroll-link { display: inline-flex; align-items: center; justify-content: center; gap: 18px; min-height: 48px; padding: 11px 24px; border: 1px solid #f3a4c3; border-radius: 999px; background: #f3a4c3; color: #080b18; font-size: .75rem; font-weight: 800; text-decoration: none; transition: background .2s, transform .2s; }
.hero__scroll-link span { font-size: 22px; line-height: 1; }
.hero__scroll-link:hover { background: #ffe3ec; transform: translateY(2px); }
@media(max-width:760px) {
 body.page-home .hero--prism { min-height: 0; }
 body.page-home .hero--prism .hero__content { padding: 160px 0 190px; }
 body.page-home .hero--prism .hero__media { inset: 80px -15% 84px 0; opacity: .72; }
 body.page-home .hero--prism .hero__motion { left: 1rem; bottom: 109px; }
 .hero__scroll-inner { gap: 16px; }
 .hero__scroll-inner > span { font-size: .65rem; max-width: 150px; }
 .hero__scroll-link { flex-shrink: 0; padding: 10px 16px; font-size: .65rem; gap: 10px; }
}
