/* Culture: one continuous, edge-to-edge film sequence. */
.ckny-culture-page { --culture-gutter: clamp(20px, 4.5vw, 80px); }
.ckny-culture-page main { overflow: clip; }
.ckny-culture-page :is(a, button):focus-visible { outline: 3px solid #65c3ff; outline-offset: 5px; }
.ckny-culture-page .ckny-culture-eyebrow { margin: 0 0 16px; color: #65c3ff; font: 700 11px/1.5 var(--ckny-font); letter-spacing: .16em; text-transform: uppercase; }
.ckny-culture-page :is([data-ckny-culture], .ckny-culture-cinema) :is(h1, h2) { font-family: var(--ckny-display); font-weight: 800; text-transform: uppercase; letter-spacing: -.025em; }
.ckny-culture-media { position: absolute; inset: 0; overflow: hidden; background: #101012; }
.ckny-culture-media :is(picture, img, video) { display: block; width: 100%; height: 100%; }
.ckny-culture-media :is(img, video) { object-fit: cover; }
.ckny-culture-media video { position: absolute; inset: 0; opacity: 0; transition: opacity .5s ease; pointer-events: none; }
.ckny-culture-media video.is-playing { opacity: 1; }
.ckny-culture-hero { position: relative; isolation: isolate; min-height: max(740px, 100svh); display: flex; align-items: flex-end; background: #050505; }
.ckny-culture-hero-media { z-index: -3; }
.ckny-culture-hero-media :is(img, video) { object-position: 60% 45%; }
.ckny-culture-hero-shade { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(0,0,0,.7), transparent 88%), linear-gradient(0deg, #050505 1%, rgba(0,0,0,.04) 65%, rgba(0,0,0,.65)); pointer-events: none; }
.ckny-culture-hero-copy { width: min(1440px, 100%); margin: 0 auto; padding: 210px var(--culture-gutter) 142px; }
.ckny-culture-hero h1 { margin: 0; font-size: clamp(88px, 11.2vw, 176px); line-height: .82; max-width: 10ch; }
.ckny-culture-page .ckny-culture-deck { margin: 28px 0 26px; color: #e1e1e3; font-size: clamp(14px, 1.25vw, 18px); line-height: 1.7; }
.ckny-culture-hero-watch, .ckny-culture-panel-watch { display: inline-flex; align-items: center; gap: 13px; color: #fff; text-decoration: none; font-size: 12px; font-weight: 700; min-height: 48px; }
.ckny-culture-play-icon { display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid #ffffff99; border-radius: 50%; font-size: 13px; padding-left: 2px; background: #0003; transition: background .2s; }
.ckny-culture-hero-watch:hover .ckny-culture-play-icon, .ckny-culture-panel-link:hover .ckny-culture-play-icon { background: #00425e; }
.ckny-culture-hero-foot { position: absolute; bottom: 36px; left: var(--culture-gutter); }
.ckny-culture-hero-foot a { display: inline-flex; align-items: center; gap: 16px; color: #e1e1e3; padding: 8px 0; font: 600 10px/1.5 var(--ckny-font); text-decoration: none; letter-spacing: .06em; min-height: 44px; }
.ckny-culture-hero-foot span { font-size: 20px; }
/* Contiguous sections, not cards. Native scrolling stays untouched. */
.ckny-culture-panel { position: relative; margin: 0; min-height: 600px; height: 100svh; background: #080809; overflow: hidden; isolation: isolate; }
.ckny-culture-panel-link { position: absolute; inset: 0; display: flex; align-items: flex-end; color: #f7f7f5; text-decoration: none; isolation: isolate; }
.ckny-culture-panel-link:focus-visible { outline-offset: -6px; }
.ckny-culture-panel-media { z-index: -2; }
.ckny-culture-panel-shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(0,0,0,.88), rgba(0,0,0,.12) 42%, transparent 76%); pointer-events: none; }
.ckny-culture-panel-copy { width: 100%; padding: 64px var(--culture-gutter) 84px; }
.ckny-culture-panel-copy h2 { max-width: 13ch; margin: 0 0 22px; font-size: clamp(56px, 6.4vw, 104px); line-height: .9; text-wrap: balance; }
/* Portrait-only masters stay complete. A static poster bleeds to the edges
   without a second decoding/playing video or a severe horizontal crop. */
.ckny-culture-portrait-bleed { position: absolute; z-index: -3; inset: -4%; width: 108%; height: 108%; object-fit: cover; filter: blur(28px) brightness(.38); pointer-events: none; }
.ckny-culture-panel--portrait .ckny-culture-panel-media { inset: 0 5% 0 42%; background: transparent; }
.ckny-culture-panel--portrait .ckny-culture-panel-media :is(img, video) { object-fit: contain; }
.ckny-culture-panel--portrait .ckny-culture-panel-shade { background: linear-gradient(90deg, rgba(0,0,0,.56), transparent 70%), linear-gradient(0deg, rgba(0,0,0,.5), transparent 32%); }
.ckny-culture-panel--portrait .ckny-culture-panel-copy { width: 44%; align-self: center; padding-bottom: 64px; }
.ckny-culture-panel--portrait h2 { font-size: clamp(56px, 6vw, 96px); }
.ckny-culture-next { display: flex; justify-content: space-between; gap: 24px; padding: 28px var(--culture-gutter); border-top: 1px solid #ffffff1f; }
.ckny-culture-next a { display: inline-flex; align-items: center; gap: 24px; min-height: 44px; color: #f7f7f5; font: 600 12px/1.4 var(--ckny-font); text-decoration: none; }
.ckny-culture-next a:hover { color: #65c3ff; }
.ckny-culture-motion { position: fixed; right: 24px; bottom: 22px; z-index: 100; min-height: 44px; padding: 10px 16px; border: 1px solid #ffffff45; border-radius: 24px; background: #070707d9; color: #ededed; font: 600 10px/1.5 var(--ckny-font); cursor: pointer; }
.ckny-culture-motion:disabled { cursor: default; }
.ckny-culture-motion[hidden] { display: none; }
.ckny-culture-cinema { position: fixed; inset: 0; box-sizing: border-box; width: min(1440px, 96vw); max-width: none; max-height: 96dvh; margin: auto; padding: clamp(16px, 2vw, 32px); border: 1px solid #303036; background: #080809; color: #f7f7f5; overflow: auto; }
.ckny-culture-cinema::backdrop { background: rgba(0, 0, 0, .95); }
.ckny-culture-cinema:not([open]) { display: none; }
.ckny-culture-cinema-head { display: flex; gap: 20px; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.ckny-culture-cinema-head .ckny-culture-eyebrow { margin-bottom: 5px; font-size: 9px; }
.ckny-culture-cinema-head h2 { margin: 0; font-size: clamp(26px, 3vw, 42px); line-height: 1; }
.ckny-culture-cinema-head button { min-height: 44px; min-width: 74px; padding: 8px 10px; border: 1px solid #616166; color: #fff; background: transparent; font: 600 12px/1.5 var(--ckny-font); cursor: pointer; }
.ckny-culture-cinema-head button span { margin-left: 10px; font-size: 20px; }
.ckny-culture-cinema video { display: block; width: 100%; height: min(72dvh, 810px); object-fit: contain; background: #000; }
.ckny-culture-cinema [data-culture-file] { display: inline-block; min-height: 44px; padding-top: 14px; font-size: 11px; color: #b4b4ba; }
.ckny-culture-cinema [data-culture-status]:empty { display: none; }
.ckny-culture-cinema [data-culture-status] { font-size: 13px; color: #ddd; }
@media (max-width: 767px) {
	.ckny-culture-hero { min-height: max(700px, 100svh); }
	.ckny-culture-hero-copy { padding-top: 190px; padding-bottom: 225px; }
	.ckny-culture-hero h1 { font-size: clamp(64px, 19.5vw, 122px); }
	.ckny-culture-hero-media :is(img, video) { object-position: center; }
	.ckny-culture-hero-shade { background: linear-gradient(0deg, #050505, rgba(0,0,0,.35) 62%, rgba(0,0,0,.55)); }
	.ckny-culture-hero-foot { bottom: 130px; }
	.ckny-culture-panel { min-height: 620px; }
	.ckny-culture-panel-copy, .ckny-culture-panel--portrait .ckny-culture-panel-copy { width: 100%; align-self: flex-end; padding: 60px var(--culture-gutter) 170px; }
	.ckny-culture-panel-copy h2, .ckny-culture-panel--portrait h2 { max-width: 12ch; font-size: clamp(46px, 12vw, 78px); }
	.ckny-culture-panel--portrait .ckny-culture-panel-media { inset: 0; }
	.ckny-culture-panel--portrait .ckny-culture-panel-media :is(img, video) { object-position: center top; }
	.ckny-culture-panel--portrait .ckny-culture-panel-shade { background: linear-gradient(0deg, rgba(0,0,0,.93), rgba(0,0,0,.12) 48%, transparent 70%); }
	.ckny-culture-next { flex-wrap: wrap; gap: 12px 24px; padding-block: 22px; }
	.ckny-culture-next a { font-size: 11px; }
	.ckny-culture-cinema { width: 100%; max-height: 100dvh; border-inline: 0; }
	.ckny-culture-cinema video { height: 68dvh; }
}
/* Match the shared app dock, which remains present on small tablets. */
@media (max-width: 879.98px) {
	.ckny-culture-motion { right: 20px; bottom: calc(100px + env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) {
	.ckny-culture-page *, .ckny-culture-page *::before, .ckny-culture-page *::after { scroll-behavior: auto !important; transition: none !important; }
}
