/* ===== TOKENS ===== */
:root {
  --color-primary: #000000;
  --color-accent: #1d98fd;
  --color-accent-pressed: #0087f6;
  --color-bg: #08080d;
  --color-bg-elevated: #11111a;
  --color-bg-card: #14141f;
  --color-border: #1f1f2d;
  --color-text: #FFFFFF;
  --color-text-muted: #c1c1c1;
  --color-gradient-light: #c8ff04;
  --color-gradient-mid: #dd1c26;
  --color-rg-banner: #dc2626;

  --font-display: "Saira Semi Condensed", "Oswald", "Barlow Condensed", system-ui, sans-serif;
  --font-body: "Saira Semi Condensed", "Oswald", "Barlow Condensed", system-ui, sans-serif;

  /* TYPO-08 */
  --fs-base: 17px;
  --fs-sm: 14px;
  --fs-xs: 12.5px;
  --fs-md: 18px;
  --fs-lg: 21px;
  --fs-xl: 28px;
  --fs-2xl: 36px;
  --fs-3xl: 48px;
  --fs-4xl: 64px;
  --fs-5xl: 84px;
  --lh-base: 1.62;
  --lh-tight: 1.18;
  --lh-display: 1.05;
  --ls-display: -0.01em;
  --ls-eyebrow: 0.18em;

  /* SPACE-01 — geometric scale */
  --space-2xs: 4px;
  --space-xs: 8px;
  --space-sm: 16px;
  --space-md: 24px;
  --space-lg: 40px;
  --space-xl: 64px;
  --space-2xl: 96px;
  --space-3xl: 128px;

  /* CONT-03 */
  --container-site: 1200px;
  --container-readable: 720px;
  --container-padding-desktop: 32px;
  --container-padding-mobile: 18px;

  /* GEO-10 — sharp / faceted */
  --radius-xs: 2px;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 14px;
  --radius-pill: 999px;

  /* MOTION-01 — fast restrained */
  --motion-fast: 140ms;
  --motion-mid: 220ms;
  --motion-easing: cubic-bezier(.2,.65,.3,1);

  --header-height-desktop: 100px;
  --header-height-mobile: 72px;
  --rg-banner-height: 30px;

  --shadow-card: 0 18px 38px rgba(0,0,0,.35);
  --shadow-pop:  0 24px 60px rgba(0,0,0,.55);
}

/* ===== RESET + BASE ===== */
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; overflow-x: clip; }
html { scroll-behavior: smooth; }
body {
  background: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-body);
  font-size: var(--fs-base);
  line-height: var(--lh-base);
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  padding-top: calc(var(--header-height-desktop) + var(--rg-banner-height));
}
@media (max-width: 720px) {
  body { padding-top: calc(var(--header-height-mobile) + var(--rg-banner-height)); }
}
img, picture, video { max-width: 100%; height: auto; display: block; }
button { font: inherit; cursor: pointer; }
a { color: var(--color-accent); text-decoration: none; transition: color var(--motion-fast) var(--motion-easing); }
a:hover { color: var(--color-accent-pressed); }
h1, h2, h3, h4, h5 {
  font-family: var(--font-display);
  font-weight: 700;
  line-height: var(--lh-display);
  letter-spacing: var(--ls-display);
  margin: 0 0 var(--space-md);
  color: var(--color-text);
}
h1 { font-size: clamp(36px, 5vw, var(--fs-4xl)); }
h2 { font-size: clamp(28px, 3.6vw, var(--fs-2xl)); }
h3 { font-size: clamp(20px, 2vw, var(--fs-xl)); }
p { margin: 0 0 var(--space-md); color: var(--color-text-muted); }
ul, ol { padding-left: 22px; margin: 0 0 var(--space-md); color: var(--color-text-muted); }
li { margin-bottom: var(--space-2xs); }
strong { color: var(--color-text); font-weight: 700; }
em { color: var(--color-text); font-style: italic; }
::selection { background: var(--color-accent); color: #000; }

/* ===== A11Y ===== */
.skip-link {
  position: absolute;
  left: 12px;
  top: -200px !important;
  background: var(--color-accent);
  color: #000;
  padding: 10px 16px;
  border-radius: var(--radius-md);
  z-index: 10000;
  font-weight: 700;
}
.skip-link:focus { top: 12px !important; }
.sr-only {
  position: absolute !important;
  width: 1px; height: 1px; overflow: hidden;
  clip: rect(1px,1px,1px,1px); white-space: nowrap;
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    transition-duration: 0.001ms !important;
  }
  html { scroll-behavior: auto; }
}

/* ===== RG BANNER (fixed) ===== */
.rg-banner {
  position: fixed; top: 0; left: 0; right: 0;
  z-index: 101;
  min-height: var(--rg-banner-height);
  background: var(--color-rg-banner);
  color: #fff;
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: .03em;
  display: flex; align-items: center; justify-content: center;
  padding: 4px 16px;
  text-align: center;
}

/* ===== HEAD-13 HEADER ===== */
.districtTrack {
  position: fixed;
  top: var(--rg-banner-height);
  left: 0; right: 0;
  z-index: 100;
  background: linear-gradient(180deg, rgba(8,8,13,.96), rgba(8,8,13,.86));
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--color-border);
}
.districtTrack-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding-inline: var(--container-padding-desktop);
  height: var(--header-height-desktop);
  display: flex; align-items: center; gap: var(--space-lg);
}
.districtTrack-logo {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}
.districtTrack-logo-pill {
  display: inline-flex; align-items: center;
  background: #fff;
  padding: 8px 16px;
  border-radius: var(--radius-md);
  flex-shrink: 0;
}
.districtTrack-logo-img {
  height: 88px;
  width: auto;
  display: block;
  flex-shrink: 0;
}
.districtTrack-nav {
  flex: 1 1 auto;
  display: flex;
  justify-content: center;
}
.districtTrack-nav-list {
  display: flex;
  flex-wrap: nowrap;
  list-style: none;
  margin: 0; padding: 0;
  gap: var(--space-md);
}
.districtTrack-nav-link {
  display: inline-block;
  padding: 10px 14px;
  color: var(--color-text);
  font-family: var(--font-display);
  font-size: var(--fs-md);
  font-weight: 600;
  letter-spacing: .05em;
  text-transform: uppercase;
  border-radius: var(--radius-sm);
  position: relative;
  transition: color var(--motion-fast) var(--motion-easing);
}
.districtTrack-nav-link::after {
  content: "";
  position: absolute;
  left: 14px; right: 14px; bottom: 4px;
  height: 2px;
  background: var(--color-accent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--motion-mid) var(--motion-easing);
}
.districtTrack-nav-link:hover,
.districtTrack-nav-link[aria-current="page"] { color: var(--color-accent); }
.districtTrack-nav-link:hover::after,
.districtTrack-nav-link[aria-current="page"]::after { transform: scaleX(1); }
.districtTrack-actions {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  flex-shrink: 0;
}
.districtTrack-auth-btn {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  flex-shrink: 0;
  padding: 10px var(--space-lg);
  border-radius: var(--radius-sm);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--fs-sm);
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background var(--motion-fast) var(--motion-easing),
              color var(--motion-fast) var(--motion-easing),
              border-color var(--motion-fast) var(--motion-easing);
}
.districtTrack-auth-btn--login {
  border: 1px solid var(--color-border);
  color: var(--color-text);
  background: transparent;
}
.districtTrack-auth-btn--login:hover {
  border-color: var(--color-accent);
  color: var(--color-accent);
  background: transparent;
}
.districtTrack-auth-btn--register {
  background: var(--color-accent);
  color: #000;
}
.districtTrack-auth-btn--register:hover {
  background: var(--color-accent-pressed);
  color: #000;
}
.districtTrack-toggle {
  display: none;
  margin-left: auto !important;
  width: 46px; height: 46px;
  border: 1px solid var(--color-border);
  background: transparent;
  border-radius: var(--radius-sm);
  color: var(--color-text);
  align-items: center; justify-content: center;
  flex-direction: column;
  gap: 5px;
}
.districtTrack-toggle span {
  display: block; width: 22px; height: 2px;
  background: var(--color-text); border-radius: 2px;
}
.districtTrack-mobile {
  display: none;
  position: absolute;
  top: 100%;
  left: 0; right: 0;
  background: var(--color-bg-elevated);
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
  padding: var(--space-md);
}
.districtTrack-mobile.is-open { display: block; }
.districtTrack-mobile-list {
  list-style: none;
  margin: 0; padding: 0;
  display: grid;
  gap: 4px;
}
.districtTrack-mobile-link {
  display: block;
  padding: 14px;
  color: var(--color-text);
  font-family: var(--font-display);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
  border-radius: var(--radius-sm);
}
.districtTrack-mobile-link:hover,
.districtTrack-mobile-link[aria-current="page"] {
  background: var(--color-bg-card);
  color: var(--color-accent);
}
.districtTrack-mobile-actions {
  margin-top: var(--space-md);
  display: grid; gap: var(--space-xs);
}
@media (max-width: 1024px) {
  .districtTrack-nav, .districtTrack-actions { display: none; }
  .districtTrack-toggle { display: inline-flex; }
  .districtTrack-inner { padding-inline: var(--container-padding-mobile); height: var(--header-height-mobile); }
  .districtTrack-logo-img { height: 60px; }
  .districtTrack-logo-pill { padding: 5px 10px; }
}

/* ===== HERO-10 (full-viewport flex-centered) ===== */
.stallBunch {
  display: flex; align-items: center;
  min-height: 100vh;
  position: relative;
  background: var(--color-bg);
  overflow: hidden;
}
.stallBunch::before {
  content: "";
  position: absolute; inset: 0;
  background:
    radial-gradient(circle at 18% 28%, rgba(29,152,253,.22), transparent 55%),
    radial-gradient(circle at 82% 80%, rgba(200,255,4,.10), transparent 55%),
    linear-gradient(135deg, rgba(8,8,13,.6), rgba(8,8,13,.94));
  z-index: 1;
}
.stallBunch-bg {
  position: absolute; inset: 0; z-index: 0;
}
.stallBunch-bg img {
  width: 100%; height: 100%; object-fit: cover;
  opacity: .55;
}
.stallBunch-inner {
  position: relative; z-index: 2;
  width: 100%;
  max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
  margin: 0 auto;
  padding: var(--space-3xl) var(--container-padding-desktop);
  display: grid; grid-template-columns: 1fr;
  gap: var(--space-lg);
  text-align: left;
}
.stallBunch-eyebrow {
  display: inline-block;
  width: max-content;
  font-size: var(--fs-xs);
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  padding: 8px 16px;
  border: 1px solid var(--color-accent);
  color: var(--color-accent);
  border-radius: var(--radius-pill);
}
.stallBunch-title {
  font-size: clamp(40px, 6vw, var(--fs-5xl));
  line-height: 1.02;
  max-width: 980px;
  background: linear-gradient(135deg, #fff 30%, var(--color-accent) 75%, var(--color-gradient-light));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.stallBunch-subtitle {
  font-size: clamp(17px, 1.7vw, var(--fs-lg));
  color: var(--color-text-muted);
  max-width: 780px;
  line-height: 1.55;
}
.stallBunch-actions {
  display: flex; gap: var(--space-sm); flex-wrap: wrap;
  margin-top: var(--space-sm);
}
.stallBunch-btn {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 18px 36px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--fs-md);
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: var(--radius-sm);
  transition: background var(--motion-fast) var(--motion-easing),
              color var(--motion-fast) var(--motion-easing),
              transform var(--motion-fast) var(--motion-easing);
}
.stallBunch-btn--primary {
  background: var(--color-accent);
  color: #000;
}
.stallBunch-btn--primary:hover {
  background: var(--color-accent-pressed);
  color: #000;
  transform: translateY(-2px);
}
.stallBunch-btn--ghost {
  border: 1px solid rgba(255,255,255,.25);
  color: var(--color-text);
  background: transparent;
}
.stallBunch-btn--ghost:hover {
  border-color: var(--color-accent);
  color: var(--color-accent);
  background: transparent;
}
.stallBunch-meta {
  display: flex; flex-wrap: wrap; gap: var(--space-md);
  margin-top: var(--space-md);
  font-size: var(--fs-sm);
  color: var(--color-text-muted);
}
.stallBunch-meta-item { display: inline-flex; align-items: center; gap: 8px; }
.stallBunch-meta-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--color-gradient-light);
}

/* ===== PHEAD-01 (page header) ===== */
.unitSpan {
  padding: calc(var(--space-2xl) + var(--space-md)) 0 var(--space-xl);
  background: linear-gradient(180deg, var(--color-bg-elevated), var(--color-bg));
  border-bottom: 1px solid var(--color-border);
}
.unitSpan-inner {
  max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
  margin: 0 auto;
  padding-inline: var(--container-padding-desktop);
}
.unitSpan-eyebrow {
  display: inline-block;
  font-size: var(--fs-xs);
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  color: var(--color-accent);
  margin-bottom: var(--space-sm);
}
.unitSpan-title {
  font-size: clamp(36px, 4.5vw, var(--fs-3xl));
  max-width: 980px;
}
.unitSpan-intro {
  font-size: var(--fs-lg);
  color: var(--color-text-muted);
  max-width: 820px;
  margin-top: var(--space-sm);
}

/* ===== PROSE-04 (long-form content) ===== */
.componentRail {
  padding: var(--space-2xl) 0;
}
.componentRail-inner {
  max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
  margin: 0 auto;
  padding-inline: var(--container-padding-desktop);
}
.componentRail-content h2 {
  font-size: clamp(26px, 3vw, 34px);
  margin-top: var(--space-xl);
  padding-top: var(--space-md);
  border-top: 2px solid var(--color-border);
  position: relative;
}
.componentRail-content h2::before {
  content: "";
  position: absolute;
  top: -2px; left: 0;
  width: 60px; height: 2px;
  background: var(--color-accent);
}
.componentRail-content h2:first-child { border-top: none; padding-top: 0; }
.componentRail-content h2:first-child::before { display: none; }
.componentRail-content p { font-size: var(--fs-md); }
.componentRail-content ul, .componentRail-content ol { font-size: var(--fs-md); }
.componentRail-content a { color: var(--color-accent); border-bottom: 1px dotted var(--color-accent); }
.componentRail-content a:hover { color: var(--color-accent-pressed); border-bottom-color: var(--color-accent-pressed); }

/* ===== GRID-12 (items grid) ===== */
.boxBody {
  padding: var(--space-2xl) 0;
  background: var(--color-bg);
}
.boxBody-inner {
  max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
  margin: 0 auto;
  padding-inline: var(--container-padding-desktop);
}
.boxBody-head { margin-bottom: var(--space-xl); }
.boxBody-eyebrow {
  display: inline-block;
  font-size: var(--fs-xs);
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  color: var(--color-accent);
  margin-bottom: var(--space-xs);
}
.boxBody-title { max-width: 780px; }
.boxBody-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-md);
}
.boxBody-card {
  background: var(--color-bg-card);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-lg);
  position: relative;
  transition: transform var(--motion-mid) var(--motion-easing),
              border-color var(--motion-mid) var(--motion-easing);
  overflow: hidden;
}
.boxBody-card::before {
  content: "";
  position: absolute; top: 0; left: 0;
  width: 40px; height: 4px;
  background: linear-gradient(90deg, var(--color-accent), var(--color-gradient-light));
}
.boxBody-card:hover {
  transform: translateY(-4px);
  border-color: var(--color-accent);
}
.boxBody-card-num {
  display: inline-block;
  font-family: var(--font-display);
  font-size: var(--fs-sm);
  letter-spacing: .15em;
  color: var(--color-accent);
  margin-bottom: var(--space-sm);
}
.boxBody-card-title {
  font-size: var(--fs-lg);
  margin-bottom: var(--space-sm);
}
.boxBody-card-text {
  font-size: var(--fs-sm);
  color: var(--color-text-muted);
  margin: 0;
  line-height: 1.55;
}
@media (max-width: 980px)  { .boxBody-list { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px)  { .boxBody-list { grid-template-columns: 1fr; } }

/* ===== FAQ-06 (accordion) ===== */
.meshHeader {
  padding: var(--space-2xl) 0;
  background: var(--color-bg-elevated);
}
.meshHeader-inner {
  max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
  margin: 0 auto;
  padding-inline: var(--container-padding-desktop);
}
.meshHeader-head { margin-bottom: var(--space-xl); text-align: center; }
.meshHeader-eyebrow {
  display: inline-block;
  font-size: var(--fs-xs);
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  color: var(--color-accent);
  margin-bottom: var(--space-xs);
}
.meshHeader-list { list-style: none; margin: 0; padding: 0; }
.meshHeader-item {
  border-top: 1px solid var(--color-border);
}
.meshHeader-item:last-child { border-bottom: 1px solid var(--color-border); }
.meshHeader-trigger {
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-md);
  width: 100%;
  padding: var(--space-md) 0;
  background: transparent;
  border: none;
  color: var(--color-text);
  font-family: var(--font-display);
  font-size: var(--fs-md);
  font-weight: 600;
  text-align: left;
  cursor: pointer;
  transition: color var(--motion-fast) var(--motion-easing);
}
.meshHeader-trigger:hover { color: var(--color-accent); }
.meshHeader-icon {
  flex-shrink: 0;
  width: 28px; height: 28px;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  position: relative;
  transition: background var(--motion-fast) var(--motion-easing),
              border-color var(--motion-fast) var(--motion-easing);
}
.meshHeader-icon::before,
.meshHeader-icon::after {
  content: "";
  position: absolute;
  background: currentColor;
}
.meshHeader-icon::before { width: 12px; height: 2px; }
.meshHeader-icon::after { width: 2px; height: 12px; transition: transform var(--motion-fast) var(--motion-easing); }
.meshHeader-trigger[aria-expanded="true"] .meshHeader-icon {
  background: var(--color-accent);
  border-color: var(--color-accent);
  color: #000;
}
.meshHeader-trigger[aria-expanded="true"] .meshHeader-icon::after { transform: scaleY(0); }
.meshHeader-panel {
  overflow: hidden;
  max-height: 0;
  transition: max-height var(--motion-mid) var(--motion-easing);
}
.meshHeader-panel[hidden] { display: block; max-height: 0; }
.meshHeader-trigger[aria-expanded="true"] + .meshHeader-panel { max-height: 800px; }
.meshHeader-answer {
  padding: 0 0 var(--space-md);
  color: var(--color-text-muted);
  margin: 0;
  font-size: var(--fs-md);
}

/* ===== REV-08 (reviews) ===== */
.meshZone {
  padding: var(--space-2xl) 0;
  background: var(--color-bg);
}
.meshZone-inner {
  max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
  margin: 0 auto;
  padding-inline: var(--container-padding-desktop);
}
.meshZone-head { margin-bottom: var(--space-xl); }
.meshZone-eyebrow {
  display: inline-block;
  font-size: var(--fs-xs);
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  color: var(--color-accent);
  margin-bottom: var(--space-xs);
}
.meshZone-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-md);
}
.meshZone-card {
  background: var(--color-bg-card);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-lg);
  display: grid;
  gap: var(--space-sm);
}
.meshZone-stars { color: var(--color-gradient-light); letter-spacing: 4px; font-size: 18px; }
.meshZone-quote {
  font-style: italic;
  font-size: var(--fs-md);
  color: var(--color-text);
  margin: 0;
  line-height: 1.55;
}
.meshZone-cite {
  font-size: var(--fs-sm);
  color: var(--color-text-muted);
  font-style: normal;
}
@media (max-width: 720px) { .meshZone-grid { grid-template-columns: 1fr; } }

/* ===== CTA-08 ===== */
.modulePanel {
  padding: var(--space-2xl) 0;
  background: var(--color-bg);
}
.modulePanel-inner {
  max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
  margin: 0 auto;
  padding-inline: var(--container-padding-desktop);
}
.modulePanel-frame {
  background: linear-gradient(135deg, rgba(29,152,253,.20), rgba(200,255,4,.10) 60%, rgba(221,28,38,.16));
  border: 1px solid var(--color-accent);
  border-radius: var(--radius-lg);
  padding: var(--space-2xl);
  text-align: center;
  position: relative;
  overflow: hidden;
}
.modulePanel-frame::before {
  content: "";
  position: absolute; inset: 0;
  background: radial-gradient(circle at 30% 30%, rgba(29,152,253,.25), transparent 60%);
  pointer-events: none;
}
.modulePanel-eyebrow {
  display: inline-block;
  font-size: var(--fs-xs);
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  color: var(--color-accent);
  position: relative; z-index: 1;
  margin-bottom: var(--space-sm);
}
.modulePanel-title { position: relative; z-index: 1; max-width: 760px; margin: 0 auto var(--space-md); }
.modulePanel-text {
  position: relative; z-index: 1;
  max-width: 720px;
  margin: 0 auto var(--space-lg);
  color: var(--color-text-muted);
  font-size: var(--fs-md);
}
.modulePanel-btn {
  position: relative; z-index: 1;
  display: inline-block;
  padding: 18px 40px;
  background: var(--color-gradient-light);
  color: #000;
  border-radius: var(--radius-sm);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--fs-md);
  letter-spacing: .1em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background var(--motion-fast) var(--motion-easing),
              color var(--motion-fast) var(--motion-easing),
              transform var(--motion-fast) var(--motion-easing);
}
.modulePanel-btn:hover {
  background: var(--color-accent);
  color: #000;
  transform: translateY(-2px);
}

/* ===== INLINE CTA-06 ===== */
.huskSpan {
  padding: var(--space-xl) 0;
}
.huskSpan-inner {
  max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
  margin: 0 auto;
  padding-inline: var(--container-padding-desktop);
}
.huskSpan-frame {
  display: grid; grid-template-columns: 1fr auto; align-items: center; gap: var(--space-lg);
  background: var(--color-bg-card);
  border-left: 4px solid var(--color-accent);
  padding: var(--space-lg);
  border-radius: var(--radius-md);
}
.huskSpan-text {
  font-family: var(--font-display);
  font-size: var(--fs-lg);
  color: var(--color-text);
  font-weight: 600;
}
.huskSpan-btn {
  display: inline-block;
  padding: 14px 32px;
  background: var(--color-accent);
  color: #000;
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  border-radius: var(--radius-sm);
  text-decoration: none;
  white-space: nowrap;
  transition: background var(--motion-fast) var(--motion-easing),
              color var(--motion-fast) var(--motion-easing);
}
.huskSpan-btn:hover {
  background: var(--color-accent-pressed);
  color: #000;
}
@media (max-width: 720px) {
  .huskSpan-frame { grid-template-columns: 1fr; text-align: center; }
}

/* ===== AUTH-05 (author card) ===== */
.nodeTile {
  padding: var(--space-2xl) 0;
}
.nodeTile-inner {
  max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
  margin: 0 auto;
  padding-inline: var(--container-padding-desktop);
}
.nodeTile-card {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: var(--space-xl);
  background: var(--color-bg-card);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-xl);
  align-items: start;
}
.nodeTile-portrait {
  width: 220px; height: 220px;
  object-fit: cover;
  border-radius: var(--radius-lg);
  border: 2px solid var(--color-accent);
}
.nodeTile-name { margin-bottom: var(--space-xs); }
.nodeTile-role {
  color: var(--color-accent);
  font-family: var(--font-display);
  font-weight: 600;
  font-size: var(--fs-md);
  letter-spacing: .05em;
  text-transform: uppercase;
  margin-bottom: var(--space-md);
}
.nodeTile-bio { color: var(--color-text-muted); font-size: var(--fs-md); }
.nodeTile-expertise { margin-top: var(--space-md); }
.nodeTile-expertise-title {
  font-family: var(--font-display);
  font-size: var(--fs-xs);
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  color: var(--color-text);
  margin-bottom: var(--space-xs);
}
.nodeTile-tags {
  display: flex; flex-wrap: wrap; gap: 8px;
  list-style: none;
  margin: 0; padding: 0;
}
.nodeTile-tag {
  display: inline-block;
  padding: 6px 14px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-pill);
  font-size: var(--fs-sm);
  color: var(--color-text);
  margin: 0;
}
@media (max-width: 720px) {
  .nodeTile-card { grid-template-columns: 1fr; text-align: center; }
  .nodeTile-portrait { margin: 0 auto; width: 160px; height: 160px; }
  .nodeTile-tags { justify-content: center; }
}

/* ===== BYLINE-04 ===== */
.beamPanel {
  padding: var(--space-xl) 0;
}
.beamPanel-inner {
  max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
  margin: 0 auto;
  padding-inline: var(--container-padding-desktop);
}
.beamPanel-card {
  display: flex; align-items: center; gap: var(--space-md);
  background: var(--color-bg-card);
  border: 1px solid var(--color-border);
  border-left: 4px solid var(--color-accent);
  padding: var(--space-md) var(--space-lg);
  border-radius: var(--radius-md);
}
.beamPanel-portrait {
  width: 72px; height: 72px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 2px solid var(--color-accent);
}
.beamPanel-meta { display: grid; gap: 2px; }
.beamPanel-label {
  font-size: var(--fs-xs);
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  color: var(--color-text-muted);
}
.beamPanel-name {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--fs-md);
}
.beamPanel-name a { color: var(--color-text); }
.beamPanel-name a:hover { color: var(--color-accent); }
.beamPanel-role {
  font-size: var(--fs-sm);
  color: var(--color-text-muted);
}

/* ===== LEGAL-05 ===== */
.spikeRail {
  padding: var(--space-2xl) 0;
}
.spikeRail-inner {
  max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
  margin: 0 auto;
  padding-inline: var(--container-padding-desktop);
}
.spikeRail-section { margin-bottom: var(--space-xl); }
.spikeRail-section-title {
  font-size: var(--fs-xl);
  border-left: 4px solid var(--color-accent);
  padding-left: var(--space-md);
  margin-bottom: var(--space-md);
}
.spikeRail-section p { font-size: var(--fs-md); }
.spikeRail-contacts {
  background: var(--color-bg-card);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: var(--space-lg);
  margin-top: var(--space-xl);
}
.spikeRail-contacts-title {
  font-family: var(--font-display);
  font-size: var(--fs-md);
  text-transform: uppercase;
  letter-spacing: .1em;
  margin-bottom: var(--space-sm);
  color: var(--color-text);
}
.spikeRail-contacts ul { padding-left: 22px; margin: 0; }
.spikeRail-disclaimer {
  margin-top: var(--space-lg);
  padding: var(--space-md);
  border: 1px dashed var(--color-border);
  border-radius: var(--radius-md);
  font-size: var(--fs-sm);
  color: var(--color-text-muted);
  font-style: italic;
}

/* ===== FORM-02 (contact form) ===== */
.sectionContainer {
  padding: var(--space-2xl) 0;
}
.sectionContainer-inner {
  max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
  margin: 0 auto;
  padding-inline: var(--container-padding-desktop);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-xl);
}
.sectionContainer-intro p { font-size: var(--fs-md); }
.sectionContainer-channels { list-style: none; padding: 0; margin: var(--space-md) 0 0; }
.sectionContainer-channels li {
  padding: 10px 0;
  border-top: 1px solid var(--color-border);
  font-size: var(--fs-sm);
}
.sectionContainer-channels li:last-child { border-bottom: 1px solid var(--color-border); }
.sectionContainer-form {
  background: var(--color-bg-card);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-lg);
}
.sectionContainer-row { margin-bottom: var(--space-md); }
.sectionContainer-row label {
  display: block;
  font-family: var(--font-display);
  font-size: var(--fs-xs);
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  color: var(--color-text);
  margin-bottom: 8px;
}
.sectionContainer-row input,
.sectionContainer-row textarea {
  width: 100%;
  padding: 14px 16px;
  background: var(--color-bg);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  color: var(--color-text);
  font-family: var(--font-body);
  font-size: var(--fs-md);
  transition: border-color var(--motion-fast) var(--motion-easing);
}
.sectionContainer-row input:focus,
.sectionContainer-row textarea:focus {
  outline: none;
  border-color: var(--color-accent);
}
.sectionContainer-row textarea { min-height: 160px; resize: vertical; }
.sectionContainer-submit {
  width: 100%;
  padding: 16px;
  background: var(--color-accent);
  color: #000;
  border: none;
  border-radius: var(--radius-sm);
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  font-size: var(--fs-md);
  transition: background var(--motion-fast) var(--motion-easing),
              color var(--motion-fast) var(--motion-easing);
}
.sectionContainer-submit:hover {
  background: var(--color-accent-pressed);
  color: #000;
}
.sectionContainer-success {
  display: none;
  padding: var(--space-md);
  background: rgba(200,255,4,.10);
  border: 1px solid var(--color-gradient-light);
  border-radius: var(--radius-md);
  color: var(--color-text);
  margin-bottom: var(--space-md);
}
.sectionContainer-success.is-visible { display: block; }
@media (max-width: 860px) { .sectionContainer-inner { grid-template-columns: 1fr; } }

/* ===== COOK-07 (cookie banner) ===== */
.annexPanel {
  position: fixed;
  bottom: 24px; left: 24px; right: 24px;
  z-index: 200;
  background: var(--color-bg-elevated);
  border: 1px solid var(--color-accent);
  border-radius: var(--radius-lg);
  padding: var(--space-lg);
  box-shadow: var(--shadow-pop);
  display: none;
  max-width: 720px;
  margin-left: auto;
}
.annexPanel.is-visible { display: block; }
.annexPanel-inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-md);
}
.annexPanel-title {
  font-family: var(--font-display);
  font-size: var(--fs-md);
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--color-accent);
  margin: 0;
}
.annexPanel-text { margin: 0; font-size: var(--fs-sm); color: var(--color-text-muted); }
.annexPanel-actions { display: flex; gap: var(--space-xs); }
.annexPanel-button {
  flex: 1;
  padding: 12px 18px;
  border-radius: var(--radius-sm);
  border: none;
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: var(--fs-sm);
  transition: background var(--motion-fast) var(--motion-easing),
              color var(--motion-fast) var(--motion-easing);
}
.annexPanel-button--accept { background: var(--color-accent); color: #000; }
.annexPanel-button--accept:hover { background: var(--color-accent-pressed); color: #000; }
.annexPanel-button--decline {
  background: transparent;
  border: 1px solid var(--color-border);
  color: var(--color-text);
}
.annexPanel-button--decline:hover {
  border-color: var(--color-accent);
  color: var(--color-accent);
  background: transparent;
}
@media (max-width: 720px) {
  .annexPanel, .annexPanel-inner {
    padding: 12px 14px !important;
    gap: 8px !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
  }
  .annexPanel-title { display: none !important; }
  .annexPanel-button {
    padding: 8px 14px !important;
    font-size: 12px !important;
    min-height: 36px !important;
  }
  .annexPanel { left: 12px; right: 12px; bottom: 12px; }
}

/* ===== ERR-05 ===== */
.cabinBlock {
  min-height: 70vh;
  display: flex; align-items: center; justify-content: center;
  padding: var(--space-2xl) 0;
}
.cabinBlock-inner {
  max-width: 640px;
  text-align: center;
  padding: 0 var(--container-padding-desktop);
}
.cabinBlock-code {
  font-family: var(--font-display);
  font-size: clamp(96px, 16vw, 220px);
  line-height: 1;
  background: linear-gradient(135deg, var(--color-accent), var(--color-gradient-light));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  margin-bottom: var(--space-md);
}
.cabinBlock-title { margin-bottom: var(--space-md); }
.cabinBlock-text {
  color: var(--color-text-muted);
  font-size: var(--fs-md);
  margin-bottom: var(--space-lg);
}
.cabinBlock-btn {
  display: inline-block;
  padding: 16px 36px;
  background: var(--color-accent);
  color: #000;
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  border-radius: var(--radius-sm);
  text-decoration: none;
  transition: background var(--motion-fast) var(--motion-easing),
              color var(--motion-fast) var(--motion-easing);
}
.cabinBlock-btn:hover { background: var(--color-accent-pressed); color: #000; }

/* ===== FOOT-01 (3 columns: brand+about | nav | legal) ===== */
.hubModule {
  background: #050509;
  border-top: 1px solid var(--color-border);
  padding: var(--space-2xl) 0 var(--space-lg);
  margin-top: var(--space-2xl);
}
.hubModule-inner {
  max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
  margin: 0 auto;
  padding-inline: var(--container-padding-desktop);
}
.hubModule-cols {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr;
  gap: var(--space-xl);
  padding-bottom: var(--space-xl);
  border-bottom: 1px solid var(--color-border);
}
.hubModule-brand-logo {
  display: inline-flex; align-items: center;
  background: #fff;
  padding: 6px 14px;
  border-radius: var(--radius-md);
  margin-bottom: var(--space-md);
}
.hubModule-brand-logo img { height: 56px; width: auto; }
.hubModule-brand-text { color: var(--color-text-muted); font-size: var(--fs-sm); max-width: 380px; }
.hubModule-col-title {
  font-family: var(--font-display);
  font-size: var(--fs-xs);
  text-transform: uppercase;
  letter-spacing: var(--ls-eyebrow);
  color: var(--color-accent);
  margin-bottom: var(--space-md);
}
.hubModule-list { list-style: none; padding: 0; margin: 0; }
.hubModule-list li { margin-bottom: 10px; }
.hubModule-list a {
  color: var(--color-text-muted);
  font-size: var(--fs-sm);
  transition: color var(--motion-fast) var(--motion-easing);
}
.hubModule-list a:hover { color: var(--color-accent); }
.hubModule-bottom {
  padding-top: var(--space-md);
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: var(--space-md);
}
.hubModule-copy {
  font-size: var(--fs-xs);
  color: var(--color-text-muted);
}
.hubModule-badges {
  display: flex; align-items: center; gap: var(--space-md);
  font-size: var(--fs-xs);
  color: var(--color-text-muted);
}
.hubModule-badge {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 4px 12px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-pill);
}
.hubModule-badge--18 { color: var(--color-rg-banner); border-color: var(--color-rg-banner); font-weight: 700; }
@media (max-width: 900px) {
  .hubModule-cols { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .hubModule-cols { grid-template-columns: 1fr; }
}
