:root {
  --ds-accent: #e0472a;
  --ds-accent-fill: #d34327;
  --ds-accent-text: #e0472a;
  --ds-accent-ink: var(--ds-accent-ink-light);
  --ds-accent-14: rgba(224, 71, 42, .14);
  --ds-accent-30: rgba(224, 71, 42, .3);
  --ds-accent-55: rgba(224, 71, 42, .55);

  --ds-ok: #5fbf84;
  --ds-warn: #e3b341;

  --ds-accent-ink-light: #ffffff;
  --ds-accent-ink-dark: #07070a;

  --ds-line: rgba(233, 230, 225, .13);
  --ds-stroke: rgba(233, 230, 225, .16);
  --ds-stroke-strong: rgba(233, 230, 225, .4);
  --ds-page: #07070a;
  --ds-card: #0b0b0f;

  --ds-ink-1: #e9e6e1;
  --ds-ink-2: #b8b4ae;
  --ds-ink-3: #8b8883;
  --ds-ink-4: #6a6864;

  --ds-radius: 0px;
  --ds-track: .18em;

  --ds-font-display: 'Bricolage Grotesque', Archivo, system-ui, sans-serif;
  --ds-font-text: Archivo, system-ui, sans-serif;
  --ds-font-mono: 'JetBrains Mono', ui-monospace, monospace;

  --ds-t-display: clamp(34px, 4.4vw, 64px);
  --ds-t-h2: clamp(22px, 2.4vw, 30px);
  --ds-t-h3: 21px;
  --ds-t-lead: clamp(17px, 1.9vw, 25px);
  --ds-t-lead-s: 15.5px;
  --ds-t-body: 14.5px;
  --ds-t-small: 12.5px;
  --ds-t-card: 17px;
  --ds-t-label: 10px;
  --ds-t-value: 13px;
  --ds-t-value-s: 11px;
  --ds-t-caption: 9px;

  --ds-t-hero: clamp(34px, 6.6vw, 116px);
  --ds-t-section: clamp(30px, 5.4vw, 78px);

  --ds-track-display: .025em;
  --ds-track-title: .015em;
  --ds-track-tight: .14em;
  --ds-track-value: .08em;

  --ds-heading-stroke: max(1px, .02em);

  --ds-overlay-media: linear-gradient(180deg, rgba(7, 7, 10, .2), rgba(7, 7, 10, .92));
  --ds-scan: rgba(255, 255, 255, .06);
  --ds-soft: rgba(255, 255, 255, .03);

  --ds-veil-soft: rgba(7, 7, 10, .3);
  --ds-veil: rgba(7, 7, 10, .6);
  --ds-veil-strong: rgba(7, 7, 10, .85);
  --ds-veil-full: rgba(7, 7, 10, .96);
  --ds-veil-hero: rgba(7, 7, 10, .425);
  --ds-veil-hero-end: rgba(7, 7, 10, .48);
  --ds-crt-split-a: rgba(224, 71, 42, .22);
  --ds-crt-split-b: rgba(42, 196, 224, .22);
  --ds-crt-glitch-filter: hue-rotate(40deg) saturate(1.6);
  --ds-crt-jolt: 1.2%;
  --ds-crt-glare: rgba(255, 255, 255, .14);
  --ds-blur: 14px;
  --ds-blur-soft: 8px;
  --ds-lightbox-lock-filter: blur(22px) saturate(.85) brightness(.62);
  --ds-lightbox-lock-filter-soft: blur(8px) saturate(.6) brightness(.45);
  --ds-lightbox-lock-scale: 1.04;
  --ds-feed-lock-filter: blur(16px) saturate(.85) brightness(.62);
  --ds-feed-lock-scale: 1.1;
  --ds-blur-up: 26px;
  --ds-splash-scrim: linear-gradient(90deg, var(--ds-veil-soft) 0%, transparent 45%, var(--ds-veil-strong) 100%);

  --ds-motion: 180ms ease;
  --ds-motion-slow: 950ms linear;
  --ds-motion-fill: 300ms linear;
  --ds-motion-crossfade: 1600ms ease;

  --ds-anim-blink: ds-blink 2.4s steps(1) infinite;
  --ds-anim-marq: ds-marq 38s linear infinite;
  --ds-anim-rise: ds-rise .9s cubic-bezier(.2, .7, .2, 1) both;
  --ds-anim-soft: ds-soft .2s ease both;
  --ds-anim-crt-roll: ds-crt-roll 9s linear infinite;
  --ds-anim-crt-glyph: ds-crt-glyph 3.4s steps(1) infinite;
  --ds-anim-crt-glitch: ds-crt-glitch 6.5s steps(1) infinite;
  --ds-anim-crt-jolt: ds-crt-jolt 6.5s steps(1) infinite;

  --ds-z-header: 50;
  --ds-z-scan: 60;
  --ds-z-overlay: 200;

  --ds-shadow-menu: 0 20px 40px -20px rgba(0, 0, 0, .8);
  --ds-glow-cta: 0 18px 46px -18px var(--ds-accent-55);
  --ds-ring: 0 0 0 2px var(--ds-accent-text);
  --ds-drag-dim: .5;

  --ds-bp-xs: 320px;
  --ds-bp-sm: 520px;
  --ds-bp-md: 900px;
  --ds-bp-lg: 1200px;
  --ds-bp-xl: 1400px;
  --ds-page-max: 1760px;
  --ds-page-inset: max(0px, calc((100% - var(--ds-page-max)) / 2));

  --ds-tap: 44px;
  --ds-tap-gap: var(--ds-s-2);

  --ds-measure: 72ch;
  --ds-measure-wide: 92ch;
  --ds-lh-text: 1.6;
  --ds-lh-lead: 1.4;
  --ds-lh-dense: 1.45;
  --ds-lh-hero: .95;
  --ds-lh-section: 1.04;
  --ds-lh-desc: 1.55;
  --ds-lh-label: 1.7;

  --ds-hero-w: 1180px;
  --ds-grid-min-3xs: 52px;
  --ds-grid-min-2xs: 84px;
  --ds-grid-min-1xs: 104px;
  --ds-grid-min-xs: 160px;
  --ds-grid-min-s: 200px;
  --ds-grid-min-m: 240px;
  --ds-grid-min-l: 300px;
  --ds-grid-min-xl: 340px;
  --ds-grid-min-2xl: 420px;
  --ds-card-min-h: 140px;
  --ds-hero-min-h: 420px;
  --ds-hero-max-h: calc(var(--ds-page-max) * .6);
  --ds-hero-foot-h: calc(var(--ds-s-2) + var(--ds-h-xs) + var(--ds-s-3) + var(--ds-h-xs) + var(--ds-s-4) + var(--ds-h-l));
  --ds-tile-min-h: 260px;
  --ds-tile-more-min-h: 400px;
  --ds-contacts-no-w: 46px;
  --ds-terms-max: 900px;
  --ds-grid-min-lx: 320px;
  --ds-input-min-w: 180px;
  --ds-uploader-min-w: 168px;
  --ds-file-preview-w: 260px;
  --ds-file-preview-max-h: 300px;
  --ds-splash-art-min-w: 280px;
  --ds-splash-art-min-h: 34vh;
  --ds-splash-text-min-w: 360px;
  --ds-splash-logo-top: 20px;
  --ds-splash-logo-x: clamp(16px, 3vw, 34px);
  --ds-splash-art-floor: calc(var(--ds-splash-logo-top) * 2 + var(--ds-t-body));

  --ds-reach: 55%;

  --ds-zone-hot: var(--ds-accent-55);
  --ds-zone-warm: var(--ds-accent-30);
  --ds-zone-cool: var(--ds-accent-14);
  --ds-zone-cold: var(--ds-soft);

  --ds-panel-w: min(66.6667vw, 100%);
  --ds-drawer-w: min(var(--ds-panel-w), calc(var(--ds-measure) + var(--ds-s-4) * 2));
  --ds-panel-min: min(360px, 100%);
  --ds-reach-pad: 0px;

  --ds-h-l: 54px;
  --ds-h-m: 44px;
  --ds-h-xs: 30px;
  --ds-s-1: 4px;
  --ds-s-2: 8px;
  --ds-s-3: 12px;
  --ds-s-4: 18px;
  --ds-s-5: 24px;
  --ds-s-6: 44px;
  --ds-tile: 42px;
}

@media (pointer: coarse) {
  :root {
    --ds-h-xs: var(--ds-tap);
    --ds-h-m: 48px;
    --ds-h-l: 56px;
  }
}

@media (max-width: 520px) {
  :root {
    --ds-panel-w: 100%;
    --ds-panel-min: 100%;
    --ds-reach-pad: calc(var(--ds-tap) + var(--ds-s-5));
    --ds-splash-art-min-h: 20vh;
    --ds-t-label: 12px;
    --ds-t-value-s: 12.5px;
  }
}

@keyframes ds-blink { 0%, 60% { opacity: 1; } 61%, 100% { opacity: .15; } }
@keyframes ds-marq { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes ds-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes ds-soft { from { opacity: 0; } to { opacity: 1; } }
@keyframes ds-crt-roll { from { transform: translateY(-100%); } to { transform: translateY(100%); } }
@keyframes ds-crt-glyph { 0%, 70% { opacity: 0; } 71% { opacity: 1; } 75% { opacity: 0; } 78% { opacity: 1; } 86%, 100% { opacity: 0; } }
@keyframes ds-crt-glitch { 0%, 94% { opacity: 0; transform: none; } 94.5% { opacity: 1; transform: translateX(var(--ds-crt-jolt)); } 95.5% { opacity: 1; transform: translateX(calc(var(--ds-crt-jolt) * -1)); } 96.5%, 100% { opacity: 0; transform: none; } }
@keyframes ds-crt-jolt { 0%, 94% { transform: none; } 94.5% { transform: translateX(var(--ds-crt-jolt)); } 95.5% { transform: translateX(calc(var(--ds-crt-jolt) * -1)); } 96.5%, 100% { transform: none; } }

@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; }
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html, body { max-width: 100%; overflow-x: hidden; }
html {
  scroll-padding-bottom: calc(var(--ds-reach-pad) + env(safe-area-inset-bottom));
}

body {
  margin: 0;
  background: var(--ds-page);
  color: var(--ds-ink-1);
  font-family: var(--ds-font-text);
  -webkit-font-smoothing: antialiased;
}

a { color: var(--ds-accent-text); text-decoration: none; transition: color var(--ds-motion); }
a:hover { color: var(--ds-ink-1); }

h1, h2, h3 { font-family: var(--ds-font-display); }

input, textarea, select { font-family: var(--ds-font-text); }
button { font-family: var(--ds-font-mono); }
button, svg { -webkit-user-select: none; user-select: none; }
input, button, textarea { font: inherit; color: inherit; }

input::placeholder, textarea::placeholder { color: var(--ds-ink-4); opacity: 1; }
input:disabled::placeholder, textarea:disabled::placeholder { color: var(--ds-ink-4); opacity: .6; }

textarea { resize: vertical; }
textarea::-webkit-resizer {
  background: repeating-linear-gradient(135deg, transparent 0 2px, var(--ds-stroke) 2px 3px);
}
textarea:hover::-webkit-resizer {
  background: repeating-linear-gradient(135deg, transparent 0 2px, var(--ds-ink-3) 2px 3px);
}
textarea:focus::-webkit-resizer {
  background: repeating-linear-gradient(135deg, transparent 0 2px, var(--ds-accent) 2px 3px);
}

button, input, textarea, select { appearance: none; -webkit-appearance: none; -webkit-tap-highlight-color: transparent; }
input, textarea { caret-color: var(--ds-accent); }
::selection { background: var(--ds-accent-fill); color: var(--ds-accent-ink); }
:focus { outline: none; }
:focus-visible { outline: 1px solid var(--ds-accent-text); outline-offset: 2px; }
* { scrollbar-width: thin; scrollbar-color: var(--ds-stroke) transparent; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--ds-stroke); border: 3px solid var(--ds-page); }
::-webkit-scrollbar-thumb:hover { background: var(--ds-ink-4); }
input:-webkit-autofill, textarea:-webkit-autofill {
  -webkit-text-fill-color: var(--ds-ink-1);
  box-shadow: inset 0 0 0 100px var(--ds-page);
  caret-color: var(--ds-accent);
}
