/* Kuwal Store - Home hub (P2). Scoped with .ks-home-*; reads only --ks-* tokens (each tile re-themes via data-theme). */

/* ============ Hero scroll scene ============
   --p (0..1) is written by KSMotion on .ks-home-scene. Layout is a 2-row grid: text row (copy and split stacked in the
   same cell) above a stage row (cluster / orbs) that never overlaps the text. Phases:
   t1: cluster splits + copy fades + orbs emerge (p .10 -> .50)   t2: split text + chips appear (p .50 -> .80) */
.ks-home-hero { background: var(--ks-wash); overflow-x: clip; }
.ks-home-scene {
  --t1: clamp(0, calc((var(--p) - .1) / .4), 1);
  --t2: clamp(0, calc((var(--p) - .5) / .3), 1);
  --spread: min(27vw, 190px);
  --c-store-a: #F7B6CB; --c-store-b: #C93C68;
  --c-soft-a: #A9C1FF; --c-soft-b: #1D4ED8;
  --c-game-a: #CDBEFF; --c-game-b: #7C3AED;
}
.ks-home-scene__inner { position: relative; width: 100%; height: 100%; display: grid; grid-template-rows: auto minmax(0, 1fr); padding-bottom: var(--ks-s-4); }

.ks-home-hero__copy, .ks-home-split { grid-area: 1 / 1; position: relative; z-index: 3; display: flex; flex-direction: column; align-items: center; text-align: center; padding-top: clamp(16px, 4vh, 56px); }
.ks-home-hero__copy { opacity: max(0, calc(1 - var(--t1) * 2)); transform: translate3d(0, calc(var(--t1) * -32px), 0); }
.ks-home-hero__title { margin-top: var(--ks-s-2); max-width: 15ch; font-size: clamp(2rem, 1.2rem + 3.6vw, 4.5rem); }
.ks-home-hero__lead { margin: var(--ks-s-3) auto 0; }
.ks-home-hero__cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 0 var(--ks-s-5); margin-top: var(--ks-s-4); }

.ks-home-stage { grid-area: 2 / 1; position: relative; min-height: 0; container-type: size; pointer-events: none; z-index: 1; overflow: hidden; }
.ks-home-cluster { position: absolute; left: 50%; top: 50%; height: min(100cqh, 440px); aspect-ratio: 1; margin: calc(min(100cqh, 440px) / -2) 0 0 calc(min(100cqh, 440px) / -2); opacity: max(0, calc(1 - var(--t1) * 2.2)); transform: scale(calc(1 + var(--t1) * .3)); }
.ks-home-cl { position: absolute; display: block; }
.ks-home-cl .ks-illo { display: block; width: 100%; height: auto; }
.ks-home-cl--blob { inset: -6%; }
.ks-home-cl--bear { width: 52%; left: 24%; top: 14%; transform: translate3d(0, calc(var(--t1) * -40px), 0); }
.ks-home-cl--bunny { width: 34%; left: 2%; top: 42%; transform: translate3d(calc(var(--t1) * -90px), 0, 0) rotate(-8deg); }
.ks-home-cl--panda { width: 34%; right: 2%; top: 42%; transform: translate3d(calc(var(--t1) * 90px), 0, 0) rotate(8deg); }
.ks-home-cl--heart { width: 15%; left: 66%; top: 6%; }
.ks-home-cl--star { width: 12%; left: 14%; top: 14%; }
.ks-home-cl--paw { width: 13%; left: 44%; top: 78%; }

.ks-home-orbs { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.ks-home-orb {
  position: absolute; width: min(22vw, 160px, 92cqh); aspect-ratio: 1; border-radius: 50%;
  opacity: min(1, calc(var(--t1) * 2.4 - .2));
  transform: translate3d(calc(var(--ox, 0) * var(--spread) * var(--t1)), 0, 0) scale(calc(.25 + var(--t1) * .75));
}
.ks-home-orb--store { --ox: -1; background: radial-gradient(circle at 28% 24%, rgba(255, 255, 255, .75) 0, rgba(255, 255, 255, 0) 34%), linear-gradient(145deg, var(--c-store-a), var(--c-store-b)); box-shadow: 0 14px 34px rgba(201, 60, 104, .22), inset 0 -8px 16px rgba(120, 20, 60, .12); }
.ks-home-orb--software { --ox: 0; background: radial-gradient(circle at 28% 24%, rgba(255, 255, 255, .75) 0, rgba(255, 255, 255, 0) 34%), linear-gradient(145deg, var(--c-soft-a), var(--c-soft-b)); box-shadow: 0 14px 34px rgba(29, 78, 216, .2), inset 0 -8px 16px rgba(20, 40, 120, .12); }
.ks-home-orb--games { --ox: 1; background: radial-gradient(circle at 28% 24%, rgba(255, 255, 255, .75) 0, rgba(255, 255, 255, 0) 34%), linear-gradient(145deg, var(--c-game-a), var(--c-game-b)); box-shadow: 0 14px 34px rgba(124, 58, 237, .22), inset 0 -8px 16px rgba(60, 20, 140, .12); }

.ks-home-split { opacity: var(--t2); transform: translate3d(0, calc((1 - var(--t2)) * 20px), 0); }
.ks-home-split__title { font-family: var(--ks-font-display); font-weight: var(--ks-h-weight); letter-spacing: var(--ks-h-track); font-size: clamp(1.75rem, 1.2rem + 2.4vw, 3rem); line-height: 1.1; color: var(--ks-text); text-wrap: balance; }
.ks-home-split__lead { margin-top: var(--ks-s-2); color: var(--ks-muted); font-size: clamp(1rem, .95rem + .4vw, 1.25rem); }
.ks-home-split__links { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--ks-s-2); list-style: none; margin: var(--ks-s-4) 0 0; padding: 0; }
.ks-home-chip { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 var(--ks-s-4); border-radius: var(--ks-r-pill); font-family: var(--ks-font-display); font-weight: 600; color: #fff !important; text-decoration: none; box-shadow: 0 6px 16px rgba(60, 40, 60, .14); transition: transform var(--ks-dur-2) var(--ks-ease-out), box-shadow var(--ks-dur-2) var(--ks-ease-out); }
.ks-home-chip:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(60, 40, 60, .2); }
.ks-home-chip:focus-visible { outline: 3px solid var(--ks-focus); outline-offset: 3px; }
.ks-home-chip--store { background: linear-gradient(145deg, #E0658A, #C93C68); }
.ks-home-chip--software { background: linear-gradient(145deg, #4B78F0, #1D4ED8); }
.ks-home-chip--games { background: linear-gradient(145deg, #9A6BF5, #7C3AED); }

/* Step handoff: inactive layers must not catch clicks */
.ks-home-scene[data-step="1"] .ks-home-hero__copy { visibility: hidden; }
.ks-home-scene[data-step="0"] .ks-home-split { visibility: hidden; }

/* No motion / no JS / reduced motion / below 1024px (not pinned): compact stacked composition */
html:not(.ks-motion) .ks-home-scene { min-height: 0; }
html:not(.ks-motion) .ks-home-scene .ks-scene__sticky { position: static; height: auto; overflow: visible; padding-block: var(--ks-s-6); }
html:not(.ks-motion) .ks-home-scene__inner { display: flex; flex-direction: column; align-items: center; gap: var(--ks-s-4); height: auto; padding-block: 0; text-align: center; }
html:not(.ks-motion) .ks-home-hero__copy { order: 1; opacity: 1 !important; transform: none; visibility: visible !important; padding: 0; }
html:not(.ks-motion) .ks-home-stage, html:not(.ks-motion) .ks-home-split { display: contents; }
html:not(.ks-motion) .ks-home-cluster { order: 2; position: relative; left: auto; top: auto; margin: 0; width: min(64vw, 260px); height: auto; opacity: 1; transform: none; }
html:not(.ks-motion) .ks-home-cl { transform: none; }
html:not(.ks-motion) .ks-home-split__title { order: 3; margin-top: var(--ks-s-4); }
html:not(.ks-motion) .ks-home-split__lead { order: 3; margin-top: calc(var(--ks-s-2) * -1); }
html:not(.ks-motion) .ks-home-orbs { order: 4; position: static; display: flex; gap: var(--ks-s-3); }
html:not(.ks-motion) .ks-home-orb { position: relative; width: min(22vw, 96px); opacity: 1; transform: none; }
html:not(.ks-motion) .ks-home-split__links { order: 5; margin-top: 0; opacity: 1; visibility: visible !important; }
@media (max-width: 1023px) {
  html.ks .ks-home-scene { min-height: 0; }
  html.ks .ks-home-scene .ks-scene__sticky { position: static; height: auto; overflow: visible; padding-block: var(--ks-s-6); }
  html.ks .ks-home-scene__inner { display: flex; flex-direction: column; align-items: center; gap: var(--ks-s-4); height: auto; padding-block: 0; text-align: center; }
  html.ks .ks-home-hero__copy { order: 1; opacity: 1 !important; transform: none; visibility: visible !important; padding: 0; }
  html.ks .ks-home-stage, html.ks .ks-home-split { display: contents; }
  html.ks .ks-home-cluster { order: 2; position: relative; left: auto; top: auto; margin: 0; width: min(64vw, 260px); height: auto; opacity: 1; transform: none; }
  html.ks .ks-home-cl { transform: none; }
  html.ks .ks-home-split__title { order: 3; margin-top: var(--ks-s-4); }
  html.ks .ks-home-split__lead { order: 3; margin-top: calc(var(--ks-s-2) * -1); }
  html.ks .ks-home-orbs { order: 4; position: static; display: flex; gap: var(--ks-s-3); }
  html.ks .ks-home-orb { position: relative; width: min(22vw, 96px); opacity: 1; transform: none; }
  html.ks .ks-home-split__links { order: 5; margin-top: 0; opacity: 1; visibility: visible !important; }
}

/* ============ Tiles ============ */
.ks-home-tiles { padding: 12px; background: var(--ks-bg); }
.ks-home-tiles__grid { display: grid; gap: 12px; max-width: 1440px; margin-inline: auto; }
.ks-home-tile {
  position: relative; display: flex; flex-direction: column; overflow: hidden; isolation: isolate; min-height: 520px;
  border-radius: var(--ks-r-xl); background: var(--ks-bg); color: var(--ks-text); font-family: var(--ks-font-body);
}
.ks-home-tile__copy { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; text-align: center; padding: clamp(32px, 6vw, 64px) var(--ks-s-5) 0; }
.ks-home-tile__title { margin-top: var(--ks-s-2); font-family: var(--ks-font-display); font-weight: var(--ks-h-weight); letter-spacing: var(--ks-h-track); font-size: clamp(2rem, 1.3rem + 3vw, 3.5rem); line-height: 1.06; text-wrap: balance; max-width: 16ch; }
.ks-home-tile__text { margin-top: var(--ks-s-3); max-width: 34ch; color: var(--ks-muted); font-size: clamp(1.0625rem, 1rem + .35vw, 1.3125rem); line-height: 1.45; text-wrap: pretty; }
.ks-home-tile__links { display: flex; flex-wrap: wrap; justify-content: center; gap: 0 var(--ks-s-5); margin-top: var(--ks-s-3); }
.ks-home-tile__art { position: relative; flex: 1 1 auto; min-height: 300px; margin-top: var(--ks-s-4); }

/* Store tile */
.ks-home-tile--store { background: radial-gradient(120% 90% at 50% 100%, #FFD3E0 0%, #FFE4EC 45%, #FFF3E8 100%); }
.ks-home-art--store { min-height: 340px; }
.ks-home-art__blob, .ks-home-art__bear, .ks-home-art__deco { position: absolute; display: block; }
.ks-home-art__blob .ks-illo, .ks-home-art__bear .ks-illo, .ks-home-art__deco .ks-illo { display: block; width: 100%; height: auto; }
.ks-home-art__blob--a { width: min(88%, 460px); left: 50%; bottom: -14%; margin-left: calc(min(88%, 460px) / -2); }
.ks-home-art__blob--b { width: min(46%, 240px); right: 4%; bottom: 8%; }
.ks-home-art__bear { width: min(64%, 320px); left: 50%; bottom: -4%; margin-left: calc(min(64%, 320px) / -2); filter: drop-shadow(0 18px 24px rgba(120, 60, 50, .18)); }
.ks-home-art__deco--heart { width: 16%; max-width: 72px; left: 16%; top: 20%; }
.ks-home-art__deco--star { width: 12%; max-width: 56px; right: 18%; top: 10%; }
.ks-home-art__deco--gift { width: 17%; max-width: 80px; right: 8%; bottom: 14%; }

/* Software tile (corporate) */
.ks-home-tile--software { background: linear-gradient(180deg, var(--ks-surface-2), var(--ks-bg) 140%); border: 1px solid var(--ks-border); }
.ks-home-tile--software .ks-home-tile__title { letter-spacing: -.02em; }
.ks-home-art--software { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; padding: 0 var(--ks-s-4) var(--ks-s-5); gap: var(--ks-s-3); }
.ks-home-mock { width: min(100%, 420px); text-align: left; }
.ks-home-mock__body { display: grid; gap: var(--ks-s-3); padding: var(--ks-s-4) var(--ks-s-5) var(--ks-s-5); }
.ks-home-mock__fps { display: flex; align-items: baseline; gap: var(--ks-s-2); }
.ks-home-mock__num { font-family: var(--ks-font-display); font-weight: 700; font-size: clamp(3rem, 2.4rem + 3vw, 4.5rem); line-height: 1; letter-spacing: -.03em; font-variant-numeric: tabular-nums; color: var(--ks-primary-ink); min-width: 3ch; }
.ks-home-mock__unit { font-weight: 600; letter-spacing: .08em; color: var(--ks-muted); }
.ks-home-mock__graph { display: block; width: 100%; height: 64px; }
.ks-home-mock__stats { display: grid; gap: var(--ks-s-2); margin: 0; }
.ks-home-mock__stats > div { display: grid; grid-template-columns: 84px 1fr; align-items: center; gap: var(--ks-s-3); }
.ks-home-mock__stats dt { font-size: .8125rem; color: var(--ks-muted); font-weight: 500; }
.ks-home-mock__stats dd { margin: 0; height: 6px; border-radius: 6px; background: var(--ks-border); overflow: hidden; }
.ks-home-mock__stats dd i { display: block; height: 100%; width: var(--w, 50%); border-radius: inherit; background: var(--ks-primary); }
.ks-home-mock__cap { text-align: center; }

/* Games tile (dark) */
.ks-home-tile--games { background: radial-gradient(90% 60% at 20% 100%, rgba(139, 92, 246, .32), transparent 70%), radial-gradient(80% 60% at 90% 90%, rgba(20, 184, 166, .2), transparent 70%), var(--ks-bg); }
.ks-home-tile--games .ks-home-tile__title { font-weight: 800; }
.ks-home-art--games { display: flex; align-items: center; justify-content: center; padding: var(--ks-s-4) var(--ks-s-4) var(--ks-s-7); }
.ks-home-icons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ks-s-5) var(--ks-s-6); list-style: none; margin: 0; padding: 0; }
.ks-home-icon { display: flex; justify-content: center; }
.ks-home-icon:nth-child(even) { margin-top: var(--ks-s-5); }
.ks-home-icon__link { display: flex; flex-direction: column; align-items: center; gap: var(--ks-s-2); text-decoration: none; color: var(--ks-text); min-width: 44px; min-height: 44px; }
.ks-home-icon__img { display: block; width: clamp(80px, 18vw, 104px); aspect-ratio: 1; border-radius: 24%; overflow: hidden; background: var(--ks-surface-2); box-shadow: 0 0 48px rgba(var(--g-rgb), .35), 0 0 0 1px rgba(255, 255, 255, .08); transition: transform var(--ks-dur-3) var(--ks-ease-out), box-shadow var(--ks-dur-3) var(--ks-ease-out); }
.ks-home-icon__img img, .ks-home-icon__img .ks-illo { display: block; width: 100%; height: 100%; object-fit: cover; }
.ks-home-icon__link:hover .ks-home-icon__img { transform: scale(1.06); box-shadow: 0 0 64px rgba(var(--g-rgb), .55), 0 0 0 1px rgba(255, 255, 255, .16); }
.ks-home-icon__link:focus-visible { outline: 3px solid var(--ks-focus); outline-offset: 6px; border-radius: 16px; }
.ks-home-icon__name { font-family: var(--ks-font-display); font-weight: 700; font-size: .9375rem; text-align: center; }
.ks-home-icon__soon { font-size: .6875rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 2px 8px; border-radius: var(--ks-r-pill); color: #0B1020; background: var(--g-accent); }
@media (prefers-reduced-motion: no-preference) {
  html.ks-motion .ks-home-icon { animation: ks-home-float 6s var(--ks-ease) infinite alternate; animation-delay: calc(var(--i, 0) * -1.4s); }
  @keyframes ks-home-float { from { transform: translate3d(0, -6px, 0); } to { transform: translate3d(0, 8px, 0); } }
}

@media (min-width: 900px) {
  .ks-home-tiles__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ks-home-tile { min-height: 640px; }
  .ks-home-tile--store { grid-column: 1 / -1; min-height: 560px; flex-direction: row; align-items: stretch; }
  .ks-home-tile--store .ks-home-tile__copy { flex: 1 1 50%; align-items: flex-start; text-align: left; justify-content: center; padding: var(--ks-s-8) var(--ks-s-7); }
  .ks-home-tile--store .ks-home-tile__links { justify-content: flex-start; }
  .ks-home-tile--store .ks-home-tile__art { flex: 1 1 50%; margin-top: 0; min-height: 0; }
  .ks-home-tile--store .ks-home-tile__title { max-width: 12ch; }
}

/* ============ Featured plush ============ */
.ks-home-featured { background: var(--ks-bg); }
.ks-home-featured__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: var(--ks-s-3) var(--ks-s-5); margin-bottom: var(--ks-s-6); }
.ks-home-featured__head .ks-h2 { margin-top: var(--ks-s-1); }
.ks-home-featured__list { margin-inline: calc(var(--ks-gutter) * -1); padding-inline: var(--ks-gutter); scroll-padding-inline: var(--ks-gutter); padding-block: var(--ks-s-2) var(--ks-s-4); }
.ks-home-featured__item { width: min(72vw, 280px); }
.ks-home-featured__item > * { height: 100%; }
@media (min-width: 640px) {
  .ks-home-featured__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ks-s-5); overflow: visible; margin-inline: 0; padding-inline: 0; }
  .ks-home-featured__item { width: auto; }
}
@media (min-width: 1000px) { .ks-home-featured__list { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* ============ Trust strip ============ */
.ks-home-trust__list { margin: 0; padding: 0; }
.ks-home-trust__item { display: flex; flex-direction: column; align-items: center; gap: var(--ks-s-1); text-align: center; padding: var(--ks-s-3); }
.ks-home-trust__item strong { font-family: var(--ks-font-display); font-weight: 600; font-size: 1.0625rem; color: var(--ks-text); }
.ks-home-trust__item > span:last-child { color: var(--ks-muted); font-size: .9375rem; line-height: 1.45; max-width: 26ch; }
.ks-home-trust__ico { display: block; width: 56px; height: 56px; margin-bottom: var(--ks-s-2); }
.ks-home-trust__ico .ks-illo { display: block; width: 100%; height: 100%; }

/* ============ Newsletter ============ */
.ks-home-news { background: var(--ks-wash); }
.ks-home-news__ico { display: block; width: 72px; height: 72px; margin: 0 auto var(--ks-s-3); }
.ks-home-news__ico .ks-illo { display: block; width: 100%; height: 100%; }
.ks-home-news .ks-lead { margin-top: var(--ks-s-3); }
.ks-home-news__form { display: flex; justify-content: center; margin-top: var(--ks-s-5); }
.ks-home-news__form .ks-newsletter { width: 100%; max-width: 460px; }

/* ============ Mobile app-like interface (<= 767px). Desktop is untouched: these blocks are hidden >= 768px. ============ */
.ks-home-stories, .ks-home-mhero { display: none; }
.ks-home-morb { display: block; }

@media (min-width: 768px) {
  .ks-home-tiles__grid.ks-rail { overflow: visible; }
}

@media (max-width: 767px) {
  /* The desktop scroll scene is replaced by stories + carousel */
  .ks-home-hero { display: none; }

  /* ---- Story-style section avatars ---- */
  .ks-home-stories { display: flex; justify-content: space-around; gap: var(--ks-s-3); padding: var(--ks-s-4) var(--ks-gutter) var(--ks-s-2); background: var(--ks-bg); }
  .ks-home-story { display: flex; flex-direction: column; align-items: center; gap: var(--ks-s-2); min-width: 72px; min-height: 44px; text-decoration: none; color: var(--ks-text); -webkit-tap-highlight-color: transparent; }
  .ks-home-story__ring { position: relative; display: block; width: 84px; height: 84px; border-radius: 50%; overflow: hidden; transition: transform 240ms var(--ks-ease-spring), opacity 200ms var(--ks-ease); }
  .ks-home-story__ring::before { content: ""; position: absolute; inset: -10%; border-radius: 50%; background: conic-gradient(from 0deg, var(--r1), var(--r2), var(--r3), var(--r1)); animation: ks-home-spin 5s linear infinite; }
  .ks-home-story__face { position: absolute; inset: 4px; display: grid; place-items: center; overflow: hidden; border-radius: 50%; border: 3px solid var(--ks-bg); background: var(--f, #fff); }
  .ks-home-story__face .ks-illo { display: block; width: 88%; height: auto; }
  .ks-home-story__face img { display: block; width: 100%; height: 100%; object-fit: cover; }
  .ks-home-story__name { font-family: var(--ks-font-display); font-weight: 600; font-size: .875rem; }
  .ks-home-story:active .ks-home-story__ring { transform: scale(.94); }
  .ks-home-story.is-go .ks-home-story__ring { transform: scale(1.22); }
  .ks-home-story.is-go .ks-home-story__name { opacity: 0; }
  .ks-home-story--store { --r1: #F7B6CB; --r2: #C93C68; --r3: #FFB86B; --f: #FFE4EC; }
  .ks-home-story--software { --r1: #A9C1FF; --r2: #1D4ED8; --r3: #5EE1D0; --f: #EFF4FF; }
  .ks-home-story--games { --r1: #CDBEFF; --r2: #7C3AED; --r3: #F472B6; --f: #1A2446; }
  @keyframes ks-home-spin { to { transform: rotate(360deg); } }

  /* ---- Hero carousel ---- */
  .ks-home-mhero { display: block; padding: var(--ks-s-3) 0 var(--ks-s-2); background: var(--ks-bg); }
  .ks-home-mhero__track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .ks-home-mhero__track::-webkit-scrollbar { display: none; }
  .ks-home-mslide { flex: 0 0 100%; scroll-snap-align: center; scroll-snap-stop: always; padding-inline: var(--ks-gutter); min-width: 0; }
  .ks-home-mslide__card { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: var(--ks-s-2); min-height: 420px; padding: var(--ks-s-5); border-radius: var(--ks-r-xl); overflow: hidden; box-shadow: var(--ks-sh-2); }
  .ks-home-mslide__card--store { background: linear-gradient(160deg, #FFE4EC, #FFF3E8); }
  .ks-home-mslide__card--gift { background: linear-gradient(160deg, #FFF1C2, #FFE4EC); }
  .ks-home-mslide__card--more { background: linear-gradient(160deg, #1D4ED8, #7C3AED); color: #fff; }
  .ks-home-mslide__card--more .ks-eyebrow, .ks-home-mslide__card--more .ks-home-mslide__title, .ks-home-mslide__card--more .ks-home-mslide__text { color: #fff; }
  .ks-home-mslide__title { font-family: var(--ks-font-display); font-weight: var(--ks-h-weight); letter-spacing: var(--ks-h-track); font-size: clamp(1.75rem, 1.2rem + 3vw, 2.25rem); line-height: 1.1; text-wrap: balance; color: var(--ks-text); }
  .ks-home-mslide__text { color: var(--ks-muted); font-size: 1rem; line-height: 1.45; max-width: 30ch; margin-bottom: var(--ks-s-2); }
  .ks-home-mslide__btns { display: flex; flex-wrap: wrap; gap: var(--ks-s-2); }
  .ks-home-mslide__art { display: flex; align-items: flex-end; justify-content: center; gap: var(--ks-s-2); width: 100%; margin-top: auto; padding-top: var(--ks-s-3); }
  .ks-home-mslide__art > span { display: block; width: 26%; }
  .ks-home-mslide__art > span.is-main { width: 40%; }
  .ks-home-mslide__art .ks-illo { display: block; width: 100%; height: auto; }
  .ks-home-morb { width: 84px; height: 84px; border-radius: 50%; margin: 0 var(--ks-s-2); }
  .ks-home-morb--software { background: radial-gradient(circle at 28% 24%, rgba(255, 255, 255, .75) 0, rgba(255, 255, 255, 0) 34%), linear-gradient(145deg, #A9C1FF, #1D4ED8); box-shadow: 0 10px 26px rgba(10, 20, 80, .3); }
  .ks-home-morb--games { background: radial-gradient(circle at 28% 24%, rgba(255, 255, 255, .75) 0, rgba(255, 255, 255, 0) 34%), linear-gradient(145deg, #CDBEFF, #7C3AED); box-shadow: 0 10px 26px rgba(10, 20, 80, .3); }
  .ks-home-mhero__dots { display: flex; justify-content: center; margin-top: var(--ks-s-2); }
  .ks-home-mhero__dot { position: relative; width: 28px; height: 28px; padding: 0; border: 0; background: none; cursor: pointer; }
  .ks-home-mhero__dot::before { content: ""; position: absolute; left: 50%; top: 50%; width: 8px; height: 8px; margin: -4px 0 0 -4px; border-radius: 4px; background: var(--ks-border-strong); transition: transform 260ms var(--ks-ease-spring), background-color 200ms var(--ks-ease); }
  .ks-home-mhero__dot.is-active::before { background: var(--ks-primary); transform: scaleX(2.6); }
  .ks-home-mhero__dot:focus-visible { outline: 3px solid var(--ks-focus); outline-offset: -3px; border-radius: 50%; }

  /* ---- Section tiles as swipeable cards ---- */
  .ks-home-tiles { padding: var(--ks-s-2) 0 var(--ks-s-4); }
  .ks-home-tiles__grid.ks-rail { display: flex; gap: 12px; max-width: none; padding-inline: 12px; scroll-padding-inline: 12px; margin: 0; }
  .ks-home-tiles__grid.ks-rail > .ks-home-tile { flex: 0 0 min(86vw, 380px); min-height: 480px; }
  .ks-home-tile__title { font-size: clamp(1.75rem, 1.2rem + 3vw, 2.25rem); }

  /* ---- Featured plush: 2-column grid with round quick-add ---- */
  .ks-home-featured__list.ks-rail { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ks-s-3); overflow: visible; margin-inline: 0; padding-inline: 0; scroll-snap-type: none; }
  .ks-home-featured__item { width: auto; min-width: 0; }
  .ks-home-featured .ks-pcard__foot { align-items: center; }
  .ks-home-featured .ks-pcard__foot { flex-direction: row; align-items: flex-end; justify-content: space-between; gap: var(--ks-s-2); }
  .ks-home-featured .ks-pcard__price { flex: 1 1 auto; min-width: 0; }
  .ks-home-featured .ks-pcard__add { flex: 0 0 44px; width: 44px; min-width: 44px; max-width: 44px; height: 44px; min-height: 44px; padding: 0; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 0; color: var(--ks-on-primary); }
  .ks-home-featured .ks-pcard__add svg { display: block; width: 20px; height: 20px; color: #fff; stroke: #fff; }
  .ks-home-featured .ks-pcard__add svg circle { fill: #fff; stroke: none; }
  .ks-home-featured a.ks-pcard__add { color: #fff; }
  .ks-home-featured .ks-pcard__add .ks-pcard__add-text { display: none; }
  .ks-home-featured a.ks-pcard__add::after { content: ""; position: static; inset: auto; width: 9px; height: 9px; border-right: 2.5px solid currentColor; border-top: 2.5px solid currentColor; transform: rotate(45deg) translate(-1px, 1px); }
  .ks-home-featured .ks-pcard__add.is-added { animation: ks-home-pop 420ms var(--ks-ease-spring); }
  @keyframes ks-home-pop { 0% { transform: scale(1); } 40% { transform: scale(1.22); } 100% { transform: scale(1); } }
}

@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
  .ks-home-story__ring::before, .ks-home-featured .ks-pcard__add.is-added { animation: none; }
  .ks-home-story__ring { transition: none; }
}
