:root {
	--field-ink: #03040a;
	--field-paper: #f1eee6;
	--field-muted: rgba(241, 238, 230, 0.56);
	--field-line: rgba(241, 238, 230, 0.18);
	--field-accent: #d7ff3f;
	--field-gutter: clamp(1rem, 2.5vw, 2.8rem);
	--field-small: clamp(0.64rem, 0.72vw, 0.78rem);
	--field-body: clamp(0.98rem, 1.08vw, 1.18rem);
	--field-ease: cubic-bezier(0.16, 1, 0.3, 1);
}

html.kc-field-document,
body.kc-field-body {
	margin: 0;
	width: 100%;
	min-height: 100%;
	background: var(--field-ink);
	color: var(--field-paper);
	font-family: Arial, Helvetica, sans-serif;
	overscroll-behavior: none;
}

body.kc-field-body {
	overflow: hidden;
}

.kc-field *,
.kc-field *::before,
.kc-field *::after { box-sizing: border-box; }

.kc-field button,
.kc-field a { color: inherit; font: inherit; }
.kc-field button { cursor: pointer; }
.kc-field a { text-decoration: none; }

.kc-field {
	position: fixed;
	inset: 0;
	background: #03040a;
	isolation: isolate;
}

.kc-field__stage,
.kc-field__canvas,
.kc-field__vignette,
.kc-field__grain {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.kc-field__stage { z-index: 0; overflow: hidden; }
.kc-field__canvas { max-width: none; touch-action: none; cursor: grab; }
.kc-field__canvas:active { cursor: grabbing; }

.kc-field__vignette {
	pointer-events: none;
	background:
		radial-gradient(circle at 50% 46%, transparent 16%, rgba(0,0,0,.10) 56%, rgba(0,0,0,.52) 100%),
		linear-gradient(180deg, rgba(0,0,0,.18), transparent 18%, transparent 78%, rgba(0,0,0,.22));
}

.kc-field__grain {
	pointer-events: none;
	opacity: .12;
	mix-blend-mode: soft-light;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
	animation: field-grain .24s steps(2) infinite;
}

@keyframes field-grain {
	0% { transform: translate(0,0); }
	25% { transform: translate(-1.5%, 1%); }
	50% { transform: translate(1%, -1.5%); }
	75% { transform: translate(.5%, 1.5%); }
	100% { transform: translate(-1%, -.5%); }
}

.kc-field-hud {
	position: fixed;
	z-index: 30;
	top: 0;
	left: 0;
	right: 0;
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	min-height: clamp(4.5rem, 7vw, 6.25rem);
	padding: 0 var(--field-gutter);
	pointer-events: none;
	mix-blend-mode: difference;
	color: #fff;
}

.admin-bar .kc-field-hud { top: 32px; }

.kc-field-hud__brand,
.kc-field-hud__mode,
.kc-field-hud__help,
.kc-field-hud__sound,
.kc-field-switch,
.kc-field-radar,
.kc-field-mobile-hint {
	font-size: var(--field-small);
	font-weight: 800;
	letter-spacing: .12em;
	line-height: 1;
	text-transform: uppercase;
}

.kc-field-hud__brand { display:flex; align-items:center; gap:.72rem; }
.kc-field-hud__signal { width:.55rem; aspect-ratio:1; border-radius:50%; background:currentColor; box-shadow:0 0 1rem currentColor; }
.kc-field-hud__mode { display:flex; gap:1.2rem; margin:0; justify-self:center; }
.kc-field-hud__mode span:last-child { opacity:.54; }
.kc-field-hud__actions { justify-self:end; display:flex; align-items:center; gap:1.2rem; pointer-events:auto; }
.kc-field-hud__help,
.kc-field-hud__sound { border:0; padding:0; background:none; color:inherit; display:flex; gap:.75rem; pointer-events:auto; }
.kc-field-hud__sound { opacity:.55; }
.kc-field-hud__sound.is-on { opacity:1; }

.kc-field-switch {
	position: fixed;
	z-index: 36;
	left: var(--field-gutter);
	bottom: max(1rem, env(safe-area-inset-bottom));
	display:flex;
	align-items:center;
	gap:.7rem;
	mix-blend-mode:difference;
	color:#fff;
}

.kc-field-switch__item {
	display:flex;
	gap:.48rem;
	align-items:center;
	border:0;
	background:none;
	padding:.4rem 0;
	text-transform:uppercase;
	letter-spacing:.12em;
	opacity:.48;
}
.kc-field-switch__item.is-active,
.kc-field-switch__item:hover { opacity:1; }
.kc-field-switch__line { width:1.7rem; height:1px; background:currentColor; opacity:.45; }

.kc-field-radar {
	position:fixed;
	z-index:28;
	right:var(--field-gutter);
	bottom:max(1rem, env(safe-area-inset-bottom));
	width:clamp(6.1rem, 8.5vw, 8.8rem);
	color:#fff;
	mix-blend-mode:difference;
	pointer-events:none;
}
.kc-field-radar p { margin:.65rem 0 0; text-align:left; opacity:.52; }
.kc-field-radar__scope { position:relative; width:100%; aspect-ratio:1; border:1px solid rgba(255,255,255,.35); border-radius:50%; }
.kc-field-radar__scope::before,
.kc-field-radar__scope::after { content:""; position:absolute; border:1px solid rgba(255,255,255,.16); border-radius:50%; inset:24%; }
.kc-field-radar__scope::after { inset:42%; }
.kc-field-radar__axis { position:absolute; background:rgba(255,255,255,.14); }
.kc-field-radar__axis--x { left:8%; right:8%; top:50%; height:1px; }
.kc-field-radar__axis--z { top:8%; bottom:8%; left:50%; width:1px; }
.kc-field-radar__you { position:absolute; width:.42rem; aspect-ratio:1; border-radius:50%; background:#fff; left:50%; top:50%; transform:translate(-50%,-50%); box-shadow:0 0 .8rem #fff; }
.kc-field-radar__point { position:absolute; width:.38rem; aspect-ratio:1; border-radius:50%; border:1px solid currentColor; transform:translate(-50%,-50%); opacity:.65; }
.kc-field-radar__point.is-active { background:currentColor; opacity:1; box-shadow:0 0 .65rem currentColor; }
.kc-field-radar__point--sun { width:.56rem; border-width:1px; background:currentColor; opacity:.92; box-shadow:0 0 .45rem currentColor, 0 0 1.15rem currentColor; }
.kc-field-radar__point--sun::after { content:""; position:absolute; inset:-.28rem; border:1px solid currentColor; border-radius:50%; opacity:.38; }

.kc-field-crosshair { position:fixed; z-index:20; left:50%; top:50%; width:2rem; height:2rem; transform:translate(-50%,-50%); pointer-events:none; opacity:.36; mix-blend-mode:difference; }
.kc-field-crosshair i { position:absolute; background:#fff; }
.kc-field-crosshair i:first-child { left:0; right:0; top:50%; height:1px; }
.kc-field-crosshair i:last-child { top:0; bottom:0; left:50%; width:1px; }

.kc-field-project-label {
	position:fixed;
	z-index:32;
	right:calc(var(--field-gutter) + clamp(6.1rem, 8.5vw, 8.8rem) + 1rem);
	bottom:calc(max(1rem, env(safe-area-inset-bottom)) + 3.15rem);
	left:auto;
	top:auto;
	transform:translateY(.8rem);
	display:grid;
	grid-template-columns:1fr;
	gap:.18rem;
	justify-items:start;
	min-width:13rem;
	max-width:min(18rem, 42vw);
	padding:.7rem .85rem;
	text-align:left;
	pointer-events:none;
	opacity:0;
	border:1px solid rgba(255,255,255,.12);
	background:rgba(4,6,14,.48);
	backdrop-filter:blur(14px);
	transition:opacity .22s ease, transform .35s var(--field-ease);
	text-shadow:0 2px 18px rgba(0,0,0,.85);
}
.kc-field-project-label.is-visible { opacity:1; transform:translateY(0); }
.kc-field-project-label span { font-size:.6rem; letter-spacing:.16em; opacity:.56; }
.kc-field-project-label strong { font-size:clamp(.98rem,1.25vw,1.2rem); line-height:1.05; letter-spacing:-.03em; }
.kc-field-project-label small { font-size:.58rem; letter-spacing:.14em; text-transform:uppercase; opacity:.62; }


.kc-field-loader {
	position:fixed; inset:0; z-index:900; display:grid; place-items:center; padding:var(--field-gutter);
	background:radial-gradient(circle at 50% 48%, rgba(79,108,255,.06), transparent 36%), #010109;
	color:#fff; pointer-events:auto; opacity:1; visibility:visible;
	transition:opacity .55s var(--field-ease), visibility .55s;
}
.kc-field-loader.is-complete { opacity:0; visibility:hidden; pointer-events:none; }
.kc-field-loader.is-error .kc-field-loader__title { color:#ff6b6b; }
.kc-field-loader__inner { width:min(36rem,86vw); }
.kc-field-loader__eyebrow { margin:0 0 1.1rem; font-size:.62rem; font-weight:800; letter-spacing:.16em; opacity:.55; }
.kc-field-loader__title { margin:0 0 1.4rem; font-size:clamp(1.45rem,3.4vw,3.6rem); line-height:.95; letter-spacing:-.045em; font-weight:800; }
.kc-field-loader__track { position:relative; height:1px; overflow:hidden; background:rgba(255,255,255,.14); }
.kc-field-loader__track span { display:block; width:0%; height:100%; background:#fff; box-shadow:0 0 1rem rgba(255,255,255,.55); transition:width .28s var(--field-ease); }
.kc-field-loader__meta { display:flex; justify-content:space-between; gap:1rem; margin:.7rem 0 0; font-size:.58rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; opacity:.52; }
.kc-field-loader__credit { margin:.9rem 0 0; font-size:.6rem; line-height:1.45; letter-spacing:.08em; text-transform:uppercase; opacity:.48; }
.kc-field-loader__credit a { color:inherit; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.22); }
.kc-field-loader__credit a:hover { opacity:.92; }

.kc-field-help {
	position:fixed;
	z-index:80;
	inset:0;
	display:grid;
	place-items:center;
	padding:clamp(1rem,3vw,2.5rem);
	background:rgba(2,3,8,.9);
	backdrop-filter:blur(22px);
	opacity:0;
	visibility:hidden;
	transition:opacity .32s ease, visibility .32s;
}
.kc-field-help.is-open { opacity:1; visibility:visible; }
.kc-field-help__inner { width:min(70rem,100%); }
.kc-field-help__head { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(15rem,.8fr); gap:1.5rem 3rem; align-items:end; margin-bottom:1.6rem; }
.kc-field-help__eyebrow { grid-column:1/-1; margin:0; font-size:.66rem; letter-spacing:.18em; font-weight:800; opacity:.58; }
.kc-field-help h1 { margin:0; max-width:10ch; font-size:clamp(2.2rem,5.8vw,5.9rem); line-height:.86; letter-spacing:-.06em; }
.kc-field-help__intro { margin:0; max-width:28rem; align-self:end; color:var(--field-muted); font-size:clamp(.88rem,1.3vw,1.05rem); line-height:1.45; }
.kc-field-help__controls { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; border:1px solid var(--field-line); background:var(--field-line); }
.kc-field-help__controls--mobile { display:none; grid-template-columns:repeat(3,minmax(0,1fr)); }
.kc-control-card { min-height:13rem; display:grid; grid-template-rows:7rem 1fr; gap:1rem; padding:1rem; background:#07090f; }
.kc-control-card > div:last-child { display:grid; align-content:start; gap:.42rem; }
.kc-control-card strong { font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; }
.kc-control-card span { color:var(--field-muted); font-size:.78rem; line-height:1.35; }
.kc-control-demo { position:relative; display:grid; place-items:center; overflow:hidden; border:1px solid rgba(255,255,255,.08); background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.035),transparent 68%); }

.kc-control-demo--keys { grid-template-columns:repeat(3,2.1rem); grid-template-rows:repeat(2,2.1rem); gap:.25rem; }
.kc-key { display:grid; place-items:center; width:2.1rem; height:2.1rem; border:1px solid rgba(255,255,255,.35); border-radius:.3rem; color:#fff!important; background:rgba(255,255,255,.035); font-size:1rem!important; font-weight:800; box-shadow:inset 0 -2px 0 rgba(255,255,255,.06); }
.kc-key--up { grid-column:2; grid-row:1; animation:kcKeyPulse 2.4s ease-in-out infinite; }
.kc-key--left { grid-column:1; grid-row:2; animation:kcKeyPulse 2.4s .6s ease-in-out infinite; }
.kc-key--down { grid-column:2; grid-row:2; animation:kcKeyPulse 2.4s 1.2s ease-in-out infinite; }
.kc-key--right { grid-column:3; grid-row:2; animation:kcKeyPulse 2.4s 1.8s ease-in-out infinite; }
@keyframes kcKeyPulse { 0%,18%,100%{ transform:translateY(0); background:rgba(255,255,255,.035); } 8%{ transform:translateY(2px); background:rgba(255,255,255,.17); } }

.kc-trackpad { position:relative; width:4.8rem; height:3.5rem; border:1px solid rgba(255,255,255,.32); border-radius:.55rem; }
.kc-trackpad::before { content:""; position:absolute; left:50%; top:.55rem; bottom:.55rem; width:1px; background:linear-gradient(transparent,rgba(255,255,255,.45),transparent); }
.kc-trackpad i { position:absolute; left:50%; top:.65rem; width:.48rem; height:.48rem; margin-left:-.24rem; border-radius:50%; background:#fff; box-shadow:0 0 .7rem #fff; animation:kcTrackpadMove 1.8s ease-in-out infinite; }
@keyframes kcTrackpadMove { 0%,100%{ transform:translateY(0); opacity:.55; } 50%{ transform:translateY(1.75rem); opacity:1; } }

.kc-drag-line { position:absolute; width:4.6rem; height:1px; background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent); }
.kc-drag-dot { position:absolute; width:.68rem; height:.68rem; border-radius:50%; background:#fff; box-shadow:0 0 .9rem #fff; animation:kcDragDemo 2s ease-in-out infinite; }
@keyframes kcDragDemo { 0%,100%{ transform:translateX(-1.7rem); } 50%{ transform:translateX(1.7rem); } }

.kc-demo-planet { width:2.7rem; aspect-ratio:1; border-radius:50%; border:1px solid rgba(215,255,63,.72); background:radial-gradient(circle at 38% 35%,rgba(255,255,255,.45),rgba(215,255,63,.16) 35%,rgba(215,255,63,.03) 68%); box-shadow:0 0 1.2rem rgba(215,255,63,.28); }
.kc-demo-click { position:absolute; width:1rem; height:1rem; border:1px solid #fff; border-radius:50%; animation:kcClickPulse 1.7s ease-out infinite; }
@keyframes kcClickPulse { 0%{ transform:scale(.35); opacity:0; } 22%{ opacity:1; } 100%{ transform:scale(3.5); opacity:0; } }

.kc-control-finger { position:absolute; width:1rem; height:1.35rem; border:1px solid #fff; border-radius:.65rem .65rem .45rem .45rem; background:rgba(255,255,255,.08); box-shadow:0 0 .7rem rgba(255,255,255,.24); }
.kc-control-finger::after { content:""; position:absolute; width:.26rem; height:.26rem; border-radius:50%; background:#fff; left:50%; top:.2rem; transform:translateX(-50%); }
.kc-swipe-path { position:absolute; opacity:.45; }
.kc-swipe-path--y { width:1px; height:4.5rem; background:linear-gradient(transparent,#fff,transparent); }
.kc-swipe-path--x { width:4.5rem; height:1px; background:linear-gradient(90deg,transparent,#fff,transparent); }
.kc-control-demo--swipe-y .kc-control-finger { animation:kcFingerY 1.9s ease-in-out infinite; }
.kc-control-demo--swipe-x .kc-control-finger { animation:kcFingerX 1.9s ease-in-out infinite; }
@keyframes kcFingerY { 0%,100%{ transform:translateY(1.7rem); opacity:.55; } 50%{ transform:translateY(-1.7rem); opacity:1; } }
@keyframes kcFingerX { 0%,100%{ transform:translateX(-1.7rem); opacity:.55; } 50%{ transform:translateX(1.7rem); opacity:1; } }

.kc-field-help__idle-note { display:flex; align-items:flex-start; gap:.6rem; margin:1rem 0 0; color:rgba(255,255,255,.58); font-size:.64rem; line-height:1.4; letter-spacing:.04em; }
.kc-field-help__idle-note > span { color:#fff; font-size:.88rem; line-height:1; }
.kc-field-help__close { margin-top:1.1rem; border:1px solid rgba(255,255,255,.22); background:rgba(255,255,255,.035); padding:.9rem 1.2rem; text-transform:uppercase; font-size:.68rem; letter-spacing:.12em; }

.kc-field-case {
	position:fixed;
	z-index:42;
	right:0;
	top:0;
	bottom:0;
	width:min(38rem,46vw);
	padding:clamp(5.8rem,9vw,8rem) var(--field-gutter) 2rem;
	background:rgba(5,5,5,.91);
	backdrop-filter:blur(26px);
	border-left:1px solid var(--field-line);
	transform:translateX(102%);
	transition:transform .72s var(--field-ease);
	overflow:auto;
}
.kc-field-case.is-open { transform:translateX(0); }
.kc-field-case__close { position:absolute; top:2rem; right:var(--field-gutter); display:flex; gap:.7rem; border:0; background:none; padding:.4rem 0; text-transform:uppercase; letter-spacing:.1em; font-size:.66rem; }
.admin-bar .kc-field-case__close { top:calc(2rem + 32px); }
.kc-field-case__number { font-size:.7rem; letter-spacing:.14em; opacity:.5; margin-bottom:clamp(2rem,5vh,4rem); }
.kc-field-case__matter { color:var(--field-accent); text-transform:uppercase; letter-spacing:.14em; font-size:.68rem; font-weight:800; }
.kc-field-case h1 { font-size:clamp(3rem,6.2vw,6.8rem); line-height:.84; letter-spacing:-.07em; margin:.8rem 0 1.3rem; overflow-wrap:anywhere; }
.kc-field-case__disciplines { font-size:.68rem; text-transform:uppercase; letter-spacing:.1em; opacity:.55; }
.kc-field-case__summary { max-width:36ch; font-size:clamp(1rem,1.35vw,1.3rem); line-height:1.45; margin:2rem 0; color:rgba(241,238,230,.82); }
.kc-field-case__meta { display:grid; gap:0; margin:2rem 0; border-top:1px solid var(--field-line); }
.kc-field-case__meta > div { display:grid; grid-template-columns:7rem 1fr; gap:1rem; padding:.8rem 0; border-bottom:1px solid var(--field-line); }
.kc-field-case__meta dt { font-size:.65rem; text-transform:uppercase; letter-spacing:.1em; opacity:.48; }
.kc-field-case__meta dd { margin:0; font-size:.88rem; }
.kc-field-case__link { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-top:2rem; padding:1rem 0; border-top:1px solid var(--field-paper); border-bottom:1px solid var(--field-paper); text-transform:uppercase; font-size:.72rem; letter-spacing:.1em; }


/* Immersive World full case — remains inside Experience 02. */
.kc-field-fullcase {
	position:fixed;
	z-index:72;
	inset:0;
	color:#f5f3eb;
	opacity:0;
	visibility:hidden;
	pointer-events:none;
	transition:opacity .48s var(--field-ease), visibility .48s;
}
.kc-field-fullcase.is-open { opacity:1; visibility:visible; pointer-events:auto; }
.kc-field-fullcase__backdrop {
	position:absolute;
	inset:0;
	background:
		radial-gradient(circle at 16% 24%, color-mix(in srgb, var(--field-accent) 16%, transparent), transparent 34%),
		linear-gradient(110deg, rgba(1,2,8,.96) 0%, rgba(2,3,10,.91) 46%, rgba(2,3,10,.76) 100%);
	backdrop-filter:blur(18px) saturate(112%);
}
.kc-field-fullcase__chrome {
	position:absolute;
	z-index:2;
	top:0;
	left:0;
	right:0;
	height:4.6rem;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:1rem;
	padding:0 var(--field-gutter);
	border-bottom:1px solid rgba(255,255,255,.1);
	background:linear-gradient(180deg, rgba(1,2,8,.82), rgba(1,2,8,.28));
	backdrop-filter:blur(12px);
}
.kc-field-fullcase__chrome p,
.kc-field-fullcase__close {
	margin:0;
	font-size:.62rem;
	font-weight:800;
	letter-spacing:.14em;
	text-transform:uppercase;
}
.kc-field-fullcase__chrome p span { color:var(--field-accent); }
.kc-field-fullcase__close {
	display:flex;
	align-items:center;
	gap:.8rem;
	border:0;
	background:transparent;
	color:inherit;
	padding:.6rem 0;
}
.kc-field-fullcase__close span:last-child { color:var(--field-accent); font-size:1rem; }
.kc-field-fullcase__scroll {
	position:absolute;
	z-index:1;
	inset:0;
	overflow:auto;
	overscroll-behavior:contain;
	padding-top:4.6rem;
	scrollbar-width:thin;
	scrollbar-color:var(--field-accent) rgba(255,255,255,.08);
}
.kc-field-fullcase__mount { min-height:100%; }
body.kc-field-fullcase-open .kc-field-hud,
body.kc-field-fullcase-open .kc-field-switch,
body.kc-field-fullcase-open .kc-field-radar,
body.kc-field-fullcase-open .kc-field-crosshair,
body.kc-field-fullcase-open .kc-field-project-label,
body.kc-field-fullcase-open .kc-field-mobile-hint { opacity:.12; pointer-events:none; }


.kc-worldcase {
	--case-accent:var(--field-accent);
	width:100%;
	color:#f5f3eb;
}
.kc-worldcase__hero {
	position:relative;
	display:grid;
	grid-template-columns:minmax(0,1.45fr) minmax(16rem,.55fr);
	gap:clamp(2rem,5vw,6rem);
	align-items:end;
	min-height:min(62vh,42rem);
	padding:clamp(4.5rem,7vw,7rem) var(--field-gutter) clamp(2.8rem,5vw,4.8rem);
	border-bottom:1px solid rgba(255,255,255,.12);
	overflow:hidden;
}
.kc-worldcase__hero::before {
	content:"";
	position:absolute;
	right:-8vw;
	bottom:-24vw;
	width:min(54vw,46rem);
	aspect-ratio:1;
	border-radius:50%;
	background:radial-gradient(circle, color-mix(in srgb, var(--case-accent) 17%, transparent), transparent 66%);
	filter:blur(28px);
	pointer-events:none;
}
.kc-worldcase__hero-copy { position:relative; z-index:1; max-width:74rem; }
.kc-worldcase__eyebrow {
	display:flex;
	gap:.65rem;
	margin:0 0 1.2rem;
	font-size:.64rem;
	font-weight:800;
	letter-spacing:.14em;
	text-transform:uppercase;
	opacity:.58;
}
.kc-worldcase__eyebrow span { color:var(--case-accent); opacity:1; }
.kc-worldcase h1 {
	margin:0;
	max-width:11ch;
	font-size:clamp(3.8rem,9vw,9.8rem);
	font-weight:800;
	line-height:.82;
	letter-spacing:-.07em;
	overflow-wrap:anywhere;
}
.kc-worldcase__lead {
	max-width:48rem;
	margin:1.6rem 0 0;
	font-size:clamp(1rem,1.32vw,1.34rem);
	line-height:1.5;
	color:rgba(245,243,235,.72);
}
.kc-worldcase__facts {
	position:relative;
	z-index:1;
	align-self:end;
	margin:0;
	border-top:1px solid rgba(255,255,255,.16);
}
.kc-worldcase__facts > div {
	display:grid;
	grid-template-columns:5rem 1fr;
	gap:1rem;
	padding:.82rem 0;
	border-bottom:1px solid rgba(255,255,255,.1);
}
.kc-worldcase__facts dt { font-size:.6rem; text-transform:uppercase; letter-spacing:.12em; opacity:.44; }
.kc-worldcase__facts dd { margin:0; font-size:.86rem; line-height:1.4; }
.kc-worldcase__hero-orbit {
	position:absolute;
	right:5vw;
	top:7vw;
	width:min(23vw,17rem);
	aspect-ratio:1;
	opacity:.19;
	pointer-events:none;
}
.kc-worldcase__hero-orbit i { position:absolute; inset:0; border:1px solid var(--case-accent); border-radius:50%; }
.kc-worldcase__hero-orbit i:nth-child(2) { transform:rotateX(68deg); }
.kc-worldcase__hero-orbit i:nth-child(3) { transform:rotateY(68deg); }

.kc-worldcase__section-head {
	display:grid;
	grid-template-columns:minmax(10rem,.34fr) minmax(0,1fr);
	gap:2rem;
	align-items:end;
	margin-bottom:2rem;
}
.kc-worldcase__section-head span { color:var(--case-accent); font-size:.62rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.kc-worldcase__section-head h2 { margin:0; max-width:12ch; font-size:clamp(2.1rem,4.4vw,5rem); line-height:.9; letter-spacing:-.052em; }
.kc-worldcase__film,
.kc-worldcase__gallery,
.kc-worldcase__reels {
	padding:clamp(3.2rem,6vw,6.5rem) var(--field-gutter);
	border-bottom:1px solid rgba(255,255,255,.12);
}
.kc-worldcase__player { width:min(100%,78rem); margin-left:auto; }
.kc-worldcase__video-shell { position:relative; aspect-ratio:16/9; overflow:hidden; background:#000; border:1px solid rgba(255,255,255,.1); }
.kc-worldcase__video-poster,
.kc-worldcase__video-frame,
.kc-worldcase__player > video {
	display:block;
	width:100%;
	height:100%;
	border:0;
	object-fit:cover;
	background:#000;
}
.kc-worldcase__video-frame { position:absolute; inset:0; opacity:0; pointer-events:none; transition:opacity .3s ease; }
.kc-worldcase__video-shell.is-playing .kc-worldcase__video-frame { opacity:1; pointer-events:auto; }
.kc-worldcase__video-shell.is-playing .kc-worldcase__video-poster,
.kc-worldcase__video-shell.is-playing .kc-worldcase__video-start { opacity:0; pointer-events:none; }
.kc-worldcase__video-start {
	position:absolute;
	inset:0;
	display:grid;
	place-content:center;
	justify-items:center;
	gap:.8rem;
	border:0;
	background:linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.44));
	color:#fff;
	transition:opacity .3s ease;
}
.kc-worldcase__video-start span { display:grid; place-items:center; width:4.4rem; aspect-ratio:1; border-radius:50%; background:var(--case-accent); color:#06070b; box-shadow:0 0 3rem color-mix(in srgb, var(--case-accent) 42%, transparent); }
.kc-worldcase__video-start strong { font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; }

.kc-worldcase__body {
	position:relative;
	padding:clamp(3.8rem,6vw,6.8rem) var(--field-gutter);
	border-bottom:1px solid rgba(255,255,255,.12);
}
.kc-worldcase__rail {
	position:absolute;
	left:clamp(.45rem,1.15vw,1.2rem);
	top:clamp(4rem,6vw,6.8rem);
	display:flex;
	align-items:center;
	gap:.85rem;
	color:var(--case-accent);
	font-size:.56rem;
	font-weight:800;
	letter-spacing:.18em;
	writing-mode:vertical-rl;
	text-transform:uppercase;
	opacity:.72;
	pointer-events:none;
}
.kc-worldcase__rail i { display:block; width:1px; height:7rem; background:linear-gradient(var(--case-accent), transparent); }
.kc-worldcase__content {
	width:min(100%,88rem);
	margin:0 auto;
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	column-gap:clamp(2.6rem,5vw,6.5rem);
	row-gap:.9rem;
	font-size:clamp(1rem,1.08vw,1.16rem);
	line-height:1.62;
	color:rgba(245,243,235,.88);
}
.kc-worldcase__content > * { min-width:0; margin-top:0; margin-bottom:0; }
.kc-worldcase__content > p { max-width:40rem; margin:0 0 .75rem; }
.kc-worldcase__content > h2,
.kc-worldcase__content > h3,
.kc-worldcase__content > h4,
.kc-worldcase__content > figure,
.kc-worldcase__content > .wp-block-image,
.kc-worldcase__content > .wp-block-cover,
.kc-worldcase__content > .wp-block-gallery,
.kc-worldcase__content > .wp-block-video,
.kc-worldcase__content > blockquote,
.kc-worldcase__content > ul,
.kc-worldcase__content > ol,
.kc-worldcase__content > .wp-block-group { grid-column:1 / -1; }
.kc-worldcase__content h2,
.kc-worldcase__content h3 { color:#fff; letter-spacing:-.04em; line-height:1; margin:1.6rem 0 .35rem; }
.kc-worldcase__content h2 { font-size:clamp(2.2rem,4vw,4.5rem); }
.kc-worldcase__content h3 { font-size:clamp(1.7rem,2.8vw,2.8rem); }
.kc-worldcase__content img,
.kc-worldcase__content video,
.kc-worldcase__content iframe { max-width:100%; height:auto; border:0; }
.kc-worldcase__content figure { margin:1.8rem 0; }
.kc-worldcase__content .wp-block-spacer { display:none !important; }
.kc-worldcase__content .wp-block-separator { margin:1.25rem 0; opacity:.18; }
.kc-worldcase__content .wp-block-image img,
.kc-worldcase__content .wp-block-cover,
.kc-worldcase__content .wp-block-video video { width:100%; }
.kc-worldcase__content a { text-decoration-color:var(--case-accent); text-underline-offset:.18em; }

.kc-worldcase__gallery-viewport,
.kc-worldcase__reels-viewport {
	overflow-x:auto;
	overflow-y:hidden;
	scrollbar-width:none;
	scroll-snap-type:x mandatory;
	overscroll-behavior-x:contain;
}
.kc-worldcase__gallery-viewport::-webkit-scrollbar,
.kc-worldcase__reels-viewport::-webkit-scrollbar { display:none; }
.kc-worldcase__gallery-track { display:flex; gap:clamp(1rem,2vw,2rem); width:max-content; align-items:stretch; }
.kc-worldcase__gallery-slide {
	flex:0 0 min(78vw,70rem);
	width:min(78vw,70rem);
	margin:0;
	scroll-snap-align:center;
	background:rgba(2,3,10,.72);
	border:1px solid rgba(255,255,255,.1);
}
.kc-worldcase__gallery-media {
	display:grid;
	place-items:center;
	min-height:min(68vh,46rem);
	padding:clamp(.6rem,1.2vw,1rem);
	background:#03040a;
}
.kc-worldcase__gallery-media img { display:block; width:auto; max-width:100%; height:auto; max-height:min(66vh,44rem); object-fit:contain; }
.kc-worldcase__gallery-slide figcaption {
	display:grid;
	grid-template-columns:auto minmax(0,1fr);
	gap:.35rem 1.2rem;
	align-items:start;
	padding:1rem 1.1rem 1.15rem;
	border-top:1px solid rgba(255,255,255,.08);
}
.kc-worldcase__gallery-slide figcaption span { grid-row:1 / span 2; color:var(--case-accent); font-size:.58rem; letter-spacing:.14em; }
.kc-worldcase__gallery-slide figcaption strong { font-size:.9rem; }
.kc-worldcase__gallery-slide figcaption p { margin:0; max-width:52rem; font-size:.78rem; line-height:1.45; opacity:.62; }
.kc-worldcase__gallery-controls {
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:1rem;
	margin-top:1rem;
	font-size:.6rem;
	font-weight:800;
	letter-spacing:.14em;
	text-transform:uppercase;
}
.kc-worldcase__gallery-controls p { margin:0; }
.kc-worldcase__gallery-controls div { display:flex; gap:.35rem; }
.kc-worldcase__gallery-controls button {
	width:2.8rem;
	aspect-ratio:1;
	border:1px solid rgba(255,255,255,.14);
	background:transparent;
	color:inherit;
}
.kc-worldcase__gallery-controls button:hover,
.kc-worldcase__gallery-controls button:focus-visible { border-color:var(--case-accent); color:var(--case-accent); }

.kc-worldcase__reels-track { display:flex; gap:clamp(1rem,2vw,1.8rem); width:max-content; align-items:flex-start; }
.kc-worldcase__reel-card { flex:0 0 clamp(16rem,23vw,22rem); width:clamp(16rem,23vw,22rem); scroll-snap-align:center; }
.kc-worldcase__reel-preview { position:relative; aspect-ratio:9/16; overflow:hidden; border:1px solid color-mix(in srgb, var(--case-accent) 46%, rgba(255,255,255,.12)); background:#050505; }
.kc-worldcase__reel-preview iframe { width:100%; height:100%; border:0; background:#050505; pointer-events:none; }
.kc-worldcase__reel-preview button {
	position:absolute;
	inset:0;
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	padding:1rem;
	border:0;
	background:linear-gradient(to top,rgba(0,0,0,.78),transparent 55%);
	color:#fff;
	font:inherit;
}
.kc-worldcase__reel-preview button span { display:grid; place-items:center; width:2.7rem; aspect-ratio:1; border-radius:50%; background:var(--case-accent); color:#050505; }
.kc-worldcase__reel-preview button strong { font-size:.58rem; letter-spacing:.12em; text-transform:uppercase; }
.kc-worldcase__reel-copy { padding:.9rem 0 0; border-top:1px solid rgba(255,255,255,.1); }
.kc-worldcase__reel-copy span { color:var(--case-accent); font-size:.56rem; letter-spacing:.14em; }
.kc-worldcase__reel-copy h3 { margin:.35rem 0 .25rem; font-size:clamp(1.3rem,2vw,2rem); line-height:1; letter-spacing:-.035em; }
.kc-worldcase__reel-copy p { margin:0; font-size:.78rem; opacity:.55; }
.kc-worldcase__reel-dialog {
	width:min(94vw,62rem);
	max-width:none;
	padding:0;
	border:1px solid rgba(255,255,255,.14);
	background:#05060c;
	color:#fff;
}
.kc-worldcase__reel-dialog::backdrop { background:rgba(0,0,0,.82); backdrop-filter:blur(14px); }
.kc-worldcase__reel-dialog-surface header { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:.8rem 1rem; border-bottom:1px solid rgba(255,255,255,.1); }
.kc-worldcase__reel-dialog-surface header p { margin:0; font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; }
.kc-worldcase__reel-dialog-surface header button { border:0; background:none; color:inherit; font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; }
.kc-worldcase__reel-player { height:min(78vh,52rem); background:#000; }
.kc-worldcase__reel-player iframe { width:100%; height:100%; border:0; }

.kc-worldcase__footer {
	display:flex;
	justify-content:space-between;
	align-items:flex-end;
	gap:2rem;
	padding:clamp(3.5rem,6vw,6.5rem) var(--field-gutter);
	min-height:15rem;
}
.kc-worldcase__footer p { margin:0; max-width:13ch; font-size:clamp(2.1rem,4.5vw,5rem); line-height:.9; letter-spacing:-.055em; }
.kc-worldcase__footer a { display:flex; gap:2rem; padding:1rem 0; border-top:1px solid var(--case-accent); border-bottom:1px solid var(--case-accent); font-size:.66rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }

@media (max-width: 900px) {
	.kc-worldcase__hero { grid-template-columns:1fr; min-height:auto; }
	.kc-worldcase__facts { max-width:34rem; }
	.kc-worldcase__hero-orbit { right:-4rem; top:8rem; width:16rem; opacity:.14; }
	.kc-worldcase__section-head { grid-template-columns:1fr; gap:.7rem; }
	.kc-worldcase__rail { display:none; }
	.kc-worldcase__content { grid-template-columns:1fr; max-width:48rem; }
	.kc-worldcase__content > * { grid-column:1 !important; }
	.kc-worldcase__gallery-slide { flex-basis:min(88vw,54rem); width:min(88vw,54rem); }
	.kc-worldcase__footer { align-items:flex-start; flex-direction:column; }
}
@media (max-width: 600px) {
	.kc-field-fullcase__chrome { height:4rem; padding:0 1rem; }
	.kc-field-fullcase__chrome p { max-width:46vw; line-height:1.25; }
	.kc-field-fullcase__scroll { padding-top:4rem; }
	.kc-worldcase__hero,
	.kc-worldcase__film,
	.kc-worldcase__gallery,
	.kc-worldcase__reels,
	.kc-worldcase__body,
	.kc-worldcase__footer { padding-left:1rem; padding-right:1rem; }
	.kc-worldcase__hero { padding-top:3.4rem; padding-bottom:2.8rem; gap:2rem; }
	.kc-worldcase h1 { font-size:clamp(3.35rem,17vw,6.3rem); }
	.kc-worldcase__lead { font-size:1rem; }
	.kc-worldcase__gallery-slide { flex-basis:calc(100vw - 2rem); width:calc(100vw - 2rem); }
	.kc-worldcase__gallery-media { min-height:58vh; }
	.kc-worldcase__gallery-media img { max-height:56vh; }
	.kc-worldcase__reel-card { flex-basis:72vw; width:72vw; }
	.kc-worldcase__footer { min-height:12rem; }
}

.kc-field-mobile-hint { display:none; position:fixed; z-index:24; left:50%; bottom:1.2rem; transform:translateX(-50%); white-space:nowrap; opacity:.48; pointer-events:none; }

.kc-field-fallback { position:relative; z-index:3; min-height:100vh; padding:8rem var(--field-gutter) 4rem; display:none; background:#080808; }
.kc-field-fallback header { margin-bottom:3rem; }
.kc-field-fallback header p { font-size:.68rem; letter-spacing:.14em; }
.kc-field-fallback header h1 { font-size:clamp(3rem,10vw,9rem); letter-spacing:-.07em; line-height:.84; }
.kc-field-fallback article { display:grid; grid-template-columns:minmax(10rem,34vw) 1fr; gap:clamp(1rem,3vw,3rem); padding:2rem 0; border-top:1px solid var(--field-line); }
.kc-field-fallback article img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.kc-field-fallback article p { color:var(--field-muted); max-width:44rem; }
.kc-field-fallback article h2 { font-size:clamp(2rem,5vw,5rem); line-height:.9; letter-spacing:-.055em; }

html:not(.has-js) .kc-field__stage,
html:not(.has-js) .kc-field-hud,
html:not(.has-js) .kc-field-switch,
html:not(.has-js) .kc-field-radar,
html:not(.has-js) .kc-field-crosshair,
html:not(.has-js) .kc-field-project-label,
html:not(.has-js) .kc-field-mobile-hint,
html:not(.has-js) .kc-field-case { display:none; }
html:not(.has-js) body.kc-field-body { overflow:auto; }
html:not(.has-js) .kc-field { position:relative; min-height:100vh; }
html:not(.has-js) .kc-field-fallback { display:block; }

.kc-field.is-fallback .kc-field__stage,
.kc-field.is-fallback .kc-field-crosshair,
.kc-field.is-fallback .kc-field-radar { display:none; }
.kc-field.is-fallback { position:relative; }
.kc-field.is-fallback .kc-field-fallback { display:block; }
body:has(.kc-field.is-fallback) { overflow:auto; }

.kc-field-route-transition {
	position:fixed;
	z-index:9999;
	inset:0;
	width:100vw;
	height:100vh;
	pointer-events:none;
	max-width:none;
}

@media (max-width: 900px) {
	.kc-field-hud { grid-template-columns:1fr auto; }
	.kc-field-hud__mode { display:none; }
	.kc-field-case { width:min(92vw,36rem); }
	.kc-field-radar { width:5.5rem; bottom:4rem; }
	.kc-field-mobile-hint { display:block; }
	.kc-field-switch { bottom:1rem; }
}

@media (max-width: 600px) {
	.kc-field-hud { min-height:4.2rem; }
	.kc-field-hud__brand { max-width:54vw; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
	.kc-field-help { padding:.9rem; }
	.kc-field-help__inner { width:100%; }
	.kc-field-help__head { grid-template-columns:1fr; gap:.65rem; margin-bottom:1rem; }
	.kc-field-help__eyebrow { grid-column:auto; }
	.kc-field-help h1 { max-width:none; font-size:clamp(2rem,10vw,3.4rem); }
	.kc-field-help__intro { font-size:.78rem; }
	.kc-field-help__controls--desktop { display:none; }
	.kc-field-help__controls--mobile { display:grid; grid-template-columns:1fr; max-height:53svh; overflow:auto; }
	.kc-control-card { min-height:auto; grid-template-columns:5.6rem 1fr; grid-template-rows:5.6rem; align-items:center; gap:.85rem; padding:.72rem; }
	.kc-control-demo { width:5.6rem; height:5.6rem; }
	.kc-field-help__idle-note { font-size:.57rem; }
	.kc-field-radar { top:5rem; bottom:auto; right:1rem; width:4.8rem; }
	.kc-field-radar p { display:none; }
	.kc-field-case { left:0; right:0; top:auto; bottom:0; width:100%; height:54svh; border-left:0; border-top:1px solid var(--field-line); padding:1.25rem 1rem calc(1rem + env(safe-area-inset-bottom)); transform:translateY(102%); }
	.kc-field-case.is-open { transform:translateY(0); }
	.kc-field-case h1 { font-size:clamp(3rem,16vw,5.2rem); }
	.kc-field-case__meta > div { grid-template-columns:5.8rem 1fr; }

	.kc-field-case__close { top:1rem; right:1rem; }
	.kc-field-case__body { margin-top:2.2rem; }
	.kc-field-project-label { min-width:70vw; max-width:70vw; right:1rem; top:10.4rem; bottom:auto; }
	.kc-field-mobile-hint { bottom:3.7rem; font-size:.55rem; }
}


@media (hover:none) and (pointer:coarse) and (min-width:601px) {
	.kc-field-help__controls--desktop { display:none; }
	.kc-field-help__controls--mobile { display:grid; }
	.kc-field-help__head { grid-template-columns:1fr 1fr; }
}
@media (prefers-reduced-motion: reduce) {
	.kc-key, .kc-trackpad i, .kc-drag-dot, .kc-demo-click, .kc-control-finger { animation:none!important; }
	.kc-field__grain { animation:none; }
	.kc-field-help,
	.kc-field-case,
	.kc-field-project-label { transition:none; }
}

/* Local accessibility primitive: FIELD does not load the Kinetic stylesheet. */
.kc-field-body .screen-reader-text {
	position:absolute !important;
	width:1px !important;
	height:1px !important;
	padding:0 !important;
	margin:-1px !important;
	overflow:hidden !important;
	clip:rect(0,0,0,0) !important;
	white-space:nowrap !important;
	border:0 !important;
}
.kc-field-body .screen-reader-text:focus {
	top:1rem !important;
	left:1rem !important;
	z-index:100000 !important;
	width:auto !important;
	height:auto !important;
	padding:.75rem 1rem !important;
	margin:0 !important;
	overflow:visible !important;
	clip:auto !important;
	background:var(--field-accent) !important;
	color:#050505 !important;
}
.kc-field-body :focus-visible { outline:2px solid var(--field-accent); outline-offset:5px; }

/* Particle continuity canvas created by boot.js before FIELD initializes. */
.kc-field-document .kc-route-bridge {
	position: fixed;
	z-index: 9998;
	inset: 0;
	width: 100vw !important;
	height: 100vh !important;
	max-width: none;
	pointer-events: none;
}

/* v8.5.0 — Immersive World case refinements. */
.kc-worldcase__body .kc-worldcase__rail {
	left:50%;
	top:clamp(3.8rem,6vw,6.8rem);
	bottom:clamp(3.8rem,6vw,6.8rem);
	height:auto;
	transform:translateX(-50%);
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:.85rem;
	writing-mode:horizontal-tb;
	z-index:2;
}
.kc-worldcase__body .kc-worldcase__rail::before,
.kc-worldcase__body .kc-worldcase__rail::after {
	content:"";
	display:block;
	width:1px;
	flex:1 1 auto;
	min-height:2.5rem;
	background:linear-gradient(to bottom, transparent, color-mix(in srgb, var(--case-accent) 72%, transparent));
}
.kc-worldcase__body .kc-worldcase__rail::after {
	background:linear-gradient(to bottom, color-mix(in srgb, var(--case-accent) 72%, transparent), transparent);
}
.kc-worldcase__body .kc-worldcase__rail span {
	writing-mode:vertical-rl;
	transform:rotate(180deg);
	white-space:nowrap;
}
.kc-worldcase__body .kc-worldcase__rail i { display:none; }

.kc-worldcase__content p,
.kc-worldcase__content li,
.kc-worldcase__lead {
	text-align:justify;
	text-justify:inter-word;
	hyphens:auto;
}

.kc-worldcase__gallery .kc-worldcase__section-head h2 {
	max-width:none;
	white-space:nowrap;
	font-size:clamp(1.9rem,3.6vw,4.35rem);
}
.kc-worldcase__gallery-media { position:relative; }
.kc-worldcase__gallery-fullscreen {
	position:absolute;
	top:.85rem;
	right:.85rem;
	display:flex;
	align-items:center;
	gap:.7rem;
	padding:.68rem .82rem;
	border:1px solid rgba(255,255,255,.22);
	background:rgba(2,3,10,.64);
	backdrop-filter:blur(12px);
	color:#fff;
	font-size:.56rem;
	font-weight:800;
	letter-spacing:.12em;
	text-transform:uppercase;
	z-index:3;
}
.kc-worldcase__gallery-fullscreen:hover,
.kc-worldcase__gallery-fullscreen:focus-visible {
	border-color:var(--case-accent);
	color:var(--case-accent);
}
.kc-worldcase__lightbox {
	width:100dvw;
	height:100dvh;
	max-width:none;
	max-height:none;
	margin:0;
	padding:0;
	border:0;
	background:#010208;
	color:#fff;
}
.kc-worldcase__lightbox::backdrop { background:rgba(0,0,0,.96); }
.kc-worldcase__lightbox[open] { display:block; }
.kc-worldcase__lightbox-surface {
	position:relative;
	display:grid;
	place-items:center;
	width:100%;
	height:100%;
	padding:clamp(1rem,3vw,2.5rem);
}
.kc-worldcase__lightbox img {
	display:block;
	max-width:100%;
	max-height:100%;
	width:auto;
	height:auto;
	object-fit:contain;
}
.kc-worldcase__lightbox-close {
	position:absolute;
	top:max(1rem,env(safe-area-inset-top));
	right:max(1rem,env(safe-area-inset-right));
	dis:flex;
	gap:.7rem;
	align-items:center;
	z-index:2;
	padding:.75rem .9rem;
	border:1px solid rgba(255,255,255,.2);
	background:rgba(2,3,10,.68);
	backdrop-filter:blur(12px);
	color:#fff;
	font-size:.6rem;
	font-weight:800;
	letter-spacing:.12em;
	text-transform:uppercase;
}

.kc-worldcase__reel-dialog {
	width:min(94vw,36rem);
	max-height:96dvh;
	overflow:hidden;
}
.kc-worldcase__reel-dialog-surface {
	dis:grid;
	grid-template-rows:auto minmax(0,1fr);
	max-height:96dvh;
	background:#05060c;
}
.kc-worldcase__reel-dialog-surface header > div { display:flex; align-items:center; gap:.35rem; }
.kc-worldcase__reel-dialog-surface header button {
	padding:.55rem .65rem;
	border:1px solid rgba(255,255,255,.13);
}
.kc-worldcase__reel-dialog-surface header button:hover,
.kc-worldcase__reel-dialog-surface header button:focus-visible { border-color:var(--case-accent); color:var(--case-accent); }
.kc-worldcase__reel-player {
	width:min(90vw,29rem);
	height:min(82dvh,51.5rem);
	aspect-ratio:9/16;
	margin:0 auto;
	background:#000;
	overflow:hidden;
}
.kc-worldcase__reel-player iframe { display:block; width:100%; height:100%; border:0; }
.kc-worldcase__reel-dialog.is-fullscreen {
	inset:0;
	width:100dvw;
	height:100dvh;
	max-width:none;
	max-height:none;
	margin:0;
	border:0;
}
.kc-worldcase__reel-dialog.is-fullscreen .kc-worldcase__reel-dialog-surface,
.kc-worldcase__reel-dialog-surface:fullscreen {
	width:100dvw;
	height:100dvh;
	max-height:none;
	background:#000;
}
.kc-worldcase__reel-dialog.is-fullscreen .kc-worldcase__reel-player,
.kc-worldcase__reel-dialog-surface:fullscreen .kc-worldcase__reel-player {
	height:calc(100dvh - 4rem);
	width:min(56.25dvh,100dvw);
	max-width:100dvw;
	max-height:none;
}

@media (max-width:900px) {
	.kc-worldcase__body .kc-worldcase__rail { display:none; }
}

@media (max-width:600px) {
	.kc-field-fullcase__chrome { position:absolute; }
	.kc-field-fullcase__chrome p { width:40%; max-width:40%; }
	.kc-field-fullcase__close {
		position:absolute;
		top:0;
		right:0;
		bottom:0;
		width:60%;
		height:100%;
		justify-content:flex-end;
		padding:0 1rem;
		margin:0;
	}
	.kc-field-fullcase__close span:first-child { display:inline; }
	.kc-worldcase__gallery .kc-worldcase__section-head h2 {
		font-size:clamp(1.7rem,8vw,2.6rem);
		white-space:nowrap;
	}
	.kc-worldcase__gallery-fullscreen span:first-child { display:none; }
	.kc-worldcase__gallery-fullscreen { width:2.8rem; height:2.8rem; justify-content:center; padding:0; }
	.kc-worldcase__reel-dialog { width:100dvw; height:100dvh; max-height:none; margin:0; border:0; }
	.kc-worldcase__reel-dialog-surface { height:100dvh; max-height:none; }
	.kc-worldcase__reel-dialog-surface header { min-height:4rem; }
	.kc-worldcase__reel-dialog-surface header p { max-width:30vw; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
	.kc-worldcase__reel-dialog-surface header button span:first-child { font-size:.54rem; }
	.kc-worldcase__reel-player { height:calc(100dvh - 4rem); width:min(56.25dvh,100dvw); max-width:100dvw; }
}


/* Julio Bambill / solar nucleus case */
.kc-worldcase--about { --case-accent:#ffd76a; }
.kc-worldcase__hero--about {
	grid-template-columns:minmax(0,1fr) minmax(18rem,.58fr);
	align-items:center;
	gap:clamp(2rem,6vw,8rem);
}
.kc-worldcase__hero--about::before {
	background:
		radial-gradient(circle at 76% 48%, color-mix(in srgb, var(--case-accent) 16%, transparent), transparent 34%),
		linear-gradient(110deg, rgba(255,255,255,.035), transparent 44%);
}
.kc-worldcase__about-portrait {
	position:relative;
	z-index:1;
	justify-self:end;
	width:min(32vw,30rem);
	aspect-ratio:4/5;
	margin:0;
	border-radius:50% 50% 48% 52% / 46% 52% 48% 54%;
	overflow:hidden;
	box-shadow:
		0 0 0 1px color-mix(in srgb, var(--case-accent) 54%, transparent),
		0 0 4rem color-mix(in srgb, var(--case-accent) 22%, transparent),
		0 0 9rem color-mix(in srgb, var(--case-accent) 10%, transparent);
}
.kc-worldcase__about-portrait::before,
.kc-worldcase__about-portrait::after {
	content:"";
	position:absolute;
	inset:0;
	z-index:2;
	pointer-events:none;
}
.kc-worldcase__about-portrait::before { box-shadow:inset 0 0 5rem rgba(0,0,0,.32); }
.kc-worldcase__about-portrait::after { background:linear-gradient(180deg, transparent 55%, rgba(2,3,8,.48)); }
.kc-worldcase__about-portrait img { display:block; width:100%; height:100%; object-fit:cover; }
.kc-worldcase__about-portrait > span {
	position:absolute;
	inset:-12%;
	z-index:-1;
	border-radius:50%;
	background:radial-gradient(circle, color-mix(in srgb, var(--case-accent) 28%, transparent), transparent 67%);
	filter:blur(18px);
}
.kc-worldcase__body--about .kc-worldcase__content { max-width:72rem; }
.kc-worldcase__body--about .kc-worldcase__content > p { max-width:none; }

@media (max-width:900px) {
	.kc-worldcase__hero--about { grid-template-columns:1fr; }
	.kc-worldcase__about-portrait { justify-self:start; width:min(72vw,26rem); }
}


/* =========================================================
   v8.7.0 — single continuous project view
   The project mounts once. A first downward scroll expands the
   same DOM from spatial panel to full viewport; there is no
   intermediate summary / "open full case" step.
   ========================================================= */
.kc-field-fullcase {
	transition:opacity .38s var(--field-ease), visibility .38s;
}
.kc-field-fullcase__backdrop {
	transition:opacity .62s var(--field-ease), backdrop-filter .62s var(--field-ease), background .62s var(--field-ease);
}
.kc-field-fullcase__chrome,
.kc-field-fullcase__scroll {
	transition:left .68s var(--field-ease), right .68s var(--field-ease), top .68s var(--field-ease), bottom .68s var(--field-ease), width .68s var(--field-ease), height .68s var(--field-ease), border-radius .68s var(--field-ease), box-shadow .68s var(--field-ease), background .68s var(--field-ease);
}

/* Spatial state: the complete project already exists in this panel. */
.kc-field-fullcase.is-docked { pointer-events:none; }
.kc-field-fullcase.is-docked .kc-field-fullcase__backdrop {
	opacity:0;
	backdrop-filter:none;
}
.kc-field-fullcase.is-docked .kc-field-fullcase__chrome,
.kc-field-fullcase.is-docked .kc-field-fullcase__scroll {
	left:auto;
	right:var(--field-gutter);
	width:min(43vw,42rem);
	pointer-events:auto;
}
.kc-field-fullcase.is-docked .kc-field-fullcase__chrome {
	top:var(--field-gutter);
	height:4rem;
	padding:0 1.15rem;
	border:1px solid rgba(255,255,255,.13);
	border-bottom:0;
	border-radius:1.15rem 1.15rem 0 0;
	background:rgba(3,4,11,.84);
	backdrop-filter:blur(22px) saturate(120%);
}
.kc-field-fullcase.is-docked .kc-field-fullcase__scroll {
	top:calc(var(--field-gutter) + 4rem);
	bottom:var(--field-gutter);
	height:auto;
	padding-top:0;
	overflow-y:auto;
	overscroll-behavior:contain;
	border:1px solid rgba(255,255,255,.13);
	border-top:0;
	border-radius:0 0 1.15rem 1.15rem;
	background:rgba(3,4,11,.82);
	backdrop-filter:blur(22px) saturate(118%);
	box-shadow:0 2rem 5rem rgba(0,0,0,.34);
}
.kc-field-fullcase.is-docked .kc-field-fullcase__scroll::after {
	content:"SCROLL  ↓  VER PROYECTO COMPLETO";
	position:sticky;
	z-index:8;
	left:0;
	bottom:.8rem;
	display:block;
	width:max-content;
	margin:.9rem auto .8rem;
	padding:.58rem .78rem;
	border:1px solid color-mix(in srgb,var(--field-accent) 48%,rgba(255,255,255,.16));
	border-radius:999px;
	background:rgba(3,4,11,.78);
	backdrop-filter:blur(12px);
	color:#fff;
	font-size:.54rem;
	font-weight:800;
	letter-spacing:.14em;
	pointer-events:none;
}
.kc-field-fullcase.is-docked .kc-worldcase__hero {
	grid-template-columns:1fr;
	gap:1.25rem;
	min-height:0;
	padding:2rem 1.45rem 1.6rem;
}
.kc-field-fullcase.is-docked .kc-worldcase h1 {
	font-size:clamp(2.8rem,5.3vw,5.5rem);
	line-height:.88;
}
.kc-field-fullcase.is-docked .kc-worldcase__lead { max-width:42rem; font-size:.96rem; }
.kc-field-fullcase.is-docked .kc-worldcase__facts { margin-top:.4rem; }
.kc-field-fullcase.is-docked .kc-worldcase__hero-orbit { opacity:.12; }
.kc-field-fullcase.is-docked .kc-worldcase__film,
.kc-field-fullcase.is-docked .kc-worldcase__gallery,
.kc-field-fullcase.is-docked .kc-worldcase__identities,
.kc-field-fullcase.is-docked .kc-worldcase__reels,
.kc-field-fullcase.is-docked .kc-worldcase__body,
.kc-field-fullcase.is-docked .kc-worldcase__footer { padding-left:1.45rem; padding-right:1.45rem; }

/* Expanded state: same content, same scroll node, no remount and no second navigation. */
.kc-field-fullcase.is-expanded .kc-field-fullcase__backdrop {
	background:
		radial-gradient(circle at 12% 30%, color-mix(in srgb,var(--field-accent) 10%,transparent), transparent 38%),
		linear-gradient(110deg,rgba(1,2,8,.91),rgba(2,3,10,.88) 48%,rgba(2,3,10,.82));
	backdrop-filter:blur(14px) saturate(108%);
}
.kc-field-fullcase.is-expanded .kc-field-fullcase__scroll { scroll-behavior:smooth; }
body.kc-field-fullcase-docked .kc-field-hud,
body.kc-field-fullcase-docked .kc-field-switch,
body.kc-field-fullcase-docked .kc-field-radar,
body.kc-field-fullcase-docked .kc-field-crosshair,
body.kc-field-fullcase-docked .kc-field-project-label {
	opacity:.72;
}
body.kc-field-fullcase-expanded .kc-field-hud,
body.kc-field-fullcase-expanded .kc-field-switch,
body.kc-field-fullcase-expanded .kc-field-radar,
body.kc-field-fullcase-expanded .kc-field-crosshair,
body.kc-field-fullcase-expanded .kc-field-project-label,
body.kc-field-fullcase-expanded .kc-field-mobile-hint {
	opacity:.08;
	pointer-events:none;
}

/* Readability of the one continuous project document. */
.kc-worldcase__content p,
.kc-worldcase__content li,
.kc-worldcase__lead { text-align:justify; text-justify:inter-word; }

@media (max-width:900px) {
	.kc-field-fullcase.is-docked .kc-field-fullcase__chrome,
	.kc-field-fullcase.is-docked .kc-field-fullcase__scroll {
		left:1rem;
		right:1rem;
		width:auto;
	}
	.kc-field-fullcase.is-docked .kc-field-fullcase__chrome {
		top:auto;
		bottom:calc(58svh - 4rem + max(.7rem,env(safe-area-inset-bottom)));
	}
	.kc-field-fullcase.is-docked .kc-field-fullcase__scroll {
		top:auto;
		bottom:max(.7rem,env(safe-area-inset-bottom));
		height:calc(58svh - 4rem);
	}
}

@media (max-width:600px) {
	.kc-field-fullcase.is-docked .kc-field-fullcase__chrome,
	.kc-field-fullcase.is-docked .kc-field-fullcase__scroll { left:.65rem; right:.65rem; }
	.kc-field-fullcase.is-docked .kc-field-fullcase__chrome {
		bottom:calc(61svh - 4rem + max(.55rem,env(safe-area-inset-bottom)));
		border-radius:.9rem .9rem 0 0;
	}
	.kc-field-fullcase.is-docked .kc-field-fullcase__scroll {
		height:calc(61svh - 4rem);
		bottom:max(.55rem,env(safe-area-inset-bottom));
		border-radius:0 0 .9rem .9rem;
	}
	.kc-field-fullcase.is-docked .kc-field-fullcase__scroll::after {
		content:"DESLIZÁ  ↑  PARA VER TODO";
	}
	.kc-field-fullcase.is-docked .kc-worldcase__hero { padding:1.5rem 1rem 1.25rem; }
	.kc-field-fullcase.is-docked .kc-worldcase h1 { font-size:clamp(2.6rem,13vw,4.8rem); }
}

/* v8.7.4 — About page: independent editorial columns without shared row height. */
.kc-worldcase__body--about .kc-worldcase__content {
	display:block;
	width:min(100%,72rem);
	max-width:72rem;
	column-count:2;
	column-gap:clamp(3.6rem,6vw,7rem);
	column-fill:balance;
}
.kc-worldcase__body--about .kc-worldcase__content > * {
	break-inside:avoid-column;
	-webkit-column-break-inside:avoid;
	page-break-inside:avoid;
}
.kc-worldcase__body--about .kc-worldcase__content > p {
	max-width:none;
	margin:0 0 1.55rem;
}
.kc-worldcase__body--about .kc-worldcase__content > p:last-child { margin-bottom:0; }

@media (max-width:900px) {
	.kc-worldcase__body--about .kc-worldcase__content {
		column-count:1;
		column-gap:0;
	}
}

/* Immersive World 8.8 — compact attribution for licensed 3D environmental assets. */
.kc-field-asset-credits{margin:1rem 0 .35rem;border-top:1px solid rgba(241,238,230,.14);padding-top:.7rem;font-size:.66rem;line-height:1.45;color:rgba(241,238,230,.52)}
.kc-field-asset-credits summary{cursor:pointer;color:rgba(241,238,230,.72);letter-spacing:.08em;text-transform:uppercase}
.kc-field-asset-credits p{max-width:62rem;margin:.55rem 0 0}.kc-field-asset-credits a{color:inherit;text-decoration:underline;text-underline-offset:.18em}

/* Immersive World — visual identities as one gallery of identity cells. */
.kc-worldcase__identities {
	padding: clamp(3.8rem,7vw,7rem) var(--field-gutter);
	border-top: 1px solid rgba(255,255,255,.08);
}
.kc-worldcase__identities-intro {
	max-width: 42rem;
	margin: -1.2rem 0 clamp(2rem,4vw,3.6rem) auto;
	font-size: clamp(.88rem,1.1vw,1.02rem);
	line-height: 1.55;
	opacity: .58;
}
.kc-worldcase__identity-grid {
	display: grid;
	grid-template-columns: repeat(2,minmax(0,1fr));
	gap: clamp(1rem,2vw,1.8rem);
}
.kc-worldcase__identity-cell {
	min-width: 0;
	padding: clamp(1rem,1.8vw,1.5rem);
	border: 1px solid rgba(255,255,255,.1);
	background:
		radial-gradient(circle at 92% 7%, color-mix(in srgb, var(--identity-accent) 10%, transparent), transparent 16rem),
		rgba(4,5,11,.68);
}
.kc-worldcase__identity-cell-head {
	display: grid;
	grid-template-columns: auto minmax(0,1fr);
	gap: 1rem;
	align-items: start;
	margin-bottom: 1rem;
}
.kc-worldcase__identity-cell-number {
	display: grid;
	width: 2.45rem;
	aspect-ratio: 1;
	place-items: center;
	background: var(--identity-accent);
	color: #050505;
	font-size: .58rem;
	font-weight: 900;
	letter-spacing: .08em;
}
.kc-worldcase__identity-cell-head p {
	margin: 0 0 .35rem;
	color: var(--identity-accent);
	font-size: .56rem;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.kc-worldcase__identity-cell-head h3 {
	margin: 0;
	font-size: clamp(1.55rem,2.8vw,3rem);
	line-height: .94;
	letter-spacing: -.045em;
}
.kc-worldcase__identity-mosaic {
	display: grid;
	grid-template-columns: repeat(2,minmax(0,1fr));
	gap: .5rem;
	aspect-ratio: 4 / 3;
}
.kc-worldcase__identity-image {
	position: relative;
	min-width: 0;
	min-height: 0;
	padding: 0;
	overflow: hidden;
	border: 1px solid rgba(255,255,255,.08);
	background: #05060a;
	color: #fff;
	text-align: left;
}
button.kc-worldcase__identity-image { cursor: zoom-in; }
.kc-worldcase__identity-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .6s var(--field-ease), filter .6s var(--field-ease);
}
button.kc-worldcase__identity-image:hover img,
button.kc-worldcase__identity-image:focus-visible img { transform: scale(1.035); filter: brightness(1.08); }
.kc-worldcase__identity-image > span {
	position: absolute;
	left: .55rem;
	bottom: .48rem;
	z-index: 2;
	padding: .24rem .36rem;
	background: rgba(0,0,0,.7);
	font-size: .48rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.kc-worldcase__identity-image.is-empty {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: .7rem;
	border-style: dashed;
	color: rgba(255,255,255,.5);
}
.kc-worldcase__identity-image.is-empty > span { position: static; padding: 0; background: none; }
.kc-worldcase__identity-image.is-empty small { font-size: .56rem; text-transform: uppercase; letter-spacing: .1em; opacity: .55; }
.kc-worldcase__identity-cell-copy {
	display: grid;
	gap: .75rem;
	padding-top: 1rem;
}
.kc-worldcase__identity-cell-copy p,
.kc-worldcase__identity-cell-description { margin: 0; font-size: .78rem; line-height: 1.5; opacity: .7; }
.kc-worldcase__identity-cell-copy p { display: flex; gap: .7rem; }
.kc-worldcase__identity-cell-copy p span { flex: 0 0 auto; color: var(--identity-accent); font-size: .54rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.kc-worldcase__identity-lightbox {
	width: 100vw;
	max-width: none;
	height: 100dvh;
	max-height: none;
	padding: 0;
	border: 0;
	background: #020205;
	color: #fff;
}
.kc-worldcase__identity-lightbox::backdrop { background: rgba(0,0,0,.9); backdrop-filter: blur(12px); }
.kc-worldcase__identity-lightbox-surface { position: relative; display: grid; width: 100%; height: 100%; place-items: center; padding: clamp(1rem,3vw,3rem); }
.kc-worldcase__identity-lightbox img { display: block; max-width: 94vw; max-height: 90dvh; object-fit: contain; }
.kc-worldcase__identity-lightbox-close {
	position: absolute;
	top: 1rem;
	right: 1rem;
	z-index: 2;
	display: flex;
	gap: .6rem;
	align-items: center;
	padding: .7rem .9rem;
	border: 1px solid rgba(255,255,255,.18);
	background: rgba(0,0,0,.45);
	color: #fff;
	font-size: .58rem;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}

@media (max-width: 900px) {
	.kc-worldcase__identity-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
	.kc-worldcase__identities { padding-left: 1rem; padding-right: 1rem; }
	.kc-worldcase__identities-intro { margin: 0 0 2rem; }
	.kc-worldcase__identity-cell { padding: .85rem; }
	.kc-worldcase__identity-mosaic { gap: .35rem; }
}

/* Controles independientes del audio inmersivo */
.kc-field-hud__sound { cursor:pointer; white-space:nowrap; transition:opacity .2s ease; }
.kc-field-hud__sound:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
@media (max-width:600px) { .kc-field-hud__actions { gap:.75rem; } .kc-field-hud__sound { font-size:.72rem; } }
@media (prefers-reduced-motion:reduce) { .kc-field-hud__sound { transition:none; } }


/* v9.9.15 — acciones de retorno y cierre más legibles en Immersive World */
.kc-field-case__close,
.kc-field-fullcase__close {
	align-items: center;
	padding: .7rem 1rem;
	border: 1px solid rgba(255,255,255,.18);
	border-radius: 999px;
	background: rgba(255,255,255,.04);
	box-shadow: 0 .55rem 1.8rem rgba(0,0,0,.18);
	backdrop-filter: blur(10px) saturate(118%);
	-webkit-backdrop-filter: blur(10px) saturate(118%);
	transition: background .24s ease, border-color .24s ease, box-shadow .24s ease, transform .24s ease;
}
.kc-field-case__close:hover,
.kc-field-case__close:focus-visible,
.kc-field-fullcase__close:hover,
.kc-field-fullcase__close:focus-visible {
	background: rgba(255,255,255,.08);
	border-color: rgba(255,255,255,.34);
	box-shadow: 0 .8rem 2rem rgba(0,0,0,.26);
	transform: translateY(-1px);
}
.kc-field-case__close span:first-child,
.kc-field-fullcase__close span:last-child {
	display: inline-grid;
	place-items: center;
	min-width: 1.35rem;
	height: 1.35rem;
	padding: 0 .28rem;
	border-radius: 999px;
	background: rgba(255,255,255,.09);
	border: 1px solid rgba(255,255,255,.12);
	line-height: 1;
}
@media (max-width: 700px) {
	.kc-field-case__close,
	.kc-field-fullcase__close {
		padding: .72rem .92rem;
		font-size: .66rem;
		letter-spacing: .12em;
	}
}


/* v9.9.18 — paso siguiente más claro en la pantalla de ayuda */
.kc-field-help__next-step {
	margin: 1rem 0 .6rem;
	max-width: 34rem;
	color: rgba(255,255,255,.82);
	font-size: .84rem;
	line-height: 1.5;
}
.kc-field-help__close {
	display: inline-flex;
	align-items: center;
	gap: .7rem;
	font-weight: 800;
}
@media (max-width: 700px) {
	.kc-field-help__next-step {
		margin-top: 1.15rem;
		font-size: .82rem;
	}
	.kc-field-help__close {
		width: 100%;
		justify-content: center;
	}
}

/* v9.9.19 — New project identification in spatial HUD and accessible fallback */
.kc-field-radar__point--new:not(.kc-field-radar__point--sun) {
	border-color: #efc180;
	box-shadow: 0 0 .35rem rgba(239,193,128,.6);
}
.kc-field-radar__point--new:not(.kc-field-radar__point--sun)::after {
	content: '';
	position: absolute;
	inset: -.23rem;
	border: 1px solid rgba(239,193,128,.65);
	border-radius: 50%;
}
.kc-worldcase__eyebrow .kc-worldcase__new {
	color: #f1c887;
	font-weight: 900;
	margin-left: .65rem;
	white-space: nowrap;
}
.kc-field-fallback__new {
	display: inline-block;
	margin-left: .5rem;
	color: #f1c887;
	font-size: .75rem;
	font-weight: 800;
	letter-spacing: .07em;
	text-transform: uppercase;
}
