/* ============================================================
   Mr Fortune — theme-smart.css
   Design tokens · TYPO-10 · SPACE-01 · CONT-05 · GEO-10 · MOTION-01
   ============================================================ */

:root {
  /* colors (from RANDOM_SPEC .final) */
  --color-bg: #2a1f28;
  --color-bg-elevated: #362a34;
  --color-bg-sunken: #22181f;
  --color-primary: #b182a7;
  --color-accent: #8b8ab4;
  --color-accent-pressed: #696ba2;
  --color-gradient-light: #d7d6e5;
  --color-gradient-mid: #a6a5c5;
  --color-text: #ffffff;
  --color-text-muted: #c0bfbf;
  --color-border: #4a3b46;
  --color-btn-text: #241a22;
  --color-rg-banner: #dc2626;

  /* typography */
  --font-display: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-body: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --fs-base: 17px;
  --lh-base: 1.7;
  --fs-h1: clamp(2rem, 1.4rem + 3vw, 3.4rem);
  --fs-h2: clamp(1.5rem, 1.2rem + 1.4vw, 2.2rem);
  --fs-h3: clamp(1.12rem, 1rem + 0.5vw, 1.35rem);

  /* container / spacing */
  --container-site: 1300px;
  --container-readable: 720px;
  --container-padding-desktop: 24px;
  --inner-max: calc(var(--container-site) + 2 * var(--container-padding-desktop));
  --space-xs: 8px;
  --space-sm: 12px;
  --space-md: 20px;
  --space-lg: 32px;
  --space-xl: 56px;
  --section-gap: 72px;

  /* geometry */
  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --shadow-card: 0 8px 30px rgba(0, 0, 0, 0.35);
  --header-h: 98px;
  --header-h-mobile: 68px;

  /* motion */
  --ease: cubic-bezier(0.4, 0, 0.2, 1);
  --dur: 200ms;
}

/* ---------- reset / base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html, body { overflow-x: clip; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  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;
}
img { max-width: 100%; display: block; height: auto; }
h1, h2, h3 { font-family: var(--font-display); line-height: 1.15; font-weight: 700; }
a { color: var(--color-primary); text-decoration: none; }
a:hover { color: var(--color-gradient-light); text-decoration: underline; }
p { margin: 0 0 var(--space-md); }

/* ---------- a11y ---------- */
.skip-link {
  position: absolute;
  left: 12px;
  background: var(--color-gradient-light);
  color: var(--color-btn-text);
  padding: 10px 16px;
  border-radius: var(--radius-sm);
  z-index: 1000;
  font-weight: 600;
}
.skip-link:not(:focus) { top: -200px !important; }
.skip-link:focus { top: 12px; }
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
@media (prefers-reduced-motion: reduce) {
  * { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}

/* ---------- RG banner ---------- */
.rg-banner {
  margin: 0;
  background: var(--color-rg-banner);
  color: #fff;
  text-align: center;
  font-size: 13px;
  font-weight: 500;
  padding: 7px 16px;
  line-height: 1.4;
}
.rg-banner a { color: #fff; text-decoration: underline; }
.rg-banner a:hover { color: #fff; }

/* ---------- header (HEAD-01 · NAV-01 · STICKY-02 · AUTH-LOGIN) ---------- */
.boxCarousel {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--color-bg-sunken);
  border-bottom: 1px solid var(--color-border);
  transition: box-shadow var(--dur) var(--ease), background var(--dur) var(--ease);
}
.boxCarousel.is-stuck { box-shadow: 0 6px 24px rgba(0, 0, 0, 0.45); }
.boxCarousel-inner {
  min-height: var(--header-h);
  display: flex;
  align-items: center;
  gap: var(--space-lg);
}
.boxCarousel-logo, .boxCarousel-logo-img { flex-shrink: 0; }
.boxCarousel-logo { display: inline-flex; align-items: center; }
.boxCarousel-logo-img { height: 88px; width: auto; }
.boxCarousel-nav { flex: 1 1 auto; }
.boxCarousel-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: clamp(10px, 1.4vw, 22px);
}
.boxCarousel-link {
  color: var(--color-text);
  font-weight: 500;
  font-size: 15px;
  white-space: nowrap;
  padding: 6px 2px;
  border-bottom: 2px solid transparent;
  transition: color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.boxCarousel-link:hover { color: var(--color-gradient-light); text-decoration: none; border-bottom-color: var(--color-primary); }
.boxCarousel-link.is-active { color: var(--color-primary); border-bottom-color: var(--color-primary); }
.boxCarousel-actions { display: flex; align-items: center; gap: var(--space-sm); flex-shrink: 0; }
.boxCarousel-auth-btn {
  white-space: nowrap;
  flex-shrink: 0;
  background: var(--color-primary);
  color: var(--color-btn-text);
  font-weight: 700;
  font-size: 15px;
  padding-inline: var(--space-lg);
  padding-block: 10px;
  border-radius: var(--radius-md);
  transition: background var(--dur) var(--ease);
}
.boxCarousel-auth-btn:hover { background: var(--color-gradient-mid); color: var(--color-btn-text); text-decoration: none; }
.boxCarousel-toggle {
  display: none;
  margin-left: auto;
  width: 44px; height: 44px;
  background: transparent;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  cursor: pointer;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
}
.boxCarousel-toggle-bar { width: 22px; height: 2px; background: var(--color-text); display: block; transition: transform var(--dur) var(--ease), opacity var(--dur) var(--ease); }
.boxCarousel-toggle[aria-expanded='true'] .boxCarousel-toggle-bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.boxCarousel-toggle[aria-expanded='true'] .boxCarousel-toggle-bar:nth-child(2) { opacity: 0; }
.boxCarousel-toggle[aria-expanded='true'] .boxCarousel-toggle-bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.boxCarousel-drawer { display: none; }
.boxCarousel-drawer-list { list-style: none; margin: 0; padding: var(--space-md) var(--container-padding-desktop) var(--space-lg); }
.boxCarousel-drawer-item { border-bottom: 1px solid var(--color-border); }
.boxCarousel-drawer-link { display: block; padding: 14px 4px; color: var(--color-text); font-weight: 500; font-size: 17px; }
.boxCarousel-drawer-link:hover { color: var(--color-primary); text-decoration: none; }

/* ---------- section block anchors (base classes) ---------- */
.streamWrapper, .capsuleSlider, .capsuleSlider-legal, .pulseStrip, .pinBar,
.bayHeader, .areaTile, .stubContainer, .hubPanel, .podGroup, .netList,
.axisSet, .knobRegion { display: block; }
.boxCarousel-item { display: flex; align-items: center; }
.beamSlider-col { min-width: 0; }
.axisSet-body { flex: 1 1 auto; min-width: 0; }
.streamWrapper-copy { min-width: 0; }
.pinBar-col { margin: 0; }

/* ---------- main / sections ---------- */
.site-main { display: block; }
.site-main > section,
.site-main > figure,
.site-main > aside { margin-block: var(--section-gap); }
.site-main > section:first-of-type { margin-top: var(--space-md); }

/* shared inner — one uniform section width (A-14 / widths) */
.boxCarousel-inner,
.streamWrapper-inner,
.capsuleSlider-inner,
.pulseStrip-inner,
.pinBar-inner,
.areaTile-inner,
.stubContainer-inner,
.hubPanel-inner,
.podGroup-inner,
.netList-inner,
.axisSet-inner,
.knobRegion-inner,
.beamSlider-inner,
.bayHeader-inner {
  margin-inline: auto;
  padding-inline: var(--container-padding-desktop);
  max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
}
.coreLane {
  margin-inline: auto;
  padding-inline: var(--container-padding-desktop);
  max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
}

/* readable content wrappers (NOT *-inner — exempt from uniform-width rule) */
.pinBar-col { max-width: var(--container-readable); }
.podGroup-block { max-width: var(--container-readable); }
.netList-form, .netList-success { max-width: var(--container-readable); margin-inline: auto; }

/* ---------- hero (HERO-07) ---------- */
.streamWrapper {
  background:
    radial-gradient(120% 140% at 85% 10%, rgba(139, 138, 180, 0.22), transparent 55%),
    linear-gradient(160deg, var(--color-bg-sunken), var(--color-bg));
  border-bottom: 1px solid var(--color-border);
}
.streamWrapper-inner {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: var(--space-xl);
  align-items: center;
  padding-block: clamp(40px, 6vw, 84px);
}
.streamWrapper-eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 13px;
  font-weight: 600;
  color: var(--color-gradient-mid);
  margin-bottom: var(--space-sm);
}
.streamWrapper-title { font-size: var(--fs-h1); margin: 0 0 var(--space-md); font-weight: 800; }
.streamWrapper-sub { color: var(--color-text-muted); font-size: 1.05rem; max-width: 620px; }
.streamWrapper-cta { display: flex; flex-wrap: wrap; gap: var(--space-sm); margin-top: var(--space-lg); }
.streamWrapper-btn {
  display: inline-block;
  padding: 14px 28px;
  border-radius: var(--radius-md);
  font-weight: 700;
  border: 1px solid var(--color-primary);
  color: var(--color-gradient-light);
  transition: background var(--dur) var(--ease), color var(--dur) var(--ease);
}
.streamWrapper-btn:hover { background: rgba(177, 130, 167, 0.14); color: var(--color-gradient-light); text-decoration: none; }
.streamWrapper-btn.is-primary { background: var(--color-primary); color: var(--color-btn-text); border-color: var(--color-primary); }
.streamWrapper-btn.is-primary:hover { background: var(--color-gradient-mid); color: var(--color-btn-text); }
.streamWrapper-media { position: relative; }
.streamWrapper-img { width: 100%; border-radius: var(--radius-lg); box-shadow: var(--shadow-card); }

/* ---------- page-header (PHEAD-10) ---------- */
.capsuleSlider-inner { padding-block: clamp(28px, 4vw, 52px); text-align: left; }
.capsuleSlider-title { font-size: var(--fs-h1); margin: 0 0 var(--space-sm); }
.capsuleSlider-sub { color: var(--color-text-muted); font-size: 1.05rem; max-width: 760px; }
.capsuleSlider { border-bottom: 1px solid var(--color-border); background: linear-gradient(160deg, var(--color-bg-sunken), var(--color-bg)); }

/* ---------- breadcrumbs (BREAD-04) ---------- */
.coreLane { padding-top: var(--space-lg); }
.site-main > .coreLane { margin-block: var(--space-lg) 0; }
.coreLane-list { list-style: none; display: flex; flex-wrap: wrap; gap: var(--space-xs); margin: 0; padding: 0; font-size: 14px; }
.coreLane-item { color: var(--color-text-muted); }
.coreLane-item + .coreLane-item::before { content: '/'; margin-right: var(--space-xs); color: var(--color-border); }
.coreLane-link { color: var(--color-accent); }
.coreLane-current { color: var(--color-text); }

/* ---------- items-grid (GRID-02) ---------- */
.pulseStrip-title { font-size: var(--fs-h2); margin: 0 0 var(--space-lg); }
.pulseStrip-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: var(--space-md); }
.pulseStrip-card {
  background: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: var(--space-lg);
  transition: transform var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.pulseStrip-card:hover { transform: translateY(-4px); border-color: var(--color-primary); }
.pulseStrip-card-title { font-size: var(--fs-h3); margin: 0 0 var(--space-sm); color: var(--color-gradient-light); }
.pulseStrip-card-text { margin: 0; color: var(--color-text-muted); font-size: 0.98rem; }

/* ---------- prose (PROSE-08) ---------- */
.pinBar-h2 { font-size: var(--fs-h2); margin: 0 0 var(--space-md); }
.pinBar p { color: var(--color-text); }
.pinBar-list { padding-left: 1.2em; margin: 0 0 var(--space-md); }
.pinBar-list li { margin-bottom: var(--space-xs); color: var(--color-text); }
.pinBar ol { padding-left: 1.3em; margin: 0 0 var(--space-md); }
.pinBar ol li { margin-bottom: var(--space-xs); }
.pinBar a { color: var(--color-primary); text-decoration: underline; }
.pinBar a:hover { color: var(--color-gradient-light); }
.pinBar-figure { margin: 0; }
.pinBar-figure .pinBar-img {
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
  width: auto;
  max-width: 100%;
  max-height: 520px;
  margin-inline: auto;
  object-fit: cover;
}

/* ---------- cta-block (CTA-01) ---------- */
.bayHeader-inner {
  background: linear-gradient(135deg, rgba(177, 130, 167, 0.16), rgba(139, 138, 180, 0.12));
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: clamp(28px, 4vw, 52px);
  text-align: center;
}
.bayHeader-title { font-size: var(--fs-h2); margin: 0 0 var(--space-sm); }
.bayHeader-text { color: var(--color-text-muted); max-width: 720px; margin: 0 auto var(--space-lg); }
.bayHeader-btn {
  display: inline-block;
  background: var(--color-primary);
  color: var(--color-btn-text);
  font-weight: 700;
  padding: 14px 34px;
  border-radius: var(--radius-md);
  transition: background var(--dur) var(--ease);
}
.bayHeader-btn:hover { background: var(--color-gradient-mid); color: var(--color-btn-text); text-decoration: none; }

/* ---------- faq (FAQ-04) ---------- */
.areaTile-title { font-size: var(--fs-h2); margin: 0 0 var(--space-lg); }
.areaTile-list { display: flex; flex-direction: column; gap: var(--space-sm); }
.areaTile-item {
  background: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: 0 var(--space-lg);
}
.areaTile-q {
  cursor: pointer;
  list-style: none;
  padding: var(--space-md) 0;
  font-weight: 600;
  font-size: 1.05rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-md);
}
.areaTile-q::-webkit-details-marker { display: none; }
.areaTile-q::after { content: '+'; font-size: 1.5rem; color: var(--color-primary); transition: transform var(--dur) var(--ease); }
.areaTile-item[open] .areaTile-q::after { transform: rotate(45deg); }
.areaTile-a { padding-bottom: var(--space-md); color: var(--color-text-muted); }
.areaTile-a p { margin: 0; }

/* ---------- reviews (REV-07) ---------- */
.stubContainer-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--space-sm); margin-bottom: var(--space-lg); }
.stubContainer-title { font-size: var(--fs-h2); margin: 0; }
.stubContainer-agg { margin: 0; color: var(--color-text-muted); font-weight: 600; }
.stubContainer-agg-val { color: var(--color-primary); font-size: 1.3rem; }
.stubContainer-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: var(--space-md); }
.stubContainer-card {
  background: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: var(--space-lg);
}
.stubContainer-stars { margin-bottom: var(--space-sm); letter-spacing: 2px; }
.stubContainer-star { color: #7d7480; }
.stubContainer-star.is-on, .stubContainer-star.is-half { color: #e7c15b; }
.stubContainer-text { margin: 0 0 var(--space-md); color: var(--color-text); }
.stubContainer-author { margin: 0; font-weight: 600; color: var(--color-gradient-light); }

/* ---------- data-table (TABLE-08) ---------- */
.hubPanel-scroll { overflow-x: auto; border-radius: var(--radius-md); border: 1px solid var(--color-border); }
.hubPanel-table { border-collapse: collapse; width: 100%; min-width: 560px; }
.hubPanel-table th, .hubPanel-table td { padding: 14px 18px; text-align: left; border-bottom: 1px solid var(--color-border); }
.hubPanel-table thead th { background: var(--color-accent); color: var(--color-btn-text); font-weight: 700; }
.hubPanel-table tbody th { background: var(--color-bg-elevated); font-weight: 600; color: var(--color-gradient-light); }
.hubPanel-table tbody tr:nth-child(even) td { background: rgba(255, 255, 255, 0.03); }

/* ---------- legal-section (LEGAL-01) ---------- */
.podGroup-block { margin-bottom: var(--space-xl); }
.podGroup-h2 { font-size: var(--fs-h2); margin: 0 0 var(--space-md); }
.podGroup-block p { color: var(--color-text-muted); }
.podGroup-contacts { padding-left: 1.2em; color: var(--color-text-muted); }
.podGroup-contacts li { margin-bottom: var(--space-sm); }
.podGroup-disclaimer { font-style: italic; color: var(--color-text-muted); border-top: 1px solid var(--color-border); padding-top: var(--space-md); }

/* ---------- contact-form (FORM-04) ---------- */
.netList-form { display: flex; flex-direction: column; gap: var(--space-md); }
.netList-field { display: flex; flex-direction: column; gap: var(--space-xs); }
.netList-label { font-weight: 600; font-size: 0.95rem; }
.netList-input {
  background: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  color: var(--color-text);
  padding: 12px 14px;
  font: inherit;
  width: 100%;
}
.netList-input:focus { outline: 2px solid var(--color-primary); outline-offset: 1px; border-color: var(--color-primary); }
.netList-submit {
  align-self: flex-start;
  background: var(--color-primary);
  color: var(--color-btn-text);
  font-weight: 700;
  border: none;
  padding: 13px 30px;
  border-radius: var(--radius-md);
  cursor: pointer;
  transition: background var(--dur) var(--ease);
}
.netList-submit:hover { background: var(--color-gradient-mid); }
.netList-success {
  margin-top: var(--space-md);
  background: rgba(139, 138, 180, 0.16);
  border: 1px solid var(--color-accent);
  border-radius: var(--radius-md);
  padding: var(--space-md);
  color: var(--color-gradient-light);
}

/* ---------- author-card (AUTH-02) + articles ---------- */
.axisSet-card { display: flex; gap: var(--space-lg); background: var(--color-bg-elevated); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: var(--space-xl); }
.axisSet-avatar { width: 140px; height: 140px; border-radius: 50%; object-fit: cover; flex-shrink: 0; border: 3px solid var(--color-primary); }
.axisSet-name { font-size: var(--fs-h2); margin: 0 0 4px; }
.axisSet-role { color: var(--color-primary); font-weight: 600; margin: 0 0 var(--space-md); }
.axisSet-bio { color: var(--color-text-muted); }
.axisSet-expertise { list-style: none; padding: 0; margin: var(--space-md) 0 0; display: flex; flex-wrap: wrap; gap: var(--space-xs); }
.axisSet-expertise-item { background: rgba(177, 130, 167, 0.14); border: 1px solid var(--color-border); border-radius: 999px; padding: 5px 14px; font-size: 0.85rem; color: var(--color-gradient-light); }
.axisSet-articles { margin-top: var(--space-xl); }
.axisSet-articles-heading { font-size: var(--fs-h3); margin: 0 0 var(--space-md); }
.axisSet-articles-list { padding-left: 1.2em; margin: 0; color: var(--color-text-muted); }
.axisSet-articles-item { margin-bottom: var(--space-sm); }

/* ---------- author-byline (BYLINE-05) ---------- */
.hubSet {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  max-width: var(--inner-max);
  margin-inline: auto;
  padding: var(--space-lg) var(--container-padding-desktop);
  border-top: 1px solid var(--color-border);
}
.hubSet-avatar { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; border: 2px solid var(--color-primary); flex-shrink: 0; }
.hubSet-meta p { margin: 0; }
.hubSet-label { text-transform: uppercase; letter-spacing: 0.08em; font-size: 12px; color: var(--color-text-muted); }
.hubSet-name { font-weight: 700; font-size: 1.1rem; }
.hubSet-link { color: var(--color-gradient-light); }
.hubSet-role { color: var(--color-text-muted); font-size: 0.9rem; }

/* ---------- cookie-banner (COOK-04) ---------- */
.streamFooter {
  position: fixed;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  z-index: 200;
  width: min(720px, calc(100% - 32px));
  background: var(--color-bg-sunken);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
}
.streamFooter[hidden] { display: none; }
.streamFooter-inner { display: flex; align-items: center; gap: var(--space-md); padding: var(--space-md) var(--space-lg); flex-wrap: wrap; }
.streamFooter-message { margin: 0; flex: 1 1 300px; font-size: 0.92rem; color: var(--color-text-muted); }
.streamFooter-actions { display: flex; gap: var(--space-sm); flex-shrink: 0; }
.streamFooter-button {
  border: 1px solid var(--color-border);
  background: var(--color-bg-elevated);
  color: var(--color-text);
  padding: 9px 18px;
  border-radius: var(--radius-sm);
  cursor: pointer;
  font: inherit;
  font-weight: 600;
}
.streamFooter-button:hover { border-color: var(--color-primary); background: var(--color-bg-elevated); color: var(--color-text); }
.streamFooter-button.is-primary { background: var(--color-primary); color: var(--color-btn-text); border-color: var(--color-primary); }
.streamFooter-button.is-primary:hover { background: var(--color-gradient-mid); color: var(--color-btn-text); }

/* ---------- error-block (ERR-02) ---------- */
.knobRegion-inner { text-align: center; padding-block: clamp(60px, 10vw, 100px); }
.knobRegion-code { font-size: clamp(4rem, 10vw, 8rem); font-weight: 800; color: var(--color-primary); margin: 0; line-height: 1; }
.knobRegion-title { font-size: var(--fs-h2); margin: var(--space-md) 0; }
.knobRegion-text { color: var(--color-text-muted); max-width: 520px; margin: 0 auto var(--space-lg); }
.knobRegion-btn { display: inline-block; background: var(--color-primary); color: var(--color-btn-text); font-weight: 700; padding: 13px 30px; border-radius: var(--radius-md); }
.knobRegion-btn:hover { background: var(--color-gradient-mid); color: var(--color-btn-text); text-decoration: none; }

/* ---------- footer (FOOT-03) ---------- */
.beamSlider { background: var(--color-bg-sunken); border-top: 1px solid var(--color-border); margin-top: var(--section-gap); }
.beamSlider-inner { display: grid; grid-template-columns: 1.6fr 1fr 1fr; gap: var(--space-xl); padding-block: var(--space-xl); }
.beamSlider-logo { height: 56px; width: auto; margin-bottom: var(--space-md); }
.beamSlider-tagline { color: var(--color-text-muted); font-size: 0.9rem; max-width: 420px; }
.beamSlider-age { display: inline-block; border: 2px solid var(--color-primary); color: var(--color-primary); font-weight: 800; border-radius: 50%; width: 44px; height: 44px; line-height: 40px; text-align: center; }
.beamSlider-heading { font-size: 1rem; text-transform: uppercase; letter-spacing: 0.06em; margin: 0 0 var(--space-md); color: var(--color-gradient-light); }
.beamSlider-links { list-style: none; margin: 0; padding: 0; }
.beamSlider-links li { margin-bottom: var(--space-sm); }
.beamSlider-links a { color: var(--color-text-muted); font-size: 0.95rem; }
.beamSlider-links a:hover { color: var(--color-primary); }
.beamSlider-bar { border-top: 1px solid var(--color-border); padding: var(--space-md) var(--container-padding-desktop); max-width: var(--inner-max); margin-inline: auto; display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-sm); }
.beamSlider-copy, .beamSlider-disclaimer { margin: 0; color: var(--color-text-muted); font-size: 0.85rem; }

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width: 1024px) {
  .beamSlider-inner { grid-template-columns: 1fr 1fr; }
  .beamSlider-brand { grid-column: 1 / -1; }
}

@media (max-width: 1100px) {
  :root { --section-gap: 52px; }
  .boxCarousel-nav { display: none; }
  .boxCarousel-toggle { display: flex; }
  .boxCarousel-auth-btn { display: none; }
  .boxCarousel-inner { min-height: var(--header-h-mobile); gap: var(--space-md); }
  .boxCarousel-logo-img { height: 60px; }
  .boxCarousel-drawer.is-open { display: block; border-top: 1px solid var(--color-border); background: var(--color-bg-sunken); }
  .streamWrapper-inner { grid-template-columns: 1fr; gap: var(--space-lg); }
  .streamWrapper-media { order: -1; }
  .axisSet-card { flex-direction: column; text-align: center; align-items: center; padding: var(--space-lg); }
  .axisSet-expertise { justify-content: center; }
}

@media (max-width: 720px) {
  :root { --container-padding-desktop: 16px; }
  body { font-size: 16px; }
  .streamFooter { left: 8px; right: 8px; transform: none; width: auto; bottom: 8px; }
  .streamFooter-inner { padding: 12px 14px; gap: 8px; font-size: 13px; }
  .streamFooter-message { flex-basis: 100%; }
  .streamFooter-actions { width: 100%; }
  .streamFooter-button { flex: 1 1 auto; padding: 9px 14px; font-size: 13px; min-height: 40px; }
  .pulseStrip-grid, .stubContainer-grid { grid-template-columns: 1fr; }
  .beamSlider-inner { grid-template-columns: 1fr; gap: var(--space-lg); }
  .beamSlider-bar { flex-direction: column; }
}

@media (max-width: 480px) {
  .streamWrapper-cta { flex-direction: column; }
  .streamWrapper-btn { text-align: center; }
}

@media (max-width: 1122px) {
  .boxCarousel-nav,
  .boxCarousel-list,
  .boxCarousel-link,
  .boxCarousel-auth-btn { display: none !important; }
  .boxCarousel-toggle { display: flex !important; }
}
