/* Keys scene: pinned, scroll driven (GSAP ScrollTrigger). Replaces the static keys photo. */
.kscene{position:relative;height:100vh;height:100svh;overflow:hidden;background:#0f0e0c;perspective:1200px;margin-top:clamp(44px,6vw,84px)}
.kscene .ks-frame{position:absolute;inset:0;overflow:hidden;clip-path:inset(42% 0% 42% 0%);will-change:clip-path}
.kscene .ks-frame img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 55%;transform:scale(1.3);transform-origin:50% 55%;will-change:transform;mix-blend-mode:normal}
.kscene .ks-shade{position:absolute;inset:0;background:rgba(10,8,6,.62);opacity:0;pointer-events:none;--x:52%;--y:47%;--r:11vmin;-webkit-mask:radial-gradient(circle var(--r) at var(--x) var(--y),transparent 0 62%,#000 100%);mask:radial-gradient(circle var(--r) at var(--x) var(--y),transparent 0 62%,#000 100%)}
.kscene .ks-ring{position:absolute;left:var(--x);top:var(--y);width:calc(var(--r)*2);height:calc(var(--r)*2);transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(255,230,190,.55);opacity:0;pointer-events:none;--x:52%;--y:47%;--r:11vmin}
.kscene .ks-copy{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none;padding:0 20px}
.kscene .ks-eyebrow{font-size:11px;letter-spacing:4px;font-weight:700;color:#d9c29b;direction:ltr;opacity:0;margin-bottom:22px}
.kscene h2.ks-title{margin:0;font-size:clamp(46px,9vw,124px);font-weight:900;letter-spacing:-.03em;line-height:1;color:#fff;text-shadow:0 10px 40px rgba(0,0,0,.45)}
.kscene .ks-title .ch{display:inline-block;opacity:0;transform:translateY(.55em) rotate(4deg)}
.kscene .ks-title .w{display:inline-block;white-space:nowrap}
.kscene .ks-title .sp{display:inline-block;width:.28em}
.kscene .ks-hand{display:block;font-family:'Amatic SC',cursive;font-weight:700;font-size:clamp(44px,7.5vw,104px);color:#f3e2c2;margin-top:6px;line-height:1;clip-path:inset(0 0 0 100%)}
.kscene .ks-cta{position:absolute;bottom:38px;left:50%;transform:translate(-50%,30px);opacity:0;display:inline-flex;align-items:center;gap:14px;padding:14px 26px;background:#fff;color:var(--ink,#141414);font-weight:700;font-size:14px;text-decoration:none;border-radius:999px;pointer-events:auto;box-shadow:0 10px 30px #0004}
.kscene .ks-cta b{font-size:18px;font-weight:400}
.kscene .ks-cta:focus-visible{outline:3px solid var(--gold,#b99b71);outline-offset:4px}
.kscene .ks-progress{position:absolute;top:0;left:0;height:3px;width:100%;transform-origin:left;transform:scaleX(0);background:linear-gradient(90deg,#b99b71,#f3e2c2);z-index:2}
@media(max-width:680px){.kscene .ks-frame{clip-path:inset(38% 0% 38% 0%)}.kscene .ks-shade,.kscene .ks-ring{--r:17vmin}.kscene .ks-cta{bottom:26px;font-size:13px;padding:12px 20px}}
/* static fallback: reduced motion, accessibility stop, or no GSAP */
.kscene.ks-static .ks-frame{clip-path:none}
.kscene.ks-static .ks-frame img{transform:none}
.kscene.ks-static .ks-title .ch{opacity:1;transform:none}
.kscene.ks-static .ks-hand{clip-path:none}
.kscene.ks-static .ks-eyebrow,.kscene.ks-static .ks-cta{opacity:1;transform:translate(-50%,0)}
.kscene.ks-static .ks-eyebrow{transform:none}
.kscene.ks-static .ks-shade,.kscene.ks-static .ks-ring,.kscene.ks-static .ks-progress{display:none}
html.a11y-stop .kscene{height:auto;min-height:0;aspect-ratio:16/9}
@media(prefers-reduced-motion:reduce){.kscene{height:auto;aspect-ratio:16/9}}
