/* Frumzi-FR display-28.css
   TYPO-10 / SPACE-10 / CONT-06 (1180px) / BP-09 / GEO-02 / MOTION-03 / NAME-04
   HEAD-05 minimal side logo + drawer / STICKY-01 fixed-top / COOK-05 top strip */

:root {
  /* Colors */
  --color-primary: #0a156a;
  --color-accent: #21cda7;
  --color-bg: #0a133d;
  --color-accent-pressed: #19a184;
  --color-gradient-light: #ffffff;
  --color-gradient-mid: #2b6bfe;
  --color-text: #ffffff;
  --color-text-muted: #c0c0c0;
  --color-border: rgba(255, 255, 255, 0.12);
  --color-surface: #0e1c5a;
  --color-surface-2: #14256f;
  --color-bg-elevated: #0f1c54;

  /* Typography TYPO-10 */
  --font-display: 'Outfit', Arial, sans-serif;
  --font-body: 'Inter', Arial, 'Helvetica Neue', sans-serif;
  --fs-micro: 10px;
  --fs-small: 13px;
  --fs-body: 16px;
  --fs-h6: 14px;
  --fs-h5: 16px;
  --fs-h4: 19px;
  --fs-h3: 24px;
  --fs-h2: 34px;
  --fs-h1: 60px;
  --fw-regular: 400;
  --fw-medium: 600;
  --fw-bold: 800;
  --lh-tight: 1.1;
  --lh-normal: 1.5;
  --lh-loose: 1.65;
  --ls-tight: -0.02em;
  --ls-normal: 0;
  --ls-wide: 0.06em;

  /* Spacing SPACE-10 (geometric x1.5) */
  --space-2xs: 4px;
  --space-xs: 7px;
  --space-sm: 11px;
  --space-md: 17px;
  --space-lg: 26px;
  --space-xl: 40px;
  --space-2xl: 60px;
  --space-3xl: 90px;

  /* Container CONT-06 */
  --container-site: 1180px;
  --container-readable: 710px;
  --container-padding-desktop: 32px;
  --container-padding-mobile: 20px;

  /* Geometry GEO-02 */
  --radius-xs: 4px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --radius-pill: 999px;
  --radius-circle: 50%;

  /* Header height */
  --header-h: 64px;

  /* Motion MOTION-03 */
  --transition-default: 0.25s cubic-bezier(0.2, 0.7, 0.2, 1);
}

/* Reset */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--fs-body);
  line-height: var(--lh-normal);
  color: var(--color-text);
  background: var(--color-bg);
  padding-top: var(--header-h);
}
img { display: block; max-width: 100%; height: auto; }
button { font-family: inherit; cursor: pointer; }
h1, h2, h3, h4, h5, h6 { font-family: var(--font-display); font-weight: var(--fw-bold); line-height: var(--lh-tight); margin: 0; }
p { margin: 0; }
ul, ol { margin: 0; padding: 0; list-style: none; }
a { color: var(--color-accent); text-decoration: none; transition: color var(--transition-default); }
a:hover { color: var(--color-accent-pressed); }

.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  background: var(--color-text);
  color: var(--color-bg);
  padding: var(--space-sm);
  z-index: 1000;
}
.skip-link:focus { left: 0; color: var(--color-bg); }

.main { display: block; }

/* ============ HEADER HEAD-05 + STICKY-01 ============ */
.quarterStrip {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  background: var(--color-bg);
}
.quarterStrip-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
  margin-inline: auto;
  padding-inline: var(--container-padding-desktop);
  height: var(--header-h);
}
.quarterStrip-logo {
  display: inline-flex;
  align-items: center;
  color: var(--color-text);
}
.quarterStrip-logo:hover { color: var(--color-text); }
.quarterStrip-logo img { height: 64px; width: auto; }
.quarterStrip-menubtn {
  display: inline-flex;
  align-items: center;
  padding: var(--space-xs) var(--space-md);
  background: transparent;
  color: var(--color-text);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-pill);
  font-family: var(--font-body);
  font-size: var(--fs-small);
  font-weight: var(--fw-medium);
  letter-spacing: var(--ls-wide);
  text-transform: uppercase;
  transition: color var(--transition-default), background var(--transition-default), border-color var(--transition-default);
}
.quarterStrip-menubtn:hover {
  color: var(--color-accent);
  background: transparent;
  border-color: var(--color-accent);
}

/* Drawer / full-screen dialog (sibling — A-15 safe) */
.quarterStrip-dialog {
  position: fixed;
  inset: 0;
  background: var(--color-primary);
  color: var(--color-text);
  z-index: 200;
  display: none;
  overflow-y: auto;
}
.quarterStrip-dialog.is-open {
  display: block;
}
.quarterStrip-dialog-inner {
  display: flex;
  flex-direction: column;
  padding: var(--space-xl) var(--space-lg);
  gap: var(--space-lg);
  max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
  margin-inline: auto;
}
.quarterStrip-close {
  align-self: flex-end;
  background: transparent;
  border: 0;
  color: var(--color-text);
  font-size: 36px;
  line-height: 1;
  padding: var(--space-xs);
}
.quarterStrip-close:hover { color: var(--color-accent); }
.quarterStrip-nav { display: block; }
.quarterStrip-nav-list {
  display: flex;
  flex-direction: column;
  text-align: center;
}
.quarterStrip-nav-item { display: block; }
.quarterStrip-nav-link {
  display: block;
  padding: var(--space-md);
  color: var(--color-text);
  font-family: var(--font-display);
  font-size: var(--fs-h3);
  font-weight: var(--fw-medium);
  white-space: nowrap;
}
.quarterStrip-nav-link:hover { color: var(--color-accent); }
body[data-current='/'] .quarterStrip-nav-link[data-nav='/'],
body[data-current='/bonus-code/'] .quarterStrip-nav-link[data-nav='/bonus-code/'],
body[data-current='/app/'] .quarterStrip-nav-link[data-nav='/app/'],
body[data-current='/cashout/'] .quarterStrip-nav-link[data-nav='/cashout/'],
body[data-current='/code-promo/'] .quarterStrip-nav-link[data-nav='/code-promo/'],
body[data-current='/se-connecter/'] .quarterStrip-nav-link[data-nav='/se-connecter/'],
body[data-current='/tours-bonus/'] .quarterStrip-nav-link[data-nav='/tours-bonus/'],
body[data-current='/play/'] .quarterStrip-nav-link[data-nav='/play/'],
body[data-current='/deposit/'] .quarterStrip-nav-link[data-nav='/deposit/'],
body[data-current='/author/'] .quarterStrip-nav-link[data-nav='/author/'],
body[data-current='/contactez-nous/'] .quarterStrip-nav-link[data-nav='/contactez-nous/'] {
  color: var(--color-accent);
}

/* ============ HERO HERO-05 Bordered Plate Editorial ============ */
.regionZone {
  padding-block: var(--space-2xl);
}
.regionZone-inner {
  display: block;
  max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
  margin-inline: auto;
  padding-inline: var(--container-padding-desktop);
}
.regionZone-frame {
  position: relative;
  padding: var(--space-2xl);
  background: var(--color-bg);
  outline: 4px solid var(--color-text);
  box-shadow: 0 0 0 8px var(--color-bg), 0 0 0 9px var(--color-text);
}
.regionZone-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--space-md);
}
.regionZone-eyebrow {
  font-family: var(--font-body);
  font-size: var(--fs-small);
  font-style: italic;
  color: var(--color-accent);
  text-transform: uppercase;
  letter-spacing: var(--ls-wide);
}
.regionZone-title {
  font-size: var(--fs-h1);
  color: var(--color-text);
  max-width: 900px;
}
.regionZone-divider {
  border: 0;
  height: 2px;
  width: 80px;
  background: var(--color-accent);
  margin: 0;
}
.regionZone-subtitle {
  font-size: var(--fs-h5);
  font-family: var(--font-body);
  color: var(--color-text-muted);
  max-width: var(--container-readable);
  line-height: var(--lh-loose);
}
.regionZone-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-md) var(--space-xl);
  background: var(--color-accent);
  color: var(--color-bg);
  border-radius: var(--radius-xs);
  font-weight: var(--fw-bold);
  text-transform: uppercase;
  letter-spacing: var(--ls-wide);
  font-size: var(--fs-body);
}
.regionZone-cta:hover {
  background: var(--color-accent-pressed);
  color: var(--color-bg);
}

@media (max-width: 720px) {
  .regionZone-title { font-size: 36px; }
  .regionZone-frame { padding: var(--space-xl) var(--space-lg); }
}

/* ============ PAGE HEADER PHEAD-05 ============ */
.meshModule {
  padding-block: var(--space-xl);
  border-bottom: 1px solid var(--color-border);
}
.meshModule-inner {
  display: block;
  max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
  margin-inline: auto;
  padding-inline: var(--container-padding-desktop);
}
.meshModule-title {
  font-size: var(--fs-h1);
  color: var(--color-text);
  margin-bottom: var(--space-md);
}
.meshModule-description {
  font-size: var(--fs-h5);
  color: var(--color-text-muted);
  line-height: var(--lh-loose);
  max-width: var(--container-readable);
}
.meshModule-meta {
  margin-top: var(--space-md);
  font-size: var(--fs-small);
  color: var(--color-text-muted);
  text-transform: uppercase;
  letter-spacing: var(--ls-wide);
}

@media (max-width: 720px) {
  .meshModule-title { font-size: 36px; }
}

/* ============ INLINE CTA INLINE-CTA-05 Highlighted Quote Banner ============ */
.labelFooter {
  padding-block: var(--space-xl);
  background: var(--color-bg-elevated);
}
.labelFooter-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--space-md);
  max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
  margin-inline: auto;
  padding-inline: var(--container-padding-desktop);
}
.labelFooter-quote {
  font-family: var(--font-display);
  font-size: var(--fs-h3);
  font-style: italic;
  color: var(--color-text);
  text-align: center;
  margin: 0;
  max-width: 720px;
}
.labelFooter-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-sm) var(--space-xl);
  background: transparent;
  color: var(--color-accent);
  border: 2px solid var(--color-accent);
  border-radius: var(--radius-md);
  font-weight: var(--fw-bold);
  text-transform: uppercase;
  letter-spacing: var(--ls-wide);
  font-size: var(--fs-small);
}
.labelFooter-btn:hover {
  background: var(--color-accent);
  color: var(--color-bg);
}

/* ============ ITEMS GRID GRID-05 Wide Featured + Compact List ============ */
.knobPanel {
  padding-block: var(--space-xl);
}
.knobPanel-inner {
  display: block;
  max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
  margin-inline: auto;
  padding-inline: var(--container-padding-desktop);
}
.knobPanel-heading {
  font-size: var(--fs-h2);
  color: var(--color-text);
  margin-bottom: var(--space-lg);
}
.knobPanel-featured {
  padding: var(--space-2xl);
  background: var(--color-primary);
  border-radius: var(--radius-lg);
  margin-bottom: var(--space-xl);
}
.knobPanel-featured-title {
  font-family: var(--font-display);
  font-size: var(--fs-h2);
  font-weight: var(--fw-bold);
  line-height: var(--lh-tight);
  color: var(--color-text);
  margin-bottom: var(--space-md);
}
.knobPanel-featured-text {
  font-size: var(--fs-h5);
  line-height: var(--lh-normal);
  max-width: 720px;
  color: var(--color-text);
  opacity: 0.85;
}
.knobPanel-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-lg);
}
.knobPanel-card {
  padding: var(--space-lg);
  border-top: 2px solid var(--color-accent);
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}
.knobPanel-card-title {
  font-size: var(--fs-body);
  font-weight: var(--fw-bold);
  color: var(--color-text);
}
.knobPanel-card-text {
  font-size: var(--fs-small);
  line-height: var(--lh-normal);
  color: var(--color-text-muted);
}

@media (max-width: 720px) {
  .knobPanel-list { grid-template-columns: 1fr; }
  .knobPanel-featured { padding: var(--space-xl) var(--space-lg); }
}

/* ============ FAQ FAQ-05 Detail-Tag Native ============ */
.chipBlock {
  padding-block: var(--space-xl);
}
.chipBlock-inner {
  display: block;
  max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
  margin-inline: auto;
  padding-inline: var(--container-padding-desktop);
}
.chipBlock-heading {
  font-size: var(--fs-h2);
  color: var(--color-text);
  margin-bottom: var(--space-lg);
}
.chipBlock-list {
  display: flex;
  flex-direction: column;
}
.chipBlock-list-item {
  display: block;
  border-bottom: 1px solid var(--color-border);
}
.chipBlock-list-item:last-child { border-bottom: 0; }
.chipBlock-item {
  padding-block: var(--space-md);
}
.chipBlock-question {
  cursor: pointer;
  font-family: var(--font-display);
  font-size: var(--fs-h5);
  font-weight: var(--fw-bold);
  color: var(--color-text);
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-md);
}
.chipBlock-question::-webkit-details-marker { display: none; }
.chipBlock-question::after {
  content: '›';
  color: var(--color-accent);
  font-size: 24px;
  transition: transform var(--transition-default);
}
.chipBlock-item[open] .chipBlock-question::after { transform: rotate(90deg); }
.chipBlock-question:hover { color: var(--color-accent); }
.chipBlock-answer {
  margin-top: var(--space-sm);
  color: var(--color-text-muted);
  line-height: var(--lh-loose);
}

/* ============ REVIEWS REV-05 Vertical Timeline ============ */
.vectorFooter {
  padding-block: var(--space-xl);
}
.vectorFooter-inner {
  display: block;
  max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
  margin-inline: auto;
  padding-inline: var(--container-padding-desktop);
}
.vectorFooter-heading {
  font-size: var(--fs-h2);
  color: var(--color-text);
  margin-bottom: var(--space-lg);
}
.vectorFooter-timeline {
  border-left: 1px solid var(--color-accent);
  padding-left: var(--space-2xl);
}
.vectorFooter-item {
  position: relative;
  margin-bottom: var(--space-xl);
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.vectorFooter-item:last-child { margin-bottom: 0; }
.vectorFooter-item::before {
  content: '';
  position: absolute;
  left: calc(-1 * var(--space-2xl) - 8px);
  top: 8px;
  width: 16px;
  height: 16px;
  background: var(--color-accent);
  border-radius: var(--radius-circle);
}
.vectorFooter-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--space-md);
  font-size: var(--fs-small);
  color: var(--color-text-muted);
}
.vectorFooter-author { color: var(--color-text); font-weight: var(--fw-medium); }
.vectorFooter-date { color: var(--color-text-muted); font-size: var(--fs-small); }
.vectorFooter-rating {
  color: var(--color-accent);
  font-size: var(--fs-body);
  font-weight: var(--fw-medium);
}
.vectorFooter-rating-num { color: var(--color-text-muted); font-size: var(--fs-small); margin-left: var(--space-xs); }
.vectorFooter-text {
  font-size: var(--fs-body);
  line-height: var(--lh-normal);
  color: var(--color-text);
}

/* ============ CTA-BLOCK CTA-05 Dual Action ============ */
.hubSpan {
  padding-block: var(--space-xl);
  background: var(--color-bg);
}
.hubSpan-inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  align-items: flex-start;
  max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
  margin-inline: auto;
  padding-inline: var(--container-padding-desktop);
}
.hubSpan-title { font-size: var(--fs-h2); color: var(--color-text); }
.hubSpan-text { color: var(--color-text-muted); line-height: var(--lh-loose); }
.hubSpan-actions { display: flex; gap: var(--space-md); flex-wrap: wrap; }
.hubSpan-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-md) var(--space-xl);
  border-radius: var(--radius-md);
  font-weight: var(--fw-bold);
  text-transform: uppercase;
  letter-spacing: var(--ls-wide);
  font-size: var(--fs-small);
  border: 1px solid transparent;
}
.hubSpan-button--primary { background: var(--color-accent); color: var(--color-bg); }
.hubSpan-button--primary:hover { background: var(--color-accent-pressed); color: var(--color-bg); }
.hubSpan-button--secondary {
  background: transparent;
  color: var(--color-text);
  border-color: var(--color-text-muted);
}
.hubSpan-button--secondary:hover {
  border-color: var(--color-text);
  background: rgba(255, 255, 255, 0.05);
  color: var(--color-text);
}

/* ============ PROSE PROSE-06 Centered Quiet ============ */
.fragmentTile {
  padding-block: var(--space-md);
}
.fragmentTile-inner {
  display: block;
  max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
  margin-inline: auto;
  padding-inline: var(--container-padding-desktop);
}
.fragmentTile-body {
  text-align: center;
  color: var(--color-text-muted);
  line-height: var(--lh-loose);
}
.fragmentTile-body h2 {
  font-size: var(--fs-h3);
  font-family: var(--font-display);
  font-weight: var(--fw-bold);
  color: var(--color-text);
  margin-block: var(--space-lg) var(--space-md);
  text-align: center;
}
.fragmentTile-body h2:first-child { margin-block-start: 0; }
.fragmentTile-body h3 {
  font-size: var(--fs-h4);
  color: var(--color-text);
  margin-block: var(--space-lg) var(--space-sm);
  text-align: center;
}
.fragmentTile-body p { margin-block: var(--space-md); }
.fragmentTile-body strong { color: var(--color-text); font-weight: var(--fw-bold); }
.fragmentTile-body em { color: var(--color-text); font-style: italic; }
.fragmentTile-body a { color: var(--color-accent); border-bottom: 1px solid var(--color-accent); }
.fragmentTile-body a:hover { color: var(--color-accent-pressed); border-bottom-color: var(--color-accent-pressed); }

/* ============ DATA TABLE TABLE-05 Compact Dense ============ */
.boardWrapper {
  padding-block: var(--space-xl);
}
.boardWrapper-inner {
  display: block;
  max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
  margin-inline: auto;
  padding-inline: var(--container-padding-desktop);
}
.boardWrapper-heading {
  font-size: var(--fs-h3);
  color: var(--color-text);
  margin-bottom: var(--space-md);
}
.boardWrapper-scroll {
  overflow-x: auto;
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border);
}
.boardWrapper-table {
  width: 100%;
  border-collapse: collapse;
  background: var(--color-surface);
  color: var(--color-text);
}
.boardWrapper-table th,
.boardWrapper-table td {
  padding: var(--space-xs) var(--space-sm);
  text-align: left;
  font-size: var(--fs-small);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}
.boardWrapper-table th {
  background: var(--color-bg-elevated);
  color: var(--color-text);
  font-family: var(--font-display);
  font-weight: var(--fw-bold);
  text-transform: uppercase;
  letter-spacing: var(--ls-wide);
  font-size: var(--fs-micro);
}
.boardWrapper-table tbody tr:last-child td { border-bottom: 0; }
.boardWrapper-table td { color: var(--color-text-muted); }

/* ============ LEGAL LEGAL-05 Definition List Style ============ */
.hubGroup {
  padding-block: var(--space-xl);
}
.hubGroup-inner {
  display: block;
  max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
  margin-inline: auto;
  padding-inline: var(--container-padding-desktop);
}
.hubGroup-updated {
  font-size: var(--fs-small);
  color: var(--color-text-muted);
  text-transform: uppercase;
  letter-spacing: var(--ls-wide);
  margin-bottom: var(--space-md);
}
.hubGroup-intro {
  font-size: var(--fs-h5);
  color: var(--color-text);
  line-height: var(--lh-loose);
  margin-bottom: var(--space-lg);
}
.hubGroup-list { display: block; margin: 0; }
.hubGroup-term {
  font-family: var(--font-display);
  font-weight: var(--fw-bold);
  font-size: var(--fs-h4);
  color: var(--color-text);
  margin-block: var(--space-lg) var(--space-xs);
  position: relative;
  padding-top: var(--space-sm);
}
.hubGroup-term::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 30px;
  height: 2px;
  background: var(--color-accent);
}
.hubGroup-definition {
  margin-inline-start: 0;
  font-size: var(--fs-body);
  line-height: var(--lh-loose);
  color: var(--color-text-muted);
  margin-block-end: var(--space-md);
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}
.hubGroup-contacts {
  margin-top: var(--space-lg);
  padding: var(--space-lg);
  background: var(--color-surface);
  border-radius: var(--radius-md);
}
.hubGroup-contacts-heading {
  font-size: var(--fs-h4);
  color: var(--color-text);
  margin-bottom: var(--space-sm);
}
.hubGroup-contacts-list { display: flex; flex-direction: column; gap: var(--space-xs); }
.hubGroup-contacts-list li { color: var(--color-text-muted); line-height: var(--lh-normal); }
.hubGroup-disclaimer {
  margin-top: var(--space-lg);
  padding: var(--space-md);
  background: var(--color-surface);
  border-left: 3px solid var(--color-accent);
  border-radius: var(--radius-sm);
  color: var(--color-text-muted);
  font-size: var(--fs-small);
  line-height: var(--lh-loose);
}

/* ============ CONTACT FORM FORM-05 Bordered Editorial ============ */
.labelBlock {
  padding-block: var(--space-xl);
}
.labelBlock-inner {
  display: block;
  max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
  margin-inline: auto;
  padding-inline: var(--container-padding-desktop);
}
.labelBlock-intro {
  margin-bottom: var(--space-lg);
  color: var(--color-text-muted);
  font-size: var(--fs-h5);
  line-height: var(--lh-loose);
  max-width: var(--container-readable);
}
.labelBlock-form {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
  padding: var(--space-xl);
  border: 2px solid var(--color-accent);
  border-radius: var(--radius-md);
}
.labelBlock-field { display: flex; flex-direction: column; gap: var(--space-xs); }
.labelBlock-label {
  color: var(--color-text-muted);
  font-size: var(--fs-small);
  text-transform: uppercase;
  letter-spacing: var(--ls-wide);
  font-weight: var(--fw-medium);
}
.labelBlock-input {
  padding: var(--space-sm) 0;
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  color: var(--color-text);
  font-family: var(--font-body);
  font-size: var(--fs-h5);
}
.labelBlock-input:focus {
  outline: 0;
  border-bottom-color: var(--color-accent);
}
.labelBlock-textarea { resize: vertical; min-height: 140px; }
.labelBlock-submit {
  align-self: flex-start;
  padding: var(--space-md) var(--space-xl);
  background: var(--color-accent);
  color: var(--color-bg);
  border: 0;
  border-radius: var(--radius-md);
  font-weight: var(--fw-bold);
  text-transform: uppercase;
  letter-spacing: var(--ls-wide);
}
.labelBlock-submit:hover { background: var(--color-accent-pressed); color: var(--color-bg); }
.labelBlock-success {
  color: var(--color-accent);
  font-weight: var(--fw-medium);
  display: none;
}
.labelBlock-success.is-visible { display: block; }

/* ============ AUTHOR CARD AUTH-06 Full-Hero Style ============ */
.streamTile {
  padding-block: var(--space-xl);
  background: linear-gradient(135deg, var(--color-primary), var(--color-bg));
}
.streamTile-inner {
  display: block;
  max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
  margin-inline: auto;
  padding-inline: var(--container-padding-desktop);
}
.streamTile-card {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: var(--space-2xl);
  align-items: center;
}
.streamTile-portrait {
  width: 280px;
  height: 350px;
  object-fit: cover;
  border-radius: var(--radius-lg);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
}
.streamTile-body { display: flex; flex-direction: column; gap: var(--space-md); }
.streamTile-eyebrow {
  font-family: var(--font-body);
  font-size: var(--fs-small);
  text-transform: uppercase;
  letter-spacing: var(--ls-wide);
  color: var(--color-accent);
}
.streamTile-name { font-size: clamp(40px, 6vw, 64px); color: var(--color-text); }
.streamTile-bio { font-size: var(--fs-h5); line-height: var(--lh-normal); color: var(--color-text); opacity: 0.85; max-width: 540px; }
.streamTile-expertise { display: flex; flex-wrap: wrap; gap: var(--space-xs); }
.streamTile-expertise-item {
  padding: var(--space-2xs) var(--space-md);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-pill);
  font-size: var(--fs-small);
  color: var(--color-text);
}

@media (max-width: 720px) {
  .streamTile-card { grid-template-columns: 1fr; justify-items: center; text-align: center; }
  .streamTile-portrait { width: 240px; height: 300px; }
}

/* ============ AUTHOR BYLINE BYLINE-05 Horizontal Bar ============ */
.precinctBlock {
  background: var(--color-primary);
  padding-block: var(--space-lg);
}
.precinctBlock-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-md);
  max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
  margin-inline: auto;
  padding-inline: var(--container-padding-desktop);
}
.precinctBlock-author-info { display: flex; align-items: center; gap: var(--space-md); }
.precinctBlock-portrait {
  width: 56px;
  height: 56px;
  object-fit: cover;
  border-radius: var(--radius-circle);
  border: 2px solid var(--color-accent);
}
.precinctBlock-text { display: flex; flex-direction: column; gap: var(--space-2xs); }
.precinctBlock-name { font-family: var(--font-display); font-weight: var(--fw-bold); font-size: var(--fs-h5); }
.precinctBlock-name a { color: var(--color-text); }
.precinctBlock-name a:hover { color: var(--color-accent); }
.precinctBlock-role { color: var(--color-accent); font-size: var(--fs-small); }
.precinctBlock-cta {
  display: inline-flex;
  align-items: center;
  padding: var(--space-sm) var(--space-md);
  background: transparent;
  border: 1px solid var(--color-accent);
  color: var(--color-accent);
  border-radius: var(--radius-md);
  font-size: var(--fs-small);
  font-weight: var(--fw-medium);
  text-transform: uppercase;
  letter-spacing: var(--ls-wide);
}
.precinctBlock-cta:hover { background: var(--color-accent); color: var(--color-bg); }

@media (max-width: 720px) {
  .precinctBlock-inner { flex-direction: column; align-items: stretch; }
  .precinctBlock-cta { justify-content: center; }
}

/* ============ COOKIE BANNER COOK-01 Bottom Floating Pill ============ */
.shellBlock {
  position: fixed;
  inset-block-end: var(--space-md);
  inset-inline-start: var(--space-md);
  inset-inline-end: var(--space-md);
  max-width: 720px;
  margin-inline: auto;
  z-index: 90;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity var(--transition-default), visibility var(--transition-default);
}
.shellBlock.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.shellBlock-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-md);
  background: var(--color-bg-elevated, var(--color-primary));
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: var(--radius-md);
  padding: var(--space-md);
  box-shadow: var(--shadow-md, 0 8px 24px rgba(0, 0, 0, 0.35));
}
.shellBlock-text {
  flex: 1 1 280px;
  font-family: var(--font-body);
  font-size: var(--fs-small);
  line-height: var(--lh-normal);
  color: var(--color-text-muted);
}
.shellBlock-actions { display: flex; gap: var(--space-sm); flex-shrink: 0; }
.shellBlock-btn {
  height: 36px;
  padding: 0 var(--space-md);
  border-radius: var(--radius-md);
  border: 0;
  font-family: var(--font-display);
  font-size: var(--fs-micro);
  font-weight: var(--fw-bold);
  letter-spacing: var(--ls-wide);
  text-transform: uppercase;
  cursor: pointer;
}
.shellBlock-btn-accept { background: var(--color-accent); color: var(--color-bg); }
.shellBlock-btn-accept:hover { background: var(--color-accent-pressed); color: var(--color-bg); }
.shellBlock-btn-decline {
  background: transparent;
  color: var(--color-text);
  border: 1px solid rgba(255, 255, 255, 0.15);
}
.shellBlock-btn-decline:hover { background: rgba(255, 255, 255, 0.04); color: var(--color-text); }

@media (max-width: 720px) {
  .shellBlock-inner { flex-direction: column; align-items: stretch; }
  .shellBlock-actions { justify-content: stretch; }
  .shellBlock-actions .shellBlock-btn { flex: 1 1 0; }
}

/* ============ ERROR BLOCK ERR-05 Glitch/Cyber Style ============ */
.zoneBody {
  padding-block: var(--space-3xl);
}
.zoneBody-inner {
  display: flex;
  justify-content: center;
  max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
  margin-inline: auto;
  padding-inline: var(--container-padding-desktop);
}
.zoneBody-card {
  padding: var(--space-2xl);
  text-align: center;
  max-width: 720px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-md);
}
.zoneBody-code {
  font-family: var(--font-display);
  font-size: 120px;
  font-weight: var(--fw-bold);
  color: var(--color-accent);
  line-height: 1;
}
.zoneBody-title {
  position: relative;
  font-size: var(--fs-h1);
  color: var(--color-text);
}
.zoneBody-title::before,
.zoneBody-title::after {
  content: attr(data-text);
  position: absolute;
  inset: 0;
  color: var(--color-accent);
  opacity: 0.6;
  pointer-events: none;
}
.zoneBody-title::before { transform: translate(2px, -2px); }
.zoneBody-title::after { transform: translate(-2px, 2px); color: var(--color-accent-pressed); }
.zoneBody-text { color: var(--color-text-muted); line-height: var(--lh-loose); }
.zoneBody-btn {
  display: inline-flex;
  align-items: center;
  padding: var(--space-md) var(--space-xl);
  background: var(--color-accent);
  color: var(--color-bg);
  border-radius: var(--radius-md);
  font-weight: var(--fw-bold);
  text-transform: uppercase;
  letter-spacing: var(--ls-wide);
}
.zoneBody-btn:hover { background: var(--color-accent-pressed); color: var(--color-bg); }

/* ============ FOOTER FOOT-05 Four-Column Information-Dense ============ */
.capsuleBar {
  background: var(--color-primary);
  padding-block: var(--space-2xl);
  margin-top: var(--space-2xl);
}
.capsuleBar-inner {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr;
  gap: var(--space-xl);
  max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
  margin-inline: auto;
  padding-inline: var(--container-padding-desktop);
}
.capsuleBar-brand { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-sm); }
.capsuleBar-logo { height: 80px; width: auto; }
.capsuleBar-tag { color: var(--color-text-muted); font-size: var(--fs-small); }
.capsuleBar-col { display: flex; flex-direction: column; gap: var(--space-md); }
.capsuleBar-heading {
  font-family: var(--font-display);
  font-size: var(--fs-small);
  font-weight: var(--fw-bold);
  color: var(--color-text);
  text-transform: uppercase;
  letter-spacing: var(--ls-wide);
  margin: 0;
}
.capsuleBar-link-list { display: flex; flex-direction: column; gap: var(--space-xs); }
.capsuleBar-link-item { display: block; }
.capsuleBar-link {
  color: var(--color-text-muted);
  font-size: var(--fs-small);
  font-family: var(--font-body);
  font-weight: var(--fw-regular);
}
.capsuleBar-link:hover { color: var(--color-accent); }
.capsuleBar-bottom {
  border-top: 1px solid var(--color-border);
  margin-top: var(--space-lg);
  padding: var(--space-md) var(--container-padding-desktop) 0;
  max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
  margin-inline: auto;
}
.capsuleBar-copy {
  color: var(--color-text-muted);
  font-size: var(--fs-small);
  text-align: center;
}

@media (max-width: 960px) {
  .capsuleBar-inner { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .capsuleBar-inner { grid-template-columns: 1fr; gap: var(--space-lg); }
}

/* ============ Responsive overrides ============ */
@media (max-width: 720px) {
  :root {
    --fs-h1: 36px;
    --fs-h2: 26px;
    --fs-h3: 20px;
    --fs-h4: 17px;
    --fs-h5: 14px;
    --fs-h6: 12px;
    --fs-body: 15px;
    --fs-small: 12px;
    --fs-micro: 9px;
  }
  .quarterStrip-inner { padding-inline: var(--container-padding-mobile); }
}
