/* KG Counterfeit Bearings Playbook (Immersive) - every rule is scoped to .kgx */
/* ===== tokens + reset ===== */
.kgx {
  --navy: #091858; --ink: #060d36; --indigo: #1f2155; --blue: #23438d; --sky: #73a3d6; --teal: #84c9cb; --teal-d: #14807d;
  --crimson: #b51919; --crimson-b: #cc2b2b; --red: #e6362d; --coral: #e84f44; --slate: #aabfcf;
  --ok: #00b050; --ok-d: #0a8f4a; --bad: #c00000;
  --paper: #f4f6f9; --text: #333; --muted: #5b6472;
  --hair: rgba(9,24,88,.12); --hair-l: rgba(255,255,255,.14);
  --ease: cubic-bezier(.22, 1, .36, 1); --ease-io: cubic-bezier(.76, 0, .24, 1);
  --spec: linear-gradient(90deg, #b42025, #e6362d, #e84f44, #aabfcf, #84c9cb, #73a3d6, #23438d, #1f2155);
  --top: var(--kgx-top, 0px); --rl: clamp(28px, 4.2vw, 68px);
  position: relative; display: block; width: 100%; overflow-x: clip;
  font-family: "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif; font-size: 16px; line-height: 1.65; color: var(--text); background: var(--ink);
  -webkit-font-smoothing: antialiased; text-align: left; letter-spacing: normal;
}
.kgx *, .kgx *::before, .kgx *::after { box-sizing: border-box; }
.kgx h1, .kgx h2, .kgx h3, .kgx h4, .kgx p, .kgx ul, .kgx ol, .kgx li, .kgx figure, .kgx figcaption, .kgx dialog, .kgx nav, .kgx main, .kgx section, .kgx article, .kgx header {
  margin: 0; padding: 0; border: 0; font-family: inherit; text-transform: none; letter-spacing: normal; font-style: normal; background: none; box-shadow: none; text-shadow: none; float: none; clear: none;
}
.kgx ul, .kgx ol { list-style: none; }
.kgx li::marker { content: none; }
.kgx img { max-width: 100%; height: auto; display: block; border: 0; border-radius: 0; box-shadow: none; margin: 0; }
.kgx a { color: inherit; text-decoration: none; box-shadow: none; border: 0; }
.kgx button { font-family: inherit; text-transform: none; letter-spacing: normal; box-shadow: none; text-shadow: none; margin: 0; }
.kgx i { font-style: normal; }
.kgx :focus-visible { outline: 3px solid var(--sky); outline-offset: 4px; border-radius: 8px; }
.kgx ::selection { background: var(--crimson); color: #fff; }
.kgx .kgx-wrap { width: min(1320px, calc(100% - clamp(40px, 8vw, 140px))); margin-inline: auto; position: relative; }
.kgx .kgx-spectrum { display: flex; height: 8px; width: 100%; }
.kgx .kgx-spectrum span { display: block; height: 100%; }

/* ===== motion primitives ===== */
.js .kgx [data-reveal] { opacity: 0; transform: translateY(40px); transition: opacity .9s var(--ease), transform .9s var(--ease); transition-delay: calc(var(--i, 0) * 90ms); }
.js .kgx [data-reveal].is-in { opacity: 1; transform: none; }
.js .kgx [data-in] { opacity: 0; transform: translateY(26px); animation: kgx-up 1.1s var(--ease) var(--d, .4s) forwards; }
@keyframes kgx-up { to { opacity: 1; transform: none; } }
.kgx .kgx-w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .12em; margin-bottom: -.12em; }
.kgx .kgx-w > span { display: inline-block; transform: translateY(112%); transition: transform 1.1s var(--ease); transition-delay: calc(var(--wi, 0) * 70ms + var(--base, 0s)); }
.kgx .is-in .kgx-w > span, .kgx .kgx-w.is-in > span { transform: none; }

@keyframes kgx-spin { to { transform: rotate(360deg); } }

/* fixed chrome */
.kgx .kgx-progress { position: fixed; left: 0; right: 0; top: var(--top); height: 3px; z-index: 90; pointer-events: none; }
.kgx .kgx-progress span { display: block; height: 100%; width: 0; background: var(--spec); }
.kgx .kgx-dots { position: fixed; right: clamp(14px, 1.8vw, 28px); top: 50%; z-index: 80; transform: translateY(-50%); display: flex; flex-direction: column; gap: 4px; }
.kgx .kgx-dots a { position: relative; width: 28px; height: 28px; display: grid; place-items: center; }
.kgx .kgx-dots a i { width: 9px; height: 9px; border-radius: 50%; background: rgba(150,160,190,.55); border: 1.5px solid rgba(255,255,255,.7); transition: transform .4s var(--ease), background .3s; }
.kgx .kgx-dots a:hover i { transform: scale(1.5); }
.kgx .kgx-dots a.is-active i { background: var(--red); transform: scale(1.7); border-color: #fff; }
.kgx .kgx-dots a span { position: absolute; right: 34px; top: 50%; transform: translate(10px, -50%); white-space: nowrap; padding: 6px 14px; border-radius: 999px; font-size: .7rem; font-weight: 600; letter-spacing: .06em; color: #fff; background: rgba(6,13,54,.88); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); opacity: 0; pointer-events: none; transition: opacity .3s, transform .4s var(--ease); }
.kgx .kgx-dots a:hover span, .kgx .kgx-dots a:focus-visible span { opacity: 1; transform: translate(0, -50%); }

/* layered sections */
.kgx .kgx-layer { position: relative; z-index: var(--z, 2); border-radius: var(--rl) var(--rl) 0 0; margin-top: calc(var(--rl) * -1); }

/* ===== hero ===== */
.kgx .kgx-hero { position: relative; z-index: 1; background: var(--ink); }
.kgx .kgx-hero__stage { position: relative; min-height: calc(100vh - var(--top)); overflow: hidden; display: flex; align-items: center; padding: clamp(56px, 7vw, 100px) 0 calc(var(--rl) + clamp(70px, 9vw, 130px)); background: radial-gradient(110% 90% at 78% 30%, #1d2c7a 0%, var(--navy) 42%, var(--ink) 100%); color: #fff; }
.kgx .kgx-hero__bg span { position: absolute; display: block; }
.kgx .kgx-hero__grid { inset: 0; background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px); background-size: 64px 64px; -webkit-mask-image: radial-gradient(ellipse 70% 80% at 72% 45%, #000 10%, transparent 72%); mask-image: radial-gradient(ellipse 70% 80% at 72% 45%, #000 10%, transparent 72%); }
.kgx .kgx-hero__glow { border-radius: 50%; filter: blur(110px); }
.kgx .kgx-hero__glow--r { width: 520px; height: 520px; right: 4%; top: 6%; background: rgba(230,54,45,.42); animation: kgx-drift 14s ease-in-out infinite alternate; }
.kgx .kgx-hero__glow--b { width: 560px; height: 560px; left: -12%; bottom: -26%; background: rgba(115,163,214,.3); animation: kgx-drift 18s ease-in-out infinite alternate-reverse; }
@keyframes kgx-drift { to { transform: translate(-60px, 50px) scale(1.15); } }

.kgx .kgx-ringfb { position: absolute; right: 3%; top: 50%; width: min(40vw, 520px); aspect-ratio: 1; transform: translateY(-50%); }
.kgx .kgx-ringsvg { width: 100%; height: 100%; animation: kgx-spin 60s linear infinite; }
.kgx .kgx-ringsvg circle { fill: none; stroke: rgba(255,255,255,.25); stroke-width: 1.5; }
.kgx .kgx-ringsvg__b circle { fill: rgba(255,255,255,.1); stroke: rgba(255,255,255,.6); }
.kgx .kgx-ringfb--finale { right: 3%; width: min(40vw, 520px); opacity: .55; }

.kgx .kgx-hero__in { position: relative; z-index: 3; min-width: 0; }
.kgx .kgx-badge { display: inline-flex; align-items: center; gap: 10px; padding: 8px 18px 8px 12px; border-radius: 999px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.22); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); font-size: .72rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #fff; }
.kgx .kgx-badge img { height: 22px; width: auto; }
.kgx .kgx-h1 { margin: clamp(22px, 3vw, 40px) 0 clamp(20px, 2.6vw, 34px); color: #fff; font-weight: 800; font-size: clamp(2.5rem, 5.2vw, 5.4rem); line-height: .96; letter-spacing: -.025em; text-transform: uppercase; }
.kgx .kgx-ln { display: block; }
.kgx .kgx-ln:nth-child(1) { font-size: .42em; font-weight: 600; letter-spacing: .12em; color: rgba(255,255,255,.86); margin-bottom: .22em; --base: .15s; }
.kgx .kgx-ln:nth-child(2) { --base: .35s; }
.kgx .kgx-ln:nth-child(2) .kgx-w > span { background: linear-gradient(100deg, #fff 0%, #ffcfc9 40%, var(--coral) 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; padding-right: .04em; }
.kgx .kgx-ln:nth-child(3) { --base: .55s; }
.kgx .kgx-hero__lead { max-width: 520px; font-size: clamp(1.02rem, 1.4vw, 1.3rem); color: rgba(255,255,255,.76); padding-left: 20px; border-left: 3px solid var(--coral); }
.kgx .kgx-hero__lead strong { display: block; color: #fff; font-weight: 600; margin-top: 4px; }
.kgx .kgx-chips { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 34px; max-width: 620px; }
.kgx .kgx-chip { display: inline-flex; align-items: center; gap: 10px; padding: 6px 16px 6px 6px; border-radius: 999px; border: 1px solid rgba(255,255,255,.2); color: rgba(255,255,255,.92); font-size: .8rem; font-weight: 500; transition: transform .4s var(--ease), background .3s, border-color .3s; }
.kgx .kgx-chip:hover { transform: translateY(-3px); background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.5); color: #fff; }
.kgx .kgx-chip__n { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; font-size: .74rem; font-weight: 700; background: var(--red); color: #fff; }
.kgx .kgx-chip:nth-child(2) .kgx-chip__n { background: var(--teal-d); } .kgx .kgx-chip:nth-child(3) .kgx-chip__n { background: var(--blue); } .kgx .kgx-chip:nth-child(4) .kgx-chip__n { background: var(--indigo); box-shadow: 0 0 0 1px rgba(255,255,255,.45); }

/* hero visual: Authentic (left) / Fake (right) lenses. Time-based motion only, nothing is tied to scroll. */
.kgx .kgx-hero__cols { position: relative; z-index: 3; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(30px, 5vw, 80px); align-items: center; }
.kgx .kgx-hero__visual { position: relative; width: min(560px, 100%); aspect-ratio: 1; margin-inline: auto; }
.kgx .kgx-hero__visual .kgx-ringfb { inset: 0; right: auto; top: auto; width: 100%; transform: none; }
.kgx .kgx-scan { position: absolute; inset: 0; border-radius: 50%; z-index: 1; pointer-events: none; background: conic-gradient(from 0deg, transparent 0 72%, rgba(132,201,203,0) 72%, rgba(132,201,203,.45) 99.6%, #84c9cb 100%); -webkit-mask-image: radial-gradient(circle, transparent 0 88%, #000 89%); mask-image: radial-gradient(circle, transparent 0 88%, #000 89%); animation: kgx-spin 6s linear infinite; }
.kgx .kgx-lensbox { position: absolute; width: 45%; aspect-ratio: 1; margin: 0; z-index: 2; cursor: zoom-in; animation: kgx-bob 7s ease-in-out infinite; }
.kgx .kgx-lensbox--real { left: 1%; top: 10%; } .kgx .kgx-lensbox--fake { right: 1%; bottom: 10%; animation-delay: -3.5s; }
@keyframes kgx-bob { 50% { translate: 0 -14px; } }
.kgx .kgx-lens { position: absolute; inset: 0; display: block; border-radius: 50%; overflow: hidden; background: #fff; border: 6px solid rgba(255,255,255,.95); transition: transform .6s var(--ease); }
.kgx .kgx-lensbox--real .kgx-lens { box-shadow: 0 0 0 9px rgba(0,176,80,.35), 0 40px 70px -18px rgba(0,0,0,.65); }
.kgx .kgx-lensbox--fake .kgx-lens { box-shadow: 0 0 0 9px rgba(192,0,0,.4), 0 40px 70px -18px rgba(0,0,0,.65); }
.kgx .kgx-lensbox:hover .kgx-lens, .kgx .kgx-lensbox:focus-visible .kgx-lens { transform: scale(1.04); }
.kgx .kgx-lens img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.kgx .kgx-lensbox:hover .kgx-lens img { transform: scale(1.08); }
.kgx .kgx-lensbox figcaption { position: absolute; left: 50%; bottom: -14px; transform: translateX(-50%); z-index: 3; }
.kgx .kgx-lensbox .kgx-tag { position: static; transform: none; }
.kgx .kgx-lens__ne { position: absolute; left: 50%; top: 50%; z-index: 4; width: 52px; height: 52px; margin: -26px 0 0 -26px; border-radius: 50%; display: grid; place-items: center; color: #fff; font-size: 1.1rem; background: var(--navy); border: 3px solid #fff; box-shadow: 0 10px 26px rgba(0,0,0,.45); }

/* ===== chapters (slide 1) ===== */
.kgx .kgx-chap { background: var(--cb); padding: calc(var(--rl) + clamp(70px, 10vw, 150px)) 0 clamp(90px, 12vw, 180px); overflow: clip; color: var(--text); }
.kgx .kgx-chap--dark { color: rgba(255,255,255,.82); }
.kgx .kgx-chap__bignum { position: absolute; right: -2%; top: 4%; font-weight: 800; line-height: .8; font-size: clamp(18rem, 44vw, 46rem); color: transparent; -webkit-text-stroke: 1.5px color-mix(in srgb, var(--cc) 20%, transparent); pointer-events: none; will-change: transform; }
.kgx .kgx-chap__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(40px, 7vw, 130px); align-items: start; }
.kgx .kgx-chap__sticky { position: sticky; top: calc(var(--top) + 56px); }
.kgx .kgx-chap__badge { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; font-size: 1.4rem; color: #fff; background: var(--cc); box-shadow: 0 0 0 10px color-mix(in srgb, var(--cc) 16%, transparent), 0 18px 34px -10px color-mix(in srgb, var(--cc) 70%, #000); margin-bottom: 28px; }
.kgx .kgx-chap--dark .kgx-chap__badge { color: var(--indigo); }
.kgx .kgx-chap__t { color: var(--navy); font-weight: 800; font-size: clamp(2.1rem, 4.6vw, 4.2rem); line-height: 1.04; letter-spacing: -.015em; text-transform: uppercase; text-wrap: balance; }
.kgx .kgx-chap--dark .kgx-chap__t { color: #fff; }
.kgx .kgx-chap__media { margin-top: clamp(28px, 4vw, 52px); max-width: 440px; }
.kgx .kgx-chap__list li { display: grid; grid-template-columns: 52px 1fr; gap: 22px; align-items: start; padding: clamp(24px, 3vw, 38px) 0; border-bottom: 1px solid color-mix(in srgb, var(--cc) 28%, transparent); transition: transform .5s var(--ease); }
.kgx .kgx-chap__list li:first-child { padding-top: 6px; }
.kgx .kgx-chap__list li:last-child { border-bottom: 0; }
.kgx .kgx-chap__list li:hover { transform: translateX(10px); }
.kgx .kgx-chap__list p { font-size: clamp(1rem, 1.25vw, 1.15rem); line-height: 1.75; }
.kgx .kgx-chap__list strong { color: var(--cc); font-weight: 600; }
.kgx .kgx-ico { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; font-size: 1.05rem; color: var(--cc); background: color-mix(in srgb, var(--cc) 14%, transparent); transition: transform .5s var(--ease), background .3s, color .3s; }
.kgx .kgx-chap__list li:hover .kgx-ico { transform: rotate(-12deg) scale(1.12); background: var(--cc); color: #fff; }
.kgx .kgx-chap--dark .kgx-chap__list li:hover .kgx-ico { color: var(--indigo); }

/* ===== photos (3D tilt) ===== */
.kgx .kgx-photo { position: relative; margin: 0; cursor: zoom-in; border-radius: 24px; transform-style: preserve-3d; transition: transform .6s var(--ease); will-change: transform; }
.kgx .kgx-photo__in { display: block; overflow: hidden; border-radius: inherit; background: #fff; box-shadow: 0 2px 4px rgba(9,24,88,.05), 0 22px 44px -10px rgba(9,24,88,.22), 0 50px 80px -30px rgba(9,24,88,.3); }
.kgx .kgx-photo img { width: 100%; height: auto; transition: transform 1s var(--ease); }
.kgx .kgx-photo:hover img, .kgx .kgx-photo:focus-visible img { transform: scale(1.06); }
.kgx .kgx-photo--soft { border-radius: 30px; }
.kgx .kgx-tag { position: absolute; left: 14px; bottom: 14px; z-index: 3; display: inline-flex; align-items: center; gap: 7px; padding: 7px 14px; border-radius: 999px; font-size: .68rem; font-weight: 600; letter-spacing: .04em; line-height: 1.2; color: #fff; white-space: nowrap; pointer-events: none; box-shadow: 0 8px 18px rgba(0,0,0,.28); transform: translateZ(40px); }
.kgx .kgx-tag--real { background: rgba(0,176,80,.95); } .kgx .kgx-tag--fake { background: rgba(192,0,0,.95); }

/* ===== ledger (poster wording) ===== */
.kgx .kgx-ledger { background: var(--ink); color: #fff; padding: calc(var(--rl) + clamp(70px, 9vw, 130px)) 0 clamp(90px, 11vw, 160px); overflow: clip; }
.kgx .kgx-ledger .kgx-spectrum { position: absolute; top: 0; left: 0; right: 0; border-radius: var(--rl) var(--rl) 0 0; overflow: hidden; }
.kgx .kgx-ledger__glow { position: absolute; left: 50%; top: 30%; width: 900px; height: 500px; margin-left: -450px; border-radius: 50%; background: rgba(35,67,141,.3); filter: blur(140px); pointer-events: none; }
.kgx .kgx-ledger__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(28px, 3.4vw, 56px); }
.kgx .kgx-lcol { --lc: var(--coral); }
.kgx .kgx-lcol--2 { --lc: var(--teal); } .kgx .kgx-lcol--3 { --lc: var(--sky); } .kgx .kgx-lcol--4 { --lc: #b3b9ff; }
.kgx .kgx-lcol header { display: flex; align-items: center; gap: 14px; padding-bottom: 22px; border-bottom: 2px solid var(--lc); }
.kgx .kgx-lcol__n { font-size: 3.4rem; font-weight: 800; line-height: .9; color: transparent; -webkit-text-stroke: 1.5px var(--lc); }
.kgx .kgx-lcol__t { font-size: 1rem; font-weight: 700; line-height: 1.2; letter-spacing: .08em; text-transform: uppercase; color: #fff; }
.kgx .kgx-lcol li { display: flex; gap: 16px; align-items: flex-start; padding: 22px 0; border-bottom: 1px solid var(--hair-l); transition: transform .5s var(--ease); }
.kgx .kgx-lcol li:hover { transform: translateX(6px); }
.kgx .kgx-lico { flex: none; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; font-size: .95rem; color: var(--lc); border: 1.5px solid color-mix(in srgb, var(--lc) 60%, transparent); transition: background .3s, color .3s, transform .5s var(--ease); }
.kgx .kgx-lcol li:hover .kgx-lico { background: var(--lc); color: var(--ink); transform: scale(1.1); }
.kgx .kgx-lcol h3 { font-size: .98rem; font-weight: 600; line-height: 1.3; color: #fff; margin-bottom: 4px; }
.kgx .kgx-lcol li p { font-size: .86rem; line-height: 1.6; color: rgba(255,255,255,.62); }

/* ===== section heads ===== */
.kgx .kgx-sechead { max-width: 1100px; margin-bottom: clamp(36px, 5vw, 70px); }
.kgx .kgx-eyebrow { display: inline-flex; align-items: center; gap: 14px; font-size: .78rem; font-weight: 700; letter-spacing: .2em; color: var(--crimson); margin-bottom: 22px; }
.kgx .kgx-eyebrow::after { content: ""; width: 64px; height: 2px; background: currentColor; transform-origin: left; }
.kgx .kgx-eyebrow--light { color: var(--coral); }
.kgx .kgx-sechead__t { color: var(--navy); font-weight: 800; font-size: clamp(2.3rem, 6.2vw, 5.8rem); line-height: 1.02; letter-spacing: -.02em; text-transform: uppercase; text-wrap: balance; }
.kgx .kgx-sechead__t--light { color: #fff; }
.kgx .kgx-sechead__sub { margin-top: 22px; font-size: clamp(1.05rem, 1.7vw, 1.45rem); color: #1e3a8a; font-weight: 500; }

/* ===== Main section headings (H2): KG Filter page style (.h2-heading) + spectrum underline image ===== */
.kgx .kgx-hb { display: block; max-width: 920px; margin: 0; padding: 0; background: none; transform: none; font-size: inherit; line-height: inherit; text-align: left; }
.kgx .kgx-hb__t { display: block; font-family: "Poppins", sans-serif; font-size: 30px; font-weight: 300; text-transform: uppercase; line-height: 1.3; letter-spacing: 0; color: #0A2650; text-wrap: balance; }
.kgx .kgx-hb__line { display: block; width: 300px; max-width: 70%; height: auto; margin-top: 22px; }
.kgx .kgx-hb--dark .kgx-hb__t, .kgx .kgx-chap--dark .kgx-hb__t { color: #ffffff; }
.kgx .kgx-chap__t { margin: 0; }
.kgx .kgx-sechead .kgx-eyebrow::after, .kgx .kgx-steps__intro .kgx-eyebrow::after { display: none; }
@media (max-width: 767px) { .kgx .kgx-hb__t { font-size: 25px; } }

/* ===== spot a fake (slide 2) ===== */
.kgx .kgx-spot { background: #fff; padding: calc(var(--rl) + clamp(80px, 10vw, 150px)) 0 clamp(90px, 12vw, 180px); overflow: clip; }
.kgx .kgx-spot__head, .kgx .kgx-prow { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.1fr) minmax(0, 1.1fr); }
.kgx .kgx-spot__head { position: sticky; top: calc(var(--top) + 14px); z-index: 20; margin-bottom: 8px; filter: drop-shadow(0 18px 24px rgba(9,24,88,.12)); }
.kgx .kgx-spot__head > div { display: flex; align-items: center; gap: 12px; padding: 18px clamp(20px, 3vw, 48px); font-weight: 700; font-size: 1rem; color: var(--navy); background: rgba(255,255,255,.94); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); border-bottom: 4px solid var(--navy); }
.kgx .kgx-spot__head .kgx-spot__hp { border-radius: 18px 0 0 0; }
.kgx .kgx-spot__head .is-real { color: var(--ok-d); border-bottom-color: var(--ok); } .kgx .kgx-spot__head .is-fake { color: var(--bad); border-bottom-color: var(--bad); border-radius: 0 18px 0 0; }
.kgx .kgx-prow + .kgx-prow .kgx-prm, .kgx .kgx-prow + .kgx-prow .kgx-side { border-top: 1px solid var(--hair); }
.kgx .kgx-prm { padding: clamp(40px, 5vw, 76px) 20px clamp(40px, 5vw, 76px) 0; }
.kgx .kgx-prm__in { position: sticky; top: calc(var(--top) + 130px); }
.kgx .kgx-prm__n { display: block; font-size: clamp(3rem, 6vw, 5.4rem); font-weight: 800; line-height: .9; color: transparent; -webkit-text-stroke: 1.5px color-mix(in srgb, var(--navy) 30%, transparent); }
.kgx .kgx-prm__ico { display: grid; place-items: center; width: 46px; height: 46px; margin-top: 18px; border-radius: 50%; color: #fff; font-size: 1rem; background: var(--navy); box-shadow: 0 10px 20px -6px rgba(9,24,88,.5); }
.kgx .kgx-prm h3 { margin-top: 16px; color: var(--navy); font-weight: 700; font-size: clamp(1.2rem, 1.9vw, 1.7rem); line-height: 1.2; }
.kgx .kgx-side { position: relative; padding: clamp(40px, 5vw, 76px) clamp(20px, 3vw, 48px); }
.kgx .kgx-side--real { background: linear-gradient(180deg, rgba(0,176,80,.075), rgba(0,176,80,.03)); }
.kgx .kgx-side--fake { background: linear-gradient(180deg, rgba(192,0,0,.07), rgba(192,0,0,.03)); }
.kgx .kgx-side p { display: flex; gap: 14px; align-items: flex-start; font-size: clamp(1rem, 1.25vw, 1.15rem); line-height: 1.7; color: #1f2937; }
.kgx .kgx-side p > i { flex: none; font-size: 1.35rem; margin-top: 3px; }
.kgx .kgx-side--real p > i { color: var(--ok-d); } .kgx .kgx-side--fake p > i { color: var(--bad); }
.kgx .kgx-side .kgx-photo { margin-top: clamp(24px, 3vw, 40px); }
.kgx .kgx-side--real .kgx-photo { transform: rotate(-1.4deg); } .kgx .kgx-side--fake .kgx-photo { transform: rotate(1.4deg); }
.kgx .kgx-prow--alert .kgx-side--fake { background: linear-gradient(135deg, var(--crimson-b), #8c1111); }
.kgx .kgx-prow--alert .kgx-side--fake p, .kgx .kgx-prow--alert .kgx-side--fake p > i { color: #fff; }
.kgx .kgx-prow__wide { grid-column: 2 / -1; padding: 0 clamp(20px, 3vw, 48px) clamp(40px, 5vw, 76px); background: linear-gradient(90deg, rgba(0,176,80,.03), rgba(192,0,0,.03)); }
.kgx .kgx-prow__wide .kgx-photo { max-width: 520px; margin-inline: auto; }
.kgx .kgx-prow:last-child .kgx-side:last-child { border-radius: 0 0 18px 0; } .kgx .kgx-prow:last-child .kgx-side:nth-child(2) { border-radius: 0; }

/* ===== steps (slide 3): vertical by default, horizontal pinned journey when .kgx-hs ===== */
.kgx .kgx-steps { background: var(--ink); color: #fff; padding: calc(var(--rl) + clamp(70px, 9vw, 130px)) 0 clamp(80px, 10vw, 140px); overflow: clip; }
.kgx .kgx-steps__bg span { position: absolute; border-radius: 50%; filter: blur(130px); pointer-events: none; }
.kgx .kgx-steps__bg span:nth-child(1) { width: 560px; height: 560px; right: -8%; top: -10%; background: rgba(204,43,43,.38); animation: kgx-drift 16s ease-in-out infinite alternate; }
.kgx .kgx-steps__bg span:nth-child(2) { width: 620px; height: 620px; left: -14%; bottom: -20%; background: rgba(35,67,141,.5); animation: kgx-drift 20s ease-in-out infinite alternate-reverse; }
.kgx .kgx-steps__pin { position: relative; }
.kgx .kgx-steps__intro { padding-inline: clamp(20px, 4vw, 70px); max-width: 900px; }
.kgx .kgx-steps__sub { margin-top: 22px; max-width: 480px; font-size: clamp(1.05rem, 1.6vw, 1.4rem); color: rgba(255,255,255,.72); }
.kgx .kgx-steps__hint { display: none; }
.kgx .kgx-steps__list { display: grid; gap: 0; padding: 50px clamp(20px, 4vw, 70px) 0; counter-reset: s; }
.kgx .kgx-step { position: relative; display: grid; grid-template-columns: 76px 1fr; column-gap: 24px; padding: 34px 0 34px; border-bottom: 1px solid var(--hair-l); }
.kgx .kgx-step__n { display: none; }
.kgx .kgx-step__ico { grid-row: 1 / span 2; width: 64px; height: 64px; border-radius: 50%; display: grid; place-items: center; font-size: 1.35rem; color: #fff; background: var(--c); box-shadow: 0 0 0 6px color-mix(in srgb, var(--c) 28%, transparent), 0 18px 34px -10px var(--c); }
.kgx .kgx-step h3 { color: #fff; font-weight: 700; font-size: 1.35rem; line-height: 1.25; }
.kgx .kgx-step p { margin-top: 6px; color: rgba(255,255,255,.72); font-size: 1rem; }
.kgx .kgx-step p a { color: #fff; font-weight: 600; text-decoration: underline; text-decoration-color: var(--coral); text-decoration-thickness: 2px; text-underline-offset: 4px; word-break: break-word; }
.kgx .kgx-step p a:hover { color: var(--teal); }
.kgx .kgx-steps__bar { display: none; }
/* horizontal mode */
.kgx .kgx-hs { padding: 0; height: var(--sh, 420vh); }
.kgx .kgx-hs .kgx-steps__pin { position: sticky; top: var(--top); height: calc(100vh - var(--top)); min-height: 640px; overflow: hidden; }
.kgx .kgx-hs .kgx-steps__bg { position: absolute; inset: 0; }
.kgx .kgx-hs .kgx-steps__viewport { height: 100%; display: flex; align-items: center; }
.kgx .kgx-hs .kgx-steps__track { display: flex; align-items: center; will-change: transform; transform: translate3d(var(--tx, 0px), 0, 0); padding-left: max(var(--rl), 6vw); }
.kgx .kgx-hs .kgx-steps__intro { flex: none; width: min(600px, 46vw); padding: 0 5vw 0 0; margin-top: var(--rl); }
.kgx .kgx-hs .kgx-steps__intro .kgx-sechead__t { font-size: clamp(2rem, 4.3vw, 4.2rem); }
.kgx .kgx-hs .kgx-steps__hint { display: inline-flex; align-items: center; justify-content: center; margin-top: 34px; width: 64px; height: 64px; border-radius: 50%; border: 1.5px solid rgba(255,255,255,.4); font-size: 1.3rem; animation: kgx-hint 2s var(--ease-io) infinite; }
@keyframes kgx-hint { 50% { transform: translateX(14px); } }
.kgx .kgx-hs .kgx-steps__list { position: relative; display: flex; padding: 0 10vw 0 0; margin-top: var(--rl); }
.kgx .kgx-hs .kgx-steps__list::before { content: ""; position: absolute; left: 0; right: 0; top: calc(8rem + 38px); height: 2px; background: var(--spec); opacity: .65; }
.kgx .kgx-hs .kgx-step { display: block; flex: none; width: clamp(300px, 28vw, 420px); padding: 0 clamp(20px, 2.4vw, 44px) 0 0; border: 0; }
.kgx .kgx-hs .kgx-step__n { display: block; height: 8rem; font-size: 8rem; font-weight: 800; line-height: 1; letter-spacing: -.04em; color: transparent; -webkit-text-stroke: 1.5px color-mix(in srgb, var(--c) 65%, #fff 10%); opacity: .7; transition: opacity .4s, transform .6s var(--ease); }
.kgx .kgx-hs .kgx-step:hover .kgx-step__n { opacity: 1; transform: translateX(8px); }
.kgx .kgx-hs .kgx-step__ico { position: relative; width: 76px; height: 76px; font-size: 1.6rem; margin: 0 0 30px; transition: transform .6s var(--ease); }
.kgx .kgx-hs .kgx-step:hover .kgx-step__ico { transform: scale(1.12) rotate(-8deg); }
.kgx .kgx-hs .kgx-step h3 { font-size: clamp(1.3rem, 1.9vw, 1.75rem); }
.kgx .kgx-hs .kgx-step p { font-size: 1.05rem; }
.kgx .kgx-hs .kgx-step:last-child .kgx-step__ico { background: var(--crimson-b); }
.kgx .kgx-hs .kgx-steps__bar { display: block; position: absolute; left: max(var(--rl), 6vw); right: max(var(--rl), 6vw); bottom: 34px; height: 3px; border-radius: 4px; background: rgba(255,255,255,.12); overflow: hidden; }
.kgx .kgx-hs .kgx-steps__bar span { display: block; height: 100%; width: 100%; background: var(--spec); transform-origin: left; transform: scaleX(var(--sp, 0)); }

/* ===== video ===== */
.kgx .kgx-video { position: relative; background: var(--ink); padding: clamp(30px, 6vw, 90px) 0 calc(var(--rl) + clamp(90px, 12vw, 170px)); overflow: clip; --vp: 0; }
.kgx .kgx-video__glow { position: absolute; left: 50%; top: 50%; width: 1000px; height: 460px; margin: -230px 0 0 -500px; border-radius: 50%; background: rgba(230,54,45,.22); filter: blur(140px); pointer-events: none; }
.kgx .kgx-video__frame { position: relative; z-index: 2; width: calc(62% + var(--vp) * 38%); min-width: min(94%, 320px); aspect-ratio: 16 / 9; margin: 0 auto; border-radius: calc((1 - var(--vp)) * 44px); overflow: hidden; background: #000; box-shadow: 0 60px 120px -30px rgba(0,0,0,.8), 0 0 0 1px rgba(255,255,255,.1); will-change: width; }
.kgx .kgx-video__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.kgx .kgx-video__play { position: absolute; inset: 0; width: 100%; height: 100%; display: block; padding: 0; border: 0; background: #000; cursor: pointer; overflow: hidden; }
.kgx .kgx-video__poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(calc(1.18 - var(--vp) * .12)); transition: filter .4s; }
.kgx .kgx-video__play:hover .kgx-video__poster { filter: brightness(1.08); }
.kgx .kgx-video__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(6,13,54,.05) 30%, rgba(6,13,54,.8) 100%); }
.kgx .kgx-video__btn { position: absolute; left: 50%; top: 50%; width: clamp(72px, 9vw, 120px); height: clamp(72px, 9vw, 120px); margin: calc(clamp(72px, 9vw, 120px) / -2) 0 0 calc(clamp(72px, 9vw, 120px) / -2); border-radius: 50%; display: grid; place-items: center; padding-left: 6px; font-size: clamp(1.4rem, 2.4vw, 2.2rem); color: #fff; background: var(--crimson-b); box-shadow: 0 24px 60px -8px rgba(181,25,25,.85), inset 0 1px 0 rgba(255,255,255,.35); transition: transform .5s var(--ease), background .3s; }
.kgx .kgx-video__btn::before, .kgx .kgx-video__btn::after { content: ""; position: absolute; inset: 0; border-radius: 50%; border: 2px solid rgba(255,255,255,.55); animation: kgx-pulse 2.6s ease-out infinite; }
.kgx .kgx-video__btn::after { animation-delay: 1.3s; }
@keyframes kgx-pulse { from { transform: scale(1); opacity: .9; } to { transform: scale(2); opacity: 0; } }
.kgx .kgx-video__play:hover .kgx-video__btn { transform: scale(1.12); background: var(--red); }
.kgx .kgx-video__cap { position: absolute; left: clamp(16px, 3vw, 40px); bottom: clamp(14px, 2.6vw, 34px); display: inline-flex; align-items: center; gap: 12px; padding: 10px 20px 10px 14px; border-radius: 999px; color: #fff; font-weight: 600; font-size: clamp(.8rem, 1.3vw, 1rem); background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.28); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.kgx .kgx-video__cap img { height: 24px; width: auto; }
.kgx .kgx-video__fallback { position: absolute; left: 20px; bottom: 20px; z-index: 5; color: #fff; text-decoration: underline; }

/* ===== efforts (slide 4) ===== */
.kgx .kgx-efforts { background: var(--paper); padding: calc(var(--rl) + clamp(80px, 10vw, 150px)) 0 clamp(90px, 12vw, 180px); overflow: clip; }
.kgx .kgx-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: clamp(70px, 9vw, 140px); }
.kgx .kgx-stat { padding: 0 clamp(16px, 3vw, 48px); position: relative; }
.kgx .kgx-stat:first-child { padding-left: 0; }
.kgx .kgx-stat + .kgx-stat { border-left: 1px solid var(--hair); }
.kgx .kgx-stat__n { font-weight: 800; line-height: .95; letter-spacing: -.04em; font-size: clamp(3.2rem, 9.4vw, 9rem); font-variant-numeric: tabular-nums; background: linear-gradient(100deg, var(--indigo) 10%, var(--blue) 60%, var(--sky)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
.kgx .kgx-stat p { margin-top: 16px; max-width: 280px; color: var(--muted); font-size: clamp(.95rem, 1.2vw, 1.1rem); }
.kgx .kgx-pillars { position: relative; }
.kgx .kgx-pillar { position: sticky; top: calc(var(--top) + 26px + var(--i) * 24px); margin-bottom: clamp(20px, 3vw, 40px); }
.kgx .kgx-pillar__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(28px, 5vw, 80px); align-items: center; min-height: min(560px, 78vh); padding: clamp(28px, 4.4vw, 70px); border-radius: clamp(28px, 3.4vw, 48px); background: var(--bg); color: var(--ink); box-shadow: 0 -14px 40px -16px rgba(9,24,88,.18), 0 40px 80px -30px rgba(9,24,88,.35); transform: scale(var(--sc, 1)); transform-origin: 50% 0; transition: transform .2s linear; will-change: transform; }
.kgx .kgx-pillar__n { display: block; font-size: clamp(4rem, 9vw, 8.5rem); font-weight: 800; line-height: .85; letter-spacing: -.05em; color: transparent; -webkit-text-stroke: 1.5px color-mix(in srgb, var(--ink) 38%, transparent); }
.kgx .kgx-pillar__ico { display: grid; place-items: center; width: 60px; height: 60px; margin: 24px 0 22px; border-radius: 50%; font-size: 1.4rem; background: var(--ink); color: var(--bg); box-shadow: 0 0 0 8px color-mix(in srgb, var(--ink) 12%, transparent); }
.kgx .kgx-pillar h3 { font-weight: 800; font-size: clamp(1.7rem, 3.1vw, 3rem); line-height: 1.08; letter-spacing: -.015em; color: inherit; text-wrap: balance; }
.kgx .kgx-pillar p { margin-top: 18px; max-width: 520px; font-size: clamp(1rem, 1.25vw, 1.15rem); line-height: 1.75; color: color-mix(in srgb, var(--ink) 84%, transparent); }
.kgx .kgx-pillar p a { color: inherit; font-weight: 700; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; word-break: break-word; }
.kgx .kgx-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; } .kgx .kgx-pair .kgx-photo:nth-child(2) { margin-top: 36px; }
.kgx .kgx-photo--flat { border-radius: 22px; } .kgx .kgx-photo--flat .kgx-photo__in { box-shadow: 0 20px 44px -14px rgba(0,0,0,.35); }
.kgx .kgx-art { position: relative; display: grid; place-items: center; aspect-ratio: 1; max-width: 400px; margin: 0 auto; width: 100%; font-size: clamp(4rem, 9vw, 7rem); color: var(--ink); }
.kgx .kgx-art span { position: absolute; inset: 0; border-radius: 50%; border: 2px solid color-mix(in srgb, var(--ink) 40%, transparent); animation: kgx-ripple 4.5s ease-out infinite; }
.kgx .kgx-art span:nth-child(2) { animation-delay: 1.5s; } .kgx .kgx-art span:nth-child(3) { animation-delay: 3s; }
.kgx .kgx-art i { position: relative; z-index: 1; filter: drop-shadow(0 20px 24px rgba(0,0,0,.25)); animation: kgx-float 5s ease-in-out infinite; }
@keyframes kgx-ripple { from { transform: scale(.35); opacity: .9; } to { transform: scale(1); opacity: 0; } }
@keyframes kgx-float { 50% { transform: translateY(-14px) rotate(-5deg); } }
.kgx .kgx-note { margin-top: clamp(26px, 3vw, 44px); text-align: right; font-size: .88rem; color: var(--muted); font-weight: 500; }
.kgx .kgx-note i { color: var(--crimson); margin-right: 8px; }
/* gallery */
.kgx .kgx-gal { position: relative; }
.kgx .kgx-gal__track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; border-radius: 22px; }
.kgx .kgx-gal__track::-webkit-scrollbar { display: none; }
.kgx .kgx-gal__slide { flex: 0 0 100%; scroll-snap-align: center; padding: 6px; }
.kgx .kgx-gal__nav { position: absolute; top: 50%; margin-top: -24px; width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; padding: 0; cursor: pointer; color: #fff; background: rgba(6,13,54,.7); border: 1px solid rgba(255,255,255,.3); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); transition: background .2s, transform .3s var(--ease); z-index: 3; }
.kgx .kgx-gal__nav:hover { background: var(--crimson); transform: scale(1.1); }
.kgx .kgx-gal__nav--prev { left: 14px; } .kgx .kgx-gal__nav--next { right: 14px; }
.kgx .kgx-gal__dots { display: flex; justify-content: center; gap: 8px; padding-top: 16px; }
.kgx .kgx-gal__dot { width: 9px; height: 9px; border-radius: 99px; padding: 0; border: 0; background: #cbd3de; cursor: pointer; transition: width .4s var(--ease), background .3s; }
.kgx .kgx-gal__dot.is-on { width: 30px; background: var(--crimson); }

/* ===== finale ===== */
.kgx .kgx-finale { position: relative; z-index: 11; background: var(--ink); color: #fff; padding: calc(var(--rl) + clamp(90px, 12vw, 180px)) 0 clamp(60px, 8vw, 110px); overflow: clip; border-radius: var(--rl) var(--rl) 0 0; margin-top: calc(var(--rl) * -1); }
.kgx .kgx-finale__glow { position: absolute; left: -10%; top: 10%; width: 700px; height: 700px; border-radius: 50%; background: rgba(230,54,45,.3); filter: blur(150px); pointer-events: none; }

.kgx .kgx-finale__in { position: relative; z-index: 2; min-height: min(70vh, 640px); display: flex; flex-direction: column; justify-content: center; }
.kgx .kgx-finale__t { max-width: 900px; font-weight: 800; font-size: clamp(3rem, 9vw, 9rem); line-height: .98; letter-spacing: -.03em; text-transform: uppercase; color: #fff; }
.kgx .kgx-finale__p { max-width: 520px; margin-top: clamp(28px, 4vw, 50px); font-size: clamp(1.05rem, 1.6vw, 1.4rem); color: rgba(255,255,255,.78); }
.kgx .kgx-finale__p strong { display: block; color: var(--teal); font-weight: 600; margin-top: 6px; }
.kgx .kgx-marquee { position: relative; z-index: 2; margin-top: clamp(40px, 6vw, 90px); overflow: hidden; border-block: 1px solid var(--hair-l); padding: clamp(18px, 2.4vw, 34px) 0; }
.kgx .kgx-marquee__t { display: flex; width: max-content; animation: kgx-mq 38s linear infinite; font-weight: 800; font-size: clamp(2.6rem, 8vw, 7.4rem); line-height: 1; letter-spacing: -.02em; text-transform: uppercase; white-space: nowrap; }
.kgx .kgx-marquee__t span { padding-right: .5em; color: #fff; } .kgx .kgx-marquee__t .o { color: transparent; -webkit-text-stroke: 1.5px rgba(255,255,255,.7); }
.kgx .kgx-marquee:hover .kgx-marquee__t { animation-play-state: paused; }
@keyframes kgx-mq { to { transform: translateX(-50%); } }
.kgx .kgx-finale__s { position: relative; z-index: 2; margin-top: clamp(28px, 4vw, 54px); text-align: center; padding-inline: 20px; font-size: clamp(.95rem, 1.4vw, 1.2rem); letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.72); }

/* ===== lightbox, to-top ===== */
.kgx .kgx-lightbox { position: fixed; inset: 0; margin: auto; max-width: min(1100px, 94vw); max-height: 92vh; overflow: visible; background: transparent; color: #fff; }
.kgx .kgx-lightbox::backdrop { background: rgba(6,13,54,.88); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.kgx .kgx-lightbox img { max-height: 86vh; width: auto; max-width: 100%; margin: 0 auto; border-radius: 22px; background: #fff; box-shadow: 0 40px 100px rgba(0,0,0,.6); }
.kgx .kgx-lightbox__x { position: absolute; right: 0; top: -48px; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; padding: 0; cursor: pointer; color: #fff; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.3); }
.kgx .kgx-lightbox__x:hover { background: var(--crimson); }
.kgx .kgx-top { position: fixed; right: 22px; bottom: 22px; z-index: 85; width: 50px; height: 50px; border-radius: 50%; display: grid; place-items: center; padding: 0; color: #fff; cursor: pointer; background: var(--crimson); border: 1px solid rgba(255,255,255,.25); box-shadow: 0 14px 30px -6px rgba(181,25,25,.6); opacity: 0; transform: translateY(16px); pointer-events: none; transition: opacity .3s, transform .4s var(--ease), background .2s; }
.kgx .kgx-top.is-visible { opacity: 1; transform: none; pointer-events: auto; }
.kgx .kgx-top:hover { background: #8c1111; }

/* ===== responsive ===== */
@media (max-width: 1199.98px) {
  .kgx .kgx-dots { display: none; }
  .kgx .kgx-ledger__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 70px; }
}
@media (max-width: 991.98px) {
  .kgx .kgx-hero__cols { grid-template-columns: 1fr; }
  .kgx .kgx-hero__visual { max-width: 480px; margin-top: 10px; }

  .kgx .kgx-chap__grid { grid-template-columns: 1fr; }
  .kgx .kgx-chap__sticky { position: static; }
  .kgx .kgx-chap__media { max-width: 520px; }
  .kgx .kgx-spot__head { display: none; }
  .kgx .kgx-prow { grid-template-columns: 1fr; }
  .kgx .kgx-prm__in { position: static; }
  .kgx .kgx-prm { padding-bottom: 8px; }
  .kgx .kgx-prow + .kgx-prow .kgx-side { border-top: 0; }
  .kgx .kgx-side { padding: 28px 22px; border-radius: 18px; margin-top: 14px; }
  .kgx .kgx-side::before { content: attr(data-label); display: block; font-size: .66rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 10px; }
  .kgx .kgx-side--real::before { color: var(--ok-d); } .kgx .kgx-side--fake::before { color: var(--bad); } .kgx .kgx-prow--alert .kgx-side--fake::before { color: #fff; }
  .kgx .kgx-prow__wide { grid-column: 1; padding: 20px 0 0; background: none; }
  .kgx .kgx-prow:last-child .kgx-side:last-child, .kgx .kgx-prow:last-child .kgx-side:nth-child(2) { border-radius: 18px; }
  .kgx .kgx-pillar { position: static; }
  .kgx .kgx-pillar__in { grid-template-columns: 1fr; min-height: 0; transform: none !important; }

  .kgx .kgx-ringfb--finale { right: 50%; width: 80vw; transform: translate(50%, -50%); top: 38%; }
  .kgx .kgx-stats { grid-template-columns: 1fr; row-gap: 44px; }
  .kgx .kgx-stat, .kgx .kgx-stat:first-child { padding: 0; } .kgx .kgx-stat + .kgx-stat { border-left: 0; border-top: 1px solid var(--hair); padding-top: 44px; }
}
@media (max-width: 767.98px) {
  .kgx .kgx-ledger__grid { grid-template-columns: 1fr; }
  .kgx .kgx-chap__list li { grid-template-columns: 44px 1fr; gap: 16px; } .kgx .kgx-ico { width: 44px; height: 44px; }
  .kgx .kgx-pair { grid-template-columns: 1fr 1fr; gap: 12px; }
  .kgx .kgx-video__frame { width: calc(88% + var(--vp) * 12%); }
  .kgx .kgx-video__cap span { display: none; }
  .kgx .kgx-note { text-align: left; }
}
@media (prefers-reduced-motion: reduce) {
  .kgx *, .kgx *::before, .kgx *::after { animation: none !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  .js .kgx [data-reveal], .js .kgx [data-in] { opacity: 1; transform: none; }
  .kgx .kgx-w > span { transform: none; }
}

/* Full-bleed escape when the theme wraps page content in a boxed container (e.g. Astra .ast-container) */
.ast-container .kgx, .site-content .ast-container .kgx, .entry-content .kgx { width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
body.kgx-page { overflow-x: clip; }
body.kgx-page .site-content > .ast-container, body.kgx-page #primary, body.kgx-page .entry-content { padding: 0 !important; margin: 0 !important; max-width: none !important; width: 100% !important; }
