/* assets/css/theme.css */
/* ==========================================================================
   theme.css: token overrides and the hero curtain (no page layout).
   Instatic import mode: "Keep as stylesheet / file", loaded after styles.css.

   1. Dark theme  (html[data-theme="dark"], set by the theme switch)
   2. Dark tone   (.tone-dark: hero, principles island, closing, footer;
                   these stay dark in both themes, per Kit v2 islands)
   3. Kit v2 parent palette (html[data-palette="kit"])
   4. Curtain (hero, closing): Brand Kit v2 .dsm-curtain light bands through a
      fixed dot screen, drifting slowly; site.js adds the ASCII hover reveal
   5. Action arrows: one right arrow; a boomerang on hover/focus
   6. Hero mark at rest: the no-JS / Instatic Preview frame
   7. Kit v2 edge light (.glow) on cards and panels
   8. Theme switch sun/moon icons
   9. Eyebrow and social icons
  10. Brand showcase: pinned stage, brand transitions and brand-list states
   ========================================================================== */

/* 1 + 2. Dark resolution of the theme tokens */
html[data-theme="dark"],
.tone-dark {
  color-scheme: dark;
  --dsm-bg: #050508;
  --dsm-surface: #0C0D12;
  --dsm-surface-sunken: #08090C;
  --dsm-surface-hover: rgba(255, 255, 255, 0.05);
  --dsm-line: rgba(255, 255, 255, 0.1);
  --dsm-line-strong: rgba(255, 255, 255, 0.2);
  --dsm-text: #F2F3F6;
  --dsm-text-secondary: #A3A6B5;
  --dsm-text-tertiary: #8A8EA0;
  --dsm-glass: rgba(5, 5, 8, 0.76);

  /* strict B&W on dark: light pill, dark label */
  --dsm-action: #F2F3F6;
  --dsm-action-hover: #FFFFFF;
  --dsm-action-text: #050508;
  --dsm-focus: #F2F3F6;
  --dsm-link: #F2F3F6;
}

/* A dark island on a dark page lifts one step so its edge still reads */
html[data-theme="dark"] .island.tone-dark {
  --dsm-bg: #0C0D12;
}

html[data-theme="dark"] .theme-switch__option[aria-pressed="true"] {
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

/* Logo swap: white artwork on dark, black on light (Kit v2 logo rule) */
html[data-theme="dark"] .lockup--on-light,
.tone-dark .lockup--on-light,
html[data-theme="dark"] .brand-mark--on-light,
.tone-dark .brand-mark--on-light {
  display: none;
}

html[data-theme="dark"] .lockup--on-dark,
.tone-dark .lockup--on-dark,
html[data-theme="dark"] .brand-mark--on-dark,
.tone-dark .brand-mark--on-dark {
  display: block;
}

/* Menu icons: three bars that turn into a cross while the script menu is open;
   the no-script close button is always a cross */
.menu-button__icon,
.nav-close__icon {
  position: relative;
  width: 18px;
  height: 2px;
  border-radius: 1px;
  background: currentColor;
  transition: background-color 150ms ease;
}

.menu-button__icon::before,
.menu-button__icon::after,
.nav-close__icon::before,
.nav-close__icon::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  border-radius: 1px;
  background: currentColor;
  transition: transform 250ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

.menu-button__icon::before {
  transform: translateY(-6px);
}

.menu-button__icon::after {
  transform: translateY(6px);
}

.site-header.is-open .menu-button__icon,
.nav-close__icon {
  background: transparent;
}

.site-header.is-open .menu-button__icon::before,
.nav-close__icon::before {
  transform: rotate(45deg);
}

.site-header.is-open .menu-button__icon::after,
.nav-close__icon::after {
  transform: rotate(-45deg);
}

/* No-script menu (Instatic Preview, visitors without JS): the menu button links
   to the hidden #menu target, which opens the panel; the close button and every
   menu link move the target away, which closes it. The script menu replaces it. */
@media (max-width: 739px) {
  html:not(.js) .nav-anchor--open:target ~ .header-nav {
    display: flex;
  }
}

@media (prefers-reduced-motion: reduce) {
  .menu-button__icon::before,
  .menu-button__icon::after {
    transition: none;
  }
}

/* 3. Kit v2 parent palette: Royal Blue primary, Electric Indigo focus */
html[data-palette="kit"],
html[data-palette="kit"] .tone-dark {
  --dsm-action: #1E44FC;
  --dsm-action-hover: #3458FF;
  --dsm-action-text: #FFFFFF;
  --dsm-focus: #6366FF;
}

html[data-palette="kit"] {
  --dsm-link: #1E44FC;
}

html[data-palette="kit"][data-theme="dark"],
html[data-palette="kit"] .tone-dark {
  --dsm-link: #8B8EFF;
}

html[data-palette="kit"] .faq__item.is-open .faq__icon {
  background: #1E44FC;
  border-color: #1E44FC;
  color: #FFFFFF;
}

html[data-palette="kit"] ::selection {
  background: rgba(99, 102, 255, 0.28);
  color: inherit;
}

/* 4. Hero curtain (Brand Kit v2 .dsm-curtain). Two mirrored side-edge light
   bands on the Kit ramp (near-white -> Indigo 300 -> Indigo -> Royal), seen only
   through a static dot grid. Full-bleed, so the bands sit on the viewport
   edges; no top rim, because the black header continues the same field. The
   clear zone sits over the left-aligned copy so the light stays at the edges.
   site.js reads these same properties for the ASCII hover, so CSS and canvas
   agree. */
.curtain {
  isolation: isolate;
  --curtain-band: 26% 78%;
  --curtain-y: 46%;
  --curtain-clear: 46% 58% at 42% 44%;
  --curtain-pitch: 12px;
  --curtain-ramp: #F6F6FF 0%, #DCDDFF 14%, #9EA1FF 32%, #6366FF 52%, #3F4CFF 70%, #1E44FC 88%, transparent 100%;
}

/* The dot screen: a fixed layer masked to one ~1px dot per --curtain-pitch cell,
   with the clear zone kept dark over the copy. The dots never move, so the ASCII
   reveal (site.js) always lands on them. */
.curtain__light {
  position: absolute;
  inset: 0;
  z-index: -2;
  overflow: hidden;
  pointer-events: none;
  -webkit-mask-image:
    radial-gradient(circle, #000 0 1px, transparent 1.6px),
    radial-gradient(var(--curtain-clear), transparent 0%, transparent 62%, #000 100%);
  mask-image:
    radial-gradient(circle, #000 0 1px, transparent 1.6px),
    radial-gradient(var(--curtain-clear), transparent 0%, transparent 62%, #000 100%);
  -webkit-mask-size: var(--curtain-pitch) var(--curtain-pitch), 100% 100%;
  mask-size: var(--curtain-pitch) var(--curtain-pitch), 100% 100%;
  -webkit-mask-repeat: repeat, no-repeat;
  mask-repeat: repeat, no-repeat;
  -webkit-mask-composite: source-in;
  mask-composite: intersect;
}

/* The light: two mirrored side bands on the Kit ramp (its falloff baked into the
   stops). They drift slowly and out of step, so the screen feels alive while the
   dots stay put. Transform-only; site.js pauses it off-screen. */
.curtain__light::before,
.curtain__light::after {
  content: "";
  position: absolute;
  inset: 0;
  will-change: transform;
  animation: curtain-drift 17s ease-in-out infinite alternate;
  animation-play-state: var(--curtain-play, running);
}

.curtain__light::before {
  transform-origin: 0% 50%;
  background: radial-gradient(var(--curtain-band) at 0% var(--curtain-y),
    rgba(246, 246, 255, 1) 0%, rgba(220, 221, 255, 0.85) 14%, rgba(158, 161, 255, 0.66) 32%,
    rgba(99, 102, 255, 0.39) 52%, rgba(63, 76, 255, 0.1) 70%, rgba(30, 68, 252, 0) 76%);
}

.curtain__light::after {
  transform-origin: 100% 50%;
  animation-duration: 23s;
  animation-delay: -9s;
  background: radial-gradient(var(--curtain-band) at 100% var(--curtain-y),
    rgba(246, 246, 255, 1) 0%, rgba(220, 221, 255, 0.85) 14%, rgba(158, 161, 255, 0.66) 32%,
    rgba(99, 102, 255, 0.39) 52%, rgba(63, 76, 255, 0.1) 70%, rgba(30, 68, 252, 0) 76%);
}

@keyframes curtain-drift {
  0% { transform: translate3d(0, -3%, 0) scale(0.96, 1); }
  100% { transform: translate3d(0, 3%, 0) scale(1.05, 1.02); }
}

@supports not ((mask-composite: intersect) or (-webkit-mask-composite: source-in)) {
  .curtain__light {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .curtain__light::before,
  .curtain__light::after {
    animation: none;
  }
}

/* Footer: the light rises from its top edge (continuing the closing section's
   glow) and stays in the side gutters; the clear zone covers every column of
   contact detail, so text never sits on dots. */
.curtain.curtain--footer {
  --curtain-band: 26% 90%;
  --curtain-y: 0%;
  --curtain-clear: 70% 90% at 50% 55%;
}

/* Endcap (homepage closing + footer): one tall curtain. The light sits beside the
   closing CTA and fades down through the footer's edges; the clear zone keeps
   the headline and the footer's text columns off the dots. */
.curtain.endcap {
  --curtain-band: 30% 62%;
  --curtain-y: 34%;
  --curtain-clear: 62% 70% at 44% 52%;
}

/* Wide screens: the hero is full-bleed, so the bands widen to reach in from
   the viewport edges and the clear zone tightens over the left-aligned copy.
   The right half (no copy) carries the light, and the hover reveal reads
   wherever the pointer crosses it, as in the Kit's island hero. */
@media (min-width: 1200px) {
  .curtain {
    --curtain-band: 44% 100%;
    --curtain-clear: 36% 54% at 30% 44%;
  }
}

/* Phones: the copy fills the width, so the bands slim down and hug the edges (Kit v2) */
@media (max-width: 640px) {
  .curtain {
    --curtain-band: 20% 64%;
    --curtain-y: 42%;
    --curtain-clear: 64% 44% at 50% 46%;
  }

  .curtain__light {
    opacity: 0.8;
  }
}

/* 5. Action arrows: one right arrow on every action (styles.css turns the drawn
   glyph to point right). On hover or keyboard focus it makes a single
   boomerang: 3px to the right, then eases back to rest in the pill. Reduced
   motion collapses it to nothing (styles.css). */
@keyframes dsm-arrow-out {
  0% { transform: translateX(0) rotate(45deg); animation-timing-function: cubic-bezier(0.2, 0.8, 0.2, 1); }
  45% { transform: translateX(3px) rotate(45deg); animation-timing-function: cubic-bezier(0.5, 0, 0.3, 1); }
  100% { transform: translateX(0) rotate(45deg); }
}

.action:hover .action__icon,
.action:focus-visible .action__icon {
  animation: dsm-arrow-out 0.6s both;
}

/* 6. Hero mark at rest. site.js draws the 3D ASCII mark into .hero__mark and
   presses/tilts it under the pointer. This is the same face-on resting frame pre-rendered by
   tools/gen-mark-still.mjs, shown where scripts do not run: Instatic's
   full-page Preview (sandbox="") and the Design canvas, and no-JS visitors.
   Once site.js takes over (data-mark="on") its canvas replaces it. */
@media (min-width: 1200px) {
  .hero__mark {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 528 528'%3E%3Cpath fill='%23050508' d='M75.5 75.5h5v5h-5zM87.5 75.5h5v5h-5zM99.5 75.5h5v5h-5zM111.5 75.5h5v5h-5zM123.5 75.5h5v5h-5zM135.5 75.5h5v5h-5zM147.5 75.5h5v5h-5zM159.5 75.5h5v5h-5zM171.5 75.5h5v5h-5zM183.5 75.5h5v5h-5zM195.5 75.5h5v5h-5zM207.5 75.5h5v5h-5zM219.5 75.5h5v5h-5zM231.5 75.5h5v5h-5zM243.5 75.5h5v5h-5zM255.5 75.5h5v5h-5zM267.5 75.5h5v5h-5zM279.5 75.5h5v5h-5zM291.5 75.5h5v5h-5zM303.5 75.5h5v5h-5zM315.5 75.5h5v5h-5zM327.5 75.5h5v5h-5zM339.5 75.5h5v5h-5zM351.5 75.5h5v5h-5zM363.5 75.5h5v5h-5zM375.5 75.5h5v5h-5zM387.5 75.5h5v5h-5zM399.5 75.5h5v5h-5zM411.5 75.5h5v5h-5zM423.5 75.5h5v5h-5zM435.5 75.5h5v5h-5zM447.5 75.5h5v5h-5zM459.5 75.5h5v5h-5zM75.5 87.5h5v5h-5zM87.5 87.5h5v5h-5zM99.5 87.5h5v5h-5zM111.5 87.5h5v5h-5zM123.5 87.5h5v5h-5zM135.5 87.5h5v5h-5zM147.5 87.5h5v5h-5zM159.5 87.5h5v5h-5zM171.5 87.5h5v5h-5zM183.5 87.5h5v5h-5zM195.5 87.5h5v5h-5zM207.5 87.5h5v5h-5zM219.5 87.5h5v5h-5zM231.5 87.5h5v5h-5zM243.5 87.5h5v5h-5zM255.5 87.5h5v5h-5zM267.5 87.5h5v5h-5zM279.5 87.5h5v5h-5zM291.5 87.5h5v5h-5zM303.5 87.5h5v5h-5zM315.5 87.5h5v5h-5zM327.5 87.5h5v5h-5zM339.5 87.5h5v5h-5zM351.5 87.5h5v5h-5zM363.5 87.5h5v5h-5zM375.5 87.5h5v5h-5zM387.5 87.5h5v5h-5zM399.5 87.5h5v5h-5zM411.5 87.5h5v5h-5zM423.5 87.5h5v5h-5zM435.5 87.5h5v5h-5zM447.5 87.5h5v5h-5zM459.5 87.5h5v5h-5zM75.5 99.5h5v5h-5zM87.5 99.5h5v5h-5zM99.5 99.5h5v5h-5zM111.5 99.5h5v5h-5zM123.5 99.5h5v5h-5zM135.5 99.5h5v5h-5zM147.5 99.5h5v5h-5zM159.5 99.5h5v5h-5zM171.5 99.5h5v5h-5zM183.5 99.5h5v5h-5zM195.5 99.5h5v5h-5zM207.5 99.5h5v5h-5zM219.5 99.5h5v5h-5zM231.5 99.5h5v5h-5zM243.5 99.5h5v5h-5zM255.5 99.5h5v5h-5zM267.5 99.5h5v5h-5zM279.5 99.5h5v5h-5zM291.5 99.5h5v5h-5zM303.5 99.5h5v5h-5zM315.5 99.5h5v5h-5zM327.5 99.5h5v5h-5zM339.5 99.5h5v5h-5zM351.5 99.5h5v5h-5zM363.5 99.5h5v5h-5zM375.5 99.5h5v5h-5zM387.5 99.5h5v5h-5zM399.5 99.5h5v5h-5zM411.5 99.5h5v5h-5zM423.5 99.5h5v5h-5zM435.5 99.5h5v5h-5zM447.5 99.5h5v5h-5zM459.5 99.5h5v5h-5zM75.5 111.5h5v5h-5zM87.5 111.5h5v5h-5zM99.5 111.5h5v5h-5zM111.5 111.5h5v5h-5zM123.5 111.5h5v5h-5zM135.5 111.5h5v5h-5zM147.5 111.5h5v5h-5zM159.5 111.5h5v5h-5zM171.5 111.5h5v5h-5zM183.5 111.5h5v5h-5zM195.5 111.5h5v5h-5zM207.5 111.5h5v5h-5zM219.5 111.5h5v5h-5zM231.5 111.5h5v5h-5zM243.5 111.5h5v5h-5zM255.5 111.5h5v5h-5zM267.5 111.5h5v5h-5zM279.5 111.5h5v5h-5zM291.5 111.5h5v5h-5zM303.5 111.5h5v5h-5zM315.5 111.5h5v5h-5zM327.5 111.5h5v5h-5zM339.5 111.5h5v5h-5zM351.5 111.5h5v5h-5zM363.5 111.5h5v5h-5zM375.5 111.5h5v5h-5zM387.5 111.5h5v5h-5zM399.5 111.5h5v5h-5zM411.5 111.5h5v5h-5zM423.5 111.5h5v5h-5zM435.5 111.5h5v5h-5zM447.5 111.5h5v5h-5zM459.5 111.5h5v5h-5zM75.5 123.5h5v5h-5zM87.5 123.5h5v5h-5zM99.5 123.5h5v5h-5zM111.5 123.5h5v5h-5zM123.5 123.5h5v5h-5zM135.5 123.5h5v5h-5zM147.5 123.5h5v5h-5zM159.5 123.5h5v5h-5zM171.5 123.5h5v5h-5zM183.5 123.5h5v5h-5zM195.5 123.5h5v5h-5zM207.5 123.5h5v5h-5zM219.5 123.5h5v5h-5zM231.5 123.5h5v5h-5zM243.5 123.5h5v5h-5zM255.5 123.5h5v5h-5zM267.5 123.5h5v5h-5zM279.5 123.5h5v5h-5zM291.5 123.5h5v5h-5zM303.5 123.5h5v5h-5zM315.5 123.5h5v5h-5zM327.5 123.5h5v5h-5zM339.5 123.5h5v5h-5zM351.5 123.5h5v5h-5zM363.5 123.5h5v5h-5zM375.5 123.5h5v5h-5zM387.5 123.5h5v5h-5zM399.5 123.5h5v5h-5zM411.5 123.5h5v5h-5zM423.5 123.5h5v5h-5zM435.5 123.5h5v5h-5zM447.5 123.5h5v5h-5zM459.5 123.5h5v5h-5zM75.5 135.5h5v5h-5zM87.5 135.5h5v5h-5zM99.5 135.5h5v5h-5zM111.5 135.5h5v5h-5zM123.5 135.5h5v5h-5zM135.5 135.5h5v5h-5zM147.5 135.5h5v5h-5zM159.5 135.5h5v5h-5zM171.5 135.5h5v5h-5zM183.5 135.5h5v5h-5zM195.5 135.5h5v5h-5zM207.5 135.5h5v5h-5zM219.5 135.5h5v5h-5zM231.5 135.5h5v5h-5zM243.5 135.5h5v5h-5zM255.5 135.5h5v5h-5zM267.5 135.5h5v5h-5zM279.5 135.5h5v5h-5zM291.5 135.5h5v5h-5zM303.5 135.5h5v5h-5zM315.5 135.5h5v5h-5zM327.5 135.5h5v5h-5zM339.5 135.5h5v5h-5zM351.5 135.5h5v5h-5zM363.5 135.5h5v5h-5zM375.5 135.5h5v5h-5zM387.5 135.5h5v5h-5zM399.5 135.5h5v5h-5zM411.5 135.5h5v5h-5zM423.5 135.5h5v5h-5zM435.5 135.5h5v5h-5zM447.5 135.5h5v5h-5zM459.5 135.5h5v5h-5zM75.5 147.5h5v5h-5zM87.5 147.5h5v5h-5zM99.5 147.5h5v5h-5zM111.5 147.5h5v5h-5zM123.5 147.5h5v5h-5zM135.5 147.5h5v5h-5zM147.5 147.5h5v5h-5zM159.5 147.5h5v5h-5zM171.5 147.5h5v5h-5zM183.5 147.5h5v5h-5zM195.5 147.5h5v5h-5zM207.5 147.5h5v5h-5zM219.5 147.5h5v5h-5zM231.5 147.5h5v5h-5zM243.5 147.5h5v5h-5zM255.5 147.5h5v5h-5zM267.5 147.5h5v5h-5zM279.5 147.5h5v5h-5zM291.5 147.5h5v5h-5zM303.5 147.5h5v5h-5zM315.5 147.5h5v5h-5zM327.5 147.5h5v5h-5zM339.5 147.5h5v5h-5zM351.5 147.5h5v5h-5zM363.5 147.5h5v5h-5zM375.5 147.5h5v5h-5zM387.5 147.5h5v5h-5zM399.5 147.5h5v5h-5zM411.5 147.5h5v5h-5zM423.5 147.5h5v5h-5zM435.5 147.5h5v5h-5zM447.5 147.5h5v5h-5zM459.5 147.5h5v5h-5zM75.5 159.5h5v5h-5zM87.5 159.5h5v5h-5zM99.5 159.5h5v5h-5zM111.5 159.5h5v5h-5zM123.5 159.5h5v5h-5zM135.5 159.5h5v5h-5zM147.5 159.5h5v5h-5zM387.5 159.5h5v5h-5zM399.5 159.5h5v5h-5zM411.5 159.5h5v5h-5zM423.5 159.5h5v5h-5zM435.5 159.5h5v5h-5zM447.5 159.5h5v5h-5zM459.5 159.5h5v5h-5zM75.5 171.5h5v5h-5zM87.5 171.5h5v5h-5zM99.5 171.5h5v5h-5zM111.5 171.5h5v5h-5zM123.5 171.5h5v5h-5zM135.5 171.5h5v5h-5zM147.5 171.5h5v5h-5zM387.5 171.5h5v5h-5zM399.5 171.5h5v5h-5zM411.5 171.5h5v5h-5zM423.5 171.5h5v5h-5zM435.5 171.5h5v5h-5zM447.5 171.5h5v5h-5zM459.5 171.5h5v5h-5zM75.5 183.5h5v5h-5zM87.5 183.5h5v5h-5zM99.5 183.5h5v5h-5zM111.5 183.5h5v5h-5zM123.5 183.5h5v5h-5zM135.5 183.5h5v5h-5zM147.5 183.5h5v5h-5zM387.5 183.5h5v5h-5zM399.5 183.5h5v5h-5zM411.5 183.5h5v5h-5zM423.5 183.5h5v5h-5zM435.5 183.5h5v5h-5zM447.5 183.5h5v5h-5zM459.5 183.5h5v5h-5zM75.5 195.5h5v5h-5zM87.5 195.5h5v5h-5zM99.5 195.5h5v5h-5zM111.5 195.5h5v5h-5zM123.5 195.5h5v5h-5zM135.5 195.5h5v5h-5zM147.5 195.5h5v5h-5zM387.5 195.5h5v5h-5zM399.5 195.5h5v5h-5zM411.5 195.5h5v5h-5zM423.5 195.5h5v5h-5zM435.5 195.5h5v5h-5zM447.5 195.5h5v5h-5zM459.5 195.5h5v5h-5zM75.5 207.5h5v5h-5zM87.5 207.5h5v5h-5zM99.5 207.5h5v5h-5zM111.5 207.5h5v5h-5zM123.5 207.5h5v5h-5zM135.5 207.5h5v5h-5zM147.5 207.5h5v5h-5zM387.5 207.5h5v5h-5zM399.5 207.5h5v5h-5zM411.5 207.5h5v5h-5zM423.5 207.5h5v5h-5zM435.5 207.5h5v5h-5zM447.5 207.5h5v5h-5zM459.5 207.5h5v5h-5zM75.5 219.5h5v5h-5zM87.5 219.5h5v5h-5zM99.5 219.5h5v5h-5zM111.5 219.5h5v5h-5zM123.5 219.5h5v5h-5zM135.5 219.5h5v5h-5zM147.5 219.5h5v5h-5zM375.5 219.5h5v5h-5zM387.5 219.5h5v5h-5zM399.5 219.5h5v5h-5zM411.5 219.5h5v5h-5zM423.5 219.5h5v5h-5zM435.5 219.5h5v5h-5zM447.5 219.5h5v5h-5zM459.5 219.5h5v5h-5zM75.5 231.5h5v5h-5zM87.5 231.5h5v5h-5zM99.5 231.5h5v5h-5zM111.5 231.5h5v5h-5zM123.5 231.5h5v5h-5zM135.5 231.5h5v5h-5zM147.5 231.5h5v5h-5zM375.5 231.5h5v5h-5zM387.5 231.5h5v5h-5zM399.5 231.5h5v5h-5zM411.5 231.5h5v5h-5zM423.5 231.5h5v5h-5zM435.5 231.5h5v5h-5zM447.5 231.5h5v5h-5zM459.5 231.5h5v5h-5zM75.5 243.5h5v5h-5zM87.5 243.5h5v5h-5zM99.5 243.5h5v5h-5zM111.5 243.5h5v5h-5zM123.5 243.5h5v5h-5zM135.5 243.5h5v5h-5zM147.5 243.5h5v5h-5zM375.5 243.5h5v5h-5zM387.5 243.5h5v5h-5zM399.5 243.5h5v5h-5zM411.5 243.5h5v5h-5zM423.5 243.5h5v5h-5zM435.5 243.5h5v5h-5zM447.5 243.5h5v5h-5zM459.5 243.5h5v5h-5zM75.5 255.5h5v5h-5zM87.5 255.5h5v5h-5zM99.5 255.5h5v5h-5zM111.5 255.5h5v5h-5zM123.5 255.5h5v5h-5zM135.5 255.5h5v5h-5zM147.5 255.5h5v5h-5zM363.5 255.5h5v5h-5zM375.5 255.5h5v5h-5zM387.5 255.5h5v5h-5zM399.5 255.5h5v5h-5zM411.5 255.5h5v5h-5zM423.5 255.5h5v5h-5zM435.5 255.5h5v5h-5zM447.5 255.5h5v5h-5zM459.5 255.5h5v5h-5zM75.5 267.5h5v5h-5zM87.5 267.5h5v5h-5zM99.5 267.5h5v5h-5zM111.5 267.5h5v5h-5zM123.5 267.5h5v5h-5zM135.5 267.5h5v5h-5zM147.5 267.5h5v5h-5zM363.5 267.5h5v5h-5zM375.5 267.5h5v5h-5zM387.5 267.5h5v5h-5zM399.5 267.5h5v5h-5zM411.5 267.5h5v5h-5zM423.5 267.5h5v5h-5zM435.5 267.5h5v5h-5zM447.5 267.5h5v5h-5zM459.5 267.5h5v5h-5zM75.5 279.5h5v5h-5zM87.5 279.5h5v5h-5zM99.5 279.5h5v5h-5zM111.5 279.5h5v5h-5zM123.5 279.5h5v5h-5zM135.5 279.5h5v5h-5zM147.5 279.5h5v5h-5zM351.5 279.5h5v5h-5zM363.5 279.5h5v5h-5zM375.5 279.5h5v5h-5zM387.5 279.5h5v5h-5zM399.5 279.5h5v5h-5zM411.5 279.5h5v5h-5zM423.5 279.5h5v5h-5zM435.5 279.5h5v5h-5zM447.5 279.5h5v5h-5zM459.5 279.5h5v5h-5zM75.5 291.5h5v5h-5zM87.5 291.5h5v5h-5zM99.5 291.5h5v5h-5zM111.5 291.5h5v5h-5zM123.5 291.5h5v5h-5zM135.5 291.5h5v5h-5zM147.5 291.5h5v5h-5zM339.5 291.5h5v5h-5zM351.5 291.5h5v5h-5zM363.5 291.5h5v5h-5zM375.5 291.5h5v5h-5zM387.5 291.5h5v5h-5zM399.5 291.5h5v5h-5zM411.5 291.5h5v5h-5zM423.5 291.5h5v5h-5zM435.5 291.5h5v5h-5zM447.5 291.5h5v5h-5zM459.5 291.5h5v5h-5zM75.5 303.5h5v5h-5zM87.5 303.5h5v5h-5zM99.5 303.5h5v5h-5zM111.5 303.5h5v5h-5zM123.5 303.5h5v5h-5zM135.5 303.5h5v5h-5zM147.5 303.5h5v5h-5zM327.5 303.5h5v5h-5zM339.5 303.5h5v5h-5zM351.5 303.5h5v5h-5zM363.5 303.5h5v5h-5zM375.5 303.5h5v5h-5zM387.5 303.5h5v5h-5zM399.5 303.5h5v5h-5zM411.5 303.5h5v5h-5zM423.5 303.5h5v5h-5zM435.5 303.5h5v5h-5zM447.5 303.5h5v5h-5zM459.5 303.5h5v5h-5zM75.5 315.5h5v5h-5zM87.5 315.5h5v5h-5zM99.5 315.5h5v5h-5zM111.5 315.5h5v5h-5zM123.5 315.5h5v5h-5zM135.5 315.5h5v5h-5zM147.5 315.5h5v5h-5zM327.5 315.5h5v5h-5zM339.5 315.5h5v5h-5zM351.5 315.5h5v5h-5zM363.5 315.5h5v5h-5zM375.5 315.5h5v5h-5zM387.5 315.5h5v5h-5zM399.5 315.5h5v5h-5zM411.5 315.5h5v5h-5zM423.5 315.5h5v5h-5zM435.5 315.5h5v5h-5zM447.5 315.5h5v5h-5zM459.5 315.5h5v5h-5zM75.5 327.5h5v5h-5zM87.5 327.5h5v5h-5zM99.5 327.5h5v5h-5zM111.5 327.5h5v5h-5zM123.5 327.5h5v5h-5zM135.5 327.5h5v5h-5zM147.5 327.5h5v5h-5zM303.5 327.5h5v5h-5zM315.5 327.5h5v5h-5zM327.5 327.5h5v5h-5zM339.5 327.5h5v5h-5zM351.5 327.5h5v5h-5zM363.5 327.5h5v5h-5zM375.5 327.5h5v5h-5zM387.5 327.5h5v5h-5zM399.5 327.5h5v5h-5zM411.5 327.5h5v5h-5zM423.5 327.5h5v5h-5zM435.5 327.5h5v5h-5zM447.5 327.5h5v5h-5zM459.5 327.5h5v5h-5zM75.5 339.5h5v5h-5zM87.5 339.5h5v5h-5zM99.5 339.5h5v5h-5zM111.5 339.5h5v5h-5zM123.5 339.5h5v5h-5zM135.5 339.5h5v5h-5zM147.5 339.5h5v5h-5zM291.5 339.5h5v5h-5zM303.5 339.5h5v5h-5zM315.5 339.5h5v5h-5zM327.5 339.5h5v5h-5zM339.5 339.5h5v5h-5zM351.5 339.5h5v5h-5zM363.5 339.5h5v5h-5zM375.5 339.5h5v5h-5zM387.5 339.5h5v5h-5zM399.5 339.5h5v5h-5zM411.5 339.5h5v5h-5zM423.5 339.5h5v5h-5zM435.5 339.5h5v5h-5zM447.5 339.5h5v5h-5zM459.5 339.5h5v5h-5zM75.5 351.5h5v5h-5zM87.5 351.5h5v5h-5zM99.5 351.5h5v5h-5zM111.5 351.5h5v5h-5zM123.5 351.5h5v5h-5zM135.5 351.5h5v5h-5zM147.5 351.5h5v5h-5zM279.5 351.5h5v5h-5zM291.5 351.5h5v5h-5zM303.5 351.5h5v5h-5zM315.5 351.5h5v5h-5zM327.5 351.5h5v5h-5zM339.5 351.5h5v5h-5zM351.5 351.5h5v5h-5zM363.5 351.5h5v5h-5zM375.5 351.5h5v5h-5zM387.5 351.5h5v5h-5zM399.5 351.5h5v5h-5zM411.5 351.5h5v5h-5zM423.5 351.5h5v5h-5zM435.5 351.5h5v5h-5zM447.5 351.5h5v5h-5zM459.5 351.5h5v5h-5zM75.5 363.5h5v5h-5zM87.5 363.5h5v5h-5zM99.5 363.5h5v5h-5zM111.5 363.5h5v5h-5zM123.5 363.5h5v5h-5zM135.5 363.5h5v5h-5zM147.5 363.5h5v5h-5zM255.5 363.5h5v5h-5zM267.5 363.5h5v5h-5zM279.5 363.5h5v5h-5zM291.5 363.5h5v5h-5zM303.5 363.5h5v5h-5zM315.5 363.5h5v5h-5zM327.5 363.5h5v5h-5zM339.5 363.5h5v5h-5zM351.5 363.5h5v5h-5zM363.5 363.5h5v5h-5zM375.5 363.5h5v5h-5zM387.5 363.5h5v5h-5zM399.5 363.5h5v5h-5zM411.5 363.5h5v5h-5zM423.5 363.5h5v5h-5zM435.5 363.5h5v5h-5zM447.5 363.5h5v5h-5zM459.5 363.5h5v5h-5zM75.5 375.5h5v5h-5zM87.5 375.5h5v5h-5zM99.5 375.5h5v5h-5zM111.5 375.5h5v5h-5zM123.5 375.5h5v5h-5zM135.5 375.5h5v5h-5zM147.5 375.5h5v5h-5zM219.5 375.5h5v5h-5zM231.5 375.5h5v5h-5zM243.5 375.5h5v5h-5zM255.5 375.5h5v5h-5zM267.5 375.5h5v5h-5zM279.5 375.5h5v5h-5zM291.5 375.5h5v5h-5zM303.5 375.5h5v5h-5zM315.5 375.5h5v5h-5zM327.5 375.5h5v5h-5zM339.5 375.5h5v5h-5zM351.5 375.5h5v5h-5zM363.5 375.5h5v5h-5zM375.5 375.5h5v5h-5zM387.5 375.5h5v5h-5zM399.5 375.5h5v5h-5zM411.5 375.5h5v5h-5zM423.5 375.5h5v5h-5zM435.5 375.5h5v5h-5zM447.5 375.5h5v5h-5zM459.5 375.5h5v5h-5zM75.5 387.5h5v5h-5zM87.5 387.5h5v5h-5zM99.5 387.5h5v5h-5zM111.5 387.5h5v5h-5zM123.5 387.5h5v5h-5zM135.5 387.5h5v5h-5zM147.5 387.5h5v5h-5zM159.5 387.5h5v5h-5zM171.5 387.5h5v5h-5zM183.5 387.5h5v5h-5zM195.5 387.5h5v5h-5zM207.5 387.5h5v5h-5zM219.5 387.5h5v5h-5zM231.5 387.5h5v5h-5zM243.5 387.5h5v5h-5zM255.5 387.5h5v5h-5zM267.5 387.5h5v5h-5zM279.5 387.5h5v5h-5zM291.5 387.5h5v5h-5zM303.5 387.5h5v5h-5zM315.5 387.5h5v5h-5zM327.5 387.5h5v5h-5zM339.5 387.5h5v5h-5zM351.5 387.5h5v5h-5zM363.5 387.5h5v5h-5zM375.5 387.5h5v5h-5zM387.5 387.5h5v5h-5zM399.5 387.5h5v5h-5zM411.5 387.5h5v5h-5zM423.5 387.5h5v5h-5zM435.5 387.5h5v5h-5zM447.5 387.5h5v5h-5zM459.5 387.5h5v5h-5zM75.5 399.5h5v5h-5zM87.5 399.5h5v5h-5zM99.5 399.5h5v5h-5zM111.5 399.5h5v5h-5zM123.5 399.5h5v5h-5zM135.5 399.5h5v5h-5zM147.5 399.5h5v5h-5zM159.5 399.5h5v5h-5zM171.5 399.5h5v5h-5zM183.5 399.5h5v5h-5zM195.5 399.5h5v5h-5zM207.5 399.5h5v5h-5zM219.5 399.5h5v5h-5zM231.5 399.5h5v5h-5zM243.5 399.5h5v5h-5zM255.5 399.5h5v5h-5zM267.5 399.5h5v5h-5zM279.5 399.5h5v5h-5zM291.5 399.5h5v5h-5zM303.5 399.5h5v5h-5zM315.5 399.5h5v5h-5zM327.5 399.5h5v5h-5zM339.5 399.5h5v5h-5zM351.5 399.5h5v5h-5zM363.5 399.5h5v5h-5zM375.5 399.5h5v5h-5zM387.5 399.5h5v5h-5zM399.5 399.5h5v5h-5zM411.5 399.5h5v5h-5zM423.5 399.5h5v5h-5zM435.5 399.5h5v5h-5zM447.5 399.5h5v5h-5zM459.5 399.5h5v5h-5zM75.5 411.5h5v5h-5zM87.5 411.5h5v5h-5zM99.5 411.5h5v5h-5zM111.5 411.5h5v5h-5zM123.5 411.5h5v5h-5zM135.5 411.5h5v5h-5zM147.5 411.5h5v5h-5zM159.5 411.5h5v5h-5zM171.5 411.5h5v5h-5zM183.5 411.5h5v5h-5zM195.5 411.5h5v5h-5zM207.5 411.5h5v5h-5zM219.5 411.5h5v5h-5zM231.5 411.5h5v5h-5zM243.5 411.5h5v5h-5zM255.5 411.5h5v5h-5zM267.5 411.5h5v5h-5zM279.5 411.5h5v5h-5zM291.5 411.5h5v5h-5zM303.5 411.5h5v5h-5zM315.5 411.5h5v5h-5zM327.5 411.5h5v5h-5zM339.5 411.5h5v5h-5zM351.5 411.5h5v5h-5zM363.5 411.5h5v5h-5zM375.5 411.5h5v5h-5zM387.5 411.5h5v5h-5zM399.5 411.5h5v5h-5zM411.5 411.5h5v5h-5zM423.5 411.5h5v5h-5zM435.5 411.5h5v5h-5zM447.5 411.5h5v5h-5zM459.5 411.5h5v5h-5zM75.5 423.5h5v5h-5zM87.5 423.5h5v5h-5zM99.5 423.5h5v5h-5zM111.5 423.5h5v5h-5zM123.5 423.5h5v5h-5zM135.5 423.5h5v5h-5zM147.5 423.5h5v5h-5zM159.5 423.5h5v5h-5zM171.5 423.5h5v5h-5zM183.5 423.5h5v5h-5zM195.5 423.5h5v5h-5zM207.5 423.5h5v5h-5zM219.5 423.5h5v5h-5zM231.5 423.5h5v5h-5zM243.5 423.5h5v5h-5zM255.5 423.5h5v5h-5zM267.5 423.5h5v5h-5zM279.5 423.5h5v5h-5zM291.5 423.5h5v5h-5zM303.5 423.5h5v5h-5zM315.5 423.5h5v5h-5zM327.5 423.5h5v5h-5zM339.5 423.5h5v5h-5zM351.5 423.5h5v5h-5zM363.5 423.5h5v5h-5zM375.5 423.5h5v5h-5zM387.5 423.5h5v5h-5zM399.5 423.5h5v5h-5zM411.5 423.5h5v5h-5zM423.5 423.5h5v5h-5zM435.5 423.5h5v5h-5zM447.5 423.5h5v5h-5zM459.5 423.5h5v5h-5zM75.5 435.5h5v5h-5zM87.5 435.5h5v5h-5zM99.5 435.5h5v5h-5zM111.5 435.5h5v5h-5zM123.5 435.5h5v5h-5zM135.5 435.5h5v5h-5zM147.5 435.5h5v5h-5zM159.5 435.5h5v5h-5zM171.5 435.5h5v5h-5zM183.5 435.5h5v5h-5zM195.5 435.5h5v5h-5zM207.5 435.5h5v5h-5zM219.5 435.5h5v5h-5zM231.5 435.5h5v5h-5zM243.5 435.5h5v5h-5zM255.5 435.5h5v5h-5zM267.5 435.5h5v5h-5zM279.5 435.5h5v5h-5zM291.5 435.5h5v5h-5zM303.5 435.5h5v5h-5zM315.5 435.5h5v5h-5zM327.5 435.5h5v5h-5zM339.5 435.5h5v5h-5zM351.5 435.5h5v5h-5zM363.5 435.5h5v5h-5zM375.5 435.5h5v5h-5zM387.5 435.5h5v5h-5zM399.5 435.5h5v5h-5zM411.5 435.5h5v5h-5zM423.5 435.5h5v5h-5zM435.5 435.5h5v5h-5zM447.5 435.5h5v5h-5zM459.5 435.5h5v5h-5zM75.5 447.5h5v5h-5zM87.5 447.5h5v5h-5zM99.5 447.5h5v5h-5zM111.5 447.5h5v5h-5zM123.5 447.5h5v5h-5zM135.5 447.5h5v5h-5zM147.5 447.5h5v5h-5zM159.5 447.5h5v5h-5zM171.5 447.5h5v5h-5zM183.5 447.5h5v5h-5zM195.5 447.5h5v5h-5zM207.5 447.5h5v5h-5zM219.5 447.5h5v5h-5zM231.5 447.5h5v5h-5zM243.5 447.5h5v5h-5zM255.5 447.5h5v5h-5zM267.5 447.5h5v5h-5zM279.5 447.5h5v5h-5zM291.5 447.5h5v5h-5zM303.5 447.5h5v5h-5zM315.5 447.5h5v5h-5zM327.5 447.5h5v5h-5zM339.5 447.5h5v5h-5zM351.5 447.5h5v5h-5zM363.5 447.5h5v5h-5zM375.5 447.5h5v5h-5zM387.5 447.5h5v5h-5zM399.5 447.5h5v5h-5zM411.5 447.5h5v5h-5zM423.5 447.5h5v5h-5zM435.5 447.5h5v5h-5zM447.5 447.5h5v5h-5zM459.5 447.5h5v5h-5zM75.5 459.5h5v5h-5zM87.5 459.5h5v5h-5zM99.5 459.5h5v5h-5zM111.5 459.5h5v5h-5zM123.5 459.5h5v5h-5zM135.5 459.5h5v5h-5zM147.5 459.5h5v5h-5zM159.5 459.5h5v5h-5zM171.5 459.5h5v5h-5zM183.5 459.5h5v5h-5zM195.5 459.5h5v5h-5zM207.5 459.5h5v5h-5zM219.5 459.5h5v5h-5zM231.5 459.5h5v5h-5zM243.5 459.5h5v5h-5zM255.5 459.5h5v5h-5zM267.5 459.5h5v5h-5zM279.5 459.5h5v5h-5zM291.5 459.5h5v5h-5zM303.5 459.5h5v5h-5zM315.5 459.5h5v5h-5zM327.5 459.5h5v5h-5zM339.5 459.5h5v5h-5zM351.5 459.5h5v5h-5zM363.5 459.5h5v5h-5zM375.5 459.5h5v5h-5zM387.5 459.5h5v5h-5zM399.5 459.5h5v5h-5zM411.5 459.5h5v5h-5zM423.5 459.5h5v5h-5zM435.5 459.5h5v5h-5zM447.5 459.5h5v5h-5zM459.5 459.5h5v5h-5z'/%3E%3Cg font-family='ui-monospace,SFMono-Regular,Menlo,Consolas,monospace' font-size='11' font-weight='500' text-anchor='middle' dominant-baseline='central'%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.91' x='78 90 102 114 126 138 150 162 174 186 198 210' y='78'%3E%23%23%23%23%23%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.9' x='222 234 246 258 270 282 294 306 318 330 342 354 366 378 390' y='78'%3E%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.89' x='402 414 426 438 450 462' y='78'%3E%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.91' x='78 90 102 114 126 138 150 162 174 186 198 210' y='90'%3E%23%23%23%23%23%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.9' x='222 234 246 258 270 282 294 306 318 330 342 354 366 378 390' y='90'%3E%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.89' x='402 414 426 438 450 462' y='90'%3E%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.91' x='78 90 102 114 126 138 150 162 174 186 198' y='102'%3E%23%23%23%23%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.9' x='210 222 234 246 258 270 282 294 306 318 330 342 354 366 378 390' y='102'%3E%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.89' x='402 414 426 438 450 462' y='102'%3E%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.91' x='78 90 102 114 126 138 150 162 174 186' y='114'%3E%23%23%23%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.9' x='198 210 222 234 246 258 270 282 294 306 318 330 342 354 366 378' y='114'%3E%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.89' x='390 402 414 426 438 450 462' y='114'%3E%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.91' x='78 90 102 114 126 138 150 162 174' y='126'%3E%23%23%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.9' x='186 198 210 222 234 246 258 270 282 294 306 318 330 342 354 366 378' y='126'%3E%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.89' x='390 402 414 426 438 450 462' y='126'%3E%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.91' x='78 90 102 114 126 138 150' y='138'%3E%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.9' x='162 174 186 198 210 222 234 246 258 270 282 294 306 318 330 342 354 366' y='138'%3E%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.89' x='378 390 402 414 426 438 450 462' y='138'%3E%23%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.91' x='78 90 102 114 126 138' y='150'%3E%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.9' x='150 162 174 186 198 210 222 234 246 258 270 282 294 306 318 330 342 354 366' y='150'%3E%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.89' x='378 390 402 414 426 438 450 462' y='150'%3E%23%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.91' x='78 90 102 114' y='162'%3E%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.9' x='126 138 150' y='162'%3E%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.89' x='390 402 414 426 438 450 462' y='162'%3E%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.9' x='78 90 102 114 126 138 150' y='174'%3E%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.89' x='390 402 414 426 438 450 462' y='174'%3E%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.9' x='78 90 102 114 126 138 150' y='186'%3E%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.89' x='390 402 414 426 438 450 462' y='186'%3E%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.9' x='78 90 102 114 126 138 150' y='198'%3E%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.89' x='390 402 414 426 438 450 462' y='198'%3E%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.9' x='78 90 102 114 126 138 150' y='210'%3E%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.89' x='390 402 414 426 438 450 462' y='210'%3E%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.9' x='78 90 102 114 126 138 150' y='222'%3E%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.89' x='378 390 402 414 426 438 450 462' y='222'%3E%23%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.9' x='78 90 102 114 126 138 150' y='234'%3E%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.89' x='378 390 402 414 426 438 450' y='234'%3E%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.88' x='462' y='234'%3E%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.9' x='78 90 102 114 126 138 150' y='246'%3E%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.89' x='378 390 402 414 426 438 450' y='246'%3E%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.88' x='462' y='246'%3E%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.9' x='78 90 102 114 126 138 150' y='258'%3E%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.89' x='366 378 390 402 414 426 438' y='258'%3E%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.88' x='450 462' y='258'%3E%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.9' x='78 90 102 114 126 138 150' y='270'%3E%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.89' x='366 378 390 402 414 426' y='270'%3E%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.88' x='438 450 462' y='270'%3E%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.9' x='78 90 102 114 126 138 150' y='282'%3E%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.89' x='354 366 378 390 402 414 426' y='282'%3E%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.88' x='438 450 462' y='282'%3E%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.9' x='78 90 102 114 126 138 150' y='294'%3E%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.89' x='342 354 366 378 390 402' y='294'%3E%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.88' x='414 426 438 450 462' y='294'%3E%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.9' x='78 90 102 114 126 138 150' y='306'%3E%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.89' x='330 342 354 366 378 390' y='306'%3E%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.88' x='402 414 426 438 450 462' y='306'%3E%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.9' x='78 90 102 114 126 138 150' y='318'%3E%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.89' x='330 342 354 366 378' y='318'%3E%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.88' x='390 402 414 426 438 450 462' y='318'%3E%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.9' x='78 90 102 114 126 138' y='330'%3E%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.89' x='150 306 318 330 342 354 366 378' y='330'%3E%23%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.88' x='390 402 414 426 438 450 462' y='330'%3E%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.89' x='78 90 102 114 126 138 150 294 306 318 330 342 354' y='342'%3E%23%23%23%23%23%23%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.88' x='366 378 390 402 414 426 438 450 462' y='342'%3E%23%23%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.89' x='78 90 102 114 126 138 150 282 294 306 318 330 342' y='354'%3E%23%23%23%23%23%23%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.88' x='354 366 378 390 402 414 426 438 450 462' y='354'%3E%23%23%23%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.89' x='78 90 102 114 126 138 150 258 270 282 294 306 318 330' y='366'%3E%23%23%23%23%23%23%23%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.88' x='342 354 366 378 390 402 414 426 438 450 462' y='366'%3E%23%23%23%23%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.89' x='78 90 102 114 126 138 150 222 234 246 258 270 282 294 306' y='378'%3E%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.88' x='318 330 342 354 366 378 390 402 414 426 438 450 462' y='378'%3E%23%23%23%23%23%23%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.89' x='78 90 102 114 126 138 150 162 174 186 198 210 222 234 246 258 270 282 294' y='390'%3E%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.88' x='306 318 330 342 354 366 378 390 402 414 426 438 450 462' y='390'%3E%23%23%23%23%23%23%23%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.89' x='78 90 102 114 126 138 150 162 174 186 198 210 222 234 246 258 270' y='402'%3E%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.88' x='282 294 306 318 330 342 354 366 378 390 402 414 426 438' y='402'%3E%23%23%23%23%23%23%23%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.87' x='450 462' y='402'%3E%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.89' x='78 90 102 114 126 138 150 162 174 186 198 210 222 234 246' y='414'%3E%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.88' x='258 270 282 294 306 318 330 342 354 366 378 390 402 414 426' y='414'%3E%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.87' x='438 450 462' y='414'%3E%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.89' x='78 90 102 114 126 138 150 162 174 186 198 210 222' y='426'%3E%23%23%23%23%23%23%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.88' x='234 246 258 270 282 294 306 318 330 342 354 366 378 390 402 414' y='426'%3E%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.87' x='426 438 450 462' y='426'%3E%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.89' x='78 90 102 114 126 138 150 162 174 186' y='438'%3E%23%23%23%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.88' x='198 210 222 234 246 258 270 282 294 306 318 330 342 354 366 378 390 402' y='438'%3E%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.87' x='414 426 438 450 462' y='438'%3E%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.89' x='78 90 102 114 126 138' y='450'%3E%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.88' x='150 162 174 186 198 210 222 234 246 258 270 282 294 306 318 330 342 354 366 378 390' y='450'%3E%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.87' x='402 414 426 438 450 462' y='450'%3E%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.89' x='78' y='462'%3E%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.88' x='90 102 114 126 138 150 162 174 186 198 210 222 234 246 258 270 282 294 306 318 330 342 354 366 378' y='462'%3E%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%3C/text%3E%3Ctext fill='%23F6F6FF' fill-opacity='0.87' x='390 402 414 426 438 450 462' y='462'%3E%23%23%23%23%23%23%23%3C/text%3E%3C/g%3E%3C/svg%3E") center / 100% 100% no-repeat;
  }

  .hero__mark[data-mark="on"] {
    background-image: none;
  }
}

/* 7. Kit v2 edge light (.dsm-glow): a cursor-reactive rim on cards and panels.
   site.js (initGlow) sets --gi (proximity 0..1), --gx/--gy (cursor %) and --ga
   (edge angle). Idle (--gi: 0) is invisible, so no-JS and touch show the plain
   card. White light on dark surfaces; indigo on the light theme (Kit tokens). */
:root {
  --glow-shine: 99, 102, 255;
  --glow-tint: 30, 68, 252;
}

html[data-theme="dark"],
.tone-dark {
  --glow-shine: 222, 228, 255;
  --glow-tint: 99, 102, 255;
}

.glow {
  position: relative;
  isolation: isolate;
  --gi: 0;
  --gx: 50;
  --gy: 50;
  --ga: 0;
}

/* The lit edge ring, masked to the 1px border. Keep all four mask lines. */
.glow::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  padding: 1px;
  border-radius: inherit;
  pointer-events: none;
  background:
    conic-gradient(from calc((var(--ga) - 62) * 1deg) at 50% 50%, transparent 0deg,
      rgba(var(--glow-shine), calc(1 * var(--gi))) 44deg, rgba(var(--glow-tint), calc(0.7 * var(--gi))) 62deg,
      rgba(var(--glow-shine), calc(1 * var(--gi))) 80deg, transparent 124deg),
    radial-gradient(30% 52% at calc(var(--gx) * 1%) calc(var(--gy) * 1%), rgba(var(--glow-shine), calc(0.6 * var(--gi))) 0%, transparent 55%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

@supports not ((mask-composite: exclude) or (-webkit-mask-composite: xor)) {
  .glow::before {
    display: none;
  }
}

/* A faint interior wash toward the cursor */
.glow::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  pointer-events: none;
  background: radial-gradient(70% 90% at calc(var(--gx) * 1%) calc(var(--gy) * 1%), rgba(var(--glow-tint), calc(0.08 * var(--gi))) 0%, transparent 72%);
}

/* 8. Theme switch icons (Kit v2 / Lucide sun and moon), drawn in currentColor */
.theme-switch__icon {
  width: 16px;
  height: 16px;
  background-color: currentColor;
  -webkit-mask: var(--icon) center / 16px 16px no-repeat;
  mask: var(--icon) center / 16px 16px no-repeat;
}

.theme-switch__icon--sun {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41'/%3E%3C/svg%3E");
}

.theme-switch__icon--moon {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401'/%3E%3C/svg%3E");
}

/* 9. Section eyebrow icons (Lucide, ISC) and footer social icons (Simple Icons, CC0),
   masked in currentColor so they follow the label and link colors in every theme.
   Layout (size, gap) lives in styles.css; without this sheet the empty boxes collapse. */
.eyebrow__icon,
.social-icon {
  background-color: currentColor;
  -webkit-mask: var(--icon) center / contain no-repeat;
  mask: var(--icon) center / contain no-repeat;
}

.eyebrow__icon--brands {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z'/%3E%3Cpath d='M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12'/%3E%3Cpath d='M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17'/%3E%3C/svg%3E");
}

.eyebrow__icon--about {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 12h4'/%3E%3Cpath d='M10 8h4'/%3E%3Cpath d='M14 21v-3a2 2 0 0 0-4 0v3'/%3E%3Cpath d='M6 10H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-2'/%3E%3Cpath d='M6 21V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v16'/%3E%3C/svg%3E");
}

.eyebrow__icon--principles {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z'/%3E%3C/svg%3E");
}

.eyebrow__icon--faqs {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719'/%3E%3Cpath d='M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E");
}

.social-icon--facebook {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z'/%3E%3C/svg%3E");
}

.social-icon--instagram {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.0301.084c-1.2768.0602-2.1487.264-2.911.5634-.7888.3075-1.4575.72-2.1228 1.3877-.6652.6677-1.075 1.3368-1.3802 2.127-.2954.7638-.4956 1.6365-.552 2.914-.0564 1.2775-.0689 1.6882-.0626 4.947.0062 3.2586.0206 3.6671.0825 4.9473.061 1.2765.264 2.1482.5635 2.9107.308.7889.72 1.4573 1.388 2.1228.6679.6655 1.3365 1.0743 2.1285 1.38.7632.295 1.6361.4961 2.9134.552 1.2773.056 1.6884.069 4.9462.0627 3.2578-.0062 3.668-.0207 4.9478-.0814 1.28-.0607 2.147-.2652 2.9098-.5633.7889-.3086 1.4578-.72 2.1228-1.3881.665-.6682 1.0745-1.3378 1.3795-2.1284.2957-.7632.4966-1.636.552-2.9124.056-1.2809.0692-1.6898.063-4.948-.0063-3.2583-.021-3.6668-.0817-4.9465-.0607-1.2797-.264-2.1487-.5633-2.9117-.3084-.7889-.72-1.4568-1.3876-2.1228C21.2982 1.33 20.628.9208 19.8378.6165 19.074.321 18.2017.1197 16.9244.0645 15.6471.0093 15.236-.005 11.977.0014 8.718.0076 8.31.0215 7.0301.0839m.1402 21.6932c-1.17-.0509-1.8053-.2453-2.2287-.408-.5606-.216-.96-.4771-1.3819-.895-.422-.4178-.6811-.8186-.9-1.378-.1644-.4234-.3624-1.058-.4171-2.228-.0595-1.2645-.072-1.6442-.079-4.848-.007-3.2037.0053-3.583.0607-4.848.05-1.169.2456-1.805.408-2.2282.216-.5613.4762-.96.895-1.3816.4188-.4217.8184-.6814 1.3783-.9003.423-.1651 1.0575-.3614 2.227-.4171 1.2655-.06 1.6447-.072 4.848-.079 3.2033-.007 3.5835.005 4.8495.0608 1.169.0508 1.8053.2445 2.228.408.5608.216.96.4754 1.3816.895.4217.4194.6816.8176.9005 1.3787.1653.4217.3617 1.056.4169 2.2263.0602 1.2655.0739 1.645.0796 4.848.0058 3.203-.0055 3.5834-.061 4.848-.051 1.17-.245 1.8055-.408 2.2294-.216.5604-.4763.96-.8954 1.3814-.419.4215-.8181.6811-1.3783.9-.4224.1649-1.0577.3617-2.2262.4174-1.2656.0595-1.6448.072-4.8493.079-3.2045.007-3.5825-.006-4.848-.0608M16.953 5.5864A1.44 1.44 0 1 0 18.39 4.144a1.44 1.44 0 0 0-1.437 1.4424M5.8385 12.012c.0067 3.4032 2.7706 6.1557 6.173 6.1493 3.4026-.0065 6.157-2.7701 6.1506-6.1733-.0065-3.4032-2.771-6.1565-6.174-6.1498-3.403.0067-6.156 2.771-6.1496 6.1738M8 12.0077a4 4 0 1 1 4.008 3.9921A3.9996 3.9996 0 0 1 8 12.0077'/%3E%3C/svg%3E");
}

.social-icon--linkedin {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z'/%3E%3C/svg%3E");
}

.social-icon--youtube {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z'/%3E%3C/svg%3E");
}

/* 10. Brand showcase (homepage "Our brands"), the pinned version of the
   panels in styles.css. site.js adds .showcase--pinned when the viewport is
   at least 600px tall, sets --showcase-count, and pages through the brands:
   while the stage is pinned, one wheel/swipe/key gesture moves exactly one
   brand, and further input is held until that transition has finished and
   the gesture (including trackpad momentum) has ended. At the first or last
   brand a new gesture scrolls the page on. Each brand has an anchor scroll
   position (first = stage just pinned, last = about to unpin).
   Motion follows superpower.com's "How it works": the next photo rises from
   below over the previous one, which drifts up 11rem and dims to 50%; the
   copy fades in from a 6px blur 220ms later. .showcase--reverse flips both
   directions. .showcase--light (set while a .slide--light brand is shown)
   turns the brand list dark.
   Never active in Instatic's Design canvas or Preview (no scripts there). */
.showcase--pinned {
  --stage-h: calc(100vh - var(--header-h) - 2 * var(--stage-inset));
  --stage-h: calc(100svh - var(--header-h) - 2 * var(--stage-inset));
  --showcase-step: 90vh;
  --showcase-step: 90svh;
}

.showcase--pinned .showcase__track {
  height: calc(var(--stage-h) + var(--showcase-count, 6) * var(--showcase-step));
}

.showcase--pinned .showcase__stage {
  position: sticky;
  top: calc(var(--header-h) + var(--stage-inset));
  display: block;
  height: var(--stage-h);
  margin: calc(-1 * var(--stage-h)) var(--stage-inset) 0;
  padding: 0;
  overflow: hidden;
  isolation: isolate;
  border-radius: var(--dsm-radius-panel);
  background: var(--dsm-void);
}

.showcase--pinned .showcase__nav {
  height: var(--stage-h);
  margin-bottom: 0;
}

.showcase--pinned .slide {
  position: absolute;
  inset: 0;
  min-height: 0;
  border-radius: 0;
  background: transparent;
  pointer-events: none;
}

.showcase--pinned .slide.is-prev {
  z-index: 1;
}

.showcase--pinned .slide.is-active {
  z-index: 2;
  pointer-events: auto;
}

/* Photo layer */
@keyframes showcase-media-in {
  from { transform: translateY(100%); }
  to { transform: translateY(0); }
}

@keyframes showcase-media-out {
  from { transform: translateY(0); }
  to { transform: translateY(-11rem); }
}

@keyframes showcase-media-in-reverse {
  from { transform: translateY(-100%); }
  to { transform: translateY(0); }
}

@keyframes showcase-media-out-reverse {
  from { transform: translateY(0); }
  to { transform: translateY(11rem); }
}

.showcase--pinned .slide__media {
  visibility: hidden;
  transition: filter 800ms cubic-bezier(0.4, 0, 0.2, 1);
}

.showcase--pinned .slide.is-active .slide__media {
  visibility: visible;
  animation: showcase-media-in 800ms cubic-bezier(0.4, 0, 0.2, 1) both;
}

.showcase--pinned .slide.is-prev .slide__media {
  visibility: visible;
  filter: brightness(0.5);
  animation: showcase-media-out 800ms cubic-bezier(0.4, 0, 0.2, 1) both;
}

.showcase--pinned.showcase--reverse .slide.is-active .slide__media {
  animation-name: showcase-media-in-reverse;
}

.showcase--pinned.showcase--reverse .slide.is-prev .slide__media {
  animation-name: showcase-media-out-reverse;
}

/* Copy layer */
@keyframes showcase-copy-in {
  from { transform: translateY(1.5rem); }
  to { transform: translateY(0); }
}

@keyframes showcase-copy-out {
  from { transform: translateY(0); }
  to { transform: translateY(-1.5rem); }
}

@keyframes showcase-copy-in-reverse {
  from { transform: translateY(-1.5rem); }
  to { transform: translateY(0); }
}

@keyframes showcase-copy-out-reverse {
  from { transform: translateY(0); }
  to { transform: translateY(1.5rem); }
}

.showcase--pinned .slide__copy {
  opacity: 0;
  filter: blur(6px);
  animation: showcase-copy-out 200ms cubic-bezier(0.4, 0, 0.2, 1) both;
  transition: opacity 200ms cubic-bezier(0.4, 0, 0.2, 1), filter 200ms cubic-bezier(0.4, 0, 0.2, 1);
}

.showcase--pinned .slide.is-active .slide__copy {
  opacity: 1;
  filter: blur(0);
  animation: showcase-copy-in 900ms cubic-bezier(0.22, 0.61, 0.36, 1) 220ms both;
  transition: opacity 800ms cubic-bezier(0.22, 0.61, 0.36, 1) 220ms, filter 800ms cubic-bezier(0.22, 0.61, 0.36, 1) 220ms;
}

.showcase--pinned.showcase--reverse .slide__copy {
  animation-name: showcase-copy-out-reverse;
}

.showcase--pinned.showcase--reverse .slide.is-active .slide__copy {
  animation-name: showcase-copy-in-reverse;
}

/* Phones and tablets: the copy has a solid band of its own (styles.css), so the
   band stays opaque and only its text fades in. The next photo rises from behind
   the band into its frame. Brands not on screen are hidden. */
@keyframes showcase-text-in {
  from { translate: 0 1.5rem; }
  to { translate: 0 0; }
}

@keyframes showcase-text-out {
  from { translate: 0 0; }
  to { translate: 0 -1.5rem; }
}

@keyframes showcase-text-in-reverse {
  from { translate: 0 -1.5rem; }
  to { translate: 0 0; }
}

@keyframes showcase-text-out-reverse {
  from { translate: 0 0; }
  to { translate: 0 1.5rem; }
}

@media (max-width: 1199px) {
  .showcase--pinned .slide__copy,
  .showcase--pinned .slide.is-active .slide__copy {
    opacity: 1;
    filter: none;
    animation: none;
    transition: none;
  }

  .showcase--pinned .slide:not(.is-active):not(.is-prev) .slide__copy {
    visibility: hidden;
  }

  .showcase--pinned .slide__copy > * {
    opacity: 0;
    filter: blur(6px);
    animation: showcase-text-out 200ms cubic-bezier(0.4, 0, 0.2, 1) both;
    transition: opacity 200ms cubic-bezier(0.4, 0, 0.2, 1), filter 200ms cubic-bezier(0.4, 0, 0.2, 1);
  }

  .showcase--pinned .slide.is-active .slide__copy > * {
    opacity: 1;
    filter: blur(0);
    animation: showcase-text-in 900ms cubic-bezier(0.22, 0.61, 0.36, 1) 220ms both;
    transition: opacity 800ms cubic-bezier(0.22, 0.61, 0.36, 1) 220ms, filter 800ms cubic-bezier(0.22, 0.61, 0.36, 1) 220ms;
  }

  .showcase--pinned.showcase--reverse .slide__copy > * {
    animation-name: showcase-text-out-reverse;
  }

  .showcase--pinned.showcase--reverse .slide.is-active .slide__copy > * {
    animation-name: showcase-text-in-reverse;
  }
}

/* The brand list sits over very different brand imagery (a light field, white
   pixel blocks), so it gets a quiet glass plate of its own */
.showcase__list {
  width: fit-content;
  margin-left: auto;
  margin-right: max(var(--gutter), calc((100% - var(--page-max)) / 2 + var(--gutter)));
  padding: 6px;
  border-radius: 14px;
  background: rgba(5, 5, 8, 0.4);
  -webkit-backdrop-filter: blur(14px) saturate(1.2);
  backdrop-filter: blur(14px) saturate(1.2);
  transition: background-color 400ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

@media (min-width: 1200px) {
  .showcase__list {
    height: auto;
    position: relative;
    top: 50%;
    padding: 10px 10px 10px 6px;
    transform: translateY(-50%);
  }
}

/* Brand list as a progress rail (Kit v2 form rail, monochrome): brands already
   passed are solid dots, the current brand is a 48px line that fills as it
   arrives, the ones ahead are dim dots. Names sit beside the rail on wide
   screens; on phones the rail runs across and only the current name shows. */
.showcase__tab[aria-current="true"] {
  color: #FFFFFF;
}

.showcase__seg {
  transition: height 400ms cubic-bezier(0.22, 0.61, 0.36, 1), width 400ms cubic-bezier(0.22, 0.61, 0.36, 1), background-color 250ms ease;
}

.showcase__tab.is-done .showcase__seg {
  background: rgba(255, 255, 255, 0.9);
}

.showcase__tab[aria-current="true"] .showcase__seg {
  height: 48px;
  background: rgba(255, 255, 255, 0.22);
}

.showcase__seg-fill {
  transition: height 900ms cubic-bezier(0.22, 0.61, 0.36, 1) 150ms, width 900ms cubic-bezier(0.22, 0.61, 0.36, 1) 150ms;
}

.showcase__tab[aria-current="true"] .showcase__seg-fill {
  height: 100%;
}

.showcase__tab:focus-visible {
  outline: 2px solid #FFFFFF;
  outline-offset: 2px;
}

@media (max-width: 1199px) {
  .showcase__list {
    align-items: center;
    margin: 16px auto 0 max(16px, var(--gutter));
    padding: 0 10px;
  }

  .showcase__tab {
    gap: 0;
    min-height: 32px;
    padding: 0 3px;
  }

  .showcase__tab[aria-current="true"] .showcase__seg {
    width: 32px;
    height: 6px;
  }

  .showcase__seg-fill {
    inset: 0 auto 0 0;
    width: 0;
    height: auto;
  }

  .showcase__tab[aria-current="true"] .showcase__seg-fill {
    width: 100%;
    height: auto;
  }

  .showcase--pinned .showcase__tab-label {
    display: inline-block;
    max-width: 0;
    overflow: hidden;
    white-space: nowrap;
    opacity: 0;
    transition: max-width 400ms cubic-bezier(0.22, 0.61, 0.36, 1), opacity 300ms cubic-bezier(0.22, 0.61, 0.36, 1), margin 400ms ease;
  }

  .showcase--pinned .showcase__tab[aria-current="true"] .showcase__tab-label {
    max-width: 10rem;
    margin-right: 10px;
    opacity: 1;
  }
}

/* Light brands (DSM Talent): the same rail in ink */
.showcase--light .showcase__list {
  background: rgba(255, 255, 255, 0.55);
}

.showcase--light .showcase__tab {
  color: rgba(36, 36, 36, 0.6);
}

.showcase--light .showcase__tab:hover,
.showcase--light .showcase__tab[aria-current="true"] {
  color: #242424;
}

.showcase--light .showcase__seg {
  background: rgba(36, 36, 36, 0.28);
}

.showcase--light .showcase__tab.is-done .showcase__seg {
  background: rgba(36, 36, 36, 0.85);
}

.showcase--light .showcase__tab[aria-current="true"] .showcase__seg {
  background: rgba(36, 36, 36, 0.18);
}

.showcase--light .showcase__seg-fill {
  background: #242424;
}

.showcase--light .showcase__tab:focus-visible {
  outline-color: #242424;
}

/* DSM Talent's marquee strip scrolls like dsmtalent.com's, only while that brand
   is on screen in the pinned stage. The text holds 32 identical units, so moving
   it by half its width loops without a seam. */
@keyframes talent-marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

.slide__strip-text {
  display: inline-block;
  animation: talent-marquee 60s linear infinite;
  animation-play-state: paused;
}

.showcase--pinned .slide--talent.is-active .slide__strip-text {
  animation-play-state: running;
}

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

/* Short viewports (landscape phones) stay unpinned: panels scroll normally */
@media (max-height: 599px) {
  .slide {
    position: relative;
    top: auto;
  }

  .showcase__nav {
    display: none;
  }
}

/* Browser chrome from the palette (WebKit/Blink root scroller) */
::-webkit-scrollbar {
  width: 12px;
  height: 12px;
}

::-webkit-scrollbar-track {
  background: var(--dsm-bg);
}

::-webkit-scrollbar-thumb {
  background: var(--dsm-line-strong);
  border: 3px solid var(--dsm-bg);
  border-radius: 999px;
}
