@layer reset, tokens, base, sections, overrides;@layer reset{*, *::before, *::after{box-sizing: border-box}html{-webkit-text-size-adjust: 100%}body{margin: 0}img, picture, video, svg{display: block;max-width: 100%;height: auto}button, input, select, textarea{font: inherit;color: inherit}ul[class], ol[class]{list-style: none;margin: 0;padding: 0}}@layer tokens{:root{--colour-primary: var(--color-primary);--colour-background: var(--color-background);--colour-surface: var(--color-surface);--colour-border: var(--color-border);--colour-accent: var(--color-secondary);--colour-text: var(--color-on-background);--radius: var(--radius-md);--shadow: var(--shadow-md)}}@layer base{.rt-storefront{min-height: 100vh;background: var(--color-background);color: var(--color-on-background);font-family: var(--font-body);font-size: var(--text-base);line-height: var(--line-height-normal)}h1, h2, h3, h4{font-family: var(--font-heading);line-height: var(--line-height-tight);margin: 0 0 var(--space-4)}h1{font-size: var(--text-3xl)}h2{font-size: var(--text-2xl)}h3{font-size: var(--text-xl)}h4{font-size: var(--text-lg)}p{margin: 0 0 var(--space-4)}small{font-size: var(--text-sm)}a{color: var(--color-primary);text-decoration-thickness: 1px;text-underline-offset: 0.2em}a:hover{text-decoration-thickness: 2px}:focus-visible{outline: 2px solid var(--color-primary);outline-offset: 2px}.container{width: min(100% - var(--space-8), 72rem);margin-inline: auto}.section{padding-block: var(--space-section)}.btn{display: inline-flex;align-items: center;justify-content: center;gap: var(--space-2);padding: var(--space-3) var(--space-6);border: 1px solid var(--color-primary);border-radius: var(--radius-md);background: var(--color-primary);color: var(--color-on-primary);font-weight: var(--weight-medium);text-decoration: none;cursor: pointer}.btn:hover{box-shadow: var(--shadow-md)}.btn--secondary{background: transparent;color: var(--color-primary)}.btn:disabled{opacity: 0.5;cursor: not-allowed}.card{background: var(--color-surface);color: var(--color-on-surface);border: 1px solid var(--color-border);border-radius: var(--radius-md);box-shadow: var(--shadow-sm);padding: var(--space-6)}.field{display: grid;gap: var(--space-2);margin-bottom: var(--space-4)}.field label{font-size: var(--text-sm);font-weight: var(--weight-medium)}.input, input[type='text'], input[type='email'], input[type='search'], input[type='tel'], select, textarea{width: 100%;padding: var(--space-3) var(--space-4);background: var(--color-surface);color: var(--color-on-surface);border: 1px solid var(--color-border);border-radius: var(--radius-sm)}.badge{display: inline-block;padding: var(--space-1) var(--space-3);border-radius: var(--radius-full);background: var(--color-secondary);color: var(--color-on-secondary);font-size: var(--text-xs);font-weight: var(--weight-medium)}}
@layer sections {
  .k-announcement-bar { display: block; width: 100%; background: var(--colour-primary); color: var(--colour-background); font-family: var(--font-body); }
  .k-announcement-bar__inner { display: flex; align-items: center; justify-content: center; gap: var(--space-3); margin: 0 auto; padding: var(--space-2) var(--space-4); }
  .k-announcement-bar__text { min-width: 0; text-align: center; color: var(--colour-background); font-size: calc(var(--text-base) * 0.8125); font-weight: var(--weight-bold); line-height: var(--line-height-tight); text-decoration: none; }
  .k-announcement-bar__arrow { width: 14px; height: 14px; flex: none; fill: none; stroke: var(--colour-background); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
  @media (max-width: 899px) {
    .k-announcement-bar__arrow { display: none; }
  }
}
@layer sections {
  .k-collection-banner { position: relative; width: 100%; font-family: var(--font-body); color: var(--colour-text); overflow: hidden; background:
    repeating-linear-gradient(-18deg, transparent 0 46px, color-mix(in srgb, var(--k-banner-purple) 10%, transparent) 46px 70px),
    radial-gradient(ellipse at 50% 35%, var(--colour-background) 0%, transparent 60%),
    linear-gradient(135deg, color-mix(in srgb, var(--k-banner-purple) 10%, var(--colour-background)), color-mix(in srgb, var(--k-banner-purple) 38%, var(--colour-background))); }
  .k-collection-banner__inner { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: end; max-width: 1440px; margin: 0 auto; }
  .k-collection-banner__copy { grid-column: 1 / -1; display: flex; flex-direction: column; align-items: center; gap: var(--space-3); padding: var(--space-8) var(--space-4) var(--space-4); text-align: center; }
  .k-collection-banner__heading { margin: 0; max-width: 640px; color: var(--k-banner-purple); font-family: var(--font-heading); font-size: var(--text-xl); font-weight: var(--weight-bold); line-height: var(--line-height-tight); }
  .k-collection-banner__sub { margin: 0; font-size: var(--text-base); color: var(--colour-text); }
  .k-collection-banner__code { margin: 0; font-size: var(--text-base); font-weight: var(--weight-bold); color: var(--colour-text); }
  .k-collection-banner__button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: var(--space-3) var(--space-8); background: var(--k-banner-purple); color: var(--color-on-primary); font-weight: var(--weight-bold); border-radius: var(--radius-lg); text-decoration: none; }
  .k-collection-banner__side { display: flex; align-items: flex-end; gap: var(--space-2); padding: 0 var(--space-4) var(--space-4); }
  .k-collection-banner__side--left { justify-content: flex-start; }
  .k-collection-banner__side--right { justify-content: flex-end; }
  .k-collection-banner__pic { display: block; width: 100%; max-width: 150px; aspect-ratio: 1; overflow: hidden; background: var(--colour-background); border-radius: var(--radius-lg); border: 1px solid color-mix(in srgb, var(--k-banner-purple) 25%, var(--colour-background)); }
  .k-collection-banner__pic--1 { transform: rotate(-5deg); }
  .k-collection-banner__pic--2 { transform: rotate(5deg); }
  .k-collection-banner__pic--3 { max-width: 100px; transform: rotate(3deg); }
  .k-collection-banner__img { display: block; width: 100%; height: 100%; object-fit: cover; }
  @media (min-width: 900px) {
    .k-collection-banner__inner { grid-template-columns: minmax(0, 1fr) minmax(0, 620px) minmax(0, 1fr); min-height: 440px; align-items: center; }
    .k-collection-banner__copy { grid-column: 2; grid-row: 1; padding: var(--space-12) var(--space-4); gap: var(--space-4); }
    .k-collection-banner__side { grid-row: 1; padding: var(--space-8); }
    .k-collection-banner__side--left { grid-column: 1; justify-content: flex-end; }
    .k-collection-banner__side--right { grid-column: 3; justify-content: flex-start; }
    .k-collection-banner__heading { font-size: var(--text-4xl); }
    .k-collection-banner__sub, .k-collection-banner__code { font-size: var(--text-lg); }
    .k-collection-banner__pic { max-width: 260px; }
    .k-collection-banner__pic--3 { max-width: 150px; }
  }
}
@layer sections {
  /* No white below the footer: the page under the store wrapper is footer black, and the wrapper no longer stretches white past the footer */
  html, body { background: var(--colour-primary); }
  .rt-storefront { min-height: 0; }
  .k-footer { background: var(--colour-primary); color: var(--colour-background); font-family: var(--font-body); padding: var(--space-12) 0 var(--space-6); }
  .k-footer a, .k-footer p, .k-footer h4, .k-footer b, .k-footer small { color: var(--colour-background); }
  .k-footer__in { max-width: 1330px; margin: 0 auto; padding: 0 var(--space-4); display: grid; gap: 28px; }
  .k-footer__mark { display: flex; flex-direction: column; line-height: 1; text-decoration: none; }
  .k-footer__name { font-family: var(--font-heading); font-weight: 800; font-size: 30px; letter-spacing: -1.5px; text-transform: uppercase; }
  .k-footer__tagline { font-size: 7px; font-weight: var(--weight-medium); letter-spacing: 0.2px; margin-top: 2px; }
  .k-footer__heading { margin: 0 0 var(--space-3); font-family: var(--font-heading); font-size: var(--text-base); font-weight: var(--weight-bold); }
  .k-footer__links { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-2); font-size: calc(var(--text-base) * 0.875); }
  .k-footer__links a { display: flex; align-items: center; min-height: 44px; text-decoration: none; }
  .k-footer__about { margin: 10px 0 0; font-size: calc(var(--text-base) * 0.875); opacity: 0.75; max-width: 340px; }
  .k-footer a.k-footer__app { display: inline-flex; align-items: center; min-height: 44px; margin-top: var(--space-3); padding: var(--space-2) 14px; border-radius: var(--radius-full); background: var(--colour-background); color: var(--colour-text); font-weight: 600; font-size: calc(var(--text-base) * 0.875); text-decoration: none; }
  .k-footer__copy { max-width: 1330px; margin: var(--space-8) auto 0; padding: var(--space-4) var(--space-4) 0; border-top: 1px solid var(--colour-text); font-size: calc(var(--text-base) * 0.8125); opacity: 0.7; color: var(--colour-background); }
  @media (min-width: 900px) {
    .k-footer__in { grid-template-columns: 1.4fr; grid-auto-columns: 1fr; grid-auto-flow: column; }
    .k-footer__links a { min-height: 0; }
  }
}
@layer sections {
  .k-header { position: relative; max-width: 100%; overflow-x: clip; font-family: var(--font-body); background: var(--colour-background); color: var(--colour-text); }
  .k-header a { color: var(--colour-text); text-decoration: none; }
  .k-header__icon { width: 22px; height: 22px; max-width: 22px; fill: none; stroke: var(--colour-text); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex: none; }
  .k-header__icon--small { width: 14px; height: 14px; max-width: 14px; }

  .k-header__nav { display: flex; flex-wrap: nowrap; align-items: center; gap: 8px; max-width: 100%; box-sizing: border-box; padding: 10px var(--space-3); min-height: 60px; background: var(--colour-background); }
  .k-header__nav > * { min-width: 0; }
  .k-header__menu { position: static; flex: none; }
  .k-header__menu summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: center; min-height: 44px; min-width: 32px; }
  .k-header__menu summary::-webkit-details-marker { display: none; }
  .k-header__burger { display: flex; flex-direction: column; gap: 5px; width: 22px; }
  .k-header__burger i { display: block; height: 2px; background: var(--colour-text); border-radius: 2px; }
  .k-header__burger i:nth-child(2) { width: 70%; }
  .k-header__drawer { position: absolute; left: 0; right: 0; top: 100%; z-index: 20; display: grid; background: var(--colour-background); border-top: 1px solid var(--colour-border); border-bottom: 1px solid var(--colour-border); padding: var(--space-2) var(--space-4); }
  .k-header__drawer a { display: flex; align-items: center; min-height: 44px; font-weight: var(--weight-bold); font-size: calc(var(--text-base) * 0.875); white-space: nowrap; }

  .k-header__mark { display: flex; flex-direction: column; line-height: 1; flex: 0 1 auto; min-width: 0; overflow: hidden; }
  .k-header__name { font-family: var(--font-heading); font-weight: 800; font-size: var(--text-lg); letter-spacing: -0.5px; line-height: 1; text-transform: uppercase; color: var(--colour-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
  .k-header__tagline { font-size: var(--text-xs); font-weight: var(--weight-medium); letter-spacing: 0.2px; margin-top: 2px; color: var(--colour-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }

  .k-header__links { display: none; }
  .k-header__spacer { flex: 1 1 0; min-width: 0; }
  .k-header__app { flex: 0 1 auto; background: var(--colour-primary); color: var(--colour-background); border-radius: var(--radius-full); padding: var(--space-2) 12px; font-size: calc(var(--text-base) * 0.8125); font-weight: var(--weight-medium); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .k-header a.k-header__app { color: var(--colour-background); }
  .k-header__search { flex: none; display: flex; align-items: center; justify-content: center; width: 32px; min-height: 44px; }
  .k-header__search-text { display: none; }
  .k-header__cart { flex: none; position: relative; display: flex; align-items: center; justify-content: center; gap: 6px; width: 36px; min-height: 44px; font-size: calc(var(--text-base) * 0.875); font-weight: var(--weight-medium); }
  .k-header__cart-label { display: none; }
  .k-header__count { position: absolute; top: 4px; right: 0; background: var(--color-danger); color: var(--colour-background); border-radius: var(--radius-full); font-style: normal; font-weight: var(--weight-bold); font-size: 10px; line-height: 1; min-width: 16px; height: 16px; padding: 0 3px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; }
  .k-header__account { display: none; }

  @media (max-width: 400px) {
    .k-header__app { display: none; }
    .k-header__tagline { display: none; }
  }

  @media (min-width: 1100px) {
    .k-header__nav { padding: 10px var(--space-8); gap: var(--space-6); }
    .k-header__menu, .k-header__app { display: none; }
    .k-header__name { font-size: var(--text-lg); }
    .k-header__links { display: flex; flex-wrap: nowrap; gap: var(--space-4); font-weight: var(--weight-bold); font-size: calc(var(--text-base) * 0.875); white-space: nowrap; }
    .k-header__links a { display: flex; align-items: center; gap: var(--space-1); font-weight: var(--weight-bold); white-space: nowrap; }
    .k-header__search { width: auto; justify-content: flex-start; gap: var(--space-2); flex: 0 1 200px; min-width: 0; min-height: 0; border: 1px solid var(--colour-border); border-radius: var(--radius-md); padding: 6px var(--space-3); font-size: calc(var(--text-base) * 0.875); }
    .k-header__search-text { display: inline; }
    .k-header__cart { width: auto; gap: var(--space-2); white-space: nowrap; }
    .k-header__cart-label { display: inline; }
    .k-header__count { top: 4px; right: auto; left: 14px; }
    .k-header__account { display: flex; align-items: center; gap: var(--space-2); font-size: calc(var(--text-base) * 0.875); font-weight: var(--weight-medium); white-space: nowrap; }
  }
}
@layer sections {
  .k-header-strip { display: block; width: 100%; background: var(--colour-primary); }
}
@layer sections {
  .k-home-categories { background: var(--colour-background); padding: var(--space-4) 0 var(--space-6); font-family: var(--font-body); }
  .k-home-categories__wrap { max-width: 1330px; margin: 0 auto; padding: 0 var(--space-4); }
  .k-home-categories__heading { margin: 0 0 var(--space-2); font-family: var(--font-heading); font-weight: 800; font-size: calc(var(--text-base) * 1.5); line-height: var(--line-height-tight); color: var(--colour-text); text-align: left; }
  .k-home-categories__track { display: flex; gap: var(--space-4); overflow-x: auto; scroll-snap-type: x mandatory; padding-top: var(--space-8); padding-bottom: var(--space-2); scrollbar-width: none; }
  .k-home-categories__track::-webkit-scrollbar { display: none; }
  .k-home-categories__tile { --k-tile-from: var(--colour-text); --k-tile-to: var(--colour-primary); position: relative; flex: 0 0 200px; height: 90px; display: flex; align-items: center; padding: 0 var(--space-3) 0 46%; border-radius: var(--radius-lg); background: linear-gradient(100deg, var(--k-tile-from), var(--k-tile-to) 85%); text-decoration: none; scroll-snap-align: start; }
  .k-home-categories__img { position: absolute; left: var(--space-3); bottom: 0; width: 38%; height: calc(100% + var(--space-6)); object-fit: contain; object-position: bottom center; mix-blend-mode: multiply; }
  .k-home-categories__title { position: relative; z-index: 1; font-family: var(--font-heading); font-size: var(--text-base); font-weight: 800; line-height: var(--line-height-tight); text-align: left; white-space: nowrap; color: var(--colour-background); }
  @media (min-width: 900px) {
    .k-home-categories { padding: var(--space-6) 0 var(--space-8); }
    .k-home-categories__heading { text-align: center; margin-bottom: var(--space-3); }
    .k-home-categories__track { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--space-6); overflow: visible; padding-top: var(--space-12); }
    .k-home-categories__tile { flex: auto; height: 110px; padding: 0 var(--space-3) 0 44%; }
    .k-home-categories__img { width: 38%; height: calc(100% + var(--space-8)); }
    .k-home-categories__title { font-size: calc(var(--text-base) * 1.125); }
  }
}
@layer sections {
  .k-home-concerns { background: var(--colour-background); padding: var(--space-3) 0 var(--space-4); font-family: var(--font-body); }
  .k-home-concerns__wrap { max-width: 1330px; margin: 0 auto; padding: 0 var(--space-4); }
  .k-home-concerns__heading { margin: 0 0 var(--space-4); font-family: var(--font-heading); font-weight: 800; font-size: calc(var(--text-base) * 1.5); line-height: var(--line-height-tight); color: var(--colour-text); text-align: left; }
  .k-home-concerns__stage { position: relative; }
  .k-home-concerns__track { display: flex; gap: var(--space-3); overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; }
  .k-home-concerns__track::-webkit-scrollbar { display: none; }
  .k-home-concerns__card { position: relative; flex: 0 0 140px; aspect-ratio: 5 / 7; display: block; overflow: hidden; scroll-snap-align: start; text-decoration: none; border-radius: var(--radius-md); background: linear-gradient(160deg, var(--colour-text), var(--colour-primary)); color: var(--colour-background); min-width: 0; }
  .k-home-concerns__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.6; }
  .k-home-concerns__card::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, color-mix(in srgb, var(--colour-primary) 55%, transparent), color-mix(in srgb, var(--colour-primary) 15%, transparent) 60%, color-mix(in srgb, var(--colour-primary) 45%, transparent)); }
  .k-home-concerns__title { position: absolute; z-index: 2; top: var(--space-3); left: var(--space-3); right: var(--space-3); font-size: calc(var(--text-base) * 1.0625); font-weight: var(--weight-bold); line-height: 1.2; color: var(--colour-background); }
  .k-home-concerns__arrow { position: absolute; z-index: 2; left: var(--space-3); bottom: var(--space-3); width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; border-radius: var(--radius-md); background: color-mix(in srgb, var(--colour-background) 22%, transparent); }
  .k-home-concerns__arrow svg { width: 18px; height: 18px; fill: none; stroke: var(--colour-background); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
  .k-home-concerns__side { display: none; }
  @media (min-width: 900px) {
    .k-home-concerns { padding: var(--space-4) 0 var(--space-6); }
    .k-home-concerns__heading { text-align: center; margin-bottom: var(--space-6); }
    .k-home-concerns__track { gap: 15px; }
    .k-home-concerns__card { flex-basis: calc((100% - 4 * 15px) / 5); }
    .k-home-concerns__title { top: var(--space-6); left: var(--space-6); right: var(--space-6); font-size: calc(var(--text-base) * 1.5); }
    .k-home-concerns__arrow { left: var(--space-6); bottom: var(--space-6); width: 58px; height: 58px; }
    .k-home-concerns__arrow svg { width: 26px; height: 26px; }
    .k-home-concerns__side { position: absolute; z-index: 3; top: 50%; display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; margin-top: -23px; border-radius: var(--radius-full); background: var(--colour-border); text-decoration: none; }
    .k-home-concerns__side svg { width: 20px; height: 20px; fill: none; stroke: var(--colour-text); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
    .k-home-concerns__side--prev { left: var(--space-2); }
    .k-home-concerns__side--next { right: var(--space-2); }
  }
}
@layer sections {
  .k-home-hero { --k-hero-peek: 3.5%; position: relative; width: 100%; background: var(--colour-background); font-family: var(--font-body); overflow: hidden; }
  .k-home-hero__sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; margin: 0; }
  .k-home-hero__track { display: flex; gap: var(--space-1); overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding-inline: var(--k-hero-peek); scroll-padding-inline: var(--k-hero-peek); scrollbar-width: none; overscroll-behavior-x: contain; }
  .k-home-hero__track::-webkit-scrollbar { display: none; }
  .k-home-hero__slide { position: relative; flex: 0 0 93%; min-width: 0; scroll-snap-align: center; scroll-snap-stop: always; }
  .k-home-hero__card { display: flex; flex-direction: column; align-items: center; gap: var(--space-3); height: 100%; padding: var(--space-6) var(--space-4) var(--space-8); background: linear-gradient(120deg, var(--colour-surface), var(--colour-border)); overflow: hidden; }
  .k-home-hero__copy { display: flex; flex-direction: column; align-items: center; gap: var(--space-3); text-align: center; }
  .k-home-hero__headline { margin: 0; font-family: var(--font-heading); font-size: var(--text-xl); font-weight: 800; line-height: var(--line-height-tight); color: var(--colour-text); }
  .k-home-hero__offer { background: var(--colour-primary); color: var(--colour-background); border-radius: var(--radius-lg); padding: var(--space-3) var(--space-6); font-family: var(--font-heading); font-weight: 800; font-size: var(--text-3xl); line-height: 1.05; letter-spacing: -1px; }
  .k-home-hero__code { margin: 0; font-size: var(--text-base); font-weight: var(--weight-medium); color: var(--colour-text); }
  .k-home-hero__button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: var(--space-3) var(--space-8); background: var(--colour-primary); color: var(--colour-background); font-weight: var(--weight-bold); font-size: var(--text-base); text-decoration: none; border-radius: var(--radius-none); }
  .k-home-hero__media { display: block; width: min(300px, 70%); }
  .k-home-hero__img { width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; }
  .k-home-hero__arrow { display: none; }
  .k-home-hero__dots { position: absolute; right: calc(var(--k-hero-peek) + var(--space-3)); bottom: var(--space-3); display: flex; align-items: center; gap: var(--space-1); padding: 0 var(--space-2); border-radius: var(--radius-full); background: color-mix(in srgb, var(--colour-text) 55%, transparent); }
  .k-home-hero__dot { display: inline-flex; align-items: center; justify-content: center; width: 16px; min-height: 28px; text-decoration: none; }
  .k-home-hero__dot::before { content: ''; width: 8px; height: 8px; border-radius: var(--radius-full); background: var(--colour-background); opacity: 0.6; }
  .k-home-hero__dot:hover::before, .k-home-hero__dot:focus-visible::before { opacity: 1; }
  @media (min-width: 900px) {
    .k-home-hero__card { display: grid; grid-template-columns: 1fr 1fr; align-items: center; justify-items: center; gap: var(--space-8); min-height: 460px; padding: var(--space-8) 90px; }
    .k-home-hero__copy { gap: var(--space-4); }
    .k-home-hero__headline { font-size: var(--text-3xl); }
    .k-home-hero__offer { font-size: calc(var(--text-4xl) * 1.5); padding: var(--space-6) var(--space-8); }
    .k-home-hero__code { font-size: var(--text-lg); }
    .k-home-hero__media { width: min(420px, 100%); }
    .k-home-hero__dots { right: calc(var(--k-hero-peek) + var(--space-8)); bottom: var(--space-8); }
    .k-home-hero__arrow { position: absolute; z-index: 2; top: 50%; display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; margin-top: -23px; border-radius: var(--radius-full); background: var(--colour-border); text-decoration: none; }
    .k-home-hero__arrow svg { width: 20px; height: 20px; fill: none; stroke: var(--colour-text); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
    .k-home-hero__arrow--prev { left: var(--space-3); }
    .k-home-hero__arrow--next { right: var(--space-3); }
  }
  @keyframes k-home-hero-arrow { 0% { opacity: 0; visibility: hidden; } 1%, 99% { opacity: 1; visibility: visible; } 100% { opacity: 0; visibility: hidden; } }
  @supports (animation-timeline: view(inline)) {
    .k-home-hero__arrow { animation: k-home-hero-arrow linear both; animation-timeline: view(inline); animation-range: entry 85% exit 15%; }
  }
  /* Real slider controls where the browser draws them itself: arrows that slide without jumping the page, dots that show the current banner */
  @supports selector(::scroll-marker) {
    .k-home-hero .k-home-hero__dots, .k-home-hero .k-home-hero__arrow { display: none; animation: none; }
    .k-home-hero__track { scroll-marker-group: after; }
    .k-home-hero__track::scroll-marker-group { position: absolute; z-index: 2; right: calc(var(--k-hero-peek) + var(--space-3)); bottom: var(--space-3); display: flex; align-items: center; gap: 6px; padding: 10px 12px; border-radius: var(--radius-full); background: color-mix(in srgb, var(--colour-text) 55%, transparent); }
    .k-home-hero__slide::scroll-marker { content: '' / var(--k-hero-dot, ''); display: block; width: 8px; height: 8px; border-radius: var(--radius-full); background: var(--colour-background); opacity: 0.6; transition: width 0.25s ease, opacity 0.25s ease; cursor: pointer; }
    .k-home-hero__slide::scroll-marker:hover { opacity: 1; }
    .k-home-hero__slide::scroll-marker:target-current { width: 22px; opacity: 1; }
    .k-home-hero__track::scroll-button(*) { display: none; }
    @media (min-width: 900px) {
      .k-home-hero__track::scroll-marker-group { right: calc(var(--k-hero-peek) + var(--space-8)); bottom: var(--space-8); }
      .k-home-hero__track::scroll-button(*) { position: absolute; z-index: 2; top: 50%; display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; margin-top: -23px; padding: 0 0 4px; border: 0; border-radius: var(--radius-full); background: var(--colour-border); color: var(--colour-text); font-size: 30px; line-height: 1; cursor: pointer; transition: opacity 0.2s ease; }
      .k-home-hero__track::scroll-button(left) { content: '\2039' / var(--k-hero-prev, 'Previous'); left: var(--space-3); }
      .k-home-hero__track::scroll-button(right) { content: '\203A' / var(--k-hero-next, 'Next'); right: var(--space-3); }
      .k-home-hero__track::scroll-button(*):disabled { opacity: 0; cursor: default; }
    }
  }
}
@layer sections {
  .k-home-row { background: var(--colour-background); padding: var(--space-6) 0; font-family: var(--font-body); }
  .k-home-row--dark { background-color: var(--colour-text); background-image: radial-gradient(color-mix(in srgb, var(--colour-background) 9%, transparent) 1px, transparent 1.6px), radial-gradient(color-mix(in srgb, var(--colour-background) 5%, transparent) 1px, transparent 1.6px); background-size: 14px 14px, 14px 14px; background-position: 0 0, 7px 7px; padding: 96px 0 var(--space-12); }
  .k-home-row__wrap { max-width: 1330px; margin: 0 auto; padding: 0 var(--space-4); }
  .k-home-row__heading { margin: 0 0 var(--space-4); font-family: var(--font-heading); text-align: left; color: var(--colour-text); font-weight: 800; font-size: calc(var(--text-base) * 1.5); line-height: var(--line-height-tight); }
  .k-home-row__heading--faint { opacity: 0.22; }
  .k-home-row__heading--hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; margin: 0; }
  .k-home-row--dark .k-home-row__heading { color: var(--colour-background); }
  .k-home-row__stage { position: relative; }
  .k-home-row__box { border: 1px solid var(--colour-border); border-radius: var(--radius-lg); overflow: hidden; background: var(--colour-background); }
  .k-home-row--dark .k-home-row__box { background: color-mix(in srgb, var(--colour-primary) 55%, var(--colour-text)); border-color: color-mix(in srgb, var(--colour-background) 28%, transparent); }
  .k-home-row__track { display: flex; gap: 0; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; }
  .k-home-row__track::-webkit-scrollbar { display: none; }
  .k-home-row__cell { flex: 0 0 50%; min-width: 0; padding: var(--space-2); border-right: 1px solid var(--colour-border); scroll-snap-align: start; }
  .k-home-row__cell:last-child { border-right: 0; }
  .k-home-row--dark .k-home-row__cell { border-right-color: color-mix(in srgb, var(--colour-background) 28%, transparent); }
  .k-home-row .k-product-card__media { aspect-ratio: 1; }
  .k-home-row .k-product-card__img { width: 100%; height: 100%; aspect-ratio: 1; object-fit: cover; }
  .k-home-row__side { display: none; }
  .k-home-row__empty { margin: 0; padding: var(--space-6); text-align: center; color: var(--colour-text); }
  .k-home-row--dark .k-home-row__empty { color: var(--colour-background); }
  @media (min-width: 900px) {
    .k-home-row { padding: var(--space-6) 0; }
    .k-home-row--dark { padding: 180px 0 var(--space-12); }
    .k-home-row__heading { text-align: center; margin-bottom: var(--space-6); }
    .k-home-row__cell { flex-basis: 20%; }
    .k-home-row__side { position: absolute; z-index: 3; top: 40%; display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: var(--radius-full); background: var(--colour-border); text-decoration: none; }
    .k-home-row__side svg { width: 20px; height: 20px; fill: none; stroke: var(--colour-text); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
    .k-home-row__side--prev { left: var(--space-2); }
    .k-home-row__side--next { right: var(--space-2); }
  }
}
@layer sections {
  .k-main-404 { font-family: var(--font-body); color: var(--colour-text); padding-block: var(--space-section); }
  .k-main-404__head { max-width: 40rem; margin: 0 auto; padding: var(--space-8) var(--space-4); text-align: center; }
  .k-main-404__eyebrow { margin: 0 0 var(--space-2); font-size: var(--text-sm); font-weight: var(--weight-bold); letter-spacing: 0.12em; text-transform: uppercase; }
  .k-main-404__heading { margin: 0 0 var(--space-3); font-family: var(--font-heading); font-size: var(--text-2xl); font-weight: var(--weight-bold); line-height: var(--line-height-tight); letter-spacing: 0.02em; }
  .k-main-404__text { margin: 0 auto var(--space-6); max-width: 46ch; font-size: var(--text-base); line-height: var(--line-height-relaxed); }
  .k-main-404__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-3); }
  .k-main-404__btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; min-width: 44px; padding: var(--space-3) var(--space-8); border: 1px solid var(--colour-primary); border-radius: var(--radius); font-size: var(--text-sm); font-weight: var(--weight-bold); letter-spacing: 0.06em; text-transform: uppercase; text-decoration: none; }
  .k-main-404__btn--primary { background: var(--colour-primary); color: var(--color-on-primary); }
  .k-main-404__btn--secondary { background: transparent; color: var(--colour-primary); }
  .k-main-404__btn:hover { text-decoration: underline; text-underline-offset: 0.2em; }
  .k-main-404__picks { max-width: 1330px; margin: 0 auto; padding: var(--space-8) var(--space-4) 0; border-top: 1px solid var(--colour-border); }
  .k-main-404__picks-heading { margin: 0 0 var(--space-6); font-size: var(--text-xl); font-weight: var(--weight-normal); text-align: center; letter-spacing: 0.02em; }
  .k-main-404__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6) var(--space-2); }
  @media (min-width: 900px) {
    .k-main-404__heading { font-size: var(--text-3xl); }
    .k-main-404__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-8) var(--space-4); }
  }
}
@layer sections {
  .k-main-account { font-family: var(--font-body); color: var(--colour-text); padding-bottom: var(--space-section); }
  .k-main-account__head { max-width: 1330px; margin: 0 auto; padding: var(--space-8) var(--space-4) var(--space-4); text-align: center; border-bottom: 1px solid var(--colour-border); }
  .k-main-account__title { margin: 0; font-size: var(--text-xl); font-weight: var(--weight-normal); letter-spacing: 0.02em; }
  .k-main-account__intro { margin: var(--space-2) auto 0; max-width: 60ch; font-size: var(--text-sm); }
  .k-main-account__layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-6); max-width: 1330px; margin: 0 auto; padding: var(--space-6) var(--space-4) 0; }
  .k-main-account__tabs { display: flex; gap: var(--space-2); list-style: none; margin: 0; padding: 0; border-bottom: 1px solid var(--colour-border); }
  .k-main-account__tabs li { flex: 1 1 0; min-width: 0; }
  .k-main-account__tab { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: var(--space-2) var(--space-2); color: var(--colour-text); font-size: var(--text-sm); font-weight: var(--weight-medium); text-align: center; text-decoration: none; border-bottom: 2px solid transparent; }
  .k-main-account__tab:hover { border-bottom-color: var(--colour-border); }
  .k-main-account__tab[aria-current="page"] { border-bottom-color: var(--colour-primary); font-weight: var(--weight-bold); }
  .k-main-account__panel { min-width: 0; }
  .k-main-account__panel-title { margin: 0 0 var(--space-4); font-size: var(--text-lg); font-weight: var(--weight-medium); }
  .k-main-account__sub { margin: var(--space-6) 0 var(--space-2); font-size: var(--text-base); font-weight: var(--weight-medium); }
  .k-main-account__text { font-size: var(--text-sm); overflow-wrap: anywhere; }
  .k-main-account__profile { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-6); }
  .k-main-account__avatar { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 64px; height: 64px; border-radius: var(--radius-full); background: var(--colour-primary); color: var(--color-on-primary); font-weight: var(--weight-bold); font-size: var(--text-lg); }
  .k-main-account__who { min-width: 0; }
  .k-main-account__name { margin: 0; font-size: var(--text-lg); font-weight: var(--weight-medium); overflow-wrap: anywhere; }
  .k-main-account__since { margin: var(--space-1) 0 0; font-size: var(--text-sm); }
  .k-main-account__facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); margin: 0; }
  .k-main-account__fact { min-width: 0; padding: var(--space-3) var(--space-4); background: var(--colour-surface); border: 1px solid var(--colour-border); border-radius: var(--radius); }
  .k-main-account__fact dt { font-size: var(--text-xs); text-transform: uppercase; letter-spacing: 0.08em; }
  .k-main-account__fact dd { margin: var(--space-1) 0 0; font-size: var(--text-sm); font-weight: var(--weight-medium); overflow-wrap: anywhere; }
  .k-main-account__orders, .k-main-account__addresses, .k-main-account__lines { display: grid; gap: var(--space-4); list-style: none; margin: 0; padding: 0; }
  .k-main-account__order, .k-main-account__address { padding: var(--space-4); border: 1px solid var(--colour-border); border-radius: var(--radius); background: var(--colour-background); }
  .k-main-account__order-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-2); margin-bottom: var(--space-3); }
  .k-main-account__order-no { font-weight: var(--weight-bold); }
  .k-main-account__status { padding: var(--space-1) var(--space-3); border-radius: var(--radius-full); background: var(--colour-primary); color: var(--color-on-primary); font-size: var(--text-xs); font-weight: var(--weight-medium); }
  .k-main-account__order .k-main-account__facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .k-main-account__address { display: grid; gap: var(--space-1); font-size: var(--text-sm); }
  .k-main-account__address-line { overflow-wrap: anywhere; }
  .k-main-account__back { display: inline-flex; align-items: center; min-height: 44px; margin-bottom: var(--space-2); font-size: var(--text-sm); font-weight: var(--weight-bold); }
  .k-main-account__lines { margin-top: var(--space-6); }
  .k-main-account__line { display: grid; grid-template-columns: 80px minmax(0, 1fr) auto; grid-template-areas: "img title price" "img qty price"; gap: var(--space-1) var(--space-4); align-items: center; padding-bottom: var(--space-4); border-bottom: 1px solid var(--colour-border); }
  .k-main-account__thumb { grid-area: img; width: 80px; height: 80px; object-fit: contain; border-radius: var(--radius); background: var(--colour-surface); }
  .k-main-account__line-title { grid-area: title; font-weight: var(--weight-medium); overflow-wrap: anywhere; align-self: end; }
  .k-main-account__line-qty { grid-area: qty; font-size: var(--text-sm); align-self: start; }
  .k-main-account__line-price { grid-area: price; font-weight: var(--weight-medium); }
  .k-main-account__paging { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-3); margin-top: var(--space-6); }
  .k-main-account__page-link { display: inline-flex; align-items: center; min-height: 44px; font-weight: var(--weight-bold); }
  .k-main-account__range { font-size: var(--text-sm); }
  .k-main-account__empty { padding: var(--space-8) var(--space-4); text-align: center; background: var(--colour-surface); border: 1px solid var(--colour-border); border-radius: var(--radius); }
  .k-main-account__empty-text { margin: 0 0 var(--space-4); }
  .k-main-account__btn { min-height: 44px; }
  @media (min-width: 750px) {
    .k-main-account__layout { grid-template-columns: 220px minmax(0, 1fr); gap: var(--space-12); padding-top: var(--space-8); }
    .k-main-account__tabs { flex-direction: column; gap: 0; border-bottom: 0; border-right: 1px solid var(--colour-border); }
    .k-main-account__tab { justify-content: flex-start; padding: var(--space-3) var(--space-4); border-bottom: 0; border-right: 2px solid transparent; margin-right: -1px; text-align: left; }
    .k-main-account__tab:hover { border-right-color: var(--colour-border); }
    .k-main-account__tab[aria-current="page"] { border-right-color: var(--colour-primary); }
    .k-main-account__facts--details { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .k-main-account__addresses { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }
  @media (max-width: 480px) {
    .k-main-account__order .k-main-account__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }
}
@layer sections {
  .k-main-collection { font-family: var(--font-body); color: var(--colour-text); padding-bottom: var(--space-section); }
  .k-main-collection__head { max-width: 1330px; margin: 0 auto; padding: var(--space-8) var(--space-4) var(--space-6); text-align: center; border-bottom: 1px solid var(--colour-border); }
  .k-main-collection__title { margin: 0; text-align: center; font-size: var(--text-2xl); font-weight: var(--weight-bold); line-height: var(--line-height-tight); letter-spacing: 0.02em; }
  .k-main-collection__desc { margin-top: var(--space-2); font-size: var(--text-sm); }
  .k-main-collection__wrap { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); max-width: 1330px; margin: 0 auto; padding: var(--space-4); }
  .k-main-collection__aside { min-width: 0; }
  .k-main-collection__panel { border: 1px solid var(--colour-border); border-radius: var(--radius); }
  .k-main-collection__panel-title { display: flex; align-items: center; justify-content: space-between; min-height: 44px; padding: 0 var(--space-4); font-weight: var(--weight-bold); cursor: pointer; list-style: none; }
  .k-main-collection__panel-title::-webkit-details-marker { display: none; }
  .k-main-collection__panel-title::after { content: "+"; font-size: var(--text-lg); }
  .k-main-collection__panel[open] > .k-main-collection__panel-title::after { content: "\2212"; }
  .k-main-collection__panel-body { padding: 0 var(--space-4) var(--space-4); }
  .k-main-collection__group { border-top: 1px solid var(--colour-border); }
  .k-main-collection__group-title { display: flex; align-items: center; justify-content: space-between; min-height: 44px; font-weight: var(--weight-bold); cursor: pointer; list-style: none; }
  .k-main-collection__group-title::-webkit-details-marker { display: none; }
  .k-main-collection__group-title::after { content: "\2303"; font-size: var(--text-sm); }
  .k-main-collection__group:not([open]) > .k-main-collection__group-title::after { content: "\2304"; }
  .k-main-collection__values { margin: 0 0 var(--space-3); padding: 0; list-style: none; }
  .k-main-collection__check { display: flex; align-items: center; gap: var(--space-3); min-height: 44px; font-size: var(--text-sm); font-weight: var(--weight-medium); cursor: pointer; }
  .k-main-collection__check input { width: 18px; height: 18px; margin: 0; accent-color: var(--colour-primary); }
  .k-main-collection__apply { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 44px; margin-top: var(--space-2); background: var(--colour-primary); color: var(--color-on-primary); border: 0; border-radius: var(--radius); font-weight: var(--weight-bold); cursor: pointer; }
  .k-main-collection__main { min-width: 0; }
  .k-main-collection__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-3); margin-bottom: var(--space-3); }
  .k-main-collection__count { margin: 0; font-size: var(--text-sm); opacity: 0.8; }
  .k-main-collection__sort { position: relative; }
  .k-main-collection__sort-summary { display: inline-flex; align-items: center; gap: var(--space-2); min-height: 44px; padding: 0 var(--space-2); font-size: var(--text-base); font-weight: var(--weight-medium); cursor: pointer; list-style: none; }
  .k-main-collection__sort-summary::-webkit-details-marker { display: none; }
  .k-main-collection__sort-summary::after { content: "\2304"; font-size: var(--text-lg); line-height: 1; }
  .k-main-collection__sort[open] > .k-main-collection__sort-summary::after { content: "\2303"; }
  .k-main-collection__sort-menu { position: absolute; z-index: 5; right: 0; top: 100%; min-width: 200px; margin: 0; padding: var(--space-1) 0; list-style: none; background: var(--colour-background); border: 1px solid var(--colour-border); border-radius: var(--radius-lg); }
  .k-main-collection__sort-link { display: flex; align-items: center; min-height: 44px; padding: 0 var(--space-4); color: var(--colour-text); font-size: var(--text-sm); font-weight: var(--weight-medium); text-decoration: none; }
  .k-main-collection__sort-link--active { background: var(--colour-surface); font-weight: var(--weight-bold); }
  .k-main-collection__chips { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-bottom: var(--space-4); }
  .k-main-collection__chip { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 var(--space-3); border: 1px solid var(--colour-border); border-radius: var(--radius-md); background: var(--colour-background); color: var(--colour-text); font-size: var(--text-sm); font-weight: var(--weight-medium); text-decoration: none; }
  .k-main-collection__chip--active { background: var(--colour-primary); border-color: var(--colour-primary); color: var(--color-on-primary); font-weight: var(--weight-bold); }
  .k-main-collection__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--colour-border); border-left: 1px solid var(--colour-border); }
  .k-main-collection__item { min-width: 0; padding: var(--space-2); border-right: 1px solid var(--colour-border); border-bottom: 1px solid var(--colour-border); }
  .k-main-collection__paging { display: flex; justify-content: center; gap: var(--space-3); margin-top: var(--space-8); }
  .k-main-collection__page-link { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 var(--space-8); border: 1px solid var(--colour-primary); border-radius: var(--radius); color: var(--colour-primary); font-weight: var(--weight-bold); text-decoration: none; }
  .k-main-collection__empty { padding: var(--space-12) 0; text-align: center; }
  @media (min-width: 700px) {
    .k-main-collection__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  }
  @media (min-width: 1000px) {
    .k-main-collection__title { font-size: var(--text-3xl); }
    .k-main-collection__wrap { grid-template-columns: 240px minmax(0, 1fr); gap: var(--space-8); padding-top: var(--space-8); }
    .k-main-collection__panel { border: 0; }
    .k-main-collection__panel-body { padding: 0; }
    .k-main-collection__panel-title { padding: 0; font-size: var(--text-xl); }
    .k-main-collection__panel-title::after { content: none; }
    .k-main-collection__panel[open] > .k-main-collection__panel-title::after { content: none; }
    .k-main-collection__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  }
  @supports selector(::details-content) {
    @media (min-width: 1000px) {
      .k-main-collection__panel::details-content { content-visibility: visible; display: block; }
      .k-main-collection__panel-title { cursor: default; pointer-events: none; }
    }
  }
}
@layer sections {
  .k-main-list-collections { font-family: var(--font-body); color: var(--colour-text); padding-bottom: var(--space-section); }
  .k-main-list-collections__head { max-width: 1330px; margin: 0 auto; padding: var(--space-8) var(--space-4) var(--space-4); text-align: center; border-bottom: 1px solid var(--colour-border); }
  .k-main-list-collections__title { margin: 0; font-size: var(--text-xl); font-weight: var(--weight-normal); letter-spacing: 0.02em; }
  .k-main-list-collections__intro { margin: var(--space-2) auto 0; max-width: 60ch; font-size: var(--text-sm); }
  .k-main-list-collections__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6) var(--space-2); max-width: 1330px; margin: 0 auto; padding: var(--space-8) var(--space-4) 0; list-style: none; }
  .k-main-list-collections__item { min-width: 0; }
  .k-main-list-collections__tile { display: flex; flex-direction: column; align-items: center; gap: var(--space-2); min-height: 44px; color: var(--colour-text); text-decoration: none; }
  .k-main-list-collections__media { display: block; width: 100%; aspect-ratio: 1 / 1; overflow: hidden; border-radius: var(--radius); background: var(--colour-background); }
  .k-main-list-collections__img { width: 100%; height: 100%; object-fit: contain; }
  .k-main-list-collections__media--empty { display: flex; align-items: center; justify-content: center; padding: var(--space-4); background: var(--colour-surface); text-align: center; }
  .k-main-list-collections__fallback { font-weight: var(--weight-bold); font-size: var(--text-lg); overflow-wrap: anywhere; }
  .k-main-list-collections__name { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--text-base); font-weight: var(--weight-medium); text-align: center; }
  .k-main-list-collections__cta { font-size: var(--text-sm); font-weight: var(--weight-bold); text-decoration: underline; text-underline-offset: 0.2em; }
  .k-main-list-collections__tile:hover .k-main-list-collections__cta { text-decoration-thickness: 2px; }
  .k-main-list-collections__empty { padding: var(--space-12) var(--space-4); text-align: center; }
  @media (min-width: 700px) {
    .k-main-list-collections__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-8) var(--space-4); }
  }
}
@layer sections {
  .k-main-product { font-family: var(--font-body); color: var(--colour-text); padding: var(--space-4) 0 var(--space-section); }
  .k-main-product__wrap { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-6); max-width: 1330px; margin: 0 auto; padding: 0 var(--space-4); }
  .k-main-product__gallery { min-width: 0; }
  .k-main-product__stage { position: relative; background: var(--colour-background); }
  .k-main-product__stage--empty { aspect-ratio: 1; background: var(--colour-surface); }
  .k-main-product__badge { position: absolute; z-index: 2; left: 0; top: var(--space-4); background: var(--colour-accent); color: var(--color-on-secondary); font-size: var(--text-sm); font-weight: var(--weight-bold); padding: var(--space-1) var(--space-4) var(--space-1) var(--space-2); clip-path: polygon(0 0, 100% 0, 92% 50%, 100% 100%, 0 100%); }
  .k-main-product__slides { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; }
  .k-main-product__slides::-webkit-scrollbar { display: none; }
  .k-main-product__slide { position: relative; flex: 0 0 100%; min-width: 0; scroll-snap-align: start; }
  .k-main-product__img { width: 100%; aspect-ratio: 1; object-fit: contain; }
  .k-main-product__arrow { position: absolute; top: 50%; z-index: 1; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin-top: -22px; text-decoration: none; }
  .k-main-product__arrow svg { width: 24px; height: 24px; fill: none; stroke: var(--colour-text); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
  .k-main-product__arrow--prev { left: 0; }
  .k-main-product__arrow--next { right: 0; }
  .k-main-product__thumbs { display: flex; gap: var(--space-2); margin: var(--space-3) 0 0; padding: 0; list-style: none; overflow-x: auto; }
  .k-main-product__thumb { flex: 0 0 72px; }
  .k-main-product__thumb a { display: block; border: 1px solid var(--colour-border); border-radius: var(--radius); overflow: hidden; }
  .k-main-product__thumb a:focus-visible, .k-main-product__thumb a:hover { border-color: var(--colour-primary); }
  .k-main-product__thumb img { width: 100%; aspect-ratio: 1; object-fit: cover; }
  .k-main-product__info { min-width: 0; }
  .k-main-product__title { margin: 0 0 var(--space-2); font-size: calc(var(--text-base) * 1.25); font-weight: var(--weight-bold); line-height: 1.3; }
  .k-main-product__rating { display: flex; align-items: center; gap: var(--space-2); margin: 0 0 var(--space-3); font-size: var(--text-base); }
  .k-main-product__star { color: var(--colour-accent); }
  .k-main-product__rating-value { font-weight: var(--weight-medium); }
  .k-main-product__rating-count { padding-left: var(--space-2); border-left: 2px solid var(--colour-text); font-weight: var(--weight-medium); }
  .k-main-product__chips { display: flex; flex-wrap: wrap; gap: var(--space-2); margin: 0 0 var(--space-4); padding: 0; list-style: none; }
  .k-main-product__chip { padding: var(--space-1) var(--space-3); border: 1px solid var(--colour-border); border-radius: var(--radius); font-size: var(--text-sm); font-weight: var(--weight-medium); }
  .k-main-product__net { margin: 0 0 var(--space-3); font-size: var(--text-base); font-weight: var(--weight-medium); }
  .k-main-product__buy { display: block; margin: 0 0 var(--space-4); }
  .k-main-product .rtp-buybox { display: flex; flex-direction: column; gap: var(--space-3); max-width: 100%; }
  .k-main-product__pricemeta { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-3); margin: var(--space-2) 0 0; font-size: var(--text-sm); }
  .k-main-product__off { color: var(--color-danger); font-weight: var(--weight-bold); font-size: var(--text-base); }
  .k-main-product__tax { font-style: italic; opacity: 0.7; }
  .k-main-product .rtp-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-3); margin: 0; font-size: calc(var(--text-base) * 1.5); font-weight: var(--weight-bold); }
  .k-main-product .rtp-price__now { font-weight: var(--weight-bold); }
  .k-main-product .rtp-price__was { font-size: var(--text-base); font-weight: var(--weight-normal); text-decoration: line-through; opacity: 0.6; }
  .k-main-product .rtp-variant-picker { display: flex; flex-wrap: wrap; gap: var(--space-3); margin: var(--space-2) 0; }
  .k-main-product .rtp-variant { min-width: 120px; padding: var(--space-3) var(--space-4); background: var(--colour-background); color: var(--colour-text); border: 1px solid var(--colour-border); border-radius: var(--radius); font-size: var(--text-sm); cursor: pointer; }
  .k-main-product .rtp-variant:hover { border-color: var(--color-primary); }
  .k-main-product .rtp-variant:has(:checked), .k-main-product .rtp-variant[aria-pressed="true"], .k-main-product .rtp-variant[aria-checked="true"] { border: 2px solid var(--color-primary); padding: calc(var(--space-3) - 1px) calc(var(--space-4) - 1px); }
  .k-main-product .rtp-variant__label { display: block; font-weight: var(--weight-bold); font-size: var(--text-base); }
  .k-main-product .rtp-qty__input { border-radius: var(--radius); border: 1px solid var(--colour-border); }
  .k-main-product .rtp-buybox__btn { width: 100%; min-height: 52px; background: var(--color-primary); color: var(--color-on-primary); border: 0; border-radius: var(--radius-md); font-size: calc(var(--text-base) * 1.125); font-weight: var(--weight-bold); cursor: pointer; }
  .k-main-product .rtp-buybox__btn:disabled { opacity: 0.5; cursor: not-allowed; }
  .k-main-product__about { max-width: 1330px; margin: var(--space-8) auto 0; padding: 0 var(--space-4); }
  .k-main-product__about-heading { margin: 0 0 var(--space-3); font-size: calc(var(--text-base) * 1.25); font-weight: var(--weight-bold); }
  .k-main-product__desc { font-size: var(--text-base); line-height: var(--line-height-relaxed); }
  .k-main-product__desc img { max-width: 100%; height: auto; }
  @media (min-width: 900px) {
    .k-main-product { padding-top: var(--space-8); }
    .k-main-product__wrap { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-12); }
    .k-main-product__gallery { position: sticky; top: var(--space-4); align-self: start; }
    .k-main-product__title { font-size: var(--text-xl); }
  }
}
@layer sections { .order { max-width: 40rem; margin-inline: auto; text-align: center; } }
@layer sections {
  .k-product-related { padding: var(--space-section) 0; font-family: var(--font-body); background: var(--colour-background); }
  .k-product-related__wrap { max-width: 1330px; margin: 0 auto; padding: 0 var(--space-4); }
  .k-product-related__heading { margin: 0 0 var(--space-6); font-size: calc(var(--text-base) * 1.25); font-weight: var(--weight-bold); color: var(--colour-text); }
  .k-product-related__banners { display: grid; grid-template-columns: minmax(0, 1fr); max-width: 970px; margin: 0 auto; }
  .k-product-related__banner { margin: 0; }
  .k-product-related__img { display: block; width: 100%; height: auto; }
  @media (min-width: 900px) {
    .k-product-related__heading { font-size: calc(var(--text-base) * 1.5); }
  }
}
@layer sections {
  .k-product-card {
    --k-card-fg: var(--color-on-background);
    --k-card-chip-bg: var(--color-surface);
    --k-card-chip-fg: var(--color-on-surface);
    --k-card-btn-bg: var(--color-primary);
    --k-card-btn-fg: var(--color-on-primary);
    --k-card-media-bg: var(--color-background);
    display: flex; flex-direction: column; gap: var(--space-2); align-items: flex-start; height: 100%; min-width: 0; margin: 0; padding: 0;
    background: transparent; color: var(--k-card-fg); border: 0; border-radius: var(--radius-none); box-shadow: none; outline: 0;
  }
  .k-product-card--dark, .k-dark .k-product-card, .k-home-row--dark .k-product-card {
    --k-card-fg: var(--color-background);
    --k-card-chip-bg: color-mix(in srgb, var(--color-background) 14%, transparent);
    --k-card-chip-fg: var(--color-background);
    --k-card-btn-bg: var(--color-background);
    --k-card-btn-fg: var(--color-on-background);
  }
  .k-product-card__media { position: relative; display: block; width: 100%; aspect-ratio: 1; overflow: hidden; background: var(--k-card-media-bg); border: 0; }
  .k-product-card__img { width: 100%; height: 100%; object-fit: cover; }
  .k-product-card__badge { position: absolute; left: var(--space-2); top: var(--space-2); background: var(--color-secondary); color: var(--color-on-secondary); font-size: var(--text-sm); font-weight: var(--weight-bold); line-height: 1.3; padding: var(--space-1) var(--space-2); border-radius: var(--radius-sm); }
  .k-product-card__chip { display: inline-block; padding: var(--space-1) var(--space-3); background: var(--k-card-chip-bg); color: var(--k-card-chip-fg); border-radius: var(--radius-full); font-size: var(--text-sm); font-weight: var(--weight-medium); line-height: 1.3; }
  .k-product-card__title { margin: 0; min-height: calc(2 * 1.35em); font-family: var(--font-body); font-size: calc(var(--text-base) * 0.875); font-weight: var(--weight-medium); line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  .k-product-card__title a { color: inherit; text-decoration: none; }
  .k-product-card__sub { margin: 0; font-size: var(--text-sm); line-height: 1.4; color: var(--k-card-fg); opacity: 0.55; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  .k-product-card__rating { margin: 0; display: flex; align-items: center; gap: var(--space-1); font-size: var(--text-sm); color: var(--k-card-fg); }
  .k-product-card__star { color: var(--color-secondary); font-size: var(--text-base); }
  .k-product-card__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-2); font-size: var(--text-base); font-weight: 600; color: var(--k-card-fg); }
  .k-product-card__price .rtp-price { display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-2); margin: 0; font-size: var(--text-base); font-weight: 600; color: inherit; }
  .k-product-card__price .rtp-price__now { font-size: var(--text-base); font-weight: 600; color: inherit; }
  .k-product-card__price .rtp-price__was { font-size: var(--text-sm); font-weight: var(--weight-normal); text-decoration: line-through; color: inherit; opacity: 0.55; }
  .k-product-card__off { color: var(--color-danger); font-size: var(--text-sm); font-weight: var(--weight-bold); }
  .k-product-card__buy { width: 100%; margin-top: auto; }
}
@layer overrides {
  .k-product-card .k-product-card__buy .rtp-buybox { display: block; width: 100%; margin: 0; padding: 0; visibility: visible; opacity: 1; }
  .k-product-card .k-product-card__buy .rtp-variant-picker,
  .k-product-card .k-product-card__buy .rtp-qty { display: none; }
  .k-product-card .k-product-card__buy .rtp-buybox__btn { display: flex; visibility: visible; opacity: 1; align-items: center; justify-content: center; width: 100%; min-height: 44px; margin: 0; padding: var(--space-2) var(--space-4); background: var(--k-card-btn-bg); color: var(--k-card-btn-fg); border: 1px solid var(--k-card-btn-bg); border-radius: var(--radius-md); font-family: var(--font-body); font-size: var(--text-base); font-weight: var(--weight-bold); line-height: 1.2; text-decoration: none; cursor: pointer; }
  .k-product-card .k-product-card__buy .rtp-buybox__btn:disabled { opacity: 0.5; cursor: not-allowed; }
}