/*
 * f7c_design — единая точка подключения дизайн-системы ячейки C.
 * 🔴 ЭТОТ ФАЙЛ СОБРАН из index.order.txt скриптом tools/build-index.py — РУКАМИ НЕ ПРАВИТЬ.
 * Правьте компонент и пересоберите; порядок — в index.order.txt.
 * Почему один файл, а не 27 @import: цепочка импортов даёт гонку — страница успевает
 * отрисоваться БЕЗ стилей (замер 15.08: 0 правил при отданных 200).
 */

/* ═══ tokens/tokens.css ═══ */

:root {

  --ds-color-primary: #2456d6;
  --ds-color-primary-hover: #1b44af;
  --ds-color-primary-active: #153689;
  --ds-color-on-primary: #ffffff;
  --ds-color-accent: #0b7c7b;

  --ds-text-primary: #1a1f2b;
  --ds-text-secondary: #5a6274;
  --ds-text-muted: #8b92a3;
  --ds-text-inverse: #ffffff;
  --ds-text-link: var(--ds-color-primary);

  --ds-surface-page: #ffffff;
  --ds-surface-raised: #f6f7f9;
  --ds-surface-sunken: #edeff3;
  --ds-surface-inverse: #161a23;

  --ds-border-default: #d9dde5;
  --ds-border-strong: #b7bdca;
  --ds-border-focus: var(--ds-color-primary);
  --ds-focus-ring: color-mix(in srgb, var(--ds-color-primary) 15%, transparent);

  --ds-color-success: #188a42;
  --ds-color-warning: #b45309;
  --ds-color-error: #c0262c;

  --ds-status-busy-ink: #8A5A00;
  --ds-status-busy-bg: #FDF3DC;
  --ds-plate-icon-warn-ink: #8A5A00;
  --ds-plate-icon-warn-bg: #FDF3DC;
  --ds-plate-icon-warn-border: #F0DCA8;
  --ds-skeleton-bg: #E3E6EB;
  --ds-color-info: #2456d6;

  --ds-font-base: 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif;
  --ds-font-heading: var(--ds-font-base);
  --ds-font-mono: 'JetBrains Mono', 'SF Mono', Consolas, monospace;

  --ds-fs-xs: 0.75rem;
  --ds-fs-sm: 0.875rem;
  --ds-fs-md: 1rem;
  --ds-fs-lg: 1.125rem;
  --ds-fs-xl: 1.375rem;
  --ds-fs-2xl: 1.75rem;
  --ds-fs-3xl: 2.25rem;
  --ds-fs-4xl: 3rem;

  --ds-fw-regular: 400;
  --ds-fw-medium: 500;
  --ds-fw-semibold: 600;
  --ds-fw-bold: 700;
  --ds-fw-black: 800;

  --ds-lh-tight: 1.2;
  --ds-lh-base: 1.5;
  --ds-lh-loose: 1.7;

  --ds-heading-weight: var(--ds-fw-bold);
  --ds-heading-tracking: 0;
  --ds-heading-leading: var(--ds-lh-tight);

  --ds-space-1: 0.25rem;
  --ds-space-2: 0.5rem;
  --ds-space-3: 0.75rem;
  --ds-space-4: 1rem;
  --ds-space-6: 1.5rem;
  --ds-space-8: 2rem;
  --ds-space-12: 3rem;
  --ds-space-16: 4rem;
  --ds-space-24: 6rem;

  --ds-radius-sm: 4px;
  --ds-radius-md: 8px;
  --ds-radius-lg: 16px;
  --ds-radius-xl: 24px;
  --ds-radius-full: 9999px;

  --ds-radius-btn: var(--ds-radius-md);
  --ds-radius-card: var(--ds-radius-lg);
  --ds-card-radius: var(--ds-radius-card);
  --ds-card-icon-inline-margin: 0 0 var(--ds-space-3) var(--ds-space-4);
  --ds-card-promo-icon-size: 58px;
  --ds-card-ladder-icon-size: 104px;
  --ds-card-ladder-glyph: 26px;
  --ds-stepper-btn-font: var(--ds-fs-lg);

  --ds-faq-gap: var(--ds-space-4);
  --ds-faq-item-bg: var(--ds-surface-page);
  --ds-faq-item-border-width: 1.5px;
  --ds-faq-item-border-color: var(--ds-border-default);
  --ds-faq-item-radius: var(--ds-radius-card);
  --ds-faq-item-shadow: none;
  --ds-faq-item-pad-left: 62px;
  --ds-faq-q-pad: var(--ds-space-4) 0;
  --ds-section-title-gap: var(--ds-space-8);
  --ds-calc-gap-after-tabs: 0;
  --ds-calc-panel-gap: 0;
  --ds-calc-panel-pad: var(--ds-space-8);
  --ds-calc-form-pad: var(--ds-space-8);

  --ds-calc-includes-gap: 0;
  --ds-calc-sum-gap-after-caption: var(--ds-space-2);
  --ds-calc-sum-gap-after-total: var(--ds-space-6);
  --ds-calc-sum-gap-after-line: var(--ds-space-6);
  --ds-shadow-card: none;

  --ds-pattern-opacity-card: 0.10;

  --ds-tracking-caps-sm: 0.06em;
  --ds-tracking-caps-md: 0.08em;
  --ds-tracking-caps-lg: 0.1em;
  --ds-tracking-caps-xl: 0.12em;
  --ds-tracking-tight-sm: -0.01em;
  --ds-tracking-tight-md: -0.02em;

  --ds-motion-fast: 0.15s;
  --ds-motion-base: 0.25s;
  --ds-motion-slow: 0.55s;

  --ds-shadow-sm: 0 1px 2px rgba(22, 26, 35, 0.08);
  --ds-shadow-md: 0 4px 12px rgba(22, 26, 35, 0.1);
  --ds-shadow-lg: 0 12px 32px rgba(22, 26, 35, 0.14);

  --ds-elevation-flat: none;
  --ds-elevation-raised: 0 1px 2px rgba(22, 26, 35, 0.06), 0 6px 14px rgba(22, 26, 35, 0.07), 0 34px 72px -26px rgba(22, 26, 35, 0.18);
  --ds-elevation-deep: 0 12px 30px -18px rgba(22, 26, 35, 0.22), 0 40px 90px -35px rgba(22, 26, 35, 0.40);
  --ds-elevation-glow: 0 10px 50px -12px color-mix(in srgb, var(--ds-color-primary) 45%, transparent);

  --ds-shadow-brand: 0 24px 60px -18px color-mix(in srgb, var(--ds-color-primary) 22%, transparent);

  --ds-surface-section: var(--ds-surface-raised);

  --ds-surface-card: var(--ds-surface-raised);

  --ds-surface-picked: var(--ds-surface-section);
  --ds-surface-picked-chip: transparent;

  --ds-hero-grid-gap: var(--ds-space-12);

  --ds-fw-price: var(--ds-fw-black);

  --ds-surface-highlight: var(--ds-surface-raised);

  --ds-container-max: 1200px;
  --ds-container-pad: var(--ds-space-4);

  --ds-header-max: var(--ds-container-max);
  --ds-hero-media-max: none;

  --ds-section-pad-y: var(--ds-space-16);
  --ds-section-pad-normal: var(--ds-section-pad-y);

  --ds-gradient-brand: linear-gradient(118deg, var(--ds-color-primary), var(--ds-color-accent));

  --ds-gradient-text: var(--ds-gradient-brand);
  --ds-gradient-soft: linear-gradient(160deg, var(--ds-surface-raised), var(--ds-surface-sunken));

  --ds-gradient-panel: var(--ds-gradient-brand);

  --ds-orb-color: color-mix(in srgb, var(--ds-color-accent) 25%, transparent);
  --ds-orb-size: 280px;

  --ds-orb-color-primary: color-mix(in srgb, var(--ds-color-primary) 16%, transparent);
  --ds-orb-color-accent: color-mix(in srgb, var(--ds-color-accent) 16%, transparent);
  --ds-orb-color-alt: color-mix(in srgb, var(--ds-color-primary) 10%, var(--ds-color-accent) 10%);
  --ds-mark-color: color-mix(in srgb, var(--ds-color-accent) 30%, transparent);

  --ds-segment-active-bg: var(--ds-color-primary);
  --ds-range-color: var(--ds-color-primary);

  --ds-carousel-dot-idle: var(--ds-border-strong);
  --ds-carousel-dot-active: var(--ds-gradient-brand);
  --ds-carousel-arrow-bg: var(--ds-surface-page);
  --ds-carousel-arrow-border: var(--ds-border-default);
  --ds-carousel-arrow-ink: var(--ds-color-primary);

  --ds-motion-scale: 1;
  --ds-motion-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  --ds-anim-rise-duration: 0.7s;
  --ds-anim-drift-duration: 14s;
  --ds-anim-float-duration: 6s;
  --ds-anim-pop-duration: 0.5s;
  --ds-anim-bump-duration: 0.3s;
  --ds-marquee-duration: 45s;
  --ds-marquee-item-width: 340px;
  --ds-steps-columns: 5;

  --ds-divider-shape: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 70" preserveAspectRatio="none"><path d="M0,35 C240,70 480,0 720,28 C960,56 1200,14 1440,42 L1440,70 L0,70 Z"/></svg>');
}

@media (max-width: 767px) {
  :root {

    --ds-container-pad: var(--ds-space-3);
    --ds-section-pad-y: var(--ds-space-12);
  }
}
@media (max-width: 479px) {
  :root {
    --ds-container-pad: var(--ds-space-4);
    --ds-section-pad-y: var(--ds-space-8);
    --ds-orb-size: 200px;
    --ds-marquee-item-width: 280px;
  }
}

@media (pointer: coarse) {
  .ds-segment__btn { min-height: 44px; }
  .ds-stepper__btn { min-height: 44px; }
  .ds-stepper__input { min-height: 44px; }
}

body {
  font-family: var(--ds-font-base);
  font-size: var(--ds-fs-md);
  line-height: var(--ds-lh-base);
  color: var(--ds-text-primary);
  background: var(--ds-surface-page);
  margin: 0;
}

h1, h2, h3, h4 {
  font-family: var(--ds-font-heading);
  line-height: var(--ds-heading-leading);
  letter-spacing: var(--ds-heading-tracking);
  color: inherit;
  margin: 0 0 var(--ds-space-4);
}

h1 { font-size: var(--ds-fs-3xl); font-weight: var(--ds-heading-weight); }
h2 { font-size: var(--ds-fs-2xl); font-weight: var(--ds-heading-weight); }
h3 { font-size: var(--ds-fs-xl); font-weight: var(--ds-fw-semibold); }
h4 { font-size: var(--ds-fs-lg); font-weight: var(--ds-fw-semibold); }

a {
  color: var(--ds-text-link);
  text-decoration: none;
}
a:hover { text-decoration: underline; }

img { max-width: 100%; height: auto; }

.ds-container {
  max-width: var(--ds-container-max);
  margin: 0 auto;
  padding: 0 var(--ds-container-pad);
}

:root[data-theme="dark"] {
  --ds-surface-card: var(--ds-surface-raised);
  --ds-surface-page:    #1a1e27;
  --ds-surface-raised:  #242a36;

  --ds-surface-section: var(--ds-surface-raised);
  --ds-surface-highlight: var(--ds-surface-raised);
  --ds-surface-picked: var(--ds-surface-section);
  --ds-surface-picked-chip: transparent;
  --ds-surface-sunken:  #2f3543;
  --ds-text-primary:    #f6f8fd;
  --ds-text-secondary:  #d2d8e6;
  --ds-text-muted:      #a5adc2;
  --ds-border-default:  #39404f;
  --ds-border-strong:   #545e73;
  --ds-text-link:       #93a4f0;
  --ds-border-focus:    #93a4f0;
  --ds-color-success:   #4fd08a;
  --ds-color-warning:   #e8b366;
  --ds-color-error:     #f08c90;
  --ds-status-busy-ink: #F0C97A;
  --ds-status-busy-bg: #3A2F14;
  --ds-plate-icon-warn-ink: #F0C97A;
  --ds-plate-icon-warn-bg: #3A2F14;
  --ds-plate-icon-warn-border: #5A4A22;
  --ds-skeleton-bg: #353D4F;
  --ds-color-info:      #93a4f0;
  --ds-shadow-sm:       0 1px 2px rgba(0, 0, 0, 0.45);
  --ds-shadow-md:       0 4px 12px rgba(0, 0, 0, 0.5);
  --ds-shadow-lg:       0 12px 32px rgba(0, 0, 0, 0.6);

  --ds-elevation-raised: 0 1px 2px rgba(0, 0, 0, 0.45), 0 6px 14px rgba(0, 0, 0, 0.44), 0 34px 72px -26px rgba(0, 0, 0, 0.64);
  --ds-elevation-deep:   0 12px 30px -18px rgba(0, 0, 0, 0.55), 0 40px 90px -35px rgba(0, 0, 0, 0.75);
  --ds-elevation-glow:   0 10px 50px -12px color-mix(in srgb, var(--ds-color-primary) 25%, transparent);
  --ds-focus-ring:      rgba(147, 164, 240, 0.28);

  --ds-gradient-soft:   linear-gradient(160deg, var(--ds-surface-raised), var(--ds-surface-sunken));

  --ds-carousel-arrow-ink:    var(--ds-text-primary);
  --ds-carousel-arrow-border: var(--ds-border-strong);

  --ds-mark-color:      color-mix(in srgb, var(--ds-color-accent) 45%, transparent);

    --ds-gradient-text: linear-gradient(118deg,
      color-mix(in srgb, var(--ds-color-primary) 70%, white),
      color-mix(in srgb, var(--ds-color-accent) 70%, white));

    --ds-shadow-brand: 0 24px 60px -18px color-mix(in srgb, var(--ds-color-primary) 12%, transparent);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --ds-surface-page:    #1a1e27;
    --ds-surface-raised:  #242a36;
    --ds-surface-section: var(--ds-surface-raised);
    --ds-surface-highlight: var(--ds-surface-raised);
    --ds-surface-sunken:  #2f3543;
    --ds-text-primary:    #f6f8fd;
    --ds-text-secondary:  #d2d8e6;
    --ds-text-muted:      #a5adc2;
    --ds-border-default:  #39404f;
    --ds-border-strong:   #545e73;
    --ds-text-link:       #93a4f0;
    --ds-border-focus:    #93a4f0;
    --ds-color-success:   #4fd08a;
    --ds-color-warning:   #e8b366;
    --ds-color-error:     #f08c90;
    --ds-status-busy-ink: #F0C97A;
    --ds-status-busy-bg: #3A2F14;
    --ds-plate-icon-warn-ink: #F0C97A;
    --ds-plate-icon-warn-bg: #3A2F14;
    --ds-plate-icon-warn-border: #5A4A22;
    --ds-skeleton-bg: #353D4F;
    --ds-color-info:      #93a4f0;
    --ds-shadow-sm:       0 1px 2px rgba(0, 0, 0, 0.45);
    --ds-shadow-md:       0 4px 12px rgba(0, 0, 0, 0.5);
    --ds-shadow-lg:       0 12px 32px rgba(0, 0, 0, 0.6);

    --ds-elevation-raised: 0 1px 2px rgba(0, 0, 0, 0.45), 0 6px 14px rgba(0, 0, 0, 0.44), 0 34px 72px -26px rgba(0, 0, 0, 0.64);
    --ds-elevation-deep:   0 12px 30px -18px rgba(0, 0, 0, 0.55), 0 40px 90px -35px rgba(0, 0, 0, 0.75);
    --ds-elevation-glow:   0 10px 50px -12px color-mix(in srgb, var(--ds-color-primary) 25%, transparent);
    --ds-focus-ring:      rgba(147, 164, 240, 0.28);

  --ds-gradient-soft:   linear-gradient(160deg, var(--ds-surface-raised), var(--ds-surface-sunken));

  --ds-carousel-arrow-ink:    var(--ds-text-primary);
  --ds-carousel-arrow-border: var(--ds-border-strong);

  --ds-mark-color:      color-mix(in srgb, var(--ds-color-accent) 45%, transparent);

    --ds-gradient-text: linear-gradient(118deg,
      color-mix(in srgb, var(--ds-color-primary) 70%, white),
      color-mix(in srgb, var(--ds-color-accent) 70%, white));

    --ds-shadow-brand: 0 24px 60px -18px color-mix(in srgb, var(--ds-color-primary) 12%, transparent);
}
}

@media (max-width: 479px) {
  :root {
    --ds-calc-form-pad: var(--ds-space-6);
    --ds-calc-panel-pad: var(--ds-space-6);
  }
}

/* ═══ components/section/section.css ═══ */

.ds-section {

  padding-block: var(--ds-section-pad-normal, var(--ds-section-pad-y));
  padding-inline: 0;
  background: var(--ds-surface-page);
  position: relative;
}

.ds-section--raised { background: var(--ds-surface-section); }

.ds-section--inverse {
  background: var(--ds-surface-inverse);
  color: var(--ds-text-inverse);
}

.ds-section--tight { padding: var(--ds-space-8) 0; }

.ds-section--soft { background: var(--ds-gradient-soft); }

.ds-divider {
  display: block;

  height: var(--ds-divider-height, 70px);
  margin-bottom: -1px;
  background: var(--ds-divider-color, var(--ds-surface-section));
  -webkit-mask: var(--ds-divider-shape, none) center / 100% 100% no-repeat;
  mask: var(--ds-divider-shape, none) center / 100% 100% no-repeat;
}
.ds-divider--soft { background: var(--ds-gradient-soft); }
.ds-divider--flip { transform: scaleY(-1); }

.ds-section--decor {
  position: relative;
  overflow: hidden;
}

.ds-section--decor::before {
  content: "";
  position: absolute;
  width: var(--ds-orb-size);
  height: var(--ds-orb-size);
  border-radius: 50%;
  top: calc(var(--ds-orb-size) / -3);
  right: calc(var(--ds-orb-size) / -4);
  background: var(--ds-orb-color);
  filter: blur(70px);
  pointer-events: none;
}

.ds-section--decor-left::before {
  right: auto;
  left: calc(var(--ds-orb-size) / -4);
}

.ds-section--decor > * { position: relative; }

.ds-section--pad-tight   { padding-block: var(--ds-section-pad-tight,   var(--ds-section-pad-y)); }
.ds-section--pad-compact { padding-block: var(--ds-section-pad-compact, var(--ds-section-pad-y)); }
.ds-section--pad-wide    { padding-block: var(--ds-section-pad-wide,    var(--ds-section-pad-y)); }
.ds-section--pad-final   { padding-block: var(--ds-section-pad-final,   var(--ds-section-pad-y)); }

.ds-section__inner {
  max-width: var(--ds-container-max);
  margin: 0 auto;
  padding: 0 var(--ds-container-pad);
}

.ds-section__title {

  margin-bottom: var(--ds-section-title-gap, var(--ds-space-8));
}

.ds-hero {
  padding: var(--ds-section-pad-y) 0;
}

@media (min-width: 768px) {
  .ds-hero { padding: var(--ds-space-24) 0; }
}

.ds-hero__inner {
  max-width: var(--ds-container-max);
  margin: 0 auto;
  padding: 0 var(--ds-container-pad);
  display: flex;
  flex-direction: column;
  gap: var(--ds-space-6);
  align-items: flex-start;
}

.ds-hero--center .ds-hero__inner {
  align-items: center;
  text-align: center;
}

.ds-hero__eyebrow {
  display: inline-block;
  margin-bottom: var(--ds-hero-eyebrow-gap, var(--ds-space-3));
}

.ds-hero__title em {
  font-style: normal;
  color: var(--ds-hero-title-accent, var(--ds-color-accent));
}
.ds-hero__title {
  font-size: var(--ds-hero-title-size, var(--ds-fs-3xl));

  font-weight: var(--ds-hero-title-weight, var(--ds-heading-weight));
  letter-spacing: var(--ds-heading-tracking);
  line-height: var(--ds-hero-title-leading, var(--ds-heading-leading));
  margin: 0;
}

@media (min-width: 768px) {
  .ds-hero__title { font-size: var(--ds-hero-title-size-md, var(--ds-fs-4xl)); }
}

@media (max-width: 479px) {
  .ds-hero__title { font-size: var(--ds-hero-title-size-sm, var(--ds-fs-2xl)); overflow-wrap: anywhere; }
}

.ds-hero__lead {

  font-size: var(--ds-hero-lead-size, var(--ds-fs-lg));
  font-weight: var(--ds-hero-lead-weight, inherit);
  color: var(--ds-text-secondary);
  line-height: var(--ds-hero-lead-leading, var(--ds-lh-loose));
  max-width: 40rem;
  margin: 0;
}

.ds-section--inverse .ds-hero__lead { color: var(--ds-text-muted); }

.ds-hero__actions {
  display: flex;
  gap: var(--ds-space-3);
  flex-wrap: wrap;
}

.ds-hero--single-action .ds-hero__actions {  }

.ds-hero--media .ds-hero__inner {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: var(--ds-space-12);
  align-items: center;
}

@media (max-width: 1023px) {
  .ds-hero--media .ds-hero__inner { grid-template-columns: 1fr; }
}

.ds-hero__content {
  display: flex;
  flex-direction: column;
  gap: var(--ds-space-6);
  align-items: flex-start;
}

.ds-hero__media { min-width: 0; }
.ds-hero__media img,
.ds-hero__media svg {
  display: block;
  max-width: 100%;
  height: auto;
}

.ds-media-stack {
  position: relative;

  max-width: var(--ds-hero-media-max, none);
  margin-left: auto;
}

@media (max-width: 1023px) {
  .ds-media-stack { margin-left: auto; margin-right: auto; }
}

@media (max-width: 560px) {

  .ds-media-stack__float { display: none; }
}

.ds-media-stack__float {
  position: absolute;
  width: 44%;
  filter: drop-shadow(0 10px 24px color-mix(in srgb, var(--ds-color-primary) 18%, transparent));
}

.ds-media-stack__float--tl { top: -4%; left: -2%; }
.ds-media-stack__float--br { bottom: -2%; right: -4%; }

.ds-section--wave { position: relative; }

.ds-section--bars {
  position: relative;

  overflow: hidden;
}

.ds-section--bars::after {

  content: var(--ds-bars-content, "");
  position: absolute;
  z-index: 0;
  pointer-events: none;

  top: var(--ds-bars-top, auto);
  right: var(--ds-bars-right, auto);
  bottom: var(--ds-bars-bottom, auto);
  left: var(--ds-bars-left, auto);
  width: var(--ds-bars-width, 360px);
  height: var(--ds-bars-height, 320px);
  opacity: var(--ds-bars-opacity, 0.07);
  background: var(--ds-bars-color, var(--ds-color-primary));
  -webkit-mask: var(--ds-bars-shape, none) center / 100% 100% no-repeat;
  mask: var(--ds-bars-shape, none) center / 100% 100% no-repeat;
}

.ds-bars {
  position: absolute;
  z-index: 0;
  pointer-events: none;
  top: var(--ds-bars-top, auto);
  right: var(--ds-bars-right, auto);
  bottom: var(--ds-bars-bottom, auto);
  left: var(--ds-bars-left, auto);
  width: var(--ds-bars-width, 360px);
  height: var(--ds-bars-height, 320px);
  opacity: var(--ds-bars-opacity, 0.07);
  background: var(--ds-bars-color, var(--ds-color-primary));
  -webkit-mask: var(--ds-bars-shape, none) center / 100% 100% no-repeat;
  mask: var(--ds-bars-shape, none) center / 100% 100% no-repeat;
}

.ds-bars-host {
  position: relative;
  overflow: hidden;
}

.ds-section--wave::before,
.ds-section--wave::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: var(--ds-divider-height, 70px);

  background: var(--ds-section-wave-color, var(--ds-surface-page));
  -webkit-mask: var(--ds-divider-shape, none) center / 100% 100% no-repeat;
  mask: var(--ds-divider-shape, none) center / 100% 100% no-repeat;
  pointer-events: none;
}

.ds-section--wave::before { top: 0; transform: scaleY(-1); }
.ds-section--wave::after { bottom: 0; }

/* ═══ components/duo/duo.css ═══ */

.ds-duo {
  display: grid;
  gap: var(--ds-duo-gap, 14px 34px);
  align-items: start;
}
.ds-duo--45 { grid-template-columns: minmax(0, 1fr) var(--ds-duo-col-45, 45%); }
.ds-duo--35 { grid-template-columns: minmax(0, 1fr) var(--ds-duo-col-35, 35%); }

.ds-duo > .ds-duo__main { grid-column: 1; grid-row: 1; min-width: 0; }

.ds-duo > svg.ds-duo__scene {
  grid-column: 2;
  grid-row: 1;
  width: 100%;
  height: auto;
  align-self: center;
}

.ds-duo--45 > svg.ds-duo__scene { min-width: var(--ds-duo-scene-floor-45, 320px); }
.ds-duo--35 > svg.ds-duo__scene { min-width: var(--ds-duo-scene-floor-35, 280px); }

@media (max-width: 900px) {
  .ds-duo--45, .ds-duo--35 { grid-template-columns: 1fr; }
  .ds-duo > svg.ds-duo__scene {
    grid-column: 1;
    grid-row: auto;
    max-width: var(--ds-duo-scene-narrow-max, 420px);
    margin: 0 auto;
    min-width: 0;
  }
}

/* ═══ components/orb/orb.css ═══ */

.ds-orb {
  position: absolute;
  z-index: 0;

  --ds-orb-w: max(290px, var(--ds-orb-size));
  width: var(--ds-orb-w);
  height: var(--ds-orb-w);
  border-radius: 50%;
  background: var(--ds-orb-color);
  filter: blur(70px);
  pointer-events: none;
}

.ds-orb--primary { background: var(--ds-orb-color-primary); }
.ds-orb--accent  { background: var(--ds-orb-color-accent); }
.ds-orb--alt     { background: var(--ds-orb-color-alt); }

.ds-orb--tl { top: calc(var(--ds-orb-w) * -0.28); left: calc(var(--ds-orb-w) * -0.32); }
.ds-orb--tr { top: calc(var(--ds-orb-w) * -0.28); right: calc(var(--ds-orb-w) * -0.32); }
.ds-orb--bl { bottom: calc(var(--ds-orb-w) * -0.28); left: calc(var(--ds-orb-w) * -0.32); }
.ds-orb--br { bottom: calc(var(--ds-orb-w) * -0.28); right: calc(var(--ds-orb-w) * -0.32); }
.ds-orb--c  { top: 30%; left: 40%; }

.ds-orb {
  animation: ds-drift var(--ds-anim-drift-duration) ease-in-out infinite alternate;
}

.ds-orb--lg { --ds-orb-w: max(290px, calc(var(--ds-orb-size) * 1.5)); }

.ds-orb--md { --ds-orb-w: max(290px, var(--ds-orb-size)); }
.ds-orb--sm { --ds-orb-w: max(290px, calc(var(--ds-orb-size) * 0.7)); }

.ds-section--glow {
  position: relative;
  overflow: hidden;
}

.ds-section--glow > :not(.ds-orb, .ds-sphere, .ds-bars, [data-ds-decor]) { position: relative; z-index: 1; }

@media (prefers-reduced-motion: reduce) {
  .ds-orb { animation: none; }
}

/* ═══ components/sphere/sphere.css ═══ */

.ds-sphere {
  position: absolute;

  display: block;
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
  width: var(--ds-sphere-size, 110px);
  height: var(--ds-sphere-size, 110px);
  opacity: var(--ds-sphere-opacity, 0.5);
  background: radial-gradient(circle at 33% 28%,
              var(--ds-sphere-hi, rgba(255, 255, 255, 0.95)),
              var(--ds-sphere-mid, #a8dc6c) 46%,
              var(--ds-sphere-low, #5f9c26) 100%);
  box-shadow: 0 28px 46px -18px var(--ds-sphere-shadow, rgba(87, 141, 36, 0.5)),
              inset 0 -12px 26px var(--ds-sphere-inner, rgba(62, 112, 19, 0.28));
}

.ds-sphere--lg { --ds-sphere-size: 110px; }
.ds-sphere--md { --ds-sphere-size: 89px; }
.ds-sphere--sm { --ds-sphere-size: 71px; }

@media (prefers-reduced-motion: no-preference) {
  .ds-sphere--float {
    animation: ds-sphere-floaty var(--ds-sphere-spin, 5.2s) ease-in-out infinite alternate;
  }
}

@keyframes ds-sphere-floaty {
  from { transform: translateY(0); }
  to   { transform: translateY(-14px); }
}

.ds-sphere-demo { position: relative; height: 200px; }
.ds-sphere-demo__a { left: 40px;  top: 20px; }
.ds-sphere-demo__b { left: 200px; top: 40px; }
.ds-sphere-demo__c { left: 340px; top: 60px; }

/* ═══ components/eyebrow/eyebrow.css ═══ */

.ds-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: var(--ds-space-2);

  font-size: var(--ds-eyebrow-size, var(--ds-fs-xs));

  line-height: var(--ds-eyebrow-lh, inherit);
  font-weight: var(--ds-fw-bold);
  letter-spacing: var(--ds-eyebrow-tracking, 0.12em);
  text-transform: uppercase;
  color: var(--ds-color-accent);

  background: var(--ds-eyebrow-bg, var(--ds-surface-raised));
  border-radius: var(--ds-radius-full);
  padding: var(--ds-eyebrow-pad, var(--ds-space-2) var(--ds-space-4));

  margin-bottom: var(--ds-eyebrow-gap, var(--ds-space-4));
}

.ds-eyebrow::before {
  content: "";
  display: inline-block;
  width: var(--ds-eyebrow-dash, 0);
  height: 2px;
  background: var(--ds-color-primary);
  flex: 0 0 auto;
}

.ds-eyebrow__icon {
  width: 0.85em;
  height: 0.85em;
  flex-shrink: 0;
}

/* ═══ components/stat/stat.css ═══ */

.ds-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--ds-space-8) var(--ds-space-12);
  align-items: start;
}

@media (max-width: 479px) {
  .ds-stats { grid-template-columns: minmax(0, 1fr); }
}

.ds-stat {
  display: block;
}

.ds-stat__value {
  display: block;
  font-size: var(--ds-fs-2xl);
  font-weight: var(--ds-fw-bold);
  line-height: var(--ds-lh-tight);
  font-variant-numeric: tabular-nums;

  background: var(--ds-text-link);
    background: var(--ds-gradient-text);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.ds-stat--plain .ds-stat__value {
  background: none;

  color: var(--ds-text-link);
}

.ds-stat__icon {
  display: block;
  width: 1.25em;
  height: 1.25em;
  margin-bottom: var(--ds-space-2);

  color: var(--ds-text-link);
  font-size: var(--ds-fs-sm);
}

.ds-stat__label {
  display: block;
  margin-top: var(--ds-space-1);
  font-size: var(--ds-fs-sm);
  color: var(--ds-text-secondary);
  max-width: 16rem;
}

/* ═══ components/mark/mark.css ═══ */

.ds-mark {
  color: inherit;
  background: linear-gradient(transparent 58%, var(--ds-mark-color) 58%);
  padding: 0 0.08em;
  border-radius: 2px;
}

/* ═══ components/compare/compare.css ═══ */

.ds-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;

  line-height: var(--ds-compare-lh, inherit);
  gap: var(--ds-compare-gap, var(--ds-space-6));

  align-items: stretch;
}

@media (max-width: 767px) {
  .ds-compare { grid-template-columns: 1fr; }
}

.ds-compare__col {

  position: relative;
  background: var(--ds-surface-page);
  border: 1px solid var(--ds-border-default);
  border-radius: var(--ds-radius-card);

  padding: var(--ds-compare-col-pad, var(--ds-space-6));

  display: flex;
  flex-direction: column;
}

.ds-compare__col--highlight {
  background: var(--ds-surface-highlight);
  color: var(--ds-text-primary);
  border-color: transparent;
}

.ds-compare__col--accent {
  background: var(--ds-color-primary);
  border-color: transparent;
  color: var(--ds-color-on-primary);
}

.ds-compare__col--gradient {
  background: var(--ds-gradient-brand);
  border-color: transparent;
  color: var(--ds-color-on-primary);
  box-shadow: var(--ds-shadow-brand);
}
.ds-compare__col--gradient .ds-compare__item::before { color: var(--ds-color-on-primary); }

.ds-compare__tag {
  display: inline-block;
  font-size: var(--ds-fs-xs);
  font-weight: var(--ds-fw-bold);
  letter-spacing: var(--ds-tracking-caps-md);
  text-transform: uppercase;
  border-radius: var(--ds-radius-full);
  padding: var(--ds-space-1) var(--ds-space-3);
  margin-bottom: var(--ds-space-4);
  background: var(--ds-surface-raised);
  color: var(--ds-text-muted);

  align-self: flex-start;
}

.ds-compare__col--highlight .ds-compare__tag {
  background: transparent;
  color: var(--ds-text-primary);
}

.ds-compare__col--gradient .ds-compare__tag,
.ds-compare__col--accent .ds-compare__tag {
  background: color-mix(in srgb, var(--ds-color-on-primary) 22%, transparent);
  color: var(--ds-color-on-primary);
}

.ds-compare__title {
  display: var(--ds-compare-title-display, block);

  align-self: var(--ds-compare-title-self, stretch);
  font-size: var(--ds-compare-title-size, var(--ds-fs-lg));
  font-weight: var(--ds-compare-title-weight, var(--ds-fw-semibold));
  text-transform: var(--ds-compare-title-transform, none);
  letter-spacing: var(--ds-compare-title-tracking, normal);
  padding: var(--ds-compare-title-pad, 0);
  border-radius: var(--ds-compare-title-radius, 0);
  background: var(--ds-compare-title-bg, transparent);
  color: var(--ds-compare-title-ink, inherit);

  margin: 0 0 var(--ds-compare-title-gap, var(--ds-space-4));
}

.ds-compare__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;

  gap: var(--ds-compare-list-gap, var(--ds-space-3));

  flex: 1;
  align-content: space-between;
}

.ds-compare__item {
  display: flex;
  gap: var(--ds-space-3);
  align-items: flex-start;
  font-size: var(--ds-compare-item-size, var(--ds-fs-sm));
  font-weight: var(--ds-compare-item-weight, inherit);
}

.ds-compare__item::before {
  content: "✓";
  font-weight: var(--ds-fw-bold);
  color: var(--ds-color-accent);
  flex-shrink: 0;
}

.ds-compare__col--accent .ds-compare__item::before {
  color: var(--ds-color-on-primary);
}

.ds-compare__col--muted .ds-compare__item {
  color: var(--ds-text-secondary);
}

.ds-compare__col--muted .ds-compare__item::before {
  content: "✕";
  color: var(--ds-text-muted);
}

.ds-compare--neutral .ds-compare__col--muted .ds-compare__item::before {
  content: "•";
  color: var(--ds-text-secondary);
}

/* ═══ components/trust/trust.css ═══ */

.ds-trust {
  border-radius: var(--ds-trust-radius, var(--ds-radius-card));
  padding: var(--ds-trust-pad, var(--ds-space-4) var(--ds-space-6));
  margin-top: var(--ds-trust-mar-top, var(--ds-space-6));

  background: var(--ds-trust-bg, var(--ds-surface-raised));
  box-shadow: var(--ds-trust-shadow, none);
}

.ds-trust__title {
  font-size: var(--ds-trust-title-size, var(--ds-fs-xs));
  font-weight: var(--ds-trust-title-weight, var(--ds-fw-bold));
  letter-spacing: var(--ds-trust-title-tracking, normal);
  text-transform: var(--ds-trust-title-transform, none);

  line-height: var(--ds-trust-title-lh, inherit);
  color: var(--ds-trust-title-color, var(--ds-text-secondary));
  margin: 0 0 var(--ds-trust-title-gap, var(--ds-space-3));
}

.ds-trust__list {
  display: grid;
  grid-template-columns: var(--ds-trust-cols, repeat(auto-fit, minmax(210px, 1fr)));
  gap: var(--ds-trust-gap, var(--ds-space-3) var(--ds-space-4));
  margin: 0;
  padding: 0;
  list-style: none;
}

.ds-trust__item {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--ds-trust-item-gap, var(--ds-space-1));
  padding-left: var(--ds-trust-marker-room, var(--ds-space-6));
}

.ds-trust__item::before {
  content: "";
  position: absolute;
  left: 0;
  top: var(--ds-trust-marker-top, 0);
  width: var(--ds-trust-marker-size, var(--ds-space-3));
  height: var(--ds-trust-marker-size, var(--ds-space-3));
  border-radius: var(--ds-radius-full);
  background: var(--ds-trust-marker-bg, var(--ds-color-primary));

  box-shadow: var(--ds-trust-marker-inner, none);
}

.ds-trust__name {
  font-size: var(--ds-trust-name-size, var(--ds-fs-sm));
  font-weight: var(--ds-trust-name-weight, var(--ds-fw-bold));
  line-height: var(--ds-trust-name-lh, inherit);
  color: var(--ds-trust-name-color, var(--ds-text-primary));
}

.ds-trust__source {
  font-size: var(--ds-trust-source-size, var(--ds-fs-xs));
  font-weight: var(--ds-trust-source-weight, var(--ds-fw-medium));
  line-height: var(--ds-trust-source-lh, inherit);
  color: var(--ds-trust-source-color, var(--ds-text-secondary));
}

.ds-trust__disclaimer {
  font-size: var(--ds-trust-note-size, var(--ds-fs-xs));
  font-weight: var(--ds-trust-note-weight, var(--ds-fw-medium));
  line-height: var(--ds-trust-note-lh, inherit);
  color: var(--ds-trust-note-color, var(--ds-text-secondary));
  margin: var(--ds-trust-note-gap, var(--ds-space-4)) 0 0;
}

/* ═══ components/button/button.css ═══ */

.ds-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--ds-space-2);
  padding: var(--ds-space-3) var(--ds-space-6);
  font-family: var(--ds-font-base);
  font-size: var(--ds-fs-md);
  font-weight: var(--ds-fw-semibold);
  line-height: 1;

  background: var(--ds-btn-bg, var(--ds-surface-raised));
  color: var(--ds-btn-ink, var(--ds-text-primary));
  border: 1px solid transparent;
  border-radius: var(--ds-radius-btn);
  cursor: pointer;
  text-decoration: none;
  transition: background-color var(--ds-motion-fast) ease, border-color var(--ds-motion-fast) ease, color var(--ds-motion-fast) ease;
}

.ds-btn:focus-visible {
  outline: 2px solid var(--ds-border-focus);
  outline-offset: 2px;
}

.ds-btn--primary {
  background: var(--ds-color-primary);
  color: var(--ds-color-on-primary);
}

.ds-btn--primary:hover { background: var(--ds-color-primary-hover); text-decoration: none;
  box-shadow: var(--ds-shadow-brand); }
.ds-btn--gradient:hover { box-shadow: var(--ds-shadow-brand); }
.ds-btn--primary:active { background: var(--ds-color-primary-active); }

.ds-btn--secondary {
  background: transparent;

  color: var(--ds-text-link);
  border-color: var(--ds-border-strong);
}
.ds-btn--secondary:hover { border-color: var(--ds-color-primary); text-decoration: none; }

.ds-btn--gradient {

  background: var(--ds-gradient-brand);
  color: var(--ds-color-on-primary);
}
.ds-btn--gradient:hover { filter: brightness(0.94); text-decoration: none; }
.ds-btn--gradient:active { filter: brightness(0.88); }

.ds-btn--ghost {
  background: transparent;
  color: var(--ds-text-link);
}
.ds-btn--ghost:hover { background: var(--ds-surface-raised); text-decoration: none; }

.ds-btn--sm {
  position: relative; padding: var(--ds-space-2) var(--ds-space-4); font-size: var(--ds-fs-sm);
}

.ds-btn--sm::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: max(100%, 44px);
  height: max(100%, 44px);
}

.ds-btn--lg {
  padding: var(--ds-btn-lg-pad, var(--ds-space-4) var(--ds-space-8));
  font-size: var(--ds-btn-lg-font, var(--ds-fs-lg));
}

.ds-btn--block {
  display: flex;
  width: 100%;

  box-sizing: border-box;
}

.ds-btn[disabled],
.ds-btn--disabled {
  opacity: 0.5;
  pointer-events: none;
}

.ds-btn--icon {
  width: var(--ds-btn-icon-size, 38px);
  height: var(--ds-btn-icon-size, 38px);
  padding: 0;
  gap: 0;
  flex: none;
  border-radius: var(--ds-btn-icon-radius, 10px);
  border-color: var(--ds-btn-icon-border, var(--ds-border-default));
  background: var(--ds-btn-icon-bg, var(--ds-surface-card));
  color: var(--ds-btn-icon-ink, var(--ds-text-primary));
}
.ds-btn--icon > svg {
  display: block;
  width: var(--ds-btn-icon-glyph, 50%);
  height: var(--ds-btn-icon-glyph, 50%);
  stroke: currentColor;
  fill: var(--ds-btn-icon-fill, none);

  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.ds-btn--icon:hover { border-color: var(--ds-color-primary); }

.ds-btn--icon[aria-pressed="true"] {
  border-color: var(--ds-color-primary);
  color: var(--ds-color-primary);
}

/* ═══ components/fab/fab.css ═══ */

.ds-fab {
  position: fixed;
  z-index: var(--ds-fab-z, 80);
  right: var(--ds-fab-inset, 22px);

  bottom: calc(var(--ds-fab-inset, 22px) + var(--ds-fab-bottom-offset, 0px));
  width: var(--ds-fab-size, 58px);
  height: var(--ds-fab-size, 58px);
  flex: none;
  border: 0;
  border-radius: 50%;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  text-decoration: none;
  background: var(--ds-fab-bg, var(--ds-color-primary));
  color: var(--ds-fab-ink, var(--ds-color-on-primary));
  box-shadow: var(--ds-fab-shadow, none);
}

.ds-fab > svg {
  width: var(--ds-fab-glyph, 45%);
  height: var(--ds-fab-glyph, 45%);
  display: block;
}

.ds-fab--start { right: auto; left: var(--ds-fab-inset, 22px); }

.ds-fab--away { opacity: 0; pointer-events: none; }
.ds-fab { transition: opacity var(--ds-fab-fade, .3s) ease, transform var(--ds-motion-base) ease; }
@media (prefers-reduced-motion: reduce) { .ds-fab { transition: none; } }

@media (max-width: 620px) {
  :root { --ds-fab-size: 46px; }
}

/* ═══ components/header/header.css ═══ */

.ds-header {
  background: var(--ds-surface-page);
  border-bottom: 1px solid var(--ds-border-default);
}

.ds-header__inner {

  max-width: var(--ds-header-max);
  margin: 0 auto;
  padding: var(--ds-space-4) var(--ds-container-pad);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--ds-space-6);
  flex-wrap: wrap;
}

.ds-header__logo {
  font-size: var(--ds-fs-lg);
  font-weight: var(--ds-fw-bold);
  color: var(--ds-text-primary);
  text-decoration: none;
}
.ds-header__logo:hover { text-decoration: none; }

.ds-header__nav {
  display: flex;
  align-items: center;
  gap: var(--ds-space-6);
  flex-wrap: wrap;
}

.ds-header__link {
  font-size: var(--ds-header-link-size, var(--ds-fs-sm));
  padding: var(--ds-header-link-pad, 0);
  font-weight: var(--ds-fw-medium);
  color: var(--ds-text-secondary);
}
.ds-header__link:hover { color: var(--ds-text-primary); text-decoration: none; }
.ds-header__link--active { color: var(--ds-color-primary); }

.ds-header--sticky {
  position: sticky;
  top: 0;
  z-index: 30;
}

.ds-header--glass {
  background: var(--ds-surface-page);
}

@supports (backdrop-filter: blur(12px)) {
  .ds-header--glass {
    background: color-mix(in srgb, var(--ds-surface-page) 85%, transparent);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
  }
}

.ds-header--pill {
  background: transparent;
  border-bottom: 0;
  padding-block: var(--ds-space-2);
}

.ds-header--pill .ds-header__inner {
  border-radius: var(--ds-radius-full);
  background: var(--ds-surface-page);

  padding: var(--ds-space-3) var(--ds-space-6);
  box-shadow:
    inset 0 1.5px 0 color-mix(in srgb, var(--ds-surface-page) 85%, transparent),
    inset 0 -1.5px 0 color-mix(in srgb, var(--ds-text-primary) 5%, transparent),
    var(--ds-shadow-md);
}

@supports (backdrop-filter: blur(14px)) {
  .ds-header--pill .ds-header__inner {
    background: color-mix(in srgb, var(--ds-surface-page) 88%, transparent);
    backdrop-filter: blur(14px) saturate(1.3);
    -webkit-backdrop-filter: blur(14px) saturate(1.3);
  }
}

@media (max-width: 640px) {
  .ds-header--pill .ds-header__inner {
    padding-inline: var(--ds-space-4);
  }
}

.ds-header__cta { margin-left: var(--ds-space-4); }
@media (max-width: 640px) {
  .ds-header__cta { margin-left: auto; }
}

.ds-header__logo img { max-width: var(--ds-header-logo-max, 100%); height: auto; }
@media (max-width: 640px) {
  .ds-header__logo img { max-width: var(--ds-logo-header-mobile-max, 40vw); }
}

.ds-header__logo-dark { display: none; }

:root[data-theme="dark"] .ds-header__logo-light { display: none; }
:root[data-theme="dark"] .ds-header__logo-dark { display: block; }

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .ds-header__logo-light { display: none; }
  :root:not([data-theme="light"]) .ds-header__logo-dark { display: block; }
}

.ds-header__burger {
  display: none;
  flex: none;
  width: var(--ds-header-burger-size, 40px);
  height: var(--ds-header-burger-height, 38px);
  border: 1px solid var(--ds-border-default);
  border-radius: var(--ds-header-burger-radius, var(--ds-radius-sm));
  background: var(--ds-header-burger-bg, var(--ds-surface-section));
  color: var(--ds-text-primary);
  font-size: var(--ds-header-burger-glyph, 17px);
  line-height: 1;
  cursor: pointer;
  align-items: center;
  justify-content: center;
}

.ds-header--burger .ds-header__burger {
  display: flex;
  margin-left: auto;
}

.ds-header--burger .ds-header__nav {
  display: none;
  position: fixed;
  inset: var(--ds-header-menu-top, 84px) var(--ds-header-menu-side, 14px) auto
         var(--ds-header-menu-side, 14px);
  z-index: var(--ds-header-menu-z, 65);
  flex-direction: column;
  align-items: flex-start;
  gap: var(--ds-header-menu-gap, var(--ds-space-3));
  padding: var(--ds-header-menu-pad, 16px 26px);
  background: var(--ds-surface-section);
  border-radius: var(--ds-header-menu-radius, var(--ds-radius-xl));
  box-shadow: var(--ds-shadow-lg);
}
.ds-header--burger .ds-header__nav--open { display: flex; }
.ds-header--burger .ds-header__nav .ds-header__link { width: 100%; }

@media (min-width: 941px) {
  .ds-header--burger .ds-header__burger { display: none; }
  .ds-header--burger .ds-header__nav {
    display: flex;
    position: static;
    inset: auto;
    flex-direction: row;
    align-items: center;
    padding: 0;
    background: none;
    border-radius: 0;
    box-shadow: none;

    gap: var(--ds-space-6);
    z-index: auto;
  }
  .ds-header--burger .ds-header__nav .ds-header__link { width: auto; }
}

/* ═══ components/card/card.css ═══ */

.ds-card {

  background: var(--ds-card-bg, var(--ds-surface-page));

  border: var(--ds-card-border, 1px solid var(--ds-border-default));
  border-radius: var(--ds-card-radius, var(--ds-radius-card));
  box-shadow: var(--ds-card-shadow, var(--ds-shadow-card));

  padding: var(--ds-card-pad, var(--ds-space-6));
  display: flex;
  flex-direction: column;
  gap: var(--ds-card-gap, var(--ds-space-3));
}

.ds-card--raised {
  border: none;
  box-shadow: var(--ds-shadow-md);
}

.ds-card--glow {
  border: none;
  box-shadow: var(--ds-shadow-brand);
}

:not(.ds-steps) > .ds-card:nth-child(2n):hover {
  box-shadow: var(--ds-card-alt-hover-shadow, var(--ds-shadow-brand));
}

.ds-card--hub { transition: transform var(--ds-card-motion, .2s) ease, box-shadow var(--ds-card-motion, .2s) ease; }
.ds-card--hub:hover {
  transform: translateY(var(--ds-card-hub-lift, 0));

  box-shadow: var(--ds-card-hub-hover-shadow, var(--ds-card-shadow, var(--ds-shadow-card)));
}

@media (prefers-reduced-motion: reduce) {
  .ds-card--hub { transition: none; }
  .ds-card--hub:hover { transform: none; }
}

.ds-card--key:hover {
  box-shadow: var(--ds-shadow-brand);
  border-color: var(--ds-color-accent);
}

.ds-card__media {
  margin: calc(-1 * var(--ds-space-6)) calc(-1 * var(--ds-space-6)) var(--ds-space-3);
  border-radius: var(--ds-radius-card) var(--ds-radius-card) 0 0;
  overflow: hidden;
}
.ds-card__media img { display: block; width: 100%; height: auto; }

.ds-card__title {
  font-size: var(--ds-card-title-size, var(--ds-fs-lg));
  font-weight: var(--ds-card-title-weight, var(--ds-fw-semibold));

  line-height: var(--ds-card-title-lh, inherit);
  margin: var(--ds-card-title-mar-top, 0) 0 0;
}

.ds-card__text {
  color: var(--ds-text-secondary);
  font-size: var(--ds-card-text-size, var(--ds-fs-sm));

  margin: var(--ds-card-text-mar-top, 0) 0 0;
  line-height: var(--ds-card-text-lh, inherit);

  flex: var(--ds-card-text-flex, initial);

  padding-right: var(--ds-card-text-pad-right, 0);
}

.ds-card__footer {
  margin-top: var(--ds-card-footer-mar-top, auto);
  padding-top: var(--ds-card-footer-pad-top, var(--ds-space-3));
}

.ds-card__icon ~ * { position: relative; z-index: 2; padding-right: var(--ds-card-icon-reserve, 0); }

.ds-card__icon ~ .ds-card__text { padding-right: max(var(--ds-card-text-pad-right, 0px), var(--ds-card-icon-reserve, 0px)); }

.ds-card__icon {
  z-index: var(--ds-card-icon-z, 1);
  width: var(--ds-card-icon-size, 48px);
  height: var(--ds-card-icon-size, 48px);
  border-radius: var(--ds-card-icon-radius, var(--ds-radius-md));

  background: var(--ds-card-icon-bg, var(--ds-surface-raised));
  box-shadow: var(--ds-card-icon-inner, none);

  color: var(--ds-card-icon-ink, var(--ds-color-primary));
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.ds-card--icon-inline { display: block; }

.ds-card--icon-inline > * + * { margin-top: var(--ds-card-gap, var(--ds-space-3)); }

.ds-card--icon-inline > .ds-card__icon + * { margin-top: 0; }
.ds-card--icon-inline .ds-card__icon {
  float: right;

  margin: var(--ds-card-icon-inline-margin, 0 0 var(--ds-space-3) var(--ds-space-4));
}

.ds-card__icon svg {
  width: var(--ds-card-glyph-size, 26px);
  height: var(--ds-card-glyph-size, 26px);
}

.ds-card--ladder .ds-card__icon { margin-bottom: var(--ds-card-icon-mar-bottom, 0); }
.ds-card--ladder .ds-badge { margin-bottom: var(--ds-badge-mar-bottom, 0); }

.ds-card--ladder .ds-badge { align-self: flex-start; }

.ds-card--icon-lead {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: var(--ds-card-icon-gap, var(--ds-space-3));
  row-gap: var(--ds-card-lead-row-gap, var(--ds-card-gap, var(--ds-space-3)));
  align-items: start;
}
.ds-card--icon-lead > .ds-card__icon {
  grid-row: 1 / span 2;
  flex: 0 0 auto;
}

.ds-steps {
  counter-reset: ds-step;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: var(--ds-space-4);
}

.ds-steps--lane {
  grid-template-columns: repeat(var(--ds-steps-columns, 5), minmax(0, 1fr));
}
@media (max-width: 760px) {
  .ds-steps--lane { grid-template-columns: 1fr; }
}

.ds-card--step { counter-increment: ds-step; }

.ds-card--step::before {
  content: counter(ds-step);
  width: 32px;
  height: 32px;
  border-radius: var(--ds-radius-full);
  background: var(--ds-color-primary);
  color: var(--ds-color-on-primary);
  font-weight: var(--ds-fw-bold);
  font-size: var(--ds-fs-sm);
  display: flex;
  align-items: center;
  justify-content: center;
}

.ds-card--audit { box-shadow: var(--ds-shadow-brand); }

.ds-card__head {
  display: flex;
  align-items: center;
  gap: var(--ds-space-3);
}

.ds-card__icon--brand {
  background: var(--ds-gradient-brand);
  color: var(--ds-color-on-primary);
}
.ds-card__sub {
  display: block;
  font-size: var(--ds-fs-xs);
  color: var(--ds-text-muted);
}

.ds-card__checks {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--ds-space-2);
}
.ds-card__checks li {
  display: flex;
  gap: var(--ds-space-3);
  align-items: flex-start;
  font-size: var(--ds-fs-sm);
  color: var(--ds-text-muted);
}
.ds-card__checks li::before {
  content: "";
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin-top: 1px;
  background: var(--ds-color-primary);
  -webkit-mask: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6L9 17l-5-5"/></svg>') center/contain no-repeat;
  mask: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6L9 17l-5-5"/></svg>') center/contain no-repeat;
}

.ds-card__checks li[data-ds-marker]::before {
  content: none;
}

.ds-card__footer--accent {
  color: var(--ds-color-accent);
  font-weight: var(--ds-fw-bold);
  font-size: var(--ds-fs-sm);
  border-top: 1px solid var(--ds-border-default);
}

.ds-card--hub { border-radius: var(--ds-radius-card-hub, var(--ds-radius-card)); }

.ds-card--highlight {
  background: var(--ds-card-highlight-bg, var(--ds-surface-highlight));
  color: var(--ds-text-primary);
}

.ds-card--picked { background: var(--ds-surface-picked, var(--ds-surface-section)); }

@supports (backdrop-filter: blur(14px)) {
  .ds-card--picked {
    -webkit-backdrop-filter: var(--ds-card-picked-blur, none);
    backdrop-filter: var(--ds-card-picked-blur, none);
  }
}

.ds-card--plate {

  padding: var(--ds-plate-pad, var(--ds-card-pad, var(--ds-space-6)));
  background: var(--ds-surface-silk, var(--ds-surface-section));
  box-shadow: var(--ds-shadow-silk, var(--ds-shadow-card, none));
  border-radius: var(--ds-radius-plate, var(--ds-radius-xl));
}

.ds-card--picked .ds-badge--highlight,
.ds-card--picked .ds-badge {
  background: var(--ds-surface-picked-badge, var(--ds-color-accent));
  color: var(--ds-badge-picked-ink, var(--ds-surface-page));
}

.ds-row--picked > th,
.ds-row--picked > td { background: var(--ds-surface-highlight); }
.ds-row--picked .ds-badge,
.ds-row--picked .ds-badge--highlight { background: var(--ds-surface-picked-chip, #fff); }

.ds-card--promo  { --ds-card-icon-size: var(--ds-card-promo-icon-size, 58px); }

.ds-card--promo { display: var(--ds-card-promo-flow, flex); }
.ds-card--promo::after { content: var(--ds-card-promo-clear, none); display: block; clear: both; }
.ds-card--promo > .ds-card__icon {
  float: var(--ds-card-promo-icon-float, none);
  margin: var(--ds-card-promo-icon-mar, 0);
}
.ds-card--inc    { --ds-card-icon-size: 46px; }
.ds-card--hub    { --ds-card-icon-size: 52px; }

.ds-card--ladder { --ds-card-icon-size: var(--ds-card-ladder-icon-size, 104px); }

.ds-card--ladder .ds-card__icon svg {
  width: var(--ds-card-ladder-glyph, 26px);
  height: var(--ds-card-ladder-glyph, 26px);
}

.ds-card__check-icon {

  color: inherit;
}

/* ═══ components/promo/promo.css ═══ */

.ds-promo {
  position: relative;
  display: flex;
  align-items: center;
  gap: var(--ds-promo-gap, 15px);
  padding: var(--ds-promo-pad, 14px 17px);
  border-radius: var(--ds-promo-radius, 15px);
  color: var(--ds-text-primary);

  background: var(--ds-promo-bg, var(--ds-surface-highlight));
  border: 1px solid var(--ds-promo-border, var(--ds-border-default));
  box-shadow: var(--ds-promo-shadow, none);
}

.ds-promo__icon {
  width: var(--ds-promo-icon-size, 46px);
  height: var(--ds-promo-icon-size, 46px);
  flex: none;
  display: grid;
  place-items: center;
  border-radius: var(--ds-promo-icon-radius, 13px);
  background: var(--ds-promo-icon-bg, var(--ds-surface-highlight));
  border: 1px solid var(--ds-promo-icon-border, var(--ds-border-default));
  color: var(--ds-promo-icon-ink, var(--ds-text-link));
  box-shadow: var(--ds-promo-icon-shadow, none);
}
.ds-promo__icon > svg {
  width: var(--ds-promo-icon-glyph, 23px);
  height: var(--ds-promo-icon-glyph, 23px);
  stroke: currentColor;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.ds-promo__body { flex: 1; min-width: 0; }

.ds-promo__title {
  display: block;
  font: var(--ds-promo-title-font, 800 14.5px/1.3 inherit);
  margin-bottom: var(--ds-promo-title-gap, 2px);
  color: var(--ds-text-primary);
}
.ds-promo__text {
  font-size: var(--ds-promo-text-size, 12.5px);
  line-height: var(--ds-promo-text-lh, 1.42);
  color: var(--ds-text-secondary);
}

.ds-promo__price {
  font-weight: var(--ds-promo-price-weight, 800);
  color: var(--ds-promo-price-ink, var(--ds-text-link));
}

.ds-promo__cta { flex: none; display: flex; flex-direction: column; gap: 6px; align-items: flex-end; }

.ds-promo__cta > .ds-btn {
  background: var(--ds-promo-cta-bg, var(--ds-surface-card));
  color: var(--ds-promo-cta-ink, var(--ds-text-link));
  box-shadow: inset 0 0 0 1px var(--ds-promo-cta-ring, var(--ds-border-default));
}
.ds-promo__cta > .ds-btn:hover { background: var(--ds-promo-cta-bg-hover, var(--ds-surface-highlight)); }

/* ═══ components/coupon/coupon.css ═══ */

.ds-coupon {
  position: relative;

  box-sizing: border-box;

  max-width: var(--ds-coupon-max, 360px);

  min-width: var(--ds-coupon-min, auto);
  width: 100%;
  text-align: left;

  padding: var(--ds-coupon-pad, var(--ds-space-8));
  border-radius: var(--ds-radius-xl);
  box-shadow: var(--ds-coupon-shadow, var(--ds-shadow-brand));

  border: var(--ds-coupon-border-width, 2px) solid transparent;
  background:
    linear-gradient(var(--ds-coupon-bg, var(--ds-surface-raised)),
                    var(--ds-coupon-bg, var(--ds-surface-raised))) padding-box,
    var(--ds-coupon-ring, var(--ds-gradient-brand)) border-box;

  -webkit-backdrop-filter: var(--ds-coupon-blur, none);
  backdrop-filter: var(--ds-coupon-blur, none);
}

.ds-coupon__hole {
  position: absolute;
  top: 50%;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--ds-surface-page);
  transform: translateY(-50%);
}

.ds-coupon__hole--l { left: calc(-1 * min(15px, var(--ds-container-pad))); }
.ds-coupon__hole--r { right: calc(-1 * min(15px, var(--ds-container-pad))); }

.ds-coupon__tag {
  display: inline-block;
  font-size: var(--ds-fs-xs);
  font-weight: var(--ds-fw-bold);
  letter-spacing: var(--ds-tracking-caps-lg);
  text-transform: uppercase;
  color: var(--ds-color-on-primary);

  background: var(--ds-coupon-tag-bg, var(--ds-color-primary));
  border-radius: var(--ds-radius-btn);
  padding: var(--ds-space-1) var(--ds-space-3);
}

.ds-coupon__off {

  font-size: var(--ds-coupon-off-size, var(--ds-fs-4xl));

  font-weight: var(--ds-coupon-off-weight, var(--ds-fw-black));
  line-height: 1;
  letter-spacing: var(--ds-tracking-tight-md);
  margin: var(--ds-space-3) 0 var(--ds-space-1);
}

.ds-coupon--price .ds-coupon__off em {
  background: none;
  -webkit-text-fill-color: currentColor;
  color: var(--ds-coupon-number-ink, var(--ds-text-primary));
}

.ds-coupon__off em {
  font-style: normal;
  color: var(--ds-text-link);
  background: var(--ds-text-link);
    background: var(--ds-gradient-text);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.ds-coupon__off small {
  font-size: var(--ds-coupon-unit-size, 16px);
  font-weight: var(--ds-fw-semibold);
  letter-spacing: 0;
  white-space: nowrap;
}

.ds-coupon__desc {
  color: var(--ds-text-muted);

  font-size: var(--ds-coupon-desc-size, var(--ds-fs-sm));
  margin: 0;
}

.ds-coupon__perf {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: var(--ds-space-6);
  padding-top: var(--ds-space-4);
  border-top: 1px dashed var(--ds-border-default);
  font-size: var(--ds-fs-xs);
  color: var(--ds-text-muted);
  font-weight: var(--ds-fw-semibold);
}

/* ═══ components/review/review.css ═══ */

.ds-review {
  background: var(--ds-surface-page);
  border: 1px solid var(--ds-border-default);
  border-radius: var(--ds-radius-card);
  box-shadow: var(--ds-review-shadow, var(--ds-elevation-raised));

  padding: var(--ds-space-6);
  display: flex;
  flex-direction: column;
  gap: var(--ds-space-3);
}

.ds-review__stars {
  color: var(--ds-color-accent);
  font-size: var(--ds-fs-sm);

  letter-spacing: var(--ds-review-tracking, 0.2em);
  line-height: 1;
}

.ds-review__text {
  margin: 0;
  flex: 1;
  font-size: var(--ds-fs-sm);
  color: var(--ds-text-primary);
  line-height: var(--ds-lh-base);
}

.ds-review__who {
  display: flex;
  align-items: center;
  gap: var(--ds-space-3);
}

.ds-review__avatar {
  width: 40px;
  height: 40px;
  border-radius: var(--ds-radius-full);
  background: var(--ds-color-primary);
  color: var(--ds-color-on-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: var(--ds-fw-bold);

  box-shadow: var(--ds-shadow-brand);
  font-size: var(--ds-fs-sm);
  flex-shrink: 0;
}

.ds-review__author {
  display: block;
  font-size: var(--ds-fs-sm);
  font-weight: var(--ds-fw-semibold);
  color: var(--ds-text-primary);
}

.ds-review__role {
  display: block;
  font-size: var(--ds-fs-xs);
  color: var(--ds-text-muted);
}

/* ═══ components/carousel/carousel.css ═══ */

.ds-carousel { position: relative; display: grid; }

.ds-carousel__slide {

  padding: var(--ds-carousel-slide-pad, 0);

  position: relative;

  overflow-x: clip;
  grid-area: 1 / 1;
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity var(--ds-motion-slow) ease, visibility var(--ds-motion-slow);
}
.ds-carousel__slide.is-active {
  opacity: 1; visibility: visible; pointer-events: auto;
}

.ds-carousel__dots {
  display: flex; gap: 10px; justify-content: center;
  position: var(--ds-carousel-dots-position, static);
  bottom: var(--ds-carousel-dots-bottom, auto);
  left: 0; right: 0;
  margin-top: var(--ds-carousel-dots-gap, 30px);
}
.ds-carousel__dot {
  position: relative;
  width: 34px; height: 6px; padding: 0;
  border: none; border-radius: var(--ds-radius-full);
  cursor: pointer;
  background: var(--ds-carousel-dot-idle);
  transition: background var(--ds-carousel-motion, 0.3s);
}

.ds-carousel__dot::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: max(100%, 44px);
  height: 44px;
}
.ds-carousel__dot.is-active { background: var(--ds-carousel-dot-active); }
.ds-carousel__dot:focus-visible {
  outline: 2px solid var(--ds-color-accent); outline-offset: 3px;
}

.ds-carousel__arrow {
  position: absolute; top: 44%; transform: translateY(-50%);

  width: var(--ds-carousel-arrow-size, 46px);
  height: var(--ds-carousel-arrow-size, 46px);
  font-size: var(--ds-carousel-arrow-glyph, inherit);
  border-radius: var(--ds-radius-full);
  background: var(--ds-carousel-arrow-bg);

  border: var(--ds-carousel-arrow-border-width, 1px) solid var(--ds-carousel-arrow-border);
  box-shadow: var(--ds-carousel-arrow-shadow, var(--ds-shadow-md));

  display: var(--ds-carousel-arrow-display, grid); place-items: center; cursor: pointer; z-index: 4;
  color: var(--ds-carousel-arrow-ink);
  transition: transform var(--ds-motion-fast) ease, border-color var(--ds-motion-fast) ease, color var(--ds-motion-fast) ease;
}

.ds-carousel__arrow > svg {

  width: var(--ds-carousel-arrow-icon, 20px);
  height: var(--ds-carousel-arrow-icon, 20px);
  display: block;
}

.ds-carousel__arrow:hover {
  border-color: var(--ds-color-accent); color: var(--ds-color-accent);
  transform: translateY(-50%) scale(1.07);
}
.ds-carousel__arrow:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--ds-color-accent) 40%, transparent);
  outline-offset: 2px;
}
.ds-carousel__arrow--prev { left: 6px; }

.ds-carousel__arrow--next { right: 6px; }

@media (min-width: 1200px) {
  .ds-carousel__arrow--prev { left: max(-54px, calc((100% - 100vw) / 2)); }
  .ds-carousel__arrow--next { right: max(-54px, calc((100% - 100vw) / 2)); }
}

@media (max-width: 640px) {

  :root { --ds-carousel-arrow-display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .ds-carousel__slide { transition: none; }
}

/* ═══ components/faq/faq.css ═══ */

.ds-faq {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--ds-faq-gap, var(--ds-space-4));
  align-items: start;
}

@media (max-width: 819px) {
  .ds-faq { grid-template-columns: 1fr; }
}

.ds-faq__item {
  position: relative;

  background: var(--ds-faq-item-bg, var(--ds-surface-page));
  border: var(--ds-faq-item-border-width, 1.5px) solid
          var(--ds-faq-item-border-color, var(--ds-border-default));
  border-radius: var(--ds-faq-item-radius, var(--ds-radius-card));
  box-shadow: var(--ds-faq-item-shadow, var(--ds-elevation-flat));

  padding: 0 var(--ds-faq-item-pad-right, var(--ds-space-6))
           0 var(--ds-faq-item-pad-left, 62px);
  transition: border-color var(--ds-faq-motion, 0.2s) ease, box-shadow var(--ds-faq-motion, 0.2s) ease;
}

.ds-faq__item:hover { border-color: var(--ds-color-primary); }

.ds-faq__item[open] {
  border-color: transparent;
  background:
    linear-gradient(var(--ds-surface-page), var(--ds-surface-page)) padding-box,
    var(--ds-gradient-brand) border-box;
  box-shadow: var(--ds-faq-item-open-shadow, var(--ds-elevation-deep));
}

.ds-faq__num {
  display: var(--ds-faq-num-display, flex);
  position: absolute;
  left: 16px;
  top: 15px;
  width: 30px;
  height: 30px;
  border-radius: var(--ds-radius-full);
  background: var(--ds-surface-raised);
  color: var(--ds-color-primary);
  align-items: center;
  justify-content: center;
  font-size: var(--ds-fs-xs);
  font-weight: var(--ds-fw-bold);
  font-variant-numeric: tabular-nums;
  transition: background var(--ds-faq-motion, 0.2s) ease, color var(--ds-faq-motion, 0.2s) ease;
}

.ds-faq__item[open] .ds-faq__num {
  background: var(--ds-gradient-brand);
  color: var(--ds-color-on-primary);
}

.ds-faq__q {

  line-height: var(--ds-faq-q-lh, inherit);
  cursor: pointer;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--ds-space-4);
  padding: var(--ds-faq-q-pad, var(--ds-space-4) 0);

  font-weight: var(--ds-faq-q-weight, var(--ds-fw-semibold));
  font-size: var(--ds-faq-q-size, var(--ds-fs-sm));
}

.ds-faq__q::-webkit-details-marker { display: none; }

.ds-faq__q::after {
  content: "";
  width: var(--ds-faq-toggle-size, 11px);
  height: var(--ds-faq-toggle-size, 11px);
  border-radius: var(--ds-faq-toggle-radius, 0);
  box-shadow: var(--ds-faq-toggle-ring, none);
  flex-shrink: 0;
  align-self: center;

  background: currentColor;
  color: var(--ds-color-accent);
  -webkit-mask: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="3.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 9l7 7 7-7"/></svg>') center / contain no-repeat;
  mask: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="3.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 9l7 7 7-7"/></svg>') center / contain no-repeat;
  transition: transform var(--ds-motion-base) ease;
}

.ds-faq__item[open] .ds-faq__q::after { transform: rotate(180deg); }

.ds-faq__q:focus-visible {
  outline: 2px solid var(--ds-border-focus);
  outline-offset: 2px;
  border-radius: var(--ds-radius-sm);
}

.ds-faq__a {
  margin: 0;
  line-height: var(--ds-faq-a-lh, inherit);
  padding: 0 0 var(--ds-faq-a-pad-bottom, var(--ds-space-4));
  color: var(--ds-text-secondary);
  font-size: var(--ds-faq-a-size, var(--ds-fs-sm));
}

@media (prefers-reduced-motion: reduce) {
  .ds-faq__item, .ds-faq__num, .ds-faq__q::after { transition: none; }
}

/* ═══ components/split-panel/split-panel.css ═══ */

.ds-split-panel {
  position: relative;
  overflow: hidden;
  border-radius: var(--ds-radius-xl);
  padding: var(--ds-space-12) var(--ds-space-12) var(--ds-space-8);
  background: var(--ds-gradient-panel);
  color: var(--ds-color-on-primary);
}

@media (max-width: 879px) {
  .ds-split-panel { padding: var(--ds-space-8) var(--ds-space-6); }
}

.ds-split-panel > * { position: relative; z-index: 1; }

.ds-split-panel--orb::before {
  content: "";
  position: absolute;
  z-index: 0;
  width: var(--ds-orb-size);
  height: var(--ds-orb-size);
  border-radius: 50%;
  right: calc(var(--ds-orb-size) / -3);
  top: calc(var(--ds-orb-size) / -3);
  background: var(--ds-orb-color);
  filter: blur(70px);
  pointer-events: none;
}

.ds-split-panel__tag {
  display: inline-block;
  font-size: var(--ds-fs-xs);
  font-weight: var(--ds-fw-bold);
  letter-spacing: var(--ds-tracking-caps-xl);
  text-transform: uppercase;
  background: color-mix(in srgb, var(--ds-color-on-primary) 14%, transparent);
  color: var(--ds-color-on-primary);
  border-radius: var(--ds-radius-full);
  padding: var(--ds-space-2) var(--ds-space-4);
  margin-bottom: var(--ds-space-4);
}

.ds-split-panel__lead {
  color: color-mix(in srgb, var(--ds-color-on-primary) 80%, transparent);
  max-width: 38rem;
  margin: var(--ds-space-3) 0 0;
}

.ds-split-panel__split {
  display: grid;
  grid-template-columns: 1fr 56px 1.15fr;
  align-items: stretch;
  margin: var(--ds-space-8) 0;
}

@media (max-width: 879px) {
  .ds-split-panel__split { grid-template-columns: 1fr; gap: var(--ds-space-3); }
}

.ds-split-panel__col {
  border-radius: var(--ds-radius-lg);
  padding: var(--ds-space-6);

  background: color-mix(in srgb, var(--ds-color-on-primary) 7%, transparent);
  border: 1px dashed color-mix(in srgb, var(--ds-color-on-primary) 30%, transparent);
  color: color-mix(in srgb, var(--ds-color-on-primary) 80%, transparent);
}

.ds-split-panel__col--card {

  background: var(--ds-surface-page);
  border: none;
  color: var(--ds-text-secondary);
  box-shadow: var(--ds-shadow-lg);
}

.ds-split-panel__col h3 {
  font-size: var(--ds-fs-xs);
  font-weight: var(--ds-fw-bold);
  letter-spacing: var(--ds-tracking-caps-lg);
  text-transform: uppercase;
  margin: 0 0 var(--ds-space-4);
  color: color-mix(in srgb, var(--ds-color-on-primary) 80%, transparent);
}

.ds-split-panel__col--card h3 { color: var(--ds-color-accent); }

.ds-split-panel__col ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--ds-space-3);
  font-size: var(--ds-fs-sm);
}

.ds-split-panel__col li {
  display: flex;
  gap: var(--ds-space-3);
  align-items: flex-start;
}

.ds-split-panel__col li::before {
  content: "•";
  font-weight: var(--ds-fw-bold);
  flex-shrink: 0;
}

.ds-split-panel__col--card li::before {
  content: "✓";
  color: var(--ds-color-accent);
}

.ds-split-panel__plus {
  display: flex;
  align-items: center;
  justify-content: center;
}

.ds-split-panel__plus i {
  font-style: normal;
  width: 40px;
  height: 40px;
  border-radius: var(--ds-radius-full);
  background: var(--ds-gradient-brand);
  color: var(--ds-color-on-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--ds-fs-xl);
  font-weight: var(--ds-fw-bold);
}

.ds-split-panel__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--ds-space-6);
  flex-wrap: wrap;
}

.ds-split-panel__price b {
  font-size: var(--ds-fs-2xl);
  font-weight: var(--ds-fw-bold);
  font-variant-numeric: tabular-nums;
  color: var(--ds-color-on-primary);
}

.ds-split-panel__price span {
  color: color-mix(in srgb, var(--ds-color-on-primary) 80%, transparent);
  font-size: var(--ds-fs-sm);
  margin-left: var(--ds-space-2);
}

.ds-split-panel .ds-btn--primary {
  background: var(--ds-surface-page);
  color: var(--ds-color-primary);
}

.ds-split-panel .ds-btn--primary:hover {
  background: var(--ds-surface-raised);
}

/* ═══ components/dialog/dialog.css ═══ */

.ds-dialog__veil {
  position: fixed;
  z-index: var(--ds-dialog-veil-z, 100);
  inset: 0;
  background: var(--ds-dialog-veil-bg, rgba(0, 0, 0, .42));
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--ds-dialog-veil-pad, var(--ds-space-4));

  overflow-y: auto;
}

.ds-dialog {
  width: 100%;
  max-width: var(--ds-dialog-max, 420px);
  background: var(--ds-dialog-bg, var(--ds-surface-card));

  --ds-table-ground: var(--ds-dialog-bg, var(--ds-surface-card));
  color: var(--ds-dialog-ink, var(--ds-text-primary));
  border-radius: var(--ds-radius-card);
  padding: var(--ds-dialog-pad, var(--ds-space-6));
  box-shadow: var(--ds-dialog-shadow, var(--ds-elevation-deep));

  margin: auto;
}

.ds-dialog__title {
  margin: 0 0 var(--ds-dialog-title-gap, var(--ds-space-2));
  font-size: var(--ds-dialog-title-size, var(--ds-fs-xl));
  font-weight: var(--ds-dialog-title-weight, var(--ds-fw-black));
  line-height: var(--ds-dialog-title-lh, 1.25);
}

.ds-dialog__lead {
  margin: 0 0 var(--ds-dialog-lead-gap, var(--ds-space-4));
  color: var(--ds-dialog-lead-ink, var(--ds-text-secondary));
  font-size: var(--ds-dialog-lead-size, var(--ds-fs-sm));
}

.ds-dialog__actions {
  display: flex;
  gap: var(--ds-space-2);
  justify-content: flex-end;
  margin-top: var(--ds-dialog-actions-gap, var(--ds-space-6));
}

.ds-dialog__ways {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ds-dialog-ways-gap, var(--ds-space-3));
  margin-top: var(--ds-dialog-ways-top, var(--ds-space-4));
  font-size: var(--ds-dialog-ways-size, var(--ds-fs-sm));
}

/* ═══ components/form/form.css ═══ */

.ds-form {
  display: flex;
  flex-direction: column;
  gap: var(--ds-space-4);
}

.ds-field {

  font-size: var(--ds-field-size, inherit);

  line-height: var(--ds-field-lh, inherit);
  display: flex;
  flex-direction: column;
  gap: var(--ds-space-1);
}

.ds-field--row {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-areas: "label control" "hint control";
  align-items: center;
  justify-content: space-between;
  gap: var(--ds-field-row-gap, var(--ds-space-4));
  padding: var(--ds-field-row-pad, 0);
  border-radius: var(--ds-field-row-radius, 0);
  background: var(--ds-field-row-bg, transparent);
}

.ds-field--row > .ds-field__label { grid-area: label; }
.ds-field--row > .ds-field__hint  { grid-area: hint; }
.ds-field--row > :not(.ds-field__label):not(.ds-field__hint) { grid-area: control; }

.ds-field--row > * { min-width: 0; }

.ds-field--row > .ds-field__label { flex: 0 1 auto; min-width: min-content; }

.ds-field--row > .ds-stepper,
.ds-field--row > .ds-segment,
.ds-field--row > .ds-switch,
.ds-field--row > .ds-range,
.ds-field--row > .ds-input,
.ds-field--row > .ds-select,
.ds-field--row > .ds-badge { flex: 0 0 auto; }

@container (max-width: 582px) {
  .ds-field--row > .ds-segment { flex: 0 1 auto; }
}

.ds-field__label {

  font-size: var(--ds-field-label-size, var(--ds-fs-sm));
  font-weight: var(--ds-fw-medium);
  color: var(--ds-text-primary);
}

.ds-field__hint {
  font-size: var(--ds-fs-xs);
  color: var(--ds-text-muted);

  flex: var(--ds-field-hint-grow, 0 1 auto);
}

.ds-input,
.ds-textarea,
.ds-select {
  font-family: var(--ds-font-base);

  font-size: var(--ds-field-size, var(--ds-fs-md));
  color: var(--ds-text-primary);
  background: var(--ds-surface-page);
  border: 1px solid var(--ds-border-strong);
  border-radius: var(--ds-radius-md);

  padding: var(--ds-field-pad, var(--ds-space-3) var(--ds-space-4));
  transition: border-color var(--ds-motion-fast) ease;
}

.ds-input:focus,
.ds-textarea:focus,
.ds-select:focus {
  outline: none;
  border-color: var(--ds-border-focus);
  box-shadow: 0 0 0 3px var(--ds-focus-ring);
}

.ds-input::placeholder,
.ds-textarea::placeholder { color: var(--ds-text-muted); }

.ds-textarea { min-height: var(--ds-textarea-min-h, 7rem); resize: vertical; }

.ds-field--error .ds-input,
.ds-field--error .ds-textarea,
.ds-field--error .ds-select { border-color: var(--ds-color-error); }

.ds-field__error {
  font-size: var(--ds-fs-xs);
  color: var(--ds-color-error);
}

.ds-blocked-reason {
  font-size: var(--ds-blocked-reason-size, var(--ds-fs-xs));
  line-height: var(--ds-blocked-reason-lh, 1.45);
  color: var(--ds-blocked-reason-ink, var(--ds-text-secondary));

  min-height: var(--ds-blocked-reason-min-h, 1.45em);
}

.ds-consent {
  display: flex;
  align-items: flex-start;
  gap: var(--ds-consent-gap, var(--ds-space-2));
  font-size: var(--ds-consent-size, var(--ds-fs-xs));
  line-height: var(--ds-consent-lh, 1.45);
  color: var(--ds-consent-ink, var(--ds-text-secondary));
}
.ds-consent input { flex: none; margin-top: var(--ds-consent-box-top, 0.15em); }

/* ═══ components/calc/calc.css ═══ */

.ds-calc {
  container-type: inline-size;
  position: relative;
  border-radius: var(--ds-calc-radius, var(--ds-radius-xl));

  padding: var(--ds-calc-ring, 2px);
  background: var(--ds-calc-bg, var(--ds-gradient-brand));

  box-shadow: var(--ds-calc-shadow, var(--ds-elevation-raised));

  margin-bottom: var(--ds-calc-clear, 0);
}

.ds-calc__inner {
  display: grid;

  grid-template-columns: var(--ds-calc-cols, 1.1fr 0.9fr);
  border-radius: calc(var(--ds-calc-radius, var(--ds-radius-xl)) - var(--ds-calc-ring, 2px));
  overflow: hidden;
  background: var(--ds-calc-inner-bg, var(--ds-surface-page));
}

@container (max-width: 946px) {
  .ds-calc__inner { grid-template-columns: 1fr; }
}

.ds-calc__form {

  container-type: inline-size;

  box-sizing: border-box;

  padding: var(--ds-calc-form-pad, var(--ds-space-8));
  display: grid;

  gap: var(--ds-calc-form-gap, var(--ds-space-6));
  align-content: start;
}

.ds-calc__form .ds-field {
  flex-direction: var(--ds-calc-opt-flow, column);
  align-items: var(--ds-calc-opt-align, stretch);
  justify-content: space-between;
  gap: var(--ds-calc-opt-gap, var(--ds-space-1));
  background: var(--ds-calc-opt-bg, transparent);
  border-radius: var(--ds-calc-opt-radius, 0);
  padding: var(--ds-calc-opt-pad, 0);
  box-shadow: var(--ds-calc-opt-shadow, none);
  font-size: var(--ds-calc-opt-size, var(--ds-field-size, inherit));
  font-weight: var(--ds-calc-opt-weight, inherit);
}

.ds-calc__form .ds-field:has(.ds-choice) {
  background: var(--ds-calc-group-bg, none);
  border-radius: var(--ds-calc-group-radius, 0);
  padding: var(--ds-calc-group-pad, 0);
  box-shadow: var(--ds-calc-group-shadow, none);
}

.ds-calc__form .ds-field__hint {
  font-size: var(--ds-calc-opt-hint-size, var(--ds-fs-xs));
  font-weight: var(--ds-calc-opt-hint-weight, inherit);
  line-height: var(--ds-calc-opt-hint-lh, inherit);
  margin-top: var(--ds-calc-opt-hint-gap, 0);
}

.ds-calc__form > .ds-segment + * {
  margin-top: var(--ds-calc-gap-after-tabs, 0);

  background: var(--ds-surface-page);
}

.ds-calc__panel .ds-calc__caption {
  color: var(--ds-calc-total-caption-ink, inherit);
  letter-spacing: var(--ds-calc-total-caption-tracking, var(--ds-tracking-caps-xl));
  opacity: var(--ds-calc-total-caption-opacity, .8);
}

.ds-calc__panel {
  position: relative;
  overflow: hidden;

  box-sizing: border-box;
  padding: var(--ds-calc-panel-pad, var(--ds-space-8));

  background: var(--ds-calc-panel-bg, var(--ds-gradient-panel));
  color: var(--ds-calc-panel-ink, var(--ds-color-on-primary));
  display: flex;
  flex-direction: column;
}

.ds-calc__panel > :nth-child(2):last-child {
  margin-top: var(--ds-calc-panel-gap, 0);
}

.ds-calc__panel > * { position: relative; z-index: 1; }

.ds-calc__panel .ds-btn {
  margin-top: var(--ds-calc-sum-gap-before-cta, 0);
}

.ds-calc__panel--orb::before {
  content: "";
  position: absolute;
  z-index: 0;
  width: var(--ds-orb-size);
  height: var(--ds-orb-size);
  border-radius: 50%;
  right: calc(var(--ds-orb-size) / -3);
  top: calc(var(--ds-orb-size) / -3);
  background: var(--ds-orb-color);
  filter: blur(70px);
  pointer-events: none;
}

.ds-calc__caption {
  font-size: var(--ds-fs-xs);

  line-height: var(--ds-calc-caption-lh, inherit);
  font-weight: var(--ds-fw-bold);
  letter-spacing: var(--ds-tracking-caps-xl);
  text-transform: uppercase;
  opacity: 0.8;
}

.ds-calc__total {

  font-size: var(--ds-calc-total-size, var(--ds-fs-3xl));
  font-weight: var(--ds-fw-bold);
  font-variant-numeric: tabular-nums;
  line-height: var(--ds-lh-tight);

  margin: var(--ds-calc-sum-gap-after-caption, var(--ds-space-2)) 0 0;
}

.ds-calc__total small {

  font-size: var(--ds-calc-total-unit-size, var(--ds-fs-md));
  font-weight: var(--ds-fw-medium);

  color: var(--ds-calc-panel-ink-muted, color-mix(in srgb, var(--ds-color-on-primary) 80%, transparent));
}

.ds-calc__line {

  font-size: var(--ds-calc-line-size, inherit);
  line-height: var(--ds-calc-line-lh, inherit);

  margin: var(--ds-calc-sum-gap-after-total, var(--ds-space-6)) 0
          var(--ds-calc-sum-gap-after-line, var(--ds-space-6));
}

.ds-calc__line {
  display: var(--ds-calc-line-flow, block);
  justify-content: space-between;
  align-items: baseline;
  gap: var(--ds-calc-line-gap, 0);
  font-weight: var(--ds-calc-line-weight, inherit);
}

.ds-calc__lines > li {
  display: var(--ds-calc-line-flow, list-item);
  justify-content: space-between;
  align-items: baseline;
  gap: var(--ds-calc-line-gap, 0);
  font-weight: var(--ds-calc-line-weight, inherit);
}
.ds-calc__lines > li > span:last-child,
.ds-calc__line b,
.ds-calc__line strong {
  font-weight: var(--ds-calc-line-sum-weight, inherit);
  font-variant-numeric: tabular-nums;
}
.ds-calc__lines {
  list-style: none;
  margin: var(--ds-calc-sum-gap-after-total, var(--ds-space-6))
          0
          var(--ds-calc-sum-gap-after-line, var(--ds-space-6));
  padding: 0;
  font-size: var(--ds-fs-sm);
  display: var(--ds-calc-lines-flow, block);
  gap: var(--ds-calc-lines-gap, 0);
  border-top: var(--ds-calc-lines-rule, 0);
  padding-top: var(--ds-calc-lines-rule-gap, 0);
}

.ds-calc__lines li {
  display: flex;
  justify-content: space-between;
  gap: var(--ds-space-4);
  padding: var(--ds-space-2) 0;
  border-bottom: 1px solid color-mix(in srgb, var(--ds-color-on-primary) 22%, transparent);
  color: var(--ds-calc-panel-ink-muted, color-mix(in srgb, var(--ds-color-on-primary) 80%, transparent));
}

.ds-calc__lines li > :last-child {

  color: var(--ds-calc-panel-ink, var(--ds-color-on-primary));
  font-weight: var(--ds-fw-semibold);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.ds-calc__includes {

  margin-top: var(--ds-calc-includes-gap, 0);

  line-height: var(--ds-calc-includes-lh, inherit);
  margin-bottom: var(--ds-space-4);
}

.ds-calc__includes .ds-calc__caption {
  display: block;
  margin-bottom: var(--ds-space-3);
}

.ds-calc__includes ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--ds-space-2);
  font-size: var(--ds-fs-sm);
  color: var(--ds-calc-panel-ink-muted, color-mix(in srgb, var(--ds-color-on-primary) 80%, transparent));
}

.ds-calc__includes li {
  display: flex;
  gap: var(--ds-space-2);
  align-items: flex-start;
}

.ds-calc__includes li::before {
  content: var(--ds-calc-includes-mark, "\2713");
  color: var(--ds-calc-includes-mark-ink, var(--ds-color-accent));
  font-weight: var(--ds-fw-bold);
  line-height: inherit;
  flex-shrink: 0;
}

.ds-calc__note {
  font-size: var(--ds-fs-xs);
  color: var(--ds-calc-panel-ink-muted, color-mix(in srgb, var(--ds-color-on-primary) 80%, transparent));

  margin: 0 0 var(--ds-calc-note-gap-after, var(--ds-space-4));

  margin-top: auto;
}

.ds-calc__panel .ds-btn--primary {
  background: var(--ds-surface-page);
  color: var(--ds-color-primary);
}
.ds-calc__panel .ds-btn--primary:hover {
  background: var(--ds-surface-raised);
}

@media (max-width: 479px) {

  .ds-calc__total { font-size: var(--ds-fs-2xl); }
}

.ds-price {
  font-weight: var(--ds-price-weight, inherit);
  font-size: var(--ds-price-size, inherit);
  letter-spacing: var(--ds-price-tracking, normal);
  font-variant-numeric: tabular-nums;
  color: var(--ds-price-ink, inherit);
}
.ds-price__unit {
  font-style: normal;
  font-size: var(--ds-price-unit-size, inherit);
  font-weight: var(--ds-price-unit-weight, inherit);
  color: var(--ds-price-unit-ink, inherit);

  white-space: nowrap;
}

/* ═══ components/range/range.css ═══ */

.ds-range {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 6px;

  accent-color: var(--ds-range-color);
  border-radius: var(--ds-radius-full);
  background: linear-gradient(
    90deg,
    var(--ds-range-color) var(--ds-range-fill, 0%),
    var(--ds-border-default) var(--ds-range-fill, 0%)
  );
  outline: none;
}

.ds-range::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--ds-range-color);
  border: 4px solid var(--ds-surface-page);
  box-shadow: var(--ds-shadow-md);
  cursor: pointer;
}

.ds-range::-moz-range-thumb {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--ds-range-color);
  border: 4px solid var(--ds-surface-page);
  box-shadow: var(--ds-shadow-md);
  cursor: pointer;
}

.ds-range:focus-visible {
  outline: 2px solid var(--ds-border-focus);
  outline-offset: 4px;
}

.ds-range__value {
  float: right;
  font-weight: var(--ds-fw-bold);
  color: var(--ds-color-primary);
  font-variant-numeric: tabular-nums;
}

.ds-range__scale {
  display: flex;
  justify-content: space-between;
  margin-top: var(--ds-space-1);
  font-size: var(--ds-fs-xs);
  color: var(--ds-text-muted);
  font-variant-numeric: tabular-nums;
}

/* ═══ components/segment/segment.css ═══ */

.ds-segment {

  display: inline-flex;
  flex-wrap: var(--ds-segment-wrap, wrap);

  gap: var(--ds-segment-gap, 2px);
  background: var(--ds-segment-track-bg, var(--ds-surface-raised));
  border-radius: var(--ds-radius-full);
  padding: var(--ds-segment-track-pad, var(--ds-space-1));
  margin-bottom: var(--ds-segment-track-mar-bottom, 0);

  border: none;
  margin: 0;
  min-width: 0;
}

.ds-segment__btn {

  flex: var(--ds-segment-item-flex, 0 1 auto);
  min-width: 0;
  font: inherit;

  font-size: var(--ds-segment-size, var(--ds-fs-sm));
  font-weight: var(--ds-segment-weight, var(--ds-fw-semibold));

  color: var(--ds-segment-ink, var(--ds-text-secondary));
  background: transparent;
  border: none;
  border-radius: var(--ds-radius-full);
  padding: var(--ds-segment-btn-pad, var(--ds-space-2) var(--ds-space-4));

  display: var(--ds-segment-btn-display, inline-block);
  flex-direction: column;
  align-items: center;
  row-gap: var(--ds-segment-btn-row-gap, 0);
  line-height: var(--ds-segment-btn-lh, inherit);
  white-space: var(--ds-segment-btn-wrap, normal);
  cursor: pointer;
  transition: background-color var(--ds-motion-fast) ease, color var(--ds-motion-fast) ease;
}

.ds-segment__btn:hover { color: var(--ds-text-primary); }

.ds-segment__btn[aria-pressed="true"],
.ds-segment__btn[aria-selected="true"],
.ds-segment__btn:has(input:checked) {

  background: var(--ds-segment-active-bg);
  color: var(--ds-segment-active-ink, var(--ds-color-on-primary));

  box-shadow:
    var(--ds-segment-active-shadow, inset 0 0 0 1px var(--ds-segment-active-border, transparent));
}

.ds-segment__btn > i {
  font-style: normal;
  font-size: var(--ds-segment-hint-size, inherit);
  font-weight: var(--ds-segment-hint-weight, inherit);
  font-variant-numeric: tabular-nums;
  color: inherit;
}
.ds-segment__btn[aria-pressed="true"] > i,
.ds-segment__btn[aria-selected="true"] > i,
.ds-segment__btn:has(input:checked) > i {
  color: var(--ds-segment-active-hint-ink, inherit);
}

.ds-segment__btn input[type="radio"] {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
}

.ds-segment__btn:has(input:focus-visible) {
  outline: 2px solid var(--ds-border-focus);
  outline-offset: 2px;
}

.ds-segment__btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.ds-segment__btn:focus-visible {
  outline: 2px solid var(--ds-border-focus);
  outline-offset: 2px;
}

/* ═══ components/choice/choice.css ═══ */

.ds-choice {
  display: flex;
  flex-direction: var(--ds-choice-flow, column);
  align-items: var(--ds-choice-align, flex-start);
  gap: var(--ds-choice-gap, var(--ds-space-1));
  padding: var(--ds-choice-pad, 0);
  border: var(--ds-choice-border, 0);
  border-radius: var(--ds-choice-radius, 0);
  background: var(--ds-choice-bg, transparent);
  box-shadow: var(--ds-choice-shadow, none);
  color: var(--ds-choice-ink, inherit);
  text-align: var(--ds-choice-text-align, left);
  flex: var(--ds-choice-flex, 0 1 auto);

  min-width: 0;
  cursor: pointer;
  position: relative;
}

.ds-choice:has(input:checked) {
  border-color: var(--ds-choice-on-border-ink, currentColor);
  background: var(--ds-choice-on-bg, var(--ds-choice-bg, transparent));
  box-shadow: var(--ds-choice-on-shadow, var(--ds-choice-shadow, none));
  color: var(--ds-choice-on-ink, var(--ds-choice-ink, inherit));
}

.ds-choice__tags {
  display: var(--ds-choice-tags-display, flex);
  flex-wrap: wrap;
  gap: var(--ds-choice-tags-gap, var(--ds-space-1));
}

.ds-choice__tag {
  font-size: var(--ds-choice-tag-size, inherit);
  font-weight: var(--ds-choice-tag-weight, inherit);
  padding: var(--ds-choice-tag-pad, 0);
  border-radius: var(--ds-choice-tag-radius, 0);
  background: var(--ds-choice-tag-bg, transparent);
  color: var(--ds-choice-tag-ink, inherit);
  box-shadow: var(--ds-choice-tag-shadow, none);
  white-space: nowrap;
}

.ds-choice-set {
  display: var(--ds-choice-set-display, grid);
  grid-template-columns: var(--ds-choice-set-cols, 1fr);
  flex-wrap: var(--ds-choice-set-wrap, wrap);
  gap: var(--ds-choice-set-gap, var(--ds-space-2));
}

.ds-choice .ds-price {

  font-size: var(--ds-choice-price-size, var(--ds-price-size, inherit));
  white-space: nowrap;
}

.ds-choice .ds-price__unit {
  display: var(--ds-choice-price-unit-display, inline);
  font-size: var(--ds-choice-price-unit-size, var(--ds-price-unit-size, inherit));
  margin-top: var(--ds-choice-price-unit-mar-top, 0);
  white-space: nowrap;
}

/* ═══ components/badge/badge.css ═══ */

.ds-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--ds-space-2);
  font-size: var(--ds-fs-xs);
  font-weight: var(--ds-fw-bold);
  line-height: 1;
  border-radius: var(--ds-radius-full);

  padding: var(--ds-badge-pad-y, var(--ds-space-2)) var(--ds-space-3);
  background: var(--ds-surface-raised);
  color: var(--ds-text-secondary);
}

.ds-badge--highlight {
  background: var(--ds-surface-highlight);
  color: var(--ds-text-primary);
}

.ds-badge--ok {
  background: color-mix(in srgb, var(--ds-color-success) 14%, transparent);
  color: var(--ds-color-success);
}

.ds-badge--warn {
  background: var(--ds-status-busy-bg);
  color: var(--ds-status-busy-ink);
}

.ds-badge--accent {
  background: color-mix(in srgb, var(--ds-color-accent) 14%, transparent);
  color: var(--ds-badge-accent-ink, var(--ds-color-accent));
}

.ds-badge--inverse {
  background: color-mix(in srgb, var(--ds-color-on-primary) 18%, transparent);
  color: var(--ds-color-on-primary);
}

.ds-badge__icon {
  width: 0.9em;
  height: 0.9em;
  flex-shrink: 0;
}

/* ═══ components/avatar/avatar.css ═══ */

.ds-avatar {

  width: var(--ds-avatar-size, 30px);
  height: var(--ds-avatar-size, 30px);
  flex: none;
  border-radius: 50%;
  display: grid;
  place-items: center;

  background: var(--ds-avatar-bg, var(--ds-surface-highlight));
  color: var(--ds-avatar-ink, var(--ds-text-link));
  font: var(--ds-avatar-font, 800 11px/1 inherit);
  letter-spacing: var(--ds-avatar-tracking, .02em);
  text-transform: uppercase;
  user-select: none;
}

/* ═══ components/chip/chip.css ═══ */

.ds-chip {
  display: inline-flex;
  align-items: center;
  gap: var(--ds-space-2);

  padding: var(--ds-chip-pad-y, var(--ds-space-2)) var(--ds-chip-pad-x, 14px);
  border-radius: var(--ds-radius-full);
  border: 1px solid var(--ds-chip-border, var(--ds-border-default));
  background: var(--ds-chip-bg, var(--ds-surface-raised));

  box-shadow: var(--ds-chip-shadow, none);
  color: var(--ds-text-primary);
  font-size: var(--ds-chip-size, var(--ds-fs-xs));
  font-weight: var(--ds-fw-bold);
  white-space: nowrap;
}

@supports (backdrop-filter: blur(12px)) {
  .ds-chip {
    backdrop-filter: var(--ds-chip-blur, none);
    -webkit-backdrop-filter: var(--ds-chip-blur, none);
  }
}

:root { --ds-chip-composition-for: 6; }

.ds-chip-anchor { position: relative; }

.ds-chip--float {
  font-size: var(--ds-chip-float-size, var(--ds-chip-size, var(--ds-fs-xs)));
  padding: var(--ds-chip-float-pad-y, var(--ds-chip-pad-y, var(--ds-space-2)))
           var(--ds-chip-float-pad-x, var(--ds-chip-pad-x, 14px)); position: absolute; z-index: 2; }

.ds-chip--s1 { left: 53%; top: 0; }
.ds-chip--s2 { left: 66%; top: 72px; }
.ds-chip--s3 { left: 73%; top: 144px; }
.ds-chip--s4 { left: 64%; top: 216px; }
.ds-chip--s5 { left: 75%; top: 288px; }
.ds-chip--s6 { left: 53%; top: 360px; }

.ds-chip__icon {
  color: inherit;
}

/* ═══ components/credential/credential.css ═══ */

.ds-credentials {

  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--ds-space-2);
}

.ds-credentials--inline {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--ds-space-2) var(--ds-space-3);
}

.ds-credential {
  background: var(--ds-surface-raised);
  color: var(--ds-text-secondary);
  font-weight: var(--ds-fw-medium);
  border: 1px solid var(--ds-border-default);

  line-height: var(--ds-lh-tight);
  text-align: left;
}

.ds-credential__id {
  color: var(--ds-text-primary);
  font-weight: var(--ds-fw-bold);
  white-space: nowrap;
}

.ds-credential__icon {
  color: var(--ds-text-muted);
}

/* ═══ components/checkbox/checkbox.css ═══ */

.ds-checkbox {
  display: flex;
  align-items: flex-start;
  gap: var(--ds-space-3);

  font-size: var(--ds-field-label-size, var(--ds-fs-sm));
  color: var(--ds-text-secondary);
  cursor: pointer;
}

.ds-checkbox--note {
  font-size: var(--ds-consent-size, var(--ds-field-label-size, var(--ds-fs-sm)));
}

.ds-checkbox input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin-top: 2px;
  flex-shrink: 0;
  accent-color: var(--ds-color-primary);
  cursor: pointer;
}

.ds-checkbox input[type="checkbox"]:focus-visible {
  outline: 2px solid var(--ds-border-focus);
  outline-offset: 2px;
}

.ds-checkbox a {
  color: var(--ds-text-link);
  text-decoration: underline;
}

.ds-checkbox--inverse {
  color: color-mix(in srgb, var(--ds-color-on-primary) 80%, transparent);
}
.ds-checkbox--inverse a { color: var(--ds-color-on-primary); }

/* ═══ components/chat/chat.css ═══ */

.ds-chat {
  position: fixed;
  right: var(--ds-chat-inset-x, var(--ds-fab-inset, 22px));

  bottom: calc(var(--ds-chat-inset-y, 92px) + var(--ds-chat-bottom-offset, 0px));
  z-index: var(--ds-chat-z, var(--ds-fab-z, 80));
  width: var(--ds-chat-width, 320px);

  max-width: calc(100vw - var(--ds-chat-gutter, 32px));
  background: var(--ds-chat-bg, var(--ds-surface-card));
  border: var(--ds-chat-border, 0);
  border-radius: var(--ds-chat-radius, var(--ds-radius-lg));
  box-shadow: var(--ds-chat-shadow, var(--ds-elevation-deep));
  overflow: hidden;
}

.ds-chat[hidden] { display: none; }

@supports (backdrop-filter: blur(12px)) {
  .ds-chat {
    -webkit-backdrop-filter: var(--ds-chat-blur, none);
    backdrop-filter: var(--ds-chat-blur, none);
  }
}

.ds-chat__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--ds-space-2);
  padding: var(--ds-chat-head-pad, 14px 18px);
  background: var(--ds-chat-head-bg, var(--ds-surface-raised));
  color: var(--ds-chat-head-ink, var(--ds-text-primary));
  font-weight: var(--ds-chat-head-weight, var(--ds-fw-bold));
  font-size: var(--ds-chat-head-size, var(--ds-fs-sm));
}
.ds-chat__close {
  border: 0;
  background: none;
  padding: 0;
  cursor: pointer;
  color: inherit;
  font-size: var(--ds-chat-close-size, 16px);

  min-width: 44px;
  min-height: 44px;
  margin: -14px -18px -14px 0;
}
.ds-chat__body { padding: var(--ds-chat-body-pad, 16px 18px); }

.ds-chat__body .ds-field { margin-bottom: var(--ds-chat-field-gap, var(--ds-space-2)); }

.ds-chat__msg {
  background: var(--ds-chat-msg-bg, var(--ds-surface-sunken));
  border-radius: var(--ds-chat-msg-radius, var(--ds-radius-md));
  padding: var(--ds-chat-msg-pad, 10px 13px);
  font-size: var(--ds-chat-msg-size, var(--ds-fs-sm));
  line-height: var(--ds-chat-msg-lh, 1.5);
  margin-bottom: var(--ds-chat-msg-gap, var(--ds-space-3));
}

.ds-chat__body .ds-btn {
  width: 100%;
  padding: var(--ds-chat-btn-pad, 11px);
  box-shadow: none;
}

.ds-chat__hint {
  margin: var(--ds-chat-hint-gap, var(--ds-space-2)) 0 0;
  font-size: var(--ds-chat-hint-size, var(--ds-fs-xs));
  color: var(--ds-chat-hint-ink, var(--ds-text-secondary));
  text-align: center;
}

/* ═══ components/thread/thread.css ═══ */

.ds-thread {
  display: flex;
  flex-direction: column;
  min-height: 0;
  max-height: var(--ds-thread-max-h, min(560px, 72dvh));

  container-type: inline-size;
  container-name: ds-thread;
}

.ds-thread__log {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  display: flex;
  flex-direction: column;
  gap: var(--ds-thread-gap, var(--ds-space-3));
  padding: var(--ds-thread-pad, var(--ds-space-3) 0);
}

.ds-thread__row {
  display: flex;
  align-items: flex-end;
  gap: var(--ds-thread-row-gap, var(--ds-space-2));
  min-width: 0;
}
.ds-thread__row--self { flex-direction: row-reverse; }

.ds-thread__avatar { flex: 0 0 auto; align-self: flex-end; }

.ds-thread__row > *:not(.ds-thread__avatar) {
  min-width: 0;
  max-width: var(--ds-thread-bubble-max, 82%);
  display: flex;
  flex-direction: column;
}

.ds-thread__bubble {
  min-width: 0;
  overflow-wrap: anywhere;
  max-width: 100%;
  padding: var(--ds-thread-bubble-pad, 9px 12px);
  border-radius: var(--ds-thread-bubble-radius, var(--ds-radius-md));
  border: var(--ds-thread-bubble-border, 1px solid var(--ds-border-default));
  background: var(--ds-thread-bubble-bg, var(--ds-surface-sunken));
  color: var(--ds-thread-bubble-ink, var(--ds-text-primary));
  font-size: var(--ds-thread-bubble-size, var(--ds-fs-sm));
  line-height: var(--ds-thread-bubble-lh, 1.5);
}

.ds-thread__bubble--self {
  align-self: flex-end;
  background: var(--ds-thread-self-bg, var(--ds-surface-picked));
  color: var(--ds-thread-self-ink, var(--ds-text-primary));
  border-bottom-right-radius: var(--ds-thread-self-corner, var(--ds-radius-sm));
}
.ds-thread__bubble--agent { align-self: flex-start; }

.ds-thread__bubble--bot {
  align-self: flex-start;
  border-left: var(--ds-thread-bot-rail, 2px solid var(--ds-text-secondary));
  border-top-left-radius: var(--ds-thread-bot-corner, var(--ds-radius-sm));
  border-bottom-left-radius: var(--ds-thread-bot-corner, var(--ds-radius-sm));
}

.ds-thread__bubble--pending { opacity: var(--ds-thread-pending-opacity, .55); }

.ds-thread__author {
  font-size: var(--ds-thread-author-size, var(--ds-fs-xs));
  font-weight: var(--ds-fw-semibold);
  color: var(--ds-thread-author-ink, var(--ds-text-secondary));
  margin-bottom: var(--ds-thread-author-gap, 2px);
}
.ds-thread__time {
  font-size: var(--ds-thread-time-size, var(--ds-fs-xs));
  color: var(--ds-thread-time-ink, var(--ds-text-muted));
  font-variant-numeric: tabular-nums;
}

.ds-thread__composer {
  flex: 0 0 auto;
  display: flex;
  align-items: flex-end;
  gap: var(--ds-thread-composer-gap, var(--ds-space-2));
  padding: var(--ds-thread-composer-pad, var(--ds-space-3) 0 0);
  border-top: var(--ds-thread-composer-rule, 1px solid var(--ds-border-default));
}
.ds-thread__composer > .ds-input,
.ds-thread__composer > .ds-textarea { flex: 1 1 auto; min-width: 0; }

.ds-thread__composer > .ds-textarea {
  min-height: var(--ds-thread-composer-min-h, 40px);
  resize: none;
}

.ds-thread__composer .ds-btn {
  flex: 0 0 auto;
  width: auto;
  min-width: var(--ds-thread-send-min, 44px);
  min-height: var(--ds-thread-send-min, 44px);
}

@container ds-thread (max-width: 260px) {
  .ds-thread__bubble { max-width: 100%; }
  .ds-thread__avatar { display: none; }
}

/* ═══ components/switch/switch.css ═══ */

.ds-switch {
  position: relative;
  flex: none;
  border: 0;
  cursor: pointer;
  width: var(--ds-switch-width, 42px);
  height: var(--ds-switch-height, 24px);
  padding: var(--ds-switch-pad, 2px);
  border-radius: var(--ds-radius-full);
  background: var(--ds-switch-track-bg, var(--ds-border-default));
  box-shadow: var(--ds-switch-track-shadow, none);
  transition: background var(--ds-motion-base) ease, box-shadow var(--ds-motion-base) ease;
}

.ds-switch > i {
  display: block;
  width: var(--ds-switch-knob, 20px);
  height: var(--ds-switch-knob, 20px);
  border-radius: 50%;
  background: var(--ds-switch-knob-bg, var(--ds-surface-page));
  box-shadow: var(--ds-switch-knob-shadow, none);
  transition: transform var(--ds-motion-base) cubic-bezier(.25, .6, .25, 1), background var(--ds-motion-base) ease;
}

.ds-switch:hover { box-shadow: var(--ds-switch-hover-shadow, var(--ds-switch-track-shadow, none)); }

.ds-switch:focus-visible {
  outline: 2px solid var(--ds-color-accent);
  outline-offset: 2px;
}

.ds-switch[aria-pressed="true"] {
  background: var(--ds-switch-on-bg, var(--ds-color-primary));
  box-shadow: var(--ds-switch-on-shadow, none);
}

.ds-switch[aria-pressed="true"] > i {
  transform: translateX(var(--ds-switch-travel,
    calc(var(--ds-switch-width, 42px) - 2 * var(--ds-switch-pad, 2px) - var(--ds-switch-knob, 20px))));
  background: var(--ds-switch-on-knob-bg, var(--ds-switch-knob-bg, var(--ds-surface-page)));
}

@media (prefers-reduced-motion: reduce) {
  .ds-switch, .ds-switch > i { transition: none; }
}

/* ═══ components/console/console.css ═══ */

.ds-console {
  display: grid;
  grid-template-columns: var(--ds-console-side-w, 236px) minmax(0, 1fr);
  min-height: 100vh;
}

@media (max-width: 900px) {

  .ds-console { grid-template-columns: minmax(0, 1fr); }
}

.ds-console__side {
  background: var(--ds-surface-card, var(--ds-surface-raised));
  border-right: 1px solid var(--ds-border-subtle, var(--ds-border-default));
  display: flex;
  flex-direction: column;
}

.ds-console__brand {
  display: flex; align-items: center; gap: var(--ds-space-2);
  padding: var(--ds-console-brand-pad, 14px 14px 12px);
  border-bottom: 1px solid var(--ds-border-subtle, var(--ds-border-default));
}

.ds-console__nav {
  padding: var(--ds-space-2);
  display: flex; flex-direction: column;
  gap: var(--ds-console-nav-gap, 2px);
  flex: 1;
}

.ds-console__navbtn {
  display: flex; align-items: center; gap: 9px;
  width: 100%; text-align: left;
  background: transparent; border: 0;
  border-radius: var(--ds-radius-md);
  padding: var(--ds-console-navbtn-pad, 9px 10px);
  cursor: pointer;
  font: var(--ds-console-navbtn-font, 600 13.5px/1.3 inherit);
  color: var(--ds-text-primary);
  position: relative;
}
.ds-console__navbtn:hover { background: var(--ds-surface-section); }
.ds-console__navbtn[aria-current="page"] { background: var(--ds-surface-highlight); }

.ds-console__navbtn[disabled],
.ds-console__navbtn[aria-disabled="true"] {
  opacity: var(--ds-console-navbtn-off-opacity, .55);
  cursor: default;
}

.ds-console__top {
  display: flex; align-items: center; gap: var(--ds-space-4);
  padding: var(--ds-console-top-pad, 10px 18px);
  background: var(--ds-surface-card, var(--ds-surface-raised));
  border-bottom: 1px solid var(--ds-border-subtle, var(--ds-border-default));
  position: sticky; top: 0; z-index: 20;
}
.ds-console__title { font-size: var(--ds-fs-lg, 17px); margin: 0; font-weight: 800; letter-spacing: var(--ds-tracking-tight-sm); }

.ds-console__org {
  margin-left: auto; display: flex; align-items: center;
  gap: var(--ds-space-3); font-size: var(--ds-fs-sm); color: var(--ds-text-secondary);
  min-width: 0;
}

.ds-console__panel { padding: var(--ds-console-panel-pad, var(--ds-space-6)); min-width: 0; }

[data-ds-anchor] { scroll-margin-top: var(--ds-anchor-offset, 56px); }

.ds-console section[id] { scroll-margin-top: var(--ds-anchor-offset, 56px); }

/* ═══ components/table/table.css ═══ */

.ds-table__wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; min-width: 0;

  background-image:
    linear-gradient(to right, var(--ds-table-ground, var(--ds-surface-card)) 45%, transparent),
    linear-gradient(to left,  var(--ds-table-ground, var(--ds-surface-card)) 45%, transparent),
    linear-gradient(to right, color-mix(in srgb, var(--ds-text-primary) 16%, transparent), transparent),
    linear-gradient(to left,  color-mix(in srgb, var(--ds-text-primary) 16%, transparent), transparent);
  background-position: 0 0, 100% 0, 0 0, 100% 0;
  background-repeat: no-repeat;
  background-size: 30px 100%, 30px 100%, 13px 100%, 13px 100%;
  background-attachment: local, local, scroll, scroll;
}
.ds-table__wrap > table { min-width: max-content; }

.ds-table__hint { font-size: var(--ds-fs-xs); color: var(--ds-text-muted); margin-top: var(--ds-space-1); }

.ds-table__hint--scroll {
  display: none;
  color: var(--ds-table-hint-scroll-ink, var(--ds-text-secondary));
  align-items: baseline;
  gap: var(--ds-space-1);
}
.ds-table__wrap--overflow + .ds-table__hint--scroll {
  display: flex;
}
.ds-table__hint--scroll::before {
  content: var(--ds-table-hint-scroll-mark, "↔");

  font-size: 1.1em;
  line-height: 1;
}

.ds-table { width: 100%; border-collapse: collapse; font-size: var(--ds-fs-sm); }
.ds-table th,
.ds-table td {
  padding: var(--ds-table-cell-pad, 8px 10px);
  text-align: left;
  border-bottom: 1px solid var(--ds-border-subtle, var(--ds-border-default));
  vertical-align: middle;
}

.ds-table th {
  font-weight: 700;
  color: var(--ds-text-secondary);
  white-space: nowrap;
  font-size: var(--ds-table-th-size, var(--ds-fs-xs));
  text-transform: var(--ds-table-th-transform, uppercase);

  letter-spacing: var(--ds-table-th-tracking, normal);
}

.ds-table td.ds-table__num,
.ds-table th.ds-table__num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }

/* ═══ components/state/state.css ═══ */

.ds-value--unknown,
.ds-value--pending,
.ds-value--absent {
  font-variant-numeric: tabular-nums;
}

.ds-value--unknown {
  color: var(--ds-value-unknown-ink, var(--ds-text-secondary));
}
.ds-value--unknown::after { content: var(--ds-value-unknown-mark, "?"); }

.ds-value--pending {
  color: var(--ds-value-pending-ink, var(--ds-text-muted, var(--ds-text-secondary)));
}
.ds-value--pending::after { content: var(--ds-value-pending-mark, "—"); }

.ds-value--absent {
  color: var(--ds-value-absent-ink, var(--ds-color-warning, var(--ds-text-primary)));
  font-weight: var(--ds-value-absent-weight, var(--ds-fw-bold));
}

.ds-notice--incomplete {
  display: flex;
  gap: var(--ds-space-3);
  align-items: flex-start;
  padding: var(--ds-notice-pad, var(--ds-space-3) var(--ds-space-4));
  border-radius: var(--ds-radius-card);
  background: var(--ds-notice-incomplete-bg, var(--ds-surface-raised));
  color: var(--ds-notice-incomplete-ink, var(--ds-text-primary));
  box-shadow: inset 0 0 0 1px var(--ds-notice-incomplete-edge, var(--ds-border-default));
}

.ds-notice__reason {
  display: block;
  margin-top: var(--ds-notice-reason-gap, var(--ds-space-1));
  font-size: var(--ds-notice-reason-size, var(--ds-fs-sm));
  color: var(--ds-notice-reason-ink, var(--ds-text-secondary));
}

.ds-freshness {
  font-size: var(--ds-freshness-size, var(--ds-fs-xs));
  color: var(--ds-freshness-ink, var(--ds-text-secondary));
  font-variant-numeric: tabular-nums;
}

.ds-empty--planned {
  color: var(--ds-empty-planned-ink, var(--ds-text-secondary));
  border: 1px dashed var(--ds-empty-planned-edge, var(--ds-border-default));
  border-radius: var(--ds-radius-card);
  padding: var(--ds-empty-pad, var(--ds-space-6));
  text-align: center;
}
.ds-empty--none {
  color: var(--ds-empty-none-ink, var(--ds-text-secondary));
  padding: var(--ds-empty-pad, var(--ds-space-6));
  text-align: center;
}

.ds-denial {
  display: flex;
  gap: var(--ds-space-2);
  align-items: flex-start;
  font-size: var(--ds-denial-size, var(--ds-fs-sm));
  padding: var(--ds-denial-pad, var(--ds-space-2) var(--ds-space-3));
  border-radius: var(--ds-radius-md, var(--ds-radius-card));
}

.ds-denial--input {
  color: var(--ds-denial-input-ink, var(--ds-color-error, var(--ds-text-primary)));
  background: var(--ds-denial-input-bg, transparent);
}

.ds-denial--timed {
  color: var(--ds-denial-timed-ink, var(--ds-text-primary));
  background: var(--ds-denial-timed-bg, var(--ds-surface-raised));
  font-variant-numeric: tabular-nums;
}

.ds-denial--service {
  color: var(--ds-denial-service-ink, var(--ds-text-secondary));
  background: var(--ds-denial-service-bg, var(--ds-surface-raised));
}

.ds-legal-note {

  margin: var(--ds-legal-note-mar, 0);
  font-size: var(--ds-legal-note-size, inherit);
  line-height: var(--ds-legal-note-lh, inherit);
  max-width: var(--ds-legal-note-max, none);
  color: var(--ds-legal-note-ink, var(--ds-text-secondary));
}

.ds-marked-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  row-gap: var(--ds-marked-list-gap, var(--ds-space-2));
}
.ds-marked-list > li {
  position: relative;
  padding-left: var(--ds-marked-list-room, var(--ds-space-6));
}
.ds-marked-list > li::before {
  content: "";
  position: absolute;
  left: 0;
  top: var(--ds-marked-list-mark-top, 0);
  width: var(--ds-marked-list-mark, var(--ds-space-3));
  height: var(--ds-marked-list-mark, var(--ds-space-3));
  border-radius: var(--ds-radius-full);
  background: var(--ds-marked-list-mark-bg, var(--ds-color-primary));
  box-shadow: var(--ds-marked-list-mark-inner, none);
}

.ds-readiness {
  display: inline-flex;
  align-items: center;
  flex: none;
  padding: var(--ds-readiness-pad, var(--ds-space-1) var(--ds-space-2));
  border-radius: var(--ds-radius-full);
  font-size: var(--ds-readiness-size, var(--ds-fs-xs));
  font-weight: var(--ds-readiness-weight, var(--ds-fw-bold));
  letter-spacing: var(--ds-readiness-track, 0);
  white-space: nowrap;
}
.ds-readiness--live {
  color: var(--ds-readiness-live-ink, var(--ds-color-success));
  background: var(--ds-readiness-live-bg, transparent);
}
.ds-readiness--planned {
  color: var(--ds-readiness-planned-ink, var(--ds-color-warning));
  background: var(--ds-readiness-planned-bg, transparent);
}
.ds-readiness--elsewhere {
  color: var(--ds-readiness-elsewhere-ink, var(--ds-text-secondary));
  background: var(--ds-readiness-elsewhere-bg, transparent);
}

.ds-count__aside {
  font-size: var(--ds-count-aside-size, var(--ds-fs-xs));
  font-weight: var(--ds-count-aside-weight, var(--ds-fw-regular));
  color: var(--ds-count-aside-ink, var(--ds-text-secondary));
  font-variant-numeric: tabular-nums;
}

.ds-status {
  display: inline-flex; align-items: center; gap: 5px;
  border-radius: var(--ds-radius-full);
  padding: var(--ds-status-pad, 2px 9px);
  font: var(--ds-status-font, 800 11.5px/1.4 inherit);
  white-space: nowrap;
}
.ds-status::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; flex: none; }
.ds-status--ok    { color: var(--ds-status-ok-ink, var(--ds-color-accent));   background: var(--ds-status-ok-bg, var(--ds-surface-highlight)); }
.ds-status--busy  { color: var(--ds-status-busy-ink, #8A5A00);               background: var(--ds-status-busy-bg, #FDF3DC); }
.ds-status--stop  { color: var(--ds-status-stop-ink, var(--ds-color-error)); background: var(--ds-status-stop-bg, transparent); }

.ds-meter { height: var(--ds-meter-h, 6px); border-radius: var(--ds-radius-full);
  background: var(--ds-surface-section); overflow: hidden; }
.ds-meter__fill { display: block; height: 100%; background: var(--ds-meter-fill, var(--ds-color-primary)); }

.ds-skeleton { height: var(--ds-skeleton-h, 10px); border-radius: 6px;
  background: var(--ds-skeleton-bg, var(--ds-surface-sunken)); margin: 9px auto; }
@media (prefers-reduced-motion: no-preference) {
  .ds-skeleton { animation: ds-skeleton-pulse var(--ds-state-pulse, 1.2s) ease-in-out infinite; }
  @keyframes ds-skeleton-pulse { 0%,100% { opacity: 1 } 50% { opacity: .55 } }
}

.ds-cstate { padding: var(--ds-cstate-pad, 16px 4px); text-align: center;
  color: var(--ds-text-secondary); font-size: var(--ds-fs-sm); }
.ds-cstate > b { display: block; color: var(--ds-text-primary); font: 800 14px/1.3 inherit; margin-bottom: 5px; }

.ds-plate-icon {
  width: var(--ds-plate-icon-size, 40px); height: var(--ds-plate-icon-size, 40px);
  border-radius: var(--ds-plate-icon-radius, 11px); flex: none;
  display: grid; place-items: center;
  background: var(--ds-plate-icon-bg, var(--ds-surface-highlight));
  border: 1px solid var(--ds-plate-icon-border, var(--ds-border-default));
  color: var(--ds-plate-icon-ink, var(--ds-color-accent));
}

.ds-plate-icon > svg {
  width: var(--ds-plate-icon-glyph, 50%);
  height: var(--ds-plate-icon-glyph, 50%);
  display: block;
}
.ds-plate-icon--warn {
  background: var(--ds-plate-icon-warn-bg, #FDF3DC);
  border-color: var(--ds-plate-icon-warn-border, #F0DCA8);
  color: var(--ds-plate-icon-warn-ink, #8A5A00);
}

/* ═══ components/stepper/stepper.css ═══ */

.ds-stepper {
  align-self: start;
  display: inline-flex;
  align-items: stretch;
  border-radius: var(--ds-radius-full);
  padding: var(--ds-stepper-pad, var(--ds-space-1));
  background: var(--ds-surface-raised);
}

.ds-stepper__btn {

  font: inherit;
  font-size: var(--ds-stepper-btn-font, var(--ds-fs-lg));
  font-weight: var(--ds-fw-bold);

  line-height: 1;

  position: relative;
  color: var(--ds-text-link);
  background: var(--ds-stepper-btn-bg, var(--ds-surface-page));
  border: none;

  width: var(--ds-stepper-btn, 40px);
  height: var(--ds-stepper-btn, 40px);
  border-radius: var(--ds-stepper-btn-radius, var(--ds-radius-full));
  cursor: pointer;
  transition: transform var(--ds-stepper-motion, .12s) var(--ds-motion-ease);
}

.ds-stepper__btn::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: max(100%, 44px);
}

.ds-stepper__btn--minus::before,
.ds-stepper__btn:first-child::before { right: 0; }
.ds-stepper__btn--plus::before,
.ds-stepper__btn:last-child::before { left: 0; }

.ds-stepper__btn--plus,
.ds-stepper__btn:last-child {
  background: var(--ds-stepper-affirm-bg, var(--ds-gradient-brand));
  color: var(--ds-stepper-affirm-ink, var(--ds-color-on-primary));
}

.ds-stepper__btn:hover {
  transform: var(--ds-stepper-hover-transform, scale(1.08));
  background: var(--ds-stepper-hover-bg, transparent);
}

.ds-stepper__btn:disabled {
  color: var(--ds-text-muted);
  cursor: not-allowed;
}

.ds-stepper__btn:focus-visible {
  outline: 2px solid var(--ds-border-focus);
  outline-offset: -2px;
}

.ds-stepper__input {
  font: inherit;
  font-weight: var(--ds-fw-bold);
  font-variant-numeric: tabular-nums;
  text-align: center;
  width: 64px;
  border: none;

  padding: var(--ds-stepper-input-pad-y, var(--ds-space-2)) var(--ds-space-1);
  -moz-appearance: textfield;
  appearance: textfield;

  background: transparent;
  color: inherit;
}

.ds-stepper__input::-webkit-outer-spin-button,
.ds-stepper__input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.ds-stepper__input:focus-visible {
  outline: 2px solid var(--ds-border-focus);
  outline-offset: -2px;
}

/* ═══ components/effects/effects.css ═══ */

.ds-text-gradient {
  color: var(--ds-text-link);
}

@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  .ds-text-gradient {
    background: var(--ds-text-link);
    background: var(--ds-gradient-text);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
  }
}

.ds-glass {
  background: color-mix(in srgb, var(--ds-surface-page) 88%, transparent);
}

@supports (backdrop-filter: blur(12px)) {
  .ds-glass {
    background: color-mix(in srgb, var(--ds-surface-page) 65%, transparent);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
  }
}

/* ═══ components/motion/motion.css ═══ */

@keyframes ds-drift {
  0%   { transform: translate(0, 0) scale(1); }
  50%  { transform: translate(28px, -22px) scale(1.06); }
  100% { transform: translate(-16px, 14px) scale(0.97); }
}

@keyframes ds-float {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-12px); }
}

@keyframes ds-rise {
  from { opacity: 0; transform: translateY(28px); }
  to   { opacity: 1; transform: none; }
}

@keyframes ds-marquee {
  to { transform: translateX(-50%); }
}

@keyframes ds-pop {
  from { opacity: 0; transform: translateY(12px) scale(0.96); }
  to   { opacity: 1; transform: none; }
}

@keyframes ds-bump {
  0%   { transform: scale(1); }
  40%  { transform: scale(1.05); }
  100% { transform: scale(1); }
}

.ds-hero--rise .ds-rise-1,
.ds-hero--rise .ds-rise-2,
.ds-hero--rise .ds-rise-3,
.ds-hero--rise .ds-rise-4,
.ds-hero--rise .ds-rise-5 {
  animation: ds-rise var(--ds-anim-rise-duration) var(--ds-motion-ease) both;
}
.ds-hero--rise .ds-rise-1 { animation-delay: var(--ds-rise-delay-1, 0.05s); }
.ds-hero--rise .ds-rise-2 { animation-delay: var(--ds-rise-delay-2, 0.18s); }
.ds-hero--rise .ds-rise-3 { animation-delay: var(--ds-rise-delay-3, 0.32s); }
.ds-hero--rise .ds-rise-4 { animation-delay: var(--ds-rise-delay-4, 0.46s); }
.ds-hero--rise .ds-rise-5 { animation-delay: var(--ds-rise-delay-5, 0.6s); }

.ds-section--decor-drift::before,
.ds-calc__panel--orb-drift::before {
  animation: ds-drift var(--ds-anim-drift-duration) ease-in-out infinite alternate;
}

.ds-pop,
.ds-pop-1, .ds-pop-2, .ds-pop-3 {
  animation: ds-pop var(--ds-anim-pop-duration) var(--ds-motion-ease) both;
}
.ds-pop-1 { animation-delay: var(--ds-pop-delay-1, 0.15s); }
.ds-pop-2 { animation-delay: var(--ds-pop-delay-2, 0.3s); }
.ds-pop-3 { animation-delay: var(--ds-pop-delay-3, 0.45s); }

@supports (animation-timeline: view()) {
  .ds-pop, .ds-pop-1, .ds-pop-2, .ds-pop-3 {
    animation-timeline: view();
    animation-delay: 0s;
  }
  .ds-pop   { animation-range: entry 5% entry 40%; }
  .ds-pop-1 { animation-range: entry 8% entry 43%; }
  .ds-pop-2 { animation-range: entry 12% entry 47%; }
  .ds-pop-3 { animation-range: entry 16% entry 51%; }
}

.ds-bump {
  animation: ds-bump var(--ds-anim-bump-duration) ease;
}

.ds-float {
  animation: ds-float var(--ds-anim-float-duration) ease-in-out infinite;
}

.ds-marquee {
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}

.ds-marquee__track {
  display: flex;
  width: max-content;
  animation: ds-marquee var(--ds-marquee-duration) linear infinite;
  animation-play-state: paused;
}

.ds-marquee__track > * {
  margin-right: var(--ds-space-6);

  flex: 0 0 auto;
  width: var(--ds-marquee-item-width, 340px);
}

.ds-marquee:hover .ds-marquee__track { animation-play-state: running; }

@media (hover: none) {
  .ds-marquee {
    overflow-x: auto;
    -webkit-mask-image: none;
    mask-image: none;
  }
  .ds-marquee__track { animation: none; }
}

@supports (animation-timeline: view()) {
  .ds-reveal {
    animation: ds-rise var(--ds-anim-rise-duration) var(--ds-motion-ease) both;
    animation-timeline: view();
    animation-range: entry 5% entry 40%;
  }
}

@media (prefers-reduced-motion: reduce) {
  :root { --ds-motion-scale: 0; }

  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
  .ds-hero--rise [class*="ds-rise-"],
  .ds-section--decor-drift::before,
  .ds-calc__panel--orb-drift::before,
  .ds-float,
  .ds-marquee__track,
  .ds-reveal,
  .ds-pop, .ds-pop-1, .ds-pop-2, .ds-pop-3,
  .ds-bump {
    animation: none;
  }
  .ds-marquee { overflow-x: auto; }
}

/* ═══ components/footer/footer.css ═══ */

.ds-footer__logo-dark { display: none; }
:root[data-theme="dark"] .ds-footer__logo-light { display: none; }
:root[data-theme="dark"] .ds-footer__logo-dark { display: block; }

.ds-footer {
  background: var(--ds-footer-surface, var(--ds-surface-inverse));
  color: var(--ds-footer-text, var(--ds-text-inverse));
  margin-top: var(--ds-space-24);
}

.ds-footer__inner {
  max-width: var(--ds-container-max);
  margin: 0 auto;
  padding: var(--ds-footer-pad, var(--ds-space-12) var(--ds-container-pad) var(--ds-space-8));
  display: grid;

  grid-template-columns: var(--ds-footer-cols, 1fr);
  gap: var(--ds-footer-gap, var(--ds-space-8));
}

@media (min-width: 768px) {

  .ds-footer__inner {
    grid-template-columns: var(--ds-footer-cols, 2fr 1fr 1fr);
    gap: var(--ds-footer-gap, var(--ds-space-8));
  }
}

.ds-footer__title {
  font-size: var(--ds-fs-sm);
  font-weight: var(--ds-fw-semibold);
  text-transform: uppercase;
  letter-spacing: var(--ds-tracking-caps-sm);
  color: var(--ds-footer-text, var(--ds-text-inverse));
  margin: 0 0 var(--ds-space-3);
}

.ds-footer__links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--ds-space-2);
}

.ds-footer__link {
  color: var(--ds-footer-link, var(--ds-text-muted));
  font-size: var(--ds-fs-sm);
}
.ds-footer__link:hover { color: var(--ds-footer-text, var(--ds-text-inverse)); text-decoration: none; }

.ds-footer__bottom {

  border-top: 1px solid var(--ds-footer-rule, rgba(255, 255, 255, 0.12));

  padding: var(--ds-footer-bottom-pad, var(--ds-space-4) var(--ds-container-pad));
  text-align: center;
  font-size: var(--ds-fs-xs);
  color: var(--ds-footer-muted, var(--ds-text-muted));
}

/* ═══ components/offer/offer.css ═══ */

.ds-offer {
  display: grid;
  gap: var(--ds-offer-gap, var(--ds-space-5, 22px));
}

.ds-offer__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--ds-offer-scene-col, 17%);
  grid-template-rows: auto auto 1fr;
  gap: var(--ds-offer-head-gap, 8px 28px);
  align-items: start;
}
.ds-offer__title, .ds-offer__lead { grid-column: 1; }
.ds-offer__scene { grid-column: 2; grid-row: 1 / span 3; align-self: start; width: 100%; height: auto; }

.ds-offer__title {
  display: block;
  margin: 0;
  font-size: var(--ds-offer-title-size, clamp(26px, 2.6vw, 34px));
  line-height: var(--ds-offer-title-lh, 1.12);
  font-weight: var(--ds-offer-title-weight, 900);
  letter-spacing: -.02em;
  text-wrap: balance;
}

.ds-offer__title .ds-mark { font-style: normal; color: var(--ds-offer-mark, var(--ds-color-accent)); }

.ds-offer__lead {
  margin: 0;
  color: var(--ds-text-secondary);
  font-size: var(--ds-offer-lead-size, 13.5px);
}

.ds-offer__body {
  display: grid;
  grid-template-columns: var(--ds-offer-cols, 0.9fr 1fr);
  gap: var(--ds-offer-body-gap, 18px);
  align-items: stretch;
}
.ds-offer__gains { display: flex; flex-direction: column; gap: var(--ds-space-2, 8px); justify-content: center; }
.ds-offer__gains-title { margin: 0; font-size: var(--ds-offer-gains-size, 16.5px); font-weight: 800; letter-spacing: -.01em; }
.ds-offer__list { margin: 8px 0 0; padding-left: 20px; display: grid; gap: 8px; }

.ds-offer__form { display: flex; flex-direction: column; gap: var(--ds-space-2, 8px); }

@media (max-width: 860px) {
  .ds-offer__body { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .ds-offer__head { grid-template-columns: 1fr; grid-template-rows: auto; }
  .ds-offer__scene { grid-column: 1; grid-row: auto; max-width: 260px; }
}

/* ═══ components/svc-picker/svc-picker.css ═══ */

.ds-svc-picker {
  display: grid;
  gap: var(--ds-svc-picker-gap, var(--ds-space-5, 22px));
}

.ds-svc-picker__tabs {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ds-space-2, 8px);
}

.ds-svc-picker__tab {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: var(--ds-space-2, 8px) var(--ds-space-4, 16px);
  border: 1px solid var(--ds-color-line, #d7dfd2);
  border-radius: var(--ds-radius-pill, 999px);
  background: var(--ds-color-surface, #fff);
  color: inherit;
  font: inherit;
  font-size: var(--ds-font-size-s, 13px);
  cursor: pointer;
}

.ds-svc-picker__tab b {
  font-weight: 800;
  color: var(--ds-color-text-muted, #6a7a66);
}

.ds-svc-picker__tab[aria-selected="true"],
.ds-svc-picker__tab[aria-checked="true"] {
  border-color: var(--ds-color-primary, #70b62c);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--ds-color-primary, #70b62c) 28%, transparent);
}

.ds-svc-picker__tab[aria-selected="true"] b,
.ds-svc-picker__tab[aria-checked="true"] b { color: var(--ds-color-primary, #70b62c); }

.ds-svc-picker__body {
  display: grid;
  grid-template-columns: var(--ds-svc-picker-cols, minmax(0, 2fr) 3fr);
  gap: var(--ds-space-5, 22px);
  align-items: start;
}

@media (max-width: 760px) {
  .ds-svc-picker__body { grid-template-columns: minmax(0, 1fr); }
}

.ds-svc-picker__list,
.ds-svc-picker__item { min-width: 0; }

.ds-svc-picker__name { min-width: 0; overflow-wrap: anywhere; }

.ds-svc-picker__list {
  display: flex;
  flex-direction: column;
  gap: var(--ds-space-2, 8px);
  margin: 0;
  padding: 0;
  list-style: none;
}

.ds-svc-picker__item {
  display: flex;
  align-items: baseline;
  gap: var(--ds-space-3, 12px);
  width: 100%;
  text-align: start;
  padding: var(--ds-space-3, 12px) var(--ds-space-4, 16px);
  border: 1px solid var(--ds-color-line, #d7dfd2);
  border-radius: var(--ds-radius-m, 10px);
  background: var(--ds-color-surface, #fff);
  color: inherit;
  font: inherit;
  cursor: pointer;
}

.ds-svc-picker__item[aria-selected="true"] {
  border-color: var(--ds-color-primary, #70b62c);
}

.ds-svc-picker__price {
  margin-inline-start: auto;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.ds-svc-picker__works {
  margin: var(--ds-space-3, 12px) 0 0;
  padding-inline-start: var(--ds-space-5, 22px);
  display: grid;
  gap: var(--ds-space-2, 8px);
}

.ds-svc-picker__cta { margin-top: var(--ds-space-4, 16px); }

/* ═══ components/volume-price/volume-price.css ═══ */

.ds-volume-price {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--ds-space-4) var(--ds-space-8);
}

.ds-volume-price__slider {
  flex: 1 1 320px;
  min-width: min(100%, var(--ds-volume-price-slider-min, 260px));
}

.ds-volume-price__scale {
  display: flex;
  justify-content: space-between;
  gap: var(--ds-space-2);
  margin-top: var(--ds-space-1);
  color: var(--ds-text-muted);
  font-size: var(--ds-fs-xs);
}

.ds-volume-price__out {
  flex: 0 1 auto;
  min-width: min(100%, var(--ds-volume-price-out-min, 250px));
}

.ds-volume-price__pack {
  font-size: var(--ds-fs-xl);
  font-weight: var(--ds-fw-black);
  font-variant-numeric: tabular-nums;
}

.ds-volume-price__per {
  margin-top: 2px;
  color: var(--ds-text-muted);
  font-size: var(--ds-fs-sm);
  font-variant-numeric: tabular-nums;
}

.ds-volume-price__edges {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ds-space-2) var(--ds-space-8);
  padding-top: var(--ds-space-2);
  border-top: 1px solid var(--ds-border-default);
}

.ds-volume-price__edges p { margin: 0; font-size: var(--ds-fs-sm); }

.ds-volume-price__note {
  margin: var(--ds-space-2) 0 0;
  color: var(--ds-text-muted);
  font-size: var(--ds-fs-xs);
}

/* ═══ components/price-table/price-table.css ═══ */

.ds-price-table__wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  min-width: 0;

  background-image:
    linear-gradient(to right, var(--ds-price-table-ground, var(--ds-surface-section)) 45%, transparent),
    linear-gradient(to left,  var(--ds-price-table-ground, var(--ds-surface-section)) 45%, transparent),
    linear-gradient(to right, color-mix(in srgb, var(--ds-text-primary) 16%, transparent), transparent),
    linear-gradient(to left,  color-mix(in srgb, var(--ds-text-primary) 16%, transparent), transparent);
  background-position: 0 0, 100% 0, 0 0, 100% 0;
  background-repeat: no-repeat;
  background-size: 30px 100%, 30px 100%, 13px 100%, 13px 100%;
  background-attachment: local, local, scroll, scroll;
}

.ds-price-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--ds-fs-sm);
}

.ds-price-table th,
.ds-price-table td {
  text-align: start;
  padding: var(--ds-space-2) var(--ds-space-3);
  border-bottom: 1px dashed var(--ds-border-default);
  vertical-align: top;
}

.ds-price-table thead th {
  font-size: var(--ds-fs-xs);
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--ds-text-muted);
}

.ds-price-table tbody th { font-weight: var(--ds-fw-bold); }

.ds-price-table td { color: var(--ds-text-muted); }

.ds-price-table__price {
  white-space: normal;
  font-weight: var(--ds-fw-bold);
  color: var(--ds-text-primary);
  font-variant-numeric: tabular-nums;
}

.ds-price-table tbody tr:last-child th,
.ds-price-table tbody tr:last-child td { border-bottom: none; }

/* ═══ components/news/news.css ═══ */

.ds-news-feed {
  display: grid;
  gap: var(--ds-space-4);

  grid-template-columns: var(--ds-news-feed-cols, minmax(0, 1fr));
}

.ds-news-card {
  background: var(--ds-surface-card);
  border: 1px solid var(--ds-border-default);
  border-radius: var(--ds-radius-card);
  padding: var(--ds-space-6) var(--ds-space-6);
  min-width: 0;
}

.ds-news-card__rubric {
  display: inline-block;
  margin-bottom: var(--ds-space-2);
  padding: 3px 10px;
  border-radius: var(--ds-radius-sm);
  background: var(--ds-surface-highlight);
  color: var(--ds-color-primary);
  font-size: var(--ds-fs-xs);
  font-weight: var(--ds-fw-black);
  letter-spacing: .05em;
  text-transform: uppercase;
}

.ds-news-card__date {
  display: block;
  margin-bottom: var(--ds-space-2);
  color: var(--ds-text-muted);
  font-family: var(--ds-font-mono);
  font-size: var(--ds-fs-xs);
  font-variant-numeric: tabular-nums;
}

.ds-news-card__title { margin: 0 0 var(--ds-space-2); }
.ds-news-card__lead { margin: 0; color: var(--ds-text-muted); }

.ds-news-card__pic {
  display: block;
  width: 100%;
  height: auto;
  margin-bottom: var(--ds-space-3);
  border-radius: var(--ds-radius-md);
}

.ds-news-filter {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ds-space-2);
  margin-bottom: var(--ds-space-6);
}

.ds-news-filter__chip {
  border: 1px solid var(--ds-border-default);
  border-radius: var(--ds-radius-pill, 999px);
  background: var(--ds-surface-card);
  color: inherit;
  font: inherit;
  font-size: var(--ds-fs-sm);
  padding: var(--ds-space-2) var(--ds-space-4);
  cursor: pointer;
}

.ds-news-filter__chip[aria-checked="true"] {
  background: var(--ds-color-primary);
  border-color: var(--ds-color-primary);
  color: var(--ds-color-on-primary);
}

.ds-news-filter__chip:focus-visible {
  outline: 2px solid var(--ds-border-focus);
  outline-offset: 2px;
}

.ds-article { max-width: var(--ds-article-measure, 68ch); }
.ds-article__meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ds-space-3);
  align-items: baseline;
  margin-bottom: var(--ds-space-4);
  color: var(--ds-text-muted);
  font-size: var(--ds-fs-sm);
}
.ds-article__body > * + * { margin-top: var(--ds-space-4); }
.ds-article__body img { max-width: 100%; height: auto; border-radius: var(--ds-radius-md); }
.ds-article__body ul, .ds-article__body ol { padding-left: var(--ds-space-6); }

/* ═══ components/case/case.css ═══ */

.ds-cases {
  display: grid;
  gap: var(--ds-space-4);

  grid-template-columns: var(--ds-cases-cols, repeat(auto-fit, minmax(min(100%, 280px), 1fr)));
}

.ds-case-card {
  background: var(--ds-surface-card);
  border: 1px solid var(--ds-border-default);
  border-radius: var(--ds-radius-card);
  padding: var(--ds-space-6);
  min-width: 0;
}

.ds-case-card__title { margin: 0 0 var(--ds-space-2); }

.ds-case-card__summary { margin: 0; color: var(--ds-text-muted); }

.ds-case-card__part + .ds-case-card__part { margin-top: var(--ds-space-3); }
.ds-case-card__label {
  display: block;
  margin-bottom: 2px;
  color: var(--ds-text-muted);
  font-size: var(--ds-fs-xs);
  font-weight: var(--ds-fw-semibold);
  letter-spacing: .04em;
  text-transform: uppercase;
}
.ds-case-card__text { margin: 0; }

.ds-case-card__part--result .ds-case-card__text { color: var(--ds-text-primary); }

/* ═══ components/crm-pricing/crm-pricing.css ═══ */

.ds-seat-steps { display: grid; gap: var(--ds-space-2); }

.ds-seat-step {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
  gap: var(--ds-space-4);
  padding: var(--ds-space-3) var(--ds-space-4);
  border: 1px solid var(--ds-border-default);
  border-radius: var(--ds-radius-md);
  background: var(--ds-surface-card);
}
.ds-seat-step__label { font-weight: var(--ds-fw-semibold); }

.ds-seat-step__price {
  min-width: var(--ds-price-slot-min, 7ch);
  min-height: 1lh;
  font-weight: var(--ds-fw-price);
  font-variant-numeric: tabular-nums;
  text-align: end;
}

.ds-ai-packs {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
  gap: var(--ds-space-3);
  padding: var(--ds-space-4);
  border-radius: var(--ds-radius-card);
  background: var(--ds-surface-sunken);
}
.ds-ai-pack { min-width: 0; }
.ds-ai-pack__size { display: block; font-weight: var(--ds-fw-black); }
.ds-ai-pack__price { display: block; min-height: 1lh; font-variant-numeric: tabular-nums; }
.ds-ai-pack__note { display: block; color: var(--ds-text-muted); font-size: var(--ds-fs-sm); }

.ds-ai-packs__behaviour { grid-column: 1 / -1; margin: 0; color: var(--ds-text-secondary); }

.ds-price-legal {
  margin: var(--ds-space-3) 0 0;
  color: var(--ds-text-muted);
  font-size: var(--ds-fs-sm);
  line-height: 1.45;
}
