/* rift.css — RIFT (ТОВ «РІФТ») site: token aliases + accent/density tweaks
   + administrator-specific components. Builds ON TOP of styles.css
   — reuses its palette, type, and most components 1:1. */

/* ============ TYPOGRAPHY REFINEMENT (senior design pass) ============ */
/* Tabular figures wherever numbers align in columns or update live */
.rb-stat__num, .rb-regs__idx, .rift-statc__n, .rift-status__big,
.rb-dhist__y, .rb-tline__year, .rift-doc__rev, .rift-legal__row b,
.rb-header__strip b, .rift-trust__item b, .rb-faqcat__num, .rb-seccard__num,
.rift-firstband__badge, .rb-faq__qNum {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1, "kern" 1;
}

/* Clearer step from body → lead intro */
.rb-lead { font-size: clamp(17px, 1.3vw, 20px); line-height: 1.6; }

/* ============================================================
   TYPOGRAPHY v4 — Onest (modern geometric, strong Cyrillic).
   Display + body: 'Onest'. Data/labels: JetBrains Mono.
   ============================================================ */
:root {
  --rb-font-sans: 'Onest', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --rb-font-serif: 'Onest', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

.rb-h1 { font-weight: 700; letter-spacing: -0.025em; line-height: 1.02; font-size: clamp(40px, 5.4vw, 74px); }
.rb-h2 { font-weight: 700; letter-spacing: -0.02em; line-height: 1.08; font-size: clamp(27px, 3.1vw, 44px); }
.rb-h1__b { font-weight: 700; font-style: normal; color: var(--rb-blue); }
.rift-mission__q { font-weight: 700; letter-spacing: -0.02em; line-height: 1.14; font-size: clamp(25px, 2.9vw, 40px); }
.rift-mission__q em { font-style: normal; font-weight: 700; color: var(--rift-accent); }
.rift-missionbox__q { font-weight: 700; letter-spacing: -0.018em; }
/* big numeric display */
.rb-stat__num, .rift-statc__n, .rift-status__big, .rift-firstband__badge,
.rb-domain__tld, .rb-zonecard__tld, .rb-admin__name, .rb-admin__company,
.rb-map__name, .rb-plan__price span, .rb-adblock__stats > div b {
  font-family: var(--rb-font-serif); font-weight: 700; letter-spacing: -0.02em;
}
.rb-faqcat__t, .rb-card__title, .rb-reason__t, .rb-flow__t, .rb-tline__t,
.rb-gov__name, .rb-pill__t, .rb-dhist__t, .rb-banner__t, .rb-sponsor__name,
.rb-adblock__t, .rb-regcta__t, .rb-partner__t, .rift-rolecard__t,
.rift-newsrow__t, .rb-quote blockquote, .rift-faqteaser__t, .rb-footer__name,
.rb-zonecard__short {
  font-family: var(--rb-font-serif); font-weight: 600; letter-spacing: -0.012em;
}
.rb-h1, .rb-h2 { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

/* ----- token aliases the base sheet references but never defines ----- */
:root {
  --rb-accent: var(--rb-gold);
  --rb-text: var(--rb-ink);
  --rb-fg: var(--rb-ink);
  --rb-surface: var(--rb-paper);
  --rb-radius-sm: 6px;
  --rb-radius-md: 10px;
  --rb-font-display: var(--rb-font-serif);

  /* emphasis colour the RIFT layer routes through accent tweak */
  --rift-accent: var(--rb-blue);
  --rift-accent-soft: color-mix(in oklab, var(--rb-blue) 12%, transparent);

  /* RIFT cube facet colours — adapt to surface */
  --rift-cube-a: #6594d4; /* світлі грані */
  --rift-cube-b: #23366c; /* темні грані */
}

/* on deep-blue surfaces the dark facet would merge with the bg — lift both up */
.rift-onblue { --rift-cube-a: #eaf1fc; --rift-cube-b: #6f93cf; }

/* dark theme: keep the dark facet readable against the dark canvas */
[data-theme="dark"] { --rift-cube-b: #4f72b8; }

/* fix: keep mono tag pills + timeline pivot badge on a single line */
.rb-seccard__tag { white-space: nowrap; }
.rb-dhist__badge { white-space: nowrap; }
.rb-dhist.is-pivot .rb-dhist__t { margin-top: 6px; }

/* registrar handle code under the website title */
.rift-regs__handle { display: flex; align-items: center; gap: 6px; font-family: var(--rb-font-mono); font-size: 11px; color: var(--rb-muted); letter-spacing: 0.03em; margin-top: 5px; }
.rift-regs__handle .rb-regs__chk { flex-shrink: 0; }

/* registrar list skeleton loader (while fetching the live API) */
.rift-regs__sk { pointer-events: none; }
.rift-sk { background: linear-gradient(90deg, var(--rb-bg-alt) 25%, var(--rb-line) 37%, var(--rb-bg-alt) 63%); background-size: 400% 100%; animation: rift-shimmer 1.3s ease infinite; border-radius: 4px; height: 13px; }
.rift-sk--t { width: 46%; height: 15px; margin-bottom: 8px; }
.rift-sk--s { width: 28%; }
.rift-sk--c { width: 70%; }
.rift-sk--b { width: 64px; height: 30px; border-radius: 6px; justify-self: end; }
@keyframes rift-shimmer { 0% { background-position: 100% 0; } 100% { background-position: 0 0; } }

/* mission box on About — light card, brand-blue accent (no white-on-blue) */
.rift-missionbox { position: relative; overflow: hidden; }
.rift-missionbox::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--rift-accent); }
.rift-missionbox__q { font-family: var(--rb-font-serif); font-size: clamp(26px, 2.6vw, 34px); line-height: 1.14; letter-spacing: -0.02em; color: var(--rb-blue); font-weight: 400; text-wrap: balance; }
.rift-missionbox__sign { margin-top: 26px; padding-top: 20px; border-top: 1px solid var(--rb-line); display: flex; align-items: center; gap: 12px; }
.rift-missionbox__sign span { font-family: var(--rb-font-mono); font-size: 12px; letter-spacing: 0.1em; color: var(--rb-muted); }
[data-accent="gold"] .rift-missionbox__q { color: color-mix(in oklab, var(--rb-gold) 72%, var(--rb-ink)); }

/* CTA as a <button> + clickable footer links */
button.rb-cta { border: 0; cursor: pointer; font-family: inherit; white-space: nowrap; }
.rb-footer__cols a { cursor: pointer; }

/* prominent Facebook follow button (footer brand block) — gold rim */
.rift-fb { display: inline-flex; align-items: center; gap: 12px; margin-top: 22px; padding: 11px 16px 11px 12px; background: rgba(255,255,255,0.05); border: 1px solid var(--rb-gold); border-radius: 99px; text-decoration: none; transition: background 0.16s, border-color 0.16s, transform 0.16s; }
.rift-fb:hover { background: rgba(212,165,52,0.12); border-color: var(--rb-gold-soft); transform: translateY(-1px); }
.rift-fb__ic { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; background: #1877F2; color: #fff; flex-shrink: 0; }
.rift-fb__txt { display: flex; flex-direction: column; line-height: 1.25; }
.rift-fb__lbl { font-size: 14px; font-weight: 600; color: var(--rb-bg); }
.rift-fb__handle { font-family: var(--rb-font-mono); font-size: 11.5px; color: rgba(246,244,238,0.55); }
.rift-fb__arr { margin-left: 4px; color: var(--rb-gold-soft); font-size: 15px; transition: transform 0.16s; }
.rift-fb:hover .rift-fb__arr { transform: translateX(3px); color: var(--rb-gold); }

/* technical identifiers (emails, URLs) read better in sans, not serif */
.rb-contact__v { font-family: var(--rb-font-sans); font-size: 19px; font-weight: 600; letter-spacing: -0.01em; }
.rb-contact--fb { border-color: color-mix(in oklab, #1877F2 35%, var(--rb-line)); }
.rb-contact__v--fb { display: inline-flex; align-items: center; gap: 10px; }
.rb-contact__fbic { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 8px; background: #1877F2; color: #fff; flex-shrink: 0; }
.rb-footer__social { display: inline-flex; align-items: center; gap: 8px; }
.rb-footer__social svg { flex-shrink: 0; opacity: 0.85; }

/* mobile menu (nav hides ≤1024px in the base sheet) */
.rb-burger { display: none; align-items: center; justify-content: center; width: 42px; height: 42px; border: 1px solid var(--rb-line-2); border-radius: 11px; background: none; cursor: pointer; color: var(--rb-ink); flex-shrink: 0; }
.rb-burger span, .rb-burger span::before, .rb-burger span::after { content: ""; display: block; width: 18px; height: 2px; background: currentColor; border-radius: 2px; transition: transform 0.2s, opacity 0.2s; }
.rb-burger span { position: relative; }
.rb-burger span::before { position: absolute; left: 0; top: -6px; }
.rb-burger span::after { position: absolute; left: 0; top: 6px; }
.rb-burger.is-open span { background: transparent; }
.rb-burger.is-open span::before { transform: translateY(6px) rotate(45deg); }
.rb-burger.is-open span::after { transform: translateY(-6px) rotate(-45deg); }
.rb-mobnav { border-top: 1px solid var(--rb-line); background: var(--rb-paper); }
.rb-mobnav__inner { display: flex; flex-direction: column; max-width: var(--rb-maxw, 1200px); margin: 0 auto; padding: 6px clamp(16px, 4vw, 48px) 14px; }
.rb-mobnav__link { text-align: left; padding: 13px 6px; font-size: 16px; color: var(--rb-ink-2); border-bottom: 1px solid var(--rb-line); background: none; cursor: pointer; }
.rb-mobnav__link:last-child { border-bottom: 0; }
.rb-mobnav__link.is-active { color: var(--rb-blue); font-weight: 600; }
@media (max-width: 1024px) {
  .rb-burger { display: inline-flex; }
}
@media (max-width: 520px) {
  .rb-cta { display: none; }
}

/* FAQ category header */
.rb-faqcat { display: flex; align-items: baseline; gap: 14px; margin-bottom: 22px; padding-bottom: 16px; border-bottom: 1px solid var(--rb-line); }
.rb-faqcat__num { font-family: var(--rb-font-mono); font-size: 13px; color: var(--rift-accent); letter-spacing: 0.06em; }
.rb-faqcat__t { font-family: var(--rb-font-serif); font-size: clamp(22px, 2.6vw, 30px); font-weight: 400; letter-spacing: -0.02em; color: var(--rb-ink); margin: 0; }
/* tighten nav to fit 9 items; hamburger handles ≤1180px */
.rb-nav { gap: 2px; }
.rb-nav__link { padding: 8px 9px; font-size: 13px; }

/* technology partners strip */
.rift-partners { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--rb-line); border: 1px solid var(--rb-line); border-radius: var(--rb-radius-lg); overflow: hidden; }
.rift-partner { background: var(--rb-paper); padding: clamp(28px, 4vw, 44px) 28px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; text-align: center; transition: background 0.15s; }
.rift-partner:hover { background: var(--rb-bg-alt); }
.rift-partner__logo { height: 48px; display: flex; align-items: center; justify-content: center; color: var(--rb-ink); }
.rift-partner__role { font-family: var(--rb-font-mono); font-size: 11.5px; letter-spacing: 0.04em; color: var(--rb-muted); }
@media (max-width: 720px) {
  .rift-partners { grid-template-columns: 1fr; }
}

/* region map (Domains page) — authentic oblast line-art on paper */
.rift-region { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: clamp(28px, 4vw, 56px); align-items: center; }
.rift-region__map { margin: 0; }
.rift-region__mapclip { border: 1px solid var(--rb-line); border-radius: var(--rb-radius-lg); background: var(--rb-paper); padding: clamp(20px, 4vw, 40px); overflow: hidden; }
.rift-region__mapclip img { display: block; width: 100%; height: auto; margin-bottom: -14%; /* crop the Chornobyl legend strip */ }
/* clean branded oblast silhouette */
.rift-oblast { display: block; width: 100%; height: auto; }
.rift-oblast__shape { fill: color-mix(in oklab, var(--rb-blue) 9%, transparent); stroke: var(--rb-blue); stroke-width: 0.9; stroke-linejoin: round; stroke-linecap: round; }
[data-accent="gold"] .rift-oblast__shape { fill: color-mix(in oklab, var(--rb-gold) 12%, transparent); stroke: color-mix(in oklab, var(--rb-gold) 70%, var(--rb-ink)); }
.rift-oblast__halo { fill: var(--rb-gold); opacity: 0.22; }
.rift-oblast__dot { fill: var(--rb-gold); stroke: var(--rb-blue-deep); stroke-width: 0.6; }
.rift-oblast__lbl { font-family: var(--rb-font-mono); font-size: 4.4px; fill: var(--rb-ink); font-weight: 600; }
.rift-oblast__link { stroke: var(--rb-blue); stroke-width: 0.4; stroke-opacity: 0.3; }
.rift-oblast__town { fill: var(--rb-paper); stroke: var(--rb-blue); stroke-width: 0.6; }
[data-accent="gold"] .rift-oblast__link { stroke: var(--rb-gold); }
[data-accent="gold"] .rift-oblast__town { stroke: color-mix(in oklab, var(--rb-gold) 70%, var(--rb-ink)); }
@media (prefers-reduced-motion: no-preference) {
  .rift-oblast__halo { animation: rift-nodepulse 2.8s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
}
.rift-region__map figcaption { margin-top: 12px; font-family: var(--rb-font-mono); font-size: 11.5px; letter-spacing: 0.04em; color: var(--rb-muted); text-align: center; }
.rift-region__facts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--rb-line); border: 1px solid var(--rb-line); border-radius: var(--rb-radius-lg); overflow: hidden; }
.rift-region__fact { background: var(--rb-paper); padding: clamp(22px, 3vw, 32px) 24px; }
@media (max-width: 860px) {
  .rift-region { grid-template-columns: 1fr; }
}

/* anycast network illustration (Technology page) */
.rift-anycast { border: 1px solid var(--rb-line); border-radius: var(--rb-radius-lg); background: linear-gradient(180deg, var(--rb-paper), var(--rb-bg-alt)); padding: clamp(20px, 3vw, 32px); overflow: hidden; }
.rift-anycast svg { display: block; width: 100%; height: auto; }
.rift-anycast__edge { stroke: var(--rb-blue); stroke-opacity: 0.28; stroke-width: 1.4; stroke-dasharray: 4 5; fill: none; }
.rift-anycast__ring { stroke: var(--rb-blue); stroke-opacity: 0.14; fill: none; }
.rift-anycast__node { fill: var(--rb-blue); }
.rift-anycast__node--ua { fill: var(--rb-gold); }
.rift-anycast__pulse { fill: var(--rb-blue); opacity: 0.1; }
.rift-anycast__lbl { font-family: var(--rb-font-mono); font-size: 13px; fill: var(--rb-muted); }
.rift-anycast__core { fill: var(--rb-blue-deep); }
.rift-anycast__corelbl { font-family: var(--rb-font-mono); font-size: 13px; fill: #fff; font-weight: 600; }
@media (prefers-reduced-motion: no-preference) {
  .rift-pop__halo { animation: rift-nodepulse 3s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
  .rift-pop__halo:nth-of-type(2n) { animation-delay: 0.7s; }
  .rift-pop__halo:nth-of-type(3n) { animation-delay: 1.4s; }
}
@keyframes rift-nodepulse { 0%,100% { opacity: 0.08; } 50% { opacity: 0.2; } }
.rift-anycast__cap { font-family: var(--rb-font-mono); font-size: 12px; line-height: 1.6; color: var(--rb-muted); margin-top: 16px; max-width: 70ch; }

/* anti-scrape email: insert "@" via CSS so it's never in the DOM text */
.rift-at::before { content: "\0040"; }

/* ============ SENIOR TYPE POLISH ============ */
/* tabular, lining numerals everywhere numbers carry data → columns align,
   уптайм/статистика/дати читаються рівно й «інженерно». */
.rift-status__big, .rift-statc__n, .rb-stat__num, .rift-trust__item b,
.rb-regs__idx, .rift-regs__handle, .rb-header__strip--rift,
.rift-newsrow__date, .rb-dhist__y, .rb-tline__year, .rift-firstband__badge,
.rb-faqcat__num, .rb-flow__n, .rift-vrow__n, .rb-seccard__num, .rift-doc__rev,
.rift-mission__asideH, .rb-faq__qNum, .rift-legal__row b {
  font-variant-numeric: tabular-nums lining-nums;
  font-feature-settings: "tnum" 1, "lnum" 1;
}
/* mono labels: crisper tracking + no synthetic effects */
.rb-eyebrow, .rift-mission__kicker, .rift-trust__lbl, .rift-faqteaser__k,
.rb-brand__sub--logo { font-feature-settings: "kern" 1; }
/* serif display: optical kerning on large headings */
.rb-h1, .rb-h2, .rift-mission__q, .rift-missionbox__q, .rb-faqcat__t,
.rift-firstband__txt strong { font-kerning: normal; font-feature-settings: "kern" 1, "liga" 1; }

/* primary nav on its own full-width row → always visible on tablet/desktop */
.rb-navrow { border-top: 1px solid var(--rb-line); background: var(--rb-paper); }
.rb-navrow__inner { display: flex; gap: 2px; max-width: var(--rb-maxw, 1280px); margin: 0 auto; padding: 4px clamp(16px, 4vw, 48px); overflow-x: auto; scrollbar-width: none; }
.rb-navrow__inner::-webkit-scrollbar { display: none; }
.rb-navrow .rb-nav__link { white-space: nowrap; padding: 10px 14px; font-size: 14px; }
.rb-header__actions { margin-left: auto; }
@media (max-width: 760px) {
  .rb-navrow { display: none; }
}
@media (min-width: 761px) {
  .rb-burger { display: none !important; }
}

/* home FAQ teaser → links to consolidated FAQ page */
.rift-faqteaser { display: flex; align-items: center; justify-content: space-between; gap: 24px; width: 100%; max-width: 760px; text-align: left; padding: clamp(22px, 3vw, 30px) clamp(24px, 3vw, 34px); background: var(--rb-paper); border: 1px solid var(--rb-line); border-radius: var(--rb-radius-lg); cursor: pointer; transition: border-color 0.15s, box-shadow 0.15s; flex-wrap: wrap; }
.rift-faqteaser:hover { border-color: var(--rift-accent); box-shadow: var(--rb-shadow); }
.rift-faqteaser__txt { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.rift-faqteaser__k { font-family: var(--rb-font-mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--rb-muted); }
.rift-faqteaser__t { font-family: var(--rb-font-serif); font-size: clamp(20px, 2.3vw, 27px); font-weight: 400; letter-spacing: -0.01em; color: var(--rb-ink); text-wrap: balance; }
.rift-faqteaser__cta { font-family: var(--rb-font-mono); font-size: 13px; color: var(--rift-accent); white-space: nowrap; display: inline-flex; gap: 8px; flex-shrink: 0; }

/* "first in Ukraine" accent band on the home page */
.rift-firstband { display: flex; align-items: center; gap: clamp(20px, 3vw, 32px); padding: clamp(22px, 3vw, 30px) clamp(24px, 3vw, 36px); background: var(--rb-paper); border: 1px solid var(--rb-line); border-radius: var(--rb-radius-lg); position: relative; overflow: hidden; box-shadow: var(--rb-shadow); }
.rift-firstband::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 5px; background: var(--rift-accent); }
.rift-firstband__badge { font-family: var(--rb-font-serif); font-size: clamp(38px, 5vw, 52px); color: var(--rift-accent); line-height: 1; letter-spacing: -0.03em; flex-shrink: 0; }
.rift-firstband__txt { flex: 1; min-width: 0; }
.rift-firstband__txt strong { display: block; font-family: var(--rb-font-serif); font-size: clamp(19px, 2.1vw, 24px); font-weight: 500; color: var(--rb-ink); letter-spacing: -0.01em; margin-bottom: 5px; text-wrap: balance; }
.rift-firstband__txt span { font-size: 14px; color: var(--rb-ink-2); line-height: 1.5; }
.rift-firstband__link { flex-shrink: 0; background: none; border: 1px solid var(--rb-line-2); border-radius: 99px; padding: 9px 16px; font-family: var(--rb-font-mono); font-size: 12px; color: var(--rb-ink); cursor: pointer; white-space: nowrap; transition: background 0.14s, color 0.14s; }
.rift-firstband__link:hover { background: var(--rift-accent); color: #fff; border-color: var(--rift-accent); }
@media (max-width: 720px) {
  .rift-firstband { flex-wrap: wrap; gap: 14px; }
  .rift-firstband__badge { font-size: 38px; }
}

/* ============ ACCENT TWEAK (blue ⇄ gold) ============ */
[data-accent="gold"] {
  --rift-accent: var(--rb-gold);
  --rift-accent-soft: color-mix(in oklab, var(--rb-gold) 18%, transparent);
}
[data-accent="gold"] .rb-h1__b { color: var(--rb-gold); }
[data-accent="gold"] .rb-cta { background: var(--rb-gold); color: var(--rb-blue-deep); }
[data-accent="gold"] .rb-btn--primary:hover { background: var(--rb-gold); color: var(--rb-blue-deep); }
[data-accent="gold"] .rb-domain__tld { color: color-mix(in oklab, var(--rb-gold) 75%, var(--rb-ink)); }
[data-accent="gold"] .rb-tline__dot { background: var(--rb-gold); }

/* ============ DENSITY TWEAK ============ */
[data-density="compact"] .rb-section { padding-top: clamp(40px, 4.5vw, 60px); padding-bottom: clamp(40px, 4.5vw, 60px); }
[data-density="compact"] .rb-hero { padding-top: clamp(32px, 4vw, 56px); padding-bottom: clamp(24px, 3vw, 44px); }
[data-density="compact"] .rb-section__head { margin-bottom: 28px; }
[data-density="spacious"] .rb-section { padding-top: clamp(80px, 10vw, 148px); padding-bottom: clamp(80px, 10vw, 148px); }
[data-density="spacious"] .rb-section__head { margin-bottom: 64px; }

/* ============ BRAND MARK (RIFT crystal) ============ */
.rift-mark { display: block; }
.rb-header__strip--rift span { white-space: nowrap; }
.rb-header__strip--rift span b { color: var(--rb-ink-2); font-weight: 600; }

/* header brand using the real RIFT logo wordmark */
.rb-brand--logo { display: flex; align-items: center; gap: 14px; color: var(--rb-ink); }
.rb-brand__div { width: 1px; height: 28px; background: var(--rb-line-2); flex-shrink: 0; }
.rb-brand__sub--logo { font-family: var(--rb-font-mono); font-size: 10.5px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--rb-muted); line-height: 1.3; max-width: 110px; text-align: left; }

/* ============ HERO — admin variant ============ */
.rift-hero__visual { position: relative; aspect-ratio: 1; display: grid; place-items: center; }
.rift-hero__crystal { position: relative; z-index: 2; filter: drop-shadow(0 24px 48px rgba(20,37,82,0.28)); }
.rift-hero__badge { position: absolute; padding: 8px 14px; background: var(--rb-paper); border: 1px solid var(--rb-line); border-radius: 99px; font-family: var(--rb-font-mono); font-size: 12px; color: var(--rb-blue); font-weight: 600; box-shadow: var(--rb-shadow); display: flex; align-items: center; gap: 7px; z-index: 3; white-space: nowrap; }
.rift-hero__badge .dot { width: 7px; height: 7px; border-radius: 50%; background: #2e8b57; box-shadow: 0 0 0 4px color-mix(in oklab, #2e8b57 22%, transparent); }
.rift-hero__badge--1 { top: 5%; right: 13%; }
.rift-hero__badge--2 { top: 27%; left: 4%; }
.rift-hero__badge--3 { top: 52%; right: 3%; }
.rift-hero__badge--4 { bottom: 12%; left: 15%; }
.rift-hero__badge--5 { bottom: 5%; right: 24%; }

/* ============ ACCREDITATION / TRUST BAR ============ */
.rift-trust { border-top: 1px solid var(--rb-line); border-bottom: 1px solid var(--rb-line); }
.rift-trust__inner { display: flex; align-items: center; gap: clamp(20px, 4vw, 56px); flex-wrap: wrap; padding-top: 26px; padding-bottom: 26px; }
.rift-trust__lbl { font-family: var(--rb-font-mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--rb-muted); flex-shrink: 0; max-width: 160px; line-height: 1.4; }
.rift-trust__items { display: flex; gap: clamp(18px, 3vw, 40px); flex-wrap: wrap; align-items: center; }
.rift-trust__item { display: flex; flex-direction: column; gap: 2px; }
.rift-trust__item b { font-family: var(--rb-font-sans); font-size: 17px; font-weight: 700; letter-spacing: -0.01em; color: var(--rb-ink); }
.rift-trust__item span { font-family: var(--rb-font-mono); font-size: 10.5px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--rb-muted); }

/* ============ MISSION BLOCK ============ */
.rift-mission { display: grid; grid-template-columns: 1.15fr 1fr; gap: clamp(32px, 5vw, 72px); align-items: center; }
.rift-mission__kicker { font-family: var(--rb-font-mono); font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--rb-muted); margin-bottom: 20px; }
.rift-mission__q { font-family: var(--rb-font-serif); font-size: clamp(28px, 3.4vw, 46px); line-height: 1.12; letter-spacing: -0.02em; margin: 0 0 22px; font-weight: 400; text-wrap: pretty; }
.rift-mission__q em { font-style: italic; color: var(--rift-accent); }
.rift-mission__qsub { font-family: var(--rb-font-sans); font-size: clamp(17px, 1.5vw, 20px); line-height: 1.45; font-weight: 500; color: var(--rb-ink); margin: 0 0 22px; max-width: 42ch; letter-spacing: -0.01em; }
.rift-mission__p { font-size: 16px; line-height: 1.65; color: var(--rb-ink-2); margin: 0 0 14px; max-width: 54ch; }
.rift-mission__sign { display: flex; align-items: center; gap: 14px; margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--rb-line); }
.rift-mission__sign img { height: 30px; width: auto; display: block; }
.rift-mission__sign div { font-size: 13px; color: var(--rb-muted); line-height: 1.4; }
.rift-mission__sign b { display: block; color: var(--rb-ink); font-weight: 600; }
.rift-mission__aside { background: var(--rb-paper); border: 1px solid var(--rb-line); border-radius: var(--rb-radius-lg); padding: 30px; }
.rift-mission__asideH { font-family: var(--rb-font-mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--rb-muted); margin-bottom: 18px; }
.rift-vrow { display: flex; gap: 14px; padding: 14px 0; border-top: 1px solid var(--rb-line); }
.rift-vrow:first-of-type { border-top: 0; padding-top: 0; }
.rift-vrow__n { font-family: var(--rb-font-mono); font-size: 12px; color: var(--rift-accent); padding-top: 2px; flex-shrink: 0; }
.rift-vrow__t { font-weight: 600; font-size: 15px; color: var(--rb-ink); margin-bottom: 3px; }
.rift-vrow__d { font-size: 13px; color: var(--rb-ink-2); line-height: 1.5; }

/* ============ INFRASTRUCTURE STATUS PANEL ============ */
.rift-status { display: grid; grid-template-columns: 1fr 1.3fr; gap: 24px; }
.rift-status__live { background: var(--rb-ink); color: var(--rb-bg); border-radius: var(--rb-radius-lg); padding: 30px; display: flex; flex-direction: column; gap: 6px; position: relative; overflow: hidden; }
.rift-status__pulse { display: inline-flex; align-items: center; gap: 9px; font-family: var(--rb-font-mono); font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--rb-gold-soft); }
.rift-status__pulse .dot { width: 9px; height: 9px; border-radius: 50%; background: #5fd08a; box-shadow: 0 0 0 0 rgba(95,208,138,0.6); animation: rift-pulse 2s infinite; }
@keyframes rift-pulse { 0% { box-shadow: 0 0 0 0 rgba(95,208,138,0.55); } 70% { box-shadow: 0 0 0 10px rgba(95,208,138,0); } 100% { box-shadow: 0 0 0 0 rgba(95,208,138,0); } }
.rift-status__big { font-family: var(--rb-font-serif); font-size: clamp(52px, 6vw, 76px); line-height: 1; letter-spacing: -0.02em; margin: 18px 0 4px; }
.rift-status__cap { font-size: 13px; color: rgba(246,244,238,0.6); }
.rift-status__attr { display: inline-block; margin-top: 14px; font-family: var(--rb-font-mono); font-size: 10.5px; letter-spacing: 0.04em; color: rgba(246,244,238,0.4); text-decoration: none; border-bottom: 1px solid rgba(246,244,238,0.18); padding-bottom: 1px; transition: color 0.15s; }
.rift-status__attr:hover { color: rgba(246,244,238,0.75); }
.rift-status__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--rb-line); border: 1px solid var(--rb-line); border-radius: var(--rb-radius-lg); overflow: hidden; }
.rift-statc { background: var(--rb-paper); padding: 24px; }
.rift-statc__n { font-family: var(--rb-font-serif); font-size: 34px; line-height: 1; letter-spacing: -0.02em; color: var(--rb-blue); }
.rift-statc__l { font-size: 13px; color: var(--rb-muted); margin-top: 8px; }
.rift-statc__sub { font-family: var(--rb-font-mono); font-size: 11px; color: var(--rb-ink-2); margin-top: 4px; }

/* live UptimeRobot status */
.rift-status__src { font-family: var(--rb-font-mono); font-size: 11.5px; color: var(--rb-muted); margin-top: 14px; letter-spacing: 0.02em; }
.rift-mon__n { display: flex; align-items: center; gap: 9px; }
.rift-mon__dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; display: inline-block; }
.rift-mon__dot.is-up { background: #2e8b57; box-shadow: 0 0 0 3px color-mix(in oklab, #2e8b57 22%, transparent); }
.rift-mon__dot.is-down { background: #d9534f; box-shadow: 0 0 0 3px color-mix(in oklab, #d9534f 22%, transparent); }
.rift-mon__dot.is-pending { background: #c9a227; box-shadow: 0 0 0 3px color-mix(in oklab, #c9a227 22%, transparent); }
.rift-status__pulse[data-down="1"] { color: #f0c674; }
.rift-status__pulse[data-down="1"] .dot { background: #f0ad4e; box-shadow: 0 0 0 0 rgba(240,173,78,0.6); }

/* ============ DOCUMENT CENTER ============ */
.rift-docs { border: 1px solid var(--rb-line); border-radius: var(--rb-radius-lg); overflow: hidden; background: var(--rb-paper); }
.rift-doc { display: grid; grid-template-columns: 56px 1fr auto; gap: 20px; align-items: center; padding: 20px 24px; border-top: 1px solid var(--rb-line); text-decoration: none; color: inherit; transition: background 0.14s; }
.rift-doc:first-child { border-top: 0; }
.rift-doc:hover { background: var(--rb-bg-alt); }
.rift-doc__ic { width: 44px; height: 54px; border: 1px solid var(--rb-line-2); border-radius: 4px; position: relative; background: var(--rb-bg); display: grid; place-items: end center; padding-bottom: 7px; }
.rift-doc__ic::before { content: ""; position: absolute; top: 0; right: 0; border-width: 0 12px 12px 0; border-style: solid; border-color: var(--rb-paper) var(--rb-paper) var(--rb-line-2) var(--rb-line-2); }
.rift-doc__ext { font-family: var(--rb-font-mono); font-size: 9px; font-weight: 700; letter-spacing: 0.06em; color: var(--rift-accent); }
.rift-doc__body { min-width: 0; }
.rift-doc__t { font-weight: 600; font-size: 16px; color: var(--rb-ink); margin-bottom: 4px; }
.rift-doc__d { font-size: 13px; color: var(--rb-muted); line-height: 1.5; }
.rift-doc__meta { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; flex-shrink: 0; }
.rift-doc__rev { font-family: var(--rb-font-mono); font-size: 11px; color: var(--rb-muted); }
.rift-doc__go { font-family: var(--rb-font-mono); font-size: 12px; color: var(--rift-accent); display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }

/* ============ NEWS LIST ============ */
.rift-news { display: grid; gap: 1px; background: var(--rb-line); border: 1px solid var(--rb-line); border-radius: var(--rb-radius-lg); overflow: hidden; }
.rift-newsrow { display: grid; grid-template-columns: 132px 1fr auto; gap: 24px; align-items: baseline; padding: 24px 28px; background: var(--rb-paper); transition: background 0.14s; }
.rift-newsrow:hover { background: var(--rb-bg-alt); }
.rift-newsrow__date { font-family: var(--rb-font-mono); font-size: 12px; color: var(--rift-accent); letter-spacing: 0.04em; padding-top: 3px; }
.rift-newsrow__t { font-family: var(--rb-font-serif); font-size: 22px; line-height: 1.2; letter-spacing: -0.01em; margin-bottom: 8px; color: var(--rb-ink); }
.rift-newsrow__d { font-size: 14px; color: var(--rb-ink-2); line-height: 1.55; max-width: 70ch; }
.rift-newsrow__tag { font-family: var(--rb-font-mono); font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; padding: 4px 10px; border: 1px solid var(--rb-line); border-radius: 99px; color: var(--rb-muted); white-space: nowrap; align-self: center; }

/* ============ PROCESS / ROLE SPLIT ============ */
.rift-role { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.rift-rolecard { background: var(--rb-paper); border: 1px solid var(--rb-line); border-radius: var(--rb-radius-lg); padding: 30px; }
.rift-rolecard--admin { border-color: var(--rb-blue); box-shadow: var(--rb-shadow); }
.rift-rolecard__tag { font-family: var(--rb-font-mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 14px; display: inline-block; padding: 4px 10px; border-radius: 99px; }
.rift-rolecard--admin .rift-rolecard__tag { background: var(--rb-blue); color: #fff; }
.rift-rolecard--reg .rift-rolecard__tag { background: var(--rb-bg-alt); color: var(--rb-muted); }
.rift-rolecard__t { font-family: var(--rb-font-serif); font-size: 26px; line-height: 1.1; margin-bottom: 10px; }
.rift-rolecard__d { font-size: 14px; color: var(--rb-ink-2); line-height: 1.6; margin-bottom: 16px; }
.rift-rolecard ul { list-style: none; padding: 0; margin: 0; }
.rift-rolecard li { padding: 9px 0; border-top: 1px solid var(--rb-line); font-size: 14px; color: var(--rb-ink-2); display: flex; gap: 10px; }
.rift-rolecard li::before { content: "—"; color: var(--rift-accent); }

/* ============ CONTACT / LEGAL DETAIL ============ */
.rift-legal { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--rb-line); border: 1px solid var(--rb-line); border-radius: var(--rb-radius-lg); overflow: hidden; margin-top: 20px; }
.rift-legal__row { background: var(--rb-paper); display: flex; justify-content: space-between; gap: 20px; padding: 16px 24px; font-size: 14px; }
.rift-legal__row span { color: var(--rb-muted); }
.rift-legal__row b { font-weight: 600; color: var(--rb-ink); font-family: var(--rb-font-mono); font-size: 13px; text-align: right; }

/* ============ PAGE INTRO PROSE ============ */
.rift-prose { max-width: 70ch; }
.rift-prose p { font-size: 16px; line-height: 1.7; color: var(--rb-ink-2); margin: 0 0 18px; }
.rift-prose p strong { color: var(--rb-ink); font-weight: 600; }
.rift-prose__lead { font-family: var(--rb-font-sans); font-size: clamp(19px, 1.9vw, 23px); line-height: 1.5; color: var(--rb-ink); margin-bottom: 22px; font-weight: 500; letter-spacing: -0.01em; }

/* footer brand: cube mark + Ukrainian name, no duplicate latin wordmark */
.rift-footer__brand { flex-direction: column; align-items: flex-start; gap: 16px; }
.rift-footer__id { display: flex; align-items: center; gap: 14px; }
.rift-footer__id .rb-footer__name { margin: 0; font-size: 22px; line-height: 1.15; white-space: nowrap; }
.rift-footer__brand .rb-footer__sub { max-width: 34ch; line-height: 1.55; }
/* footer cube: faces in the footer navy, facet edges in gold */
.rift-footer__id .rift-onblue { --rift-cube-a: var(--rb-ink); --rift-cube-b: var(--rb-ink); --rift-cube-stroke: var(--rb-gold-soft, #e8cf80); --rift-cube-strokeW: 1.5px; }

@media (max-width: 1024px) {
  .rift-mission, .rift-status, .rift-role { grid-template-columns: 1fr; }
  .rift-legal { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .rift-newsrow { grid-template-columns: 1fr; gap: 8px; }
  .rift-newsrow__tag { justify-self: start; }
  .rift-doc { grid-template-columns: 44px 1fr; }
  .rift-doc__meta { grid-column: 2; align-items: flex-start; flex-direction: row; gap: 14px; }
  .rift-trust__inner { gap: 18px; }
}

/* ============================================================
   REFINEMENT PASS v5 — editorial rhythm, deliberate dark moments,
   one gold accent, orbital motif beyond the hero, mobile data row.
   Builds on top; preserves the existing RIFT identity.
   ============================================================ */

/* ---- 4 · MOBILE DATA ROW — wrap instead of clipping past the edge ---- */
@media (max-width: 760px) {
  .rb-header__strip--rift {
    flex-wrap: wrap;
    overflow: visible;
    row-gap: 7px;
    column-gap: clamp(14px, 4vw, 22px);
    padding-bottom: 11px;
  }
}
/* tablet range: keep one scrolling line but signal there is more with a soft fade */
@media (min-width: 761px) and (max-width: 1100px) {
  .rb-header__strip--rift {
    -webkit-mask-image: linear-gradient(90deg, #000 0, #000 88%, transparent 100%);
            mask-image: linear-gradient(90deg, #000 0, #000 88%, transparent 100%);
    padding-right: 28px;
  }
}

/* ---- 2 · EDITORIAL SECTION HEADS — break the centred/left stack ---- */
/* rail variant: mono index + eyebrow in a left rail, heading offset right */
.rb-section__head--rail {
  display: grid;
  grid-template-columns: clamp(120px, 16vw, 180px) 1fr;
  gap: clamp(20px, 4vw, 56px);
  align-items: start;
  max-width: none;
}
.rb-section__rail {
  display: flex; flex-direction: column; gap: 9px;
  padding-top: 8px; border-top: 2px solid var(--rb-ink);
}
.rb-section__idx {
  font-family: var(--rb-font-mono); font-size: 13px; letter-spacing: 0.05em;
  color: var(--rift-accent); font-variant-numeric: tabular-nums;
}
.rb-section__ey {
  font-family: var(--rb-font-mono); font-size: 11px; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--rb-muted); line-height: 1.5;
}
.rb-section__head--rail .rb-h2 { margin-top: -4px; }

/* split variant: heading left, sub pinned to a right column */
.rb-section__head--split {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: clamp(20px, 4vw, 64px);
  align-items: end;
  max-width: none;
}
.rb-section__head--split .rb-h2 { margin: 0; }
.rb-section__head--split .rb-sub {
  padding-bottom: 6px;
  border-bottom: 1px solid var(--rb-line);
}
@media (max-width: 760px) {
  .rb-section__head--rail { grid-template-columns: 1fr; gap: 16px; }
  .rb-section__rail { flex-direction: row; align-items: baseline; gap: 12px; border-top-width: 2px; padding-top: 10px; }
  .rb-section__head--split { grid-template-columns: 1fr; gap: 14px; align-items: start; }
  .rb-section__head--split .rb-sub { border-bottom: 0; padding-bottom: 0; }
}

/* ---- 6 · ORBITAL DIVIDER — quiet ring + node, motif beyond the hero ---- */
.rb-orbdiv {
  display: flex; align-items: center; gap: clamp(14px, 3vw, 22px);
  max-width: var(--rb-container); margin: 0 auto;
  padding: clamp(10px, 2.5vw, 26px) var(--rb-pad);
}
.rb-orbdiv__line { flex: 1; height: 1px; background: linear-gradient(90deg, transparent, var(--rb-line-2)); }
.rb-orbdiv__line:last-child { background: linear-gradient(90deg, var(--rb-line-2), transparent); }
.rb-orbdiv__mark { flex-shrink: 0; color: var(--rb-line-2); display: block; }
.rb-orbdiv__mark circle { fill: none; stroke: currentColor; stroke-width: 1; }
.rb-orbdiv__mark circle.rb-orbdiv__dot { fill: var(--rb-gold); stroke: none; }
.rb-orbdiv__lbl {
  font-family: var(--rb-font-mono); font-size: 10.5px; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--rb-muted); flex-shrink: 0; white-space: nowrap;
}

/* ---- 3 · GOLD MILESTONE — the single most important brand fact ---- */
/* the 2012 "first DNSSEC" band carries the lone gold accent, regardless of tweak */
.rift-firstband--gold::before { background: var(--rb-gold); }
.rift-firstband--gold .rift-firstband__badge { color: var(--rb-gold); }
.rift-firstband--gold .rift-firstband__link:hover { background: var(--rb-gold); color: var(--rb-blue-deep); border-color: var(--rb-gold); }
.rift-firstband--gold { box-shadow: 0 1px 0 rgba(13,31,60,0.04), 0 10px 30px -16px rgba(212,165,52,0.45); }

/* ---- 5 · ZONE CARD HIERARCHY — confident active vs archived ---- */
.rb-zonegrid .rb-zonecard { position: relative; overflow: hidden; min-height: 280px; }
/* active zones: confident, lifted, blue top-rail + live status */
.rb-zonecard--live { border-color: var(--rb-line-2); transition: border-color 0.18s, box-shadow 0.18s, transform 0.18s; }
.rb-zonecard--live::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px;
  background: var(--rb-blue);
}
.rb-zonecard--live:hover { border-color: var(--rb-blue); box-shadow: var(--rb-shadow); transform: translateY(-3px); }
/* archived zone: clearly a different, retired state (no dimming → keeps AA contrast) */
.rb-zonecard--retired { opacity: 1; background: var(--rb-bg-alt); border-style: dashed; border-color: var(--rb-line-2); }
.rb-zonecard--retired::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; opacity: 0.5;
  background: repeating-linear-gradient(45deg, transparent 0 9px, color-mix(in oklab, var(--rb-muted) 7%, transparent) 9px 10px);
}
.rb-zonecard--retired > * { position: relative; z-index: 1; }
.rb-zonecard--retired .rb-zonecard__tld { color: var(--rb-muted); }
.rb-zonecard__year { font-family: var(--rb-font-mono); font-size: 12px; color: var(--rb-muted); font-variant-numeric: tabular-nums; }
/* status line with a live/archived dot */
.rb-zonecard__status {
  display: flex; align-items: center; gap: 9px; margin-top: 2px; padding-top: 12px;
  border-top: 1px solid var(--rb-line);
  font-family: var(--rb-font-mono); font-size: 11px; letter-spacing: 0.05em;
  text-transform: uppercase; color: var(--rb-muted);
}
.rb-zonecard__sdot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.rb-zonecard--live .rb-zonecard__sdot { background: #2e8b57; box-shadow: 0 0 0 3px color-mix(in oklab, #2e8b57 22%, transparent); }
.rb-zonecard--retired .rb-zonecard__sdot { background: var(--rb-muted); }
/* obvious primary action on active cards; quieter on the archived one */
.rb-zonecard__cta--primary { background: var(--rb-ink); color: var(--rb-bg); border-color: var(--rb-ink); font-weight: 600; }
.rb-zonecard__cta--primary:hover { background: var(--rb-blue); border-color: var(--rb-blue); color: #fff; }
.rb-zonecard--retired .rb-zonecard__cta { color: var(--rb-ink-2); border-style: solid; }

/* ---- 1 · REGISTRARS PREVIEW — was a 2nd dark banner, now a light panel ---- */
.rift-regpreview {
  display: grid; grid-template-columns: auto 1fr auto; gap: clamp(20px, 3vw, 36px);
  align-items: center; padding: clamp(26px, 3.5vw, 40px) clamp(26px, 3.5vw, 44px);
  background: var(--rb-paper); border: 1px solid var(--rb-line);
  border-radius: var(--rb-radius-lg); position: relative; overflow: hidden;
  box-shadow: var(--rb-shadow);
}
.rift-regpreview::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 5px; background: var(--rb-blue); }
.rift-regpreview__num {
  font-family: var(--rb-font-serif); font-weight: 700; font-size: clamp(52px, 6vw, 76px);
  line-height: 0.9; letter-spacing: -0.03em; color: var(--rb-blue);
  font-variant-numeric: tabular-nums; padding-left: 8px;
}
.rift-regpreview__body { min-width: 0; }
.rift-regpreview__t { font-family: var(--rb-font-serif); font-weight: 600; font-size: clamp(20px, 2.2vw, 26px); letter-spacing: -0.012em; margin: 0 0 6px; color: var(--rb-ink); }
.rift-regpreview__s { font-size: 14px; color: var(--rb-muted); margin: 0; line-height: 1.5; max-width: 48ch; }
.rift-regpreview__orb { position: absolute; right: -40px; top: 50%; transform: translateY(-50%); width: 220px; height: 220px; color: var(--rb-line); pointer-events: none; }
.rift-regpreview__orb circle { fill: none; stroke: currentColor; stroke-width: 1; }
@media (max-width: 720px) {
  .rift-regpreview { grid-template-columns: auto 1fr; row-gap: 18px; }
  .rift-regpreview .rb-btn { grid-column: 1 / -1; justify-content: center; }
  .rift-regpreview__orb { display: none; }
}

/* ---- 1 + 3 + 6 · FINAL CTA — the one deliberate, weighty dark moment ---- */
.rb-finalcta {
  position: relative; overflow: hidden;
  background: var(--rb-blue-deep); color: var(--rb-bg);
  border-radius: var(--rb-radius-lg);
  border: 1px solid color-mix(in oklab, var(--rb-blue) 60%, var(--rb-blue-deep));
}
.rb-finalcta__inner {
  position: relative; z-index: 2;
  display: grid; grid-template-columns: 1.25fr 0.75fr; gap: 40px; align-items: center;
  padding: clamp(44px, 6vw, 84px) clamp(30px, 5vw, 72px);
}
.rb-finalcta__eyebrow {
  font-family: var(--rb-font-mono); font-size: 12px; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--rb-gold-soft); margin-bottom: 18px;
  display: inline-flex; align-items: center; gap: 10px;
}
.rb-finalcta__eyebrow::before { content: ""; width: 24px; height: 1px; background: var(--rb-gold); }
.rb-finalcta__t {
  font-family: var(--rb-font-serif); font-weight: 700; font-size: clamp(28px, 3.6vw, 50px);
  line-height: 1.05; letter-spacing: -0.02em; margin: 0 0 16px; color: var(--rb-bg);
  max-width: 17ch; text-wrap: balance;
}
.rb-finalcta__s { color: rgba(246,244,238,0.74); font-size: clamp(15px, 1.4vw, 18px); line-height: 1.55; margin: 0 0 30px; max-width: 46ch; }
.rb-finalcta__actions { display: flex; align-items: center; gap: clamp(16px, 3vw, 28px); flex-wrap: wrap; }
.rb-finalcta__btn { background: var(--rb-gold); color: var(--rb-blue-deep); font-weight: 700; padding: 16px 28px; font-size: 15px; box-shadow: 0 12px 30px -12px rgba(212,165,52,0.6); }
.rb-finalcta__btn:hover { background: var(--rb-gold-soft); transform: translateY(-2px); }
.rb-finalcta__meta { font-family: var(--rb-font-mono); font-size: 12px; letter-spacing: 0.06em; color: rgba(246,244,238,0.6); white-space: nowrap; }
/* orbital graphic echoing the hero — quiet, gold nodes, no text pills */
.rb-finalcta__rings { position: relative; height: 240px; }
.rb-finalcta__rings svg { position: absolute; right: clamp(-40px, -3vw, 0px); top: 50%; transform: translateY(-50%); width: clamp(300px, 34vw, 460px); height: auto; }
.rb-finalcta__rings circle { fill: none; stroke: rgba(232,207,128,0.22); stroke-width: 1; }
.rb-finalcta__rings .rb-finalcta__ringDash { stroke-dasharray: 3 6; stroke: rgba(232,207,128,0.16); }
.rb-finalcta__rings .rb-finalcta__node { fill: var(--rb-gold); stroke: none; }
.rb-finalcta__rings .rb-finalcta__node--soft { fill: rgba(232,207,128,0.5); }
.rb-finalcta__rings .rb-finalcta__core { fill: rgba(246,244,238,0.06); stroke: rgba(232,207,128,0.3); }
@media (max-width: 880px) {
  .rb-finalcta__inner { grid-template-columns: 1fr; gap: 8px; }
  .rb-finalcta__rings { display: none; }
}

@media (max-width: 1024px) {
  .rb-section__head--split { grid-template-columns: 1fr; align-items: start; gap: 14px; }
  .rb-section__head--split .rb-sub { border-bottom: 0; padding-bottom: 0; }
}
