/* Ringg CSS — rng prefix — covers all pages */

/* =============================================
   CUSTOM PROPERTIES
   ============================================= */
:root {
  /* Palette */
  --rng-bg-void:         #111010;
  --rng-bg-deep:         #1C1A18;
  --rng-bg-subtle:       #2A2620;
  --rng-bg-warm-white:   #FDFAF5;
  --rng-bg-cream:        #F5F0E8;
  --rng-bg-ash:          #EDE8DF;
  --rng-bg-brand:        #E8631A;

  --rng-text-dark-primary:  #F5F0E8;
  --rng-text-dark-muted:    #B5A898;
  --rng-text-light-primary: #1C1A18;
  --rng-text-light-muted:   #5C5248;
  --rng-text-amber-label:   #8B3800;
  --rng-text-dark-amber:    #E8631A;
  --rng-text-on-brand:      #FFFFFF;
  --rng-text-on-brand-dark: #1C1A18;
  --rng-accent-active:      #4A7C59;
  --rng-accent-active-text: #72C993;

  /* Spacing */
  --rng-nav-h:    64px;
  --rng-max-w:    1200px;
  --rng-max-w-sm: 720px;
  --rng-section-py: 96px;
  --rng-section-py-sm: 64px;

  /* Typography */
  --rng-font-head:  'Bricolage Grotesque', 'Inter', system-ui, sans-serif;
  --rng-font-body:  'IBM Plex Sans', 'Inter', system-ui, sans-serif;
  --rng-font-mono:  'IBM Plex Mono', 'Courier New', monospace;

  /* Radius */
  --rng-r-sm: 6px;
  --rng-r-md: 12px;
  --rng-r-lg: 20px;

  /* Transitions */
  --rng-t-fast: 150ms ease;
  --rng-t-mid:  220ms ease;
}


/* =============================================
   RESET & BASE
   ============================================= */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }

body {
  font-family: var(--rng-font-body);
  font-size: 16px;
  line-height: 1.7;
  color: var(--rng-text-light-primary);
  background: var(--rng-bg-warm-white);
  -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }
button { font-family: inherit; cursor: pointer; border: none; background: none; }
input, textarea, select { font-family: inherit; }

.rng-page--dark-top { --rng-first-section-tone: dark; }
.rng-page--light-top { --rng-first-section-tone: light; }

/* =============================================
   TYPOGRAPHY
   ============================================= */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--rng-font-head);
  line-height: 1.1;
  font-weight: 800;
}

.rng-display {
  font-family: var(--rng-font-head);
  font-size: clamp(48px, 6vw, 72px);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -0.02em;
}
.rng-h1 {
  font-family: var(--rng-font-head);
  font-size: clamp(36px, 5vw, 56px);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.02em;
}
.rng-h2 {
  font-family: var(--rng-font-head);
  font-size: clamp(28px, 3.5vw, 40px);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.01em;
}
.rng-h3 {
  font-family: var(--rng-font-head);
  font-size: clamp(20px, 2.2vw, 24px);
  font-weight: 600;
  line-height: 1.25;
}
.rng-body-lg {
  font-size: clamp(17px, 1.5vw, 19px);
  line-height: 1.65;
}
.rng-label {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.rng-mono {
  font-family: var(--rng-font-mono);
}

/* Amber accent on dark headings */
.rng-amber { color: var(--rng-text-dark-amber); }
/* Sage text on dark sections */
.rng-sage  { color: var(--rng-accent-active-text); }


/* =============================================
   LAYOUT CONTAINERS
   ============================================= */
.rng-container {
  width: 100%;
  max-width: var(--rng-max-w);
  margin-inline: auto;
  padding-inline: 40px;
}
.rng-container--sm {
  max-width: var(--rng-max-w-sm);
  margin-inline: auto;
  padding-inline: 40px;
}
.rng-section {
  padding-block: var(--rng-section-py);
}
.rng-section--sm {
  padding-block: var(--rng-section-py-sm);
}
.rng-text-center { text-align: center; }


/* =============================================
   SECTION BACKGROUNDS
   ============================================= */
.rng-bg--void      { background: var(--rng-bg-void); }
.rng-bg--deep      { background: var(--rng-bg-deep); }
.rng-bg--subtle    { background: var(--rng-bg-subtle); }
.rng-bg--warm-white{ background: var(--rng-bg-warm-white); }
.rng-bg--cream     { background: var(--rng-bg-cream); }
.rng-bg--ash       { background: var(--rng-bg-ash); }
.rng-bg--brand     { background: var(--rng-bg-brand); }

/* Text color helpers for bg contexts */
.rng-on-dark  { color: var(--rng-text-dark-primary); }
.rng-on-dark .rng-muted  { color: var(--rng-text-dark-muted); }
.rng-on-light { color: var(--rng-text-light-primary); }
.rng-on-light .rng-muted { color: var(--rng-text-light-muted); }

.rng-muted-dark  { color: var(--rng-text-dark-muted); }
.rng-muted-light { color: var(--rng-text-light-muted); }


/* =============================================
   NAVIGATION
   ============================================= */
.rng-nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: var(--rng-nav-h);
  background: var(--rng-bg-deep);
  z-index: 1000;
  border-bottom: 1px solid transparent;
  transition: border-color var(--rng-t-mid);
}
.rng-nav--scrolled {
  border-bottom-color: rgba(181, 168, 152, 0.15);
}
.rng-nav__inner {
  display: flex;
  align-items: center;
  height: 100%;
  max-width: var(--rng-max-w);
  margin-inline: auto;
  padding-inline: 40px;
  gap: 0;
}
.rng-nav__logo {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  margin-right: auto;
}
.rng-nav__logo img {
  height: 28px;
  width: auto;
}
.rng-nav__links {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-right: 24px;
}
.rng-nav__link {
  font-size: 14px;
  font-weight: 500;
  color: var(--rng-text-dark-muted);
  padding: 6px 12px;
  border-radius: var(--rng-r-sm);
  transition: color var(--rng-t-fast), background var(--rng-t-fast);
}
.rng-nav__link:hover,
.rng-nav__link--active {
  color: var(--rng-text-dark-primary);
  background: rgba(245, 240, 232, 0.06);
}
.rng-nav__ctas {
  display: flex;
  align-items: center;
  gap: 8px;
}
.rng-nav__hamburger {
  display: none;
  flex-direction: column;
  gap: 5px;
  padding: 8px;
  cursor: pointer;
  margin-left: 8px;
}
.rng-nav__hamburger span {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--rng-text-dark-muted);
  border-radius: 2px;
  transition: transform var(--rng-t-mid), opacity var(--rng-t-mid), background var(--rng-t-fast);
}
.rng-nav__hamburger--open span:nth-child(1) { transform: translateY(7px) rotate(45deg); background: var(--rng-text-dark-primary); }
.rng-nav__hamburger--open span:nth-child(2) { opacity: 0; }
.rng-nav__hamburger--open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); background: var(--rng-text-dark-primary); }

.rng-nav__mobile {
  display: none;
  position: fixed;
  top: var(--rng-nav-h);
  left: 0;
  right: 0;
  background: var(--rng-bg-deep);
  border-bottom: 1px solid rgba(181, 168, 152, 0.15);
  padding: 16px 24px 24px;
  z-index: 999;
  flex-direction: column;
  gap: 4px;
}
.rng-nav__mobile--open { display: flex; }
.rng-nav__mobile-link {
  font-size: 16px;
  font-weight: 500;
  color: var(--rng-text-dark-muted);
  padding: 12px 8px;
  border-radius: var(--rng-r-sm);
  transition: color var(--rng-t-fast);
}
.rng-nav__mobile-link:hover { color: var(--rng-text-dark-primary); }
.rng-nav__mobile-divider {
  height: 1px;
  background: rgba(181, 168, 152, 0.12);
  margin: 8px 0;
}
.rng-nav__mobile-ctas {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 8px;
}


/* =============================================
   BUTTONS
   ============================================= */
.rng-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
  padding: 12px 24px;
  border-radius: var(--rng-r-sm);
  transition: background var(--rng-t-fast), color var(--rng-t-fast), border-color var(--rng-t-fast), transform var(--rng-t-fast), box-shadow var(--rng-t-fast);
  white-space: nowrap;
  cursor: pointer;
  text-decoration: none;
}
.rng-btn:hover { transform: translateY(-1px); }
.rng-btn:active { transform: translateY(0); }

/* Primary — amber fill */
.rng-btn--primary {
  background: var(--rng-bg-brand);
  color: var(--rng-text-on-brand-dark);
  border: 2px solid var(--rng-bg-brand);
}
.rng-btn--primary:hover {
  background: #D4571600;
  background: #cf5815;
  border-color: #cf5815;
}

/* Ghost on dark */
.rng-btn--ghost-on-dark {
  background: transparent;
  color: var(--rng-text-dark-primary);
  border: 2px solid rgba(245, 240, 232, 0.3);
}
.rng-btn--ghost-on-dark:hover {
  border-color: rgba(245, 240, 232, 0.6);
  background: rgba(245, 240, 232, 0.05);
}

/* Ghost on light */
.rng-btn--ghost-on-light {
  background: transparent;
  color: var(--rng-text-light-primary);
  border: 2px solid rgba(28, 26, 24, 0.3);
}
.rng-btn--ghost-on-light:hover {
  border-color: rgba(28, 26, 24, 0.6);
  background: rgba(28, 26, 24, 0.05);
}

/* Outline dark (on light bg) */
.rng-btn--outline-dark {
  background: transparent;
  color: var(--rng-text-light-primary);
  border: 2px solid var(--rng-text-light-primary);
}
.rng-btn--outline-dark:hover {
  background: var(--rng-text-light-primary);
  color: var(--rng-bg-warm-white);
}

/* Nav ghost — compact */
.rng-btn--nav-ghost {
  font-size: 14px;
  font-weight: 500;
  padding: 8px 16px;
  background: transparent;
  color: var(--rng-text-dark-muted);
  border: 1.5px solid rgba(181, 168, 152, 0.25);
  border-radius: var(--rng-r-sm);
  transition: color var(--rng-t-fast), border-color var(--rng-t-fast);
}
.rng-btn--nav-ghost:hover {
  color: var(--rng-text-dark-primary);
  border-color: rgba(181, 168, 152, 0.5);
}

/* Full-width variant */
.rng-btn--full { width: 100%; }

/* Large */
.rng-btn--lg {
  font-size: 17px;
  padding: 16px 32px;
}

/* Small */
.rng-btn--sm {
  font-size: 13px;
  padding: 8px 16px;
}


/* =============================================
   EYEBROW LABELS
   ============================================= */
.rng-eyebrow {
  display: inline-block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 16px;
}
.rng-eyebrow--dark  { color: var(--rng-text-dark-muted); }
.rng-eyebrow--amber { color: var(--rng-text-amber-label); }
.rng-eyebrow--sage  { color: var(--rng-accent-active-text); }


/* =============================================
   HERO — INDEX (centered dark)
   ============================================= */
.rng-hero {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: var(--rng-nav-h);
  background:
    linear-gradient(180deg, rgba(17,16,16,0.82) 0%, rgba(17,16,16,0.55) 45%, rgba(17,16,16,0.78) 100%),
    url('../images/hero-bg-ambient.webp') center center / cover no-repeat,
    var(--rng-bg-void);
  color: var(--rng-text-dark-primary);
  text-align: center;
  position: relative;
  overflow: hidden;
}
.rng-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 80% 60% at 50% 40%, rgba(232, 99, 26, 0.08) 0%, transparent 70%);
  pointer-events: none;
}
.rng-hero__inner {
  position: relative;
  z-index: 1;
  max-width: 800px;
  margin-inline: auto;
  padding-inline: 40px;
  padding-block: 80px 60px;
}
.rng-hero__eyebrow {
  display: inline-block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--rng-accent-active-text);
  margin-bottom: 24px;
}
.rng-hero__h1 {
  font-family: var(--rng-font-head);
  font-size: clamp(38px, 5.5vw, 64px);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -0.025em;
  color: var(--rng-text-dark-primary);
  margin-bottom: 24px;
}
.rng-hero__sub {
  font-size: clamp(17px, 1.8vw, 20px);
  line-height: 1.6;
  color: var(--rng-text-dark-muted);
  max-width: 600px;
  margin-inline: auto;
  margin-bottom: 40px;
}
.rng-hero__waveform {
  margin-bottom: 40px;
  width: 100%;
  max-width: 500px;
  margin-inline: auto;
}
.rng-hero__ctas {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}
.rng-hero__scroll-hint {
  margin-top: 60px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  color: var(--rng-text-dark-muted);
  font-size: 12px;
  letter-spacing: 0.06em;
  opacity: 0.6;
}

/* Subpage hero (dark bg) */
.rng-subhero {
  background: var(--rng-bg-void);
  color: var(--rng-text-dark-primary);
  padding-top: calc(var(--rng-nav-h) + 72px);
  padding-bottom: 72px;
  text-align: center;
}
.rng-subhero__inner {
  max-width: var(--rng-max-w);
  margin-inline: auto;
  padding-inline: 40px;
}
.rng-subhero__h1 {
  font-family: var(--rng-font-head);
  font-size: clamp(32px, 4.5vw, 52px);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--rng-text-dark-primary);
  margin-bottom: 20px;
}
.rng-subhero__sub {
  font-size: clamp(16px, 1.5vw, 18px);
  line-height: 1.6;
  color: var(--rng-text-dark-muted);
  max-width: 600px;
  margin-inline: auto;
}

/* Subpage hero (light bg) */
.rng-subhero--light {
  background: var(--rng-bg-cream);
  color: var(--rng-text-light-primary);
  padding-top: calc(var(--rng-nav-h) + 72px);
  padding-bottom: 72px;
  text-align: center;
}
.rng-subhero--light .rng-subhero__h1 {
  color: var(--rng-text-light-primary);
}
.rng-subhero--light .rng-subhero__sub {
  color: var(--rng-text-light-muted);
}
/* When bg utility is applied directly, higher-specificity override restores intent */
.rng-subhero.rng-bg--cream {
  background: var(--rng-bg-cream);
  color: var(--rng-text-light-primary);
}
.rng-subhero.rng-bg--cream .rng-subhero__h1 {
  color: var(--rng-text-light-primary);
}
.rng-subhero.rng-bg--cream .rng-subhero__sub {
  color: var(--rng-text-light-muted);
}
.rng-subhero.rng-bg--ash {
  background: var(--rng-bg-ash);
  color: var(--rng-text-light-primary);
}
.rng-subhero.rng-bg--ash .rng-subhero__h1 {
  color: var(--rng-text-light-primary);
}
.rng-subhero.rng-bg--ash .rng-subhero__sub {
  color: var(--rng-text-light-muted);
}


/* =============================================
   WAVEFORM SVG ANIMATION
   ============================================= */
.rng-waveform {
  display: block;
  margin-inline: auto;
  opacity: 0.85;
  max-width: 100%;
  height: auto;
}
.rng-waveform__path {
  fill: none;
  stroke: var(--rng-bg-brand);
  stroke-linecap: round;
  stroke-linejoin: round;
}
.rng-waveform__path--1 {
  stroke-width: 2.5;
  stroke-dasharray: 600;
  stroke-dashoffset: 600;
  animation: rng-wave-scroll 3s linear infinite;
}
.rng-waveform__path--2 {
  stroke-width: 1.5;
  stroke-dasharray: 600;
  stroke-dashoffset: 600;
  animation: rng-wave-scroll 3s linear infinite 0.4s;
  opacity: 0.6;
}
.rng-waveform__path--3 {
  stroke-width: 1;
  stroke-dasharray: 600;
  stroke-dashoffset: 600;
  animation: rng-wave-scroll 3s linear infinite 0.8s;
  opacity: 0.35;
}
@keyframes rng-wave-scroll {
  from { stroke-dashoffset: 600; }
  to   { stroke-dashoffset: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .rng-waveform__path--1,
  .rng-waveform__path--2,
  .rng-waveform__path--3 {
    animation: none;
    stroke-dashoffset: 0;
  }
}


/* =============================================
   STATS STRIP
   ============================================= */
.rng-stats {
  background: var(--rng-bg-subtle);
  padding-block: 56px;
}
.rng-stats__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  max-width: var(--rng-max-w);
  margin-inline: auto;
  padding-inline: 40px;
}
.rng-stats__item {
  text-align: center;
  padding: 24px 32px;
  border-right: 1px solid rgba(181, 168, 152, 0.1);
}
.rng-stats__item:last-child { border-right: none; }
.rng-stats__number {
  font-family: var(--rng-font-head);
  font-size: clamp(36px, 4vw, 52px);
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--rng-text-dark-amber);
  line-height: 1;
  margin-bottom: 8px;
}
.rng-stats__label {
  font-size: 14px;
  font-weight: 500;
  color: var(--rng-text-dark-muted);
  line-height: 1.4;
}
.rng-stats__qualifier {
  font-size: 11px;
  color: var(--rng-text-dark-muted);
  opacity: 0.6;
  margin-top: 12px;
  font-style: italic;
}


/* =============================================
   PRODUCT PREVIEW / CALL FLOW MOCK
   ============================================= */
.rng-product-preview {
  background: var(--rng-bg-cream);
  padding-block: var(--rng-section-py);
}
.rng-product-preview__head {
  text-align: center;
  margin-bottom: 56px;
}

/* Step indicators */
.rng-steps {
  display: flex;
  align-items: flex-start;
  gap: 0;
  max-width: 860px;
  margin-inline: auto;
  margin-bottom: 56px;
  position: relative;
}
.rng-steps::before {
  content: '';
  position: absolute;
  top: 20px;
  left: calc(16.6% + 20px);
  right: calc(16.6% + 20px);
  height: 2px;
  background: linear-gradient(90deg, var(--rng-bg-brand), rgba(232,99,26,0.3));
}
.rng-step {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 0 12px;
  position: relative;
  z-index: 1;
}
.rng-step__num {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--rng-bg-brand);
  color: var(--rng-text-on-brand-dark);
  font-weight: 700;
  font-size: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
  flex-shrink: 0;
}
.rng-step__label {
  font-size: 13px;
  font-weight: 600;
  color: var(--rng-text-light-primary);
  line-height: 1.3;
}

/* Call flow chat mock */
.rng-call-mock {
  background: var(--rng-bg-warm-white);
  border: 1px solid rgba(92, 82, 72, 0.12);
  border-radius: var(--rng-r-lg);
  padding: 32px;
  max-width: 600px;
  margin-inline: auto;
  box-shadow: 0 4px 24px rgba(28, 26, 24, 0.08);
}
.rng-call-mock__header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(92, 82, 72, 0.1);
  margin-bottom: 24px;
}
.rng-call-mock__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--rng-bg-brand);
  box-shadow: 0 0 0 4px rgba(232, 99, 26, 0.15);
}
.rng-call-mock__label {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--rng-text-amber-label);
}
.rng-call-mock__bubbles {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.rng-bubble {
  max-width: 76%;
  padding: 12px 16px;
  border-radius: 16px;
  font-size: 14px;
  line-height: 1.5;
}
.rng-bubble--agent {
  background: var(--rng-bg-subtle);
  color: var(--rng-text-dark-primary);
  border-bottom-left-radius: 4px;
  align-self: flex-start;
}
.rng-bubble--human {
  background: var(--rng-bg-ash);
  color: var(--rng-text-light-primary);
  border-bottom-right-radius: 4px;
  align-self: flex-end;
}
.rng-bubble--meta {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #2A6641;
  background: rgba(74, 124, 89, 0.12);
  border-radius: 20px;
  padding: 6px 14px;
  align-self: center;
}


/* =============================================
   PROOF / TESTIMONIAL
   ============================================= */
.rng-proof {
  background: var(--rng-bg-deep);
  padding-block: var(--rng-section-py);
}
.rng-proof__inner {
  max-width: var(--rng-max-w);
  margin-inline: auto;
  padding-inline: 40px;
}
.rng-proof__head {
  text-align: center;
  margin-bottom: 56px;
}
.rng-testimonial-card {
  background: var(--rng-bg-subtle);
  border: 1px solid rgba(181, 168, 152, 0.1);
  border-radius: var(--rng-r-lg);
  padding: 40px;
  max-width: 720px;
  margin-inline: auto;
}
.rng-testimonial-card__quote {
  font-size: clamp(18px, 2vw, 22px);
  font-weight: 400;
  line-height: 1.6;
  color: var(--rng-text-dark-primary);
  margin-bottom: 32px;
  position: relative;
}
.rng-testimonial-card__quote::before {
  content: '"';
  font-family: var(--rng-font-head);
  font-size: 80px;
  line-height: 0;
  color: var(--rng-bg-brand);
  opacity: 0.4;
  position: absolute;
  top: 12px;
  left: -8px;
}
.rng-testimonial-card__author {
  display: flex;
  align-items: center;
  gap: 16px;
}
.rng-testimonial-card__avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--rng-bg-brand);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 16px;
  color: var(--rng-text-on-brand-dark);
  flex-shrink: 0;
}
.rng-testimonial-card__name {
  font-size: 15px;
  font-weight: 600;
  color: var(--rng-text-dark-primary);
}
.rng-testimonial-card__role {
  font-size: 13px;
  color: var(--rng-text-dark-muted);
  margin-top: 2px;
}
.rng-testimonial-card__qualifier {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid rgba(181, 168, 152, 0.1);
  font-size: 12px;
  color: var(--rng-text-dark-muted);
  font-style: italic;
}


/* =============================================
   USE CASES
   ============================================= */
.rng-use-cases {
  background: var(--rng-bg-ash);
  padding-block: var(--rng-section-py);
}
.rng-use-cases__head {
  text-align: center;
  margin-bottom: 48px;
}
.rng-use-cases__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  max-width: var(--rng-max-w);
  margin-inline: auto;
  padding-inline: 40px;
}
.rng-use-case-card {
  background: var(--rng-bg-warm-white);
  border: 1px solid rgba(92, 82, 72, 0.1);
  border-radius: var(--rng-r-lg);
  padding: 40px;
  transition: box-shadow var(--rng-t-mid), transform var(--rng-t-mid);
}
.rng-use-case-card:hover {
  box-shadow: 0 8px 32px rgba(28, 26, 24, 0.1);
  transform: translateY(-2px);
}
.rng-use-case-card__icon {
  width: 48px;
  height: 48px;
  border-radius: var(--rng-r-md);
  background: rgba(232, 99, 26, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
}
.rng-use-case-card__icon svg { color: var(--rng-bg-brand); }
.rng-use-case-card__title {
  font-family: var(--rng-font-head);
  font-size: 22px;
  font-weight: 700;
  color: var(--rng-text-light-primary);
  margin-bottom: 12px;
}
.rng-use-case-card__desc {
  font-size: 15px;
  line-height: 1.65;
  color: var(--rng-text-light-muted);
  margin-bottom: 24px;
}
.rng-use-case-card__features {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 28px;
}
.rng-use-case-card__feat {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  color: var(--rng-text-light-muted);
}
.rng-use-case-card__feat::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--rng-bg-brand);
  flex-shrink: 0;
  margin-top: 7px;
}


/* =============================================
   INTEGRATIONS STRIP
   ============================================= */
.rng-integrations-strip {
  background: var(--rng-bg-warm-white);
  padding-block: 64px;
}
.rng-integrations-strip__head {
  text-align: center;
  margin-bottom: 40px;
}
.rng-integrations-strip__logos {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
  flex-wrap: wrap;
  max-width: var(--rng-max-w);
  margin-inline: auto;
  padding-inline: 40px;
}
.rng-integration-logo {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--rng-text-light-muted);
  font-size: 15px;
  font-weight: 600;
  opacity: 0.7;
  transition: opacity var(--rng-t-fast);
}
.rng-integration-logo:hover { opacity: 1; }
.rng-integration-logo svg {
  flex-shrink: 0;
}


/* =============================================
   PRICING CARDS (used in both pricing-preview and pricing.html)
   ============================================= */
.rng-pricing-preview {
  background: var(--rng-bg-deep);
  padding-block: var(--rng-section-py);
}
.rng-pricing-preview__head {
  text-align: center;
  margin-bottom: 48px;
}
.rng-tiers {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  max-width: var(--rng-max-w);
  margin-inline: auto;
  padding-inline: 40px;
}
.rng-tier-card {
  background: var(--rng-bg-subtle);
  border: 1px solid rgba(181, 168, 152, 0.1);
  border-radius: var(--rng-r-lg);
  padding: 32px;
  display: flex;
  flex-direction: column;
  color: var(--rng-text-dark-primary);
  transition: border-color var(--rng-t-mid);
}
.rng-tier-card:hover { border-color: rgba(232, 99, 26, 0.3); }
.rng-tier-card--highlight {
  border-color: var(--rng-bg-brand);
  position: relative;
}
.rng-tier-card--highlight::before {
  content: 'Most Popular';
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--rng-bg-brand);
  color: var(--rng-text-on-brand-dark);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: 20px;
}

/* Pricing tiers on light bg (pricing.html) */
.rng-tiers--light .rng-tier-card {
  background: var(--rng-bg-warm-white);
  border-color: rgba(92, 82, 72, 0.12);
  color: var(--rng-text-light-primary);
}
.rng-tiers--light .rng-tier-card--highlight {
  border-color: var(--rng-bg-brand);
}
.rng-tiers--light .rng-tier-card__name { color: var(--rng-text-light-primary); }
.rng-tiers--light .rng-tier-card__price { color: var(--rng-text-light-primary); }
.rng-tiers--light .rng-tier-card__unit  { color: var(--rng-text-light-muted); }
.rng-tiers--light .rng-tier-card__desc  { color: var(--rng-text-light-muted); }
.rng-tiers--light .rng-tier-card__feat  { color: var(--rng-text-light-muted); }
.rng-tiers--light .rng-tier-card__divider { border-color: rgba(92, 82, 72, 0.1); }

.rng-tier-card__badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--rng-text-amber-label);
  background: rgba(139, 56, 0, 0.1);
  padding: 3px 10px;
  border-radius: 20px;
  margin-bottom: 16px;
}
.rng-tier-card__name {
  font-family: var(--rng-font-head);
  font-size: 22px;
  font-weight: 700;
  color: var(--rng-text-dark-primary);
  margin-bottom: 8px;
}
.rng-tier-card__price {
  font-family: var(--rng-font-head);
  font-size: 44px;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--rng-text-dark-primary);
  line-height: 1;
  margin-bottom: 4px;
}
.rng-tier-card__price sup {
  font-size: 22px;
  font-weight: 600;
  vertical-align: super;
}
.rng-tier-card__unit {
  font-size: 14px;
  color: var(--rng-text-dark-muted);
  margin-bottom: 16px;
}
.rng-tier-card__minutes {
  font-size: 13px;
  font-weight: 500;
  color: var(--rng-accent-active-text);
  margin-bottom: 20px;
}
.rng-tiers--light .rng-tier-card__minutes { color: var(--rng-accent-active); }
.rng-tier-card__desc {
  font-size: 14px;
  line-height: 1.5;
  color: var(--rng-text-dark-muted);
  margin-bottom: 24px;
}
.rng-tier-card__divider {
  border: none;
  border-top: 1px solid rgba(181, 168, 152, 0.12);
  margin-bottom: 24px;
}
.rng-tier-card__features {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
  margin-bottom: 28px;
}
.rng-tier-card__feat {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  line-height: 1.4;
  color: var(--rng-text-dark-muted);
}
.rng-tier-card__feat::before {
  content: '';
  width: 16px;
  height: 16px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M13.5 3.5L6 11 2.5 7.5' stroke='%23E8631A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") no-repeat center;
  flex-shrink: 0;
  margin-top: 1px;
}
.rng-tier-card__overage {
  font-size: 12px;
  color: var(--rng-text-dark-muted);
  margin-bottom: 20px;
  opacity: 0.75;
}
.rng-tiers--light .rng-tier-card__overage { color: var(--rng-text-light-muted); }
.rng-pricing-preview__link {
  text-align: center;
  margin-top: 32px;
}
.rng-pricing-preview__link a {
  font-size: 14px;
  font-weight: 500;
  color: var(--rng-text-dark-muted);
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color var(--rng-t-fast);
}
.rng-pricing-preview__link a:hover { color: var(--rng-text-dark-primary); }


/* =============================================
   CTA FINAL (brand/amber section)
   ============================================= */
.rng-cta-final {
  background: var(--rng-bg-brand);
  padding-block: 96px;
  text-align: center;
}
.rng-cta-final__inner {
  max-width: var(--rng-max-w);
  margin-inline: auto;
  padding-inline: 40px;
}
.rng-cta-final__h2 {
  font-family: var(--rng-font-head);
  font-size: clamp(28px, 3.5vw, 44px);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--rng-text-on-brand-dark);
  margin-bottom: 16px;
  line-height: 1.1;
}
.rng-cta-final__sub {
  font-size: 18px;
  color: rgba(28, 26, 24, 0.7);
  margin-bottom: 36px;
}
.rng-cta-final .rng-btn--primary {
  background: var(--rng-text-on-brand-dark);
  color: var(--rng-bg-brand);
  border-color: var(--rng-text-on-brand-dark);
  font-size: 17px;
  padding: 16px 36px;
}
.rng-cta-final .rng-btn--primary:hover {
  background: rgba(28, 26, 24, 0.88);
}

/* Generic dark CTA section */
.rng-cta-dark {
  background: var(--rng-bg-deep);
  padding-block: 80px;
  text-align: center;
}
.rng-cta-dark__inner {
  max-width: var(--rng-max-w);
  margin-inline: auto;
  padding-inline: 40px;
}
.rng-cta-dark__h2 {
  font-family: var(--rng-font-head);
  font-size: clamp(24px, 3vw, 36px);
  font-weight: 700;
  color: var(--rng-text-dark-primary);
  margin-bottom: 20px;
}
.rng-cta-dark__ctas {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}


/* =============================================
   PIPELINE DIAGRAM (how-it-works.html)
   ============================================= */
.rng-pipeline {
  background: var(--rng-bg-subtle);
  padding-block: var(--rng-section-py);
}
.rng-pipeline__head {
  text-align: center;
  margin-bottom: 56px;
}
.rng-pipeline__flow {
  display: flex;
  align-items: center;
  gap: 0;
  max-width: var(--rng-max-w);
  margin-inline: auto;
  padding-inline: 40px;
  overflow-x: auto;
}
.rng-pipeline__node {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 24px 16px;
  background: var(--rng-bg-deep);
  border: 1px solid rgba(181, 168, 152, 0.12);
  border-radius: var(--rng-r-md);
  position: relative;
}
.rng-pipeline__node-icon {
  width: 40px;
  height: 40px;
  margin-bottom: 12px;
  color: var(--rng-bg-brand);
}
.rng-pipeline__node-label {
  font-size: 13px;
  font-weight: 600;
  color: var(--rng-text-dark-primary);
  line-height: 1.3;
}
.rng-pipeline__arrow {
  display: flex;
  align-items: center;
  padding-inline: 4px;
  color: var(--rng-bg-brand);
  flex-shrink: 0;
}


/* =============================================
   FEATURE CARDS (how-it-works voice-quality)
   ============================================= */
.rng-features {
  background: var(--rng-bg-cream);
  padding-block: var(--rng-section-py);
}
.rng-features__head {
  text-align: center;
  margin-bottom: 48px;
}
.rng-feature-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: var(--rng-max-w);
  margin-inline: auto;
  padding-inline: 40px;
}
.rng-feature-card {
  background: var(--rng-bg-ash);
  border: 1px solid rgba(92, 82, 72, 0.1);
  border-radius: var(--rng-r-lg);
  padding: 32px;
}
.rng-feature-card__icon {
  width: 44px;
  height: 44px;
  border-radius: var(--rng-r-sm);
  background: rgba(232, 99, 26, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--rng-bg-brand);
  margin-bottom: 16px;
}
.rng-feature-card__title {
  font-size: 17px;
  font-weight: 600;
  color: var(--rng-text-light-primary);
  margin-bottom: 8px;
}
.rng-feature-card__desc {
  font-size: 14px;
  line-height: 1.6;
  color: var(--rng-text-light-muted);
}


/* =============================================
   CALL FLOW DEMO TIMELINE
   ============================================= */
.rng-call-flow {
  background: var(--rng-bg-ash);
  padding-block: var(--rng-section-py);
}
.rng-call-flow__head {
  text-align: center;
  margin-bottom: 48px;
}
.rng-timeline {
  max-width: 640px;
  margin-inline: auto;
  padding-inline: 40px;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.rng-timeline__step {
  display: flex;
  gap: 20px;
  position: relative;
  padding-bottom: 32px;
}
.rng-timeline__step:last-child { padding-bottom: 0; }
.rng-timeline__step:not(:last-child)::after {
  content: '';
  position: absolute;
  left: 15px;
  top: 32px;
  bottom: 0;
  width: 2px;
  background: rgba(92, 82, 72, 0.12);
}
.rng-timeline__dot {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--rng-bg-brand);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  position: relative;
  z-index: 1;
}
.rng-timeline__dot svg { color: var(--rng-text-on-brand-dark); }
.rng-timeline__body {
  flex: 1;
  padding-top: 4px;
}
.rng-timeline__label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--rng-text-amber-label);
  margin-bottom: 4px;
}
.rng-timeline__text {
  font-size: 15px;
  line-height: 1.5;
  color: var(--rng-text-light-primary);
}
.rng-timeline__meta {
  font-size: 12px;
  color: var(--rng-text-light-muted);
  margin-top: 4px;
}


/* =============================================
   INTEGRATIONS GRID (integrations.html)
   ============================================= */
.rng-integrations-section {
  background: var(--rng-bg-ash);
  padding-block: var(--rng-section-py);
}
.rng-integrations-section__head {
  text-align: center;
  margin-bottom: 48px;
}
.rng-integration-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  max-width: var(--rng-max-w);
  margin-inline: auto;
  padding-inline: 40px;
}
.rng-integration-card {
  background: var(--rng-bg-warm-white);
  border: 1px solid rgba(92, 82, 72, 0.1);
  border-radius: var(--rng-r-md);
  padding: 24px 20px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  transition: box-shadow var(--rng-t-mid), border-color var(--rng-t-mid);
}
.rng-integration-card:hover {
  box-shadow: 0 4px 20px rgba(28, 26, 24, 0.08);
  border-color: rgba(232, 99, 26, 0.2);
}
.rng-integration-card__logo {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--rng-text-light-muted);
}
.rng-integration-card__name {
  font-size: 15px;
  font-weight: 600;
  color: var(--rng-text-light-primary);
}
.rng-integration-card__cat {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--rng-text-amber-label);
}
.rng-integration-card__desc {
  font-size: 13px;
  line-height: 1.5;
  color: var(--rng-text-light-muted);
}


/* =============================================
   API ACCESS / CODE BLOCK
   ============================================= */
.rng-api-section {
  background: var(--rng-bg-deep);
  padding-block: var(--rng-section-py);
}
.rng-api-section__head {
  text-align: center;
  margin-bottom: 48px;
}
.rng-code-block {
  background: var(--rng-bg-void);
  border: 1px solid rgba(181, 168, 152, 0.12);
  border-radius: var(--rng-r-md);
  overflow: hidden;
  max-width: 680px;
  margin-inline: auto;
}
.rng-code-block__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 20px;
  background: rgba(245, 240, 232, 0.04);
  border-bottom: 1px solid rgba(181, 168, 152, 0.08);
}
.rng-code-block__lang {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--rng-text-dark-muted);
}
.rng-code-block__dots {
  display: flex;
  gap: 6px;
}
.rng-code-block__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(181, 168, 152, 0.2);
}
.rng-code-block pre {
  padding: 24px;
  overflow-x: auto;
  font-family: var(--rng-font-mono);
  font-size: 13px;
  line-height: 1.7;
  color: var(--rng-text-dark-muted);
}
.rng-code-block .rng-code-key   { color: var(--rng-text-dark-amber); }
.rng-code-block .rng-code-str   { color: var(--rng-accent-active-text); }
.rng-code-block .rng-code-num   { color: #A78BFA; }
.rng-code-block .rng-code-bool  { color: #60A5FA; }


/* =============================================
   PRICING PAGE FAQ
   ============================================= */
.rng-faq {
  background: var(--rng-bg-ash);
  padding-block: var(--rng-section-py);
}
.rng-faq__head {
  text-align: center;
  margin-bottom: 48px;
}
.rng-faq__list {
  max-width: 720px;
  margin-inline: auto;
  padding-inline: 40px;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.rng-faq__item {
  border-top: 1px solid rgba(92, 82, 72, 0.12);
}
.rng-faq__item:last-child { border-bottom: 1px solid rgba(92, 82, 72, 0.12); }
.rng-faq__q {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 20px 0;
  font-size: 16px;
  font-weight: 600;
  color: var(--rng-text-light-primary);
  text-align: left;
  cursor: pointer;
  background: none;
  border: none;
  font-family: var(--rng-font-body);
  gap: 16px;
}
.rng-faq__q:hover { color: var(--rng-text-amber-label); }
.rng-faq__icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  color: var(--rng-text-light-muted);
  transition: transform var(--rng-t-mid), color var(--rng-t-mid);
}
.rng-faq__item--open .rng-faq__icon {
  transform: rotate(45deg);
  color: var(--rng-bg-brand);
}
.rng-faq__a {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}
.rng-faq__item--open .rng-faq__a { max-height: 400px; }
.rng-faq__a-inner {
  padding-bottom: 20px;
  font-size: 15px;
  line-height: 1.65;
  color: var(--rng-text-light-muted);
}


/* =============================================
   ABOUT — STORY SECTION
   ============================================= */
.rng-story {
  background: var(--rng-bg-cream);
  padding-block: var(--rng-section-py);
}
.rng-story__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  max-width: var(--rng-max-w);
  margin-inline: auto;
  padding-inline: 40px;
  align-items: start;
}
.rng-story__col-head {
  font-family: var(--rng-font-head);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--rng-text-amber-label);
  margin-bottom: 16px;
}
.rng-story__col p {
  font-size: 16px;
  line-height: 1.75;
  color: var(--rng-text-light-muted);
  margin-bottom: 16px;
}
.rng-story__col p:last-child { margin-bottom: 0; }


/* =============================================
   TEAM CARDS
   ============================================= */
.rng-team {
  background: var(--rng-bg-ash);
  padding-block: var(--rng-section-py);
}
.rng-team__head {
  text-align: center;
  margin-bottom: 48px;
}
.rng-team__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: var(--rng-max-w);
  margin-inline: auto;
  padding-inline: 40px;
}
.rng-team-card {
  background: var(--rng-bg-warm-white);
  border: 1px solid rgba(92, 82, 72, 0.1);
  border-radius: var(--rng-r-lg);
  padding: 32px 24px;
  text-align: center;
}
.rng-team-card__avatar-wrap {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  overflow: hidden;
  margin-inline: auto;
  margin-bottom: 20px;
  background: var(--rng-bg-ash);
}
.rng-team-card__avatar-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.rng-team-card__initials {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  background: var(--rng-bg-brand);
  display: none;
  align-items: center;
  justify-content: center;
  font-family: var(--rng-font-head);
  font-size: 28px;
  font-weight: 800;
  color: var(--rng-text-on-brand-dark);
  margin-inline: auto;
  margin-bottom: 20px;
}
.rng-team-card__name {
  font-family: var(--rng-font-head);
  font-size: 18px;
  font-weight: 700;
  color: var(--rng-text-light-primary);
  margin-bottom: 4px;
}
.rng-team-card__role {
  font-size: 13px;
  font-weight: 600;
  color: var(--rng-text-amber-label);
  letter-spacing: 0.04em;
  margin-bottom: 12px;
}
.rng-team-card__bio {
  font-size: 14px;
  line-height: 1.6;
  color: var(--rng-text-light-muted);
}


/* =============================================
   FUNDING CONTEXT SECTION
   ============================================= */
.rng-funding-ctx {
  background: var(--rng-bg-warm-white);
  padding-block: 64px;
}
.rng-funding-ctx__inner {
  max-width: 640px;
  margin-inline: auto;
  padding-inline: 40px;
  text-align: center;
}
.rng-funding-ctx__text {
  font-size: 16px;
  line-height: 1.75;
  color: var(--rng-text-light-muted);
}


/* =============================================
   CONTACT FORM
   ============================================= */
.rng-contact-section {
  background: var(--rng-bg-warm-white);
  padding-block: var(--rng-section-py);
}
.rng-contact-grid {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 80px;
  max-width: var(--rng-max-w);
  margin-inline: auto;
  padding-inline: 40px;
  align-items: start;
}
.rng-contact-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.rng-form-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.rng-form-group--2col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.rng-form-label {
  font-size: 13px;
  font-weight: 600;
  color: var(--rng-text-light-primary);
}
.rng-form-input,
.rng-form-select,
.rng-form-textarea {
  width: 100%;
  padding: 12px 16px;
  background: var(--rng-bg-cream);
  border: 1.5px solid rgba(92, 82, 72, 0.2);
  border-radius: var(--rng-r-sm);
  font-size: 15px;
  color: var(--rng-text-light-primary);
  transition: border-color var(--rng-t-fast), box-shadow var(--rng-t-fast);
  outline: none;
}
.rng-form-input:focus,
.rng-form-select:focus,
.rng-form-textarea:focus {
  border-color: var(--rng-bg-brand);
  box-shadow: 0 0 0 3px rgba(232, 99, 26, 0.12);
}
.rng-form-textarea { resize: vertical; min-height: 140px; }
.rng-form-select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' stroke='%235C5248' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; padding-right: 36px; }
.rng-form-submit { align-self: flex-start; }
.rng-form-success {
  display: none;
  background: rgba(74, 124, 89, 0.1);
  border: 1px solid rgba(74, 124, 89, 0.3);
  border-radius: var(--rng-r-sm);
  padding: 16px 20px;
  font-size: 15px;
  color: var(--rng-accent-active);
}
.rng-contact-info {
  padding-top: 8px;
}
.rng-contact-info__head {
  font-family: var(--rng-font-head);
  font-size: 18px;
  font-weight: 700;
  color: var(--rng-text-light-primary);
  margin-bottom: 24px;
}
.rng-contact-info__items {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.rng-contact-info__item {
  display: flex;
  gap: 14px;
  align-items: flex-start;
}
.rng-contact-info__icon {
  width: 36px;
  height: 36px;
  border-radius: var(--rng-r-sm);
  background: rgba(232, 99, 26, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--rng-bg-brand);
  flex-shrink: 0;
  margin-top: 2px;
}
.rng-contact-info__label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--rng-text-amber-label);
  margin-bottom: 4px;
}
.rng-contact-info__value {
  font-size: 14px;
  line-height: 1.5;
  color: var(--rng-text-light-muted);
}
.rng-contact-info__value a {
  color: var(--rng-text-light-primary);
  text-decoration: underline;
  text-underline-offset: 2px;
}


/* =============================================
   LOCATION INFO
   ============================================= */
.rng-location {
  background: var(--rng-bg-ash);
  padding-block: 56px;
}
.rng-location__inner {
  max-width: 600px;
  margin-inline: auto;
  padding-inline: 40px;
  text-align: center;
}
.rng-location__text {
  font-size: 16px;
  line-height: 1.7;
  color: var(--rng-text-light-muted);
}


/* =============================================
   BLOG / PULSE INDEX
   ============================================= */
.rng-blog-hero {
  background: var(--rng-bg-cream);
  padding-top: calc(var(--rng-nav-h) + 64px);
  padding-bottom: 64px;
  text-align: center;
}
.rng-blog-hero__inner {
  max-width: var(--rng-max-w);
  margin-inline: auto;
  padding-inline: 40px;
}
.rng-featured-article {
  background: var(--rng-bg-ash);
  padding-block: var(--rng-section-py);
}
.rng-featured-article__inner {
  max-width: var(--rng-max-w);
  margin-inline: auto;
  padding-inline: 40px;
}
.rng-featured-card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  background: var(--rng-bg-warm-white);
  border: 1px solid rgba(92, 82, 72, 0.1);
  border-radius: var(--rng-r-lg);
  overflow: hidden;
  align-items: start;
}
.rng-featured-card__cover {
  aspect-ratio: 16/9;
  overflow: hidden;
}
.rng-featured-card__cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.rng-featured-card__body {
  padding: 40px 40px 40px 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.rng-featured-card__label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--rng-text-amber-label);
  margin-bottom: 12px;
}
.rng-featured-card__title {
  font-family: var(--rng-font-head);
  font-size: clamp(20px, 2.5vw, 28px);
  font-weight: 700;
  color: var(--rng-text-light-primary);
  margin-bottom: 12px;
  line-height: 1.2;
}
.rng-featured-card__excerpt {
  font-size: 15px;
  line-height: 1.65;
  color: var(--rng-text-light-muted);
  margin-bottom: 20px;
}
.rng-featured-card__meta {
  font-size: 13px;
  color: var(--rng-text-light-muted);
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 24px;
}

.rng-articles-section {
  background: var(--rng-bg-warm-white);
  padding-block: var(--rng-section-py);
}
.rng-articles-section__inner {
  max-width: var(--rng-max-w);
  margin-inline: auto;
  padding-inline: 40px;
}
.rng-articles-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  margin-top: 40px;
}
.rng-article-card {
  background: var(--rng-bg-warm-white);
  border: 1px solid rgba(92, 82, 72, 0.1);
  border-radius: var(--rng-r-md);
  overflow: hidden;
  transition: box-shadow var(--rng-t-mid), transform var(--rng-t-mid);
  display: flex;
  flex-direction: column;
}
.rng-article-card:hover {
  box-shadow: 0 8px 28px rgba(28, 26, 24, 0.1);
  transform: translateY(-2px);
}
.rng-article-card__cover {
  aspect-ratio: 16/9;
  overflow: hidden;
  background: var(--rng-bg-ash);
}
.rng-article-card__cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.rng-article-card:hover .rng-article-card__cover img { transform: scale(1.04); }
.rng-article-card__body {
  padding: 20px;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.rng-article-card__title {
  font-family: var(--rng-font-head);
  font-size: 16px;
  font-weight: 600;
  color: var(--rng-text-light-primary);
  margin-bottom: 8px;
  line-height: 1.35;
}
.rng-article-card__excerpt {
  font-size: 13px;
  line-height: 1.55;
  color: var(--rng-text-light-muted);
  flex: 1;
  margin-bottom: 12px;
}
.rng-article-card__meta {
  font-size: 12px;
  color: var(--rng-text-light-muted);
}


/* =============================================
   PULSE ARTICLE TEMPLATE
   ============================================= */
.rng-article-hero {
  background: var(--rng-bg-void);
  padding-top: calc(var(--rng-nav-h) + 56px);
  padding-bottom: 40px;
}
.rng-article-hero__inner {
  max-width: var(--rng-max-w);
  margin-inline: auto;
  padding-inline: 40px;
}
.rng-article-back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 500;
  color: var(--rng-text-dark-amber);
  margin-bottom: 24px;
  transition: gap var(--rng-t-fast), color var(--rng-t-fast);
}
.rng-article-back:hover {
  color: var(--rng-text-dark-primary);
  gap: 10px;
}
.rng-article-hero__h1 {
  font-family: var(--rng-font-head);
  font-size: clamp(28px, 3.5vw, 44px);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--rng-text-dark-primary);
  max-width: 780px;
  margin-bottom: 20px;
}
.rng-article-hero__meta {
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 14px;
  color: var(--rng-text-dark-muted);
  margin-bottom: 36px;
}
.rng-article-hero__cover {
  max-width: 900px;
  margin-inline: auto;
  border-radius: var(--rng-r-md);
  overflow: hidden;
  aspect-ratio: 16/9;
}
.rng-article-hero__cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.rng-article-content {
  max-width: 680px;
  margin-inline: auto;
  padding-block: var(--rng-section-py);
  padding-inline: 40px;
  font-size: 17px;
  line-height: 1.75;
  color: var(--rng-text-light-primary);
}
.rng-article-content h2 {
  font-family: var(--rng-font-head);
  font-size: 26px;
  font-weight: 700;
  color: var(--rng-text-light-primary);
  margin-top: 48px;
  margin-bottom: 16px;
}
.rng-article-content h3 {
  font-family: var(--rng-font-head);
  font-size: 20px;
  font-weight: 600;
  color: var(--rng-text-light-primary);
  margin-top: 32px;
  margin-bottom: 12px;
}
.rng-article-content p { margin-bottom: 20px; color: var(--rng-text-light-muted); }
.rng-article-content a { color: var(--rng-text-amber-label); text-decoration: underline; text-underline-offset: 3px; }
.rng-article-content ul,
.rng-article-content ol {
  padding-left: 24px;
  margin-bottom: 20px;
}
.rng-article-content li { margin-bottom: 8px; color: var(--rng-text-light-muted); }
.rng-article-content pre {
  background: var(--rng-bg-deep);
  color: var(--rng-text-dark-muted);
  font-family: var(--rng-font-mono);
  font-size: 14px;
  line-height: 1.6;
  padding: 24px;
  border-radius: var(--rng-r-md);
  overflow-x: auto;
  max-width: 100%;
  margin-bottom: 24px;
}
.rng-article-content code {
  font-family: var(--rng-font-mono);
  font-size: 14px;
  background: var(--rng-bg-ash);
  padding: 2px 6px;
  border-radius: 4px;
}
.rng-article-content blockquote {
  border-left: 3px solid var(--rng-bg-brand);
  padding-left: 24px;
  margin: 28px 0;
  font-size: 18px;
  font-style: italic;
  color: var(--rng-text-light-primary);
}


/* =============================================
   AUTH PAGES (login/ fullscreen card)
   ============================================= */
.rng-auth-page {
  min-height: 100vh;
  background: var(--rng-bg-void);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 24px;
}
.rng-auth-logo {
  margin-bottom: 40px;
}
.rng-auth-logo img { height: 28px; width: auto; }
.rng-auth-card {
  background: var(--rng-bg-subtle);
  border: 1px solid rgba(181, 168, 152, 0.12);
  border-radius: var(--rng-r-lg);
  padding: 44px 40px;
  width: 100%;
  max-width: 440px;
}
.rng-auth-card__title {
  font-family: var(--rng-font-head);
  font-size: 26px;
  font-weight: 800;
  color: var(--rng-text-dark-primary);
  margin-bottom: 8px;
}
.rng-auth-card__sub {
  font-size: 15px;
  color: var(--rng-text-dark-muted);
  margin-bottom: 32px;
}
.rng-auth-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.rng-auth-label {
  font-size: 13px;
  font-weight: 600;
  color: var(--rng-text-dark-muted);
  display: block;
  margin-bottom: 6px;
}
.rng-auth-input {
  width: 100%;
  padding: 12px 16px;
  background: var(--rng-bg-deep);
  border: 1.5px solid rgba(181, 168, 152, 0.15);
  border-radius: var(--rng-r-sm);
  font-size: 15px;
  color: var(--rng-text-dark-primary);
  outline: none;
  transition: border-color var(--rng-t-fast), box-shadow var(--rng-t-fast);
  font-family: var(--rng-font-body);
}
.rng-auth-input:focus {
  border-color: var(--rng-bg-brand);
  box-shadow: 0 0 0 3px rgba(232, 99, 26, 0.18);
}
.rng-auth-input::placeholder { color: rgba(181, 168, 152, 0.5); }
.rng-auth-forgot {
  font-size: 13px;
  color: var(--rng-text-dark-muted);
  text-align: right;
  transition: color var(--rng-t-fast);
}
.rng-auth-forgot:hover { color: var(--rng-text-dark-primary); }
.rng-auth-error {
  display: none;
  background: rgba(220, 38, 38, 0.1);
  border: 1px solid rgba(220, 38, 38, 0.25);
  border-radius: var(--rng-r-sm);
  padding: 12px 16px;
  font-size: 14px;
  color: #FCA5A5;
}
.rng-auth-success {
  display: none;
  background: rgba(74, 124, 89, 0.15);
  border: 1px solid rgba(74, 124, 89, 0.3);
  border-radius: var(--rng-r-sm);
  padding: 12px 16px;
  font-size: 14px;
  color: var(--rng-accent-active-text);
}
.rng-auth-confirm {
  display: none;
  text-align: center;
  padding: 24px 0;
}
.rng-auth-confirm__icon {
  font-size: 40px;
  margin-bottom: 16px;
}
.rng-auth-confirm__msg {
  font-size: 15px;
  line-height: 1.6;
  color: var(--rng-text-dark-muted);
}
.rng-auth-divider {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 8px 0;
}
.rng-auth-divider::before,
.rng-auth-divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: rgba(181, 168, 152, 0.12);
}
.rng-auth-divider span {
  font-size: 12px;
  color: var(--rng-text-dark-muted);
}
.rng-auth-footer {
  margin-top: 28px;
  text-align: center;
  font-size: 14px;
  color: var(--rng-text-dark-muted);
}
.rng-auth-footer a {
  color: var(--rng-text-dark-amber);
  font-weight: 500;
  transition: opacity var(--rng-t-fast);
}
.rng-auth-footer a:hover { opacity: 0.8; }
.rng-auth-legal {
  margin-top: 24px;
  text-align: center;
  font-size: 12px;
  color: rgba(181, 168, 152, 0.6);
  line-height: 1.5;
}
.rng-auth-legal a {
  color: rgba(181, 168, 152, 0.7);
  text-decoration: underline;
  text-underline-offset: 2px;
}


/* =============================================
   LEGAL PAGE SHELL (for abw-legal)
   ============================================= */
.rng-legal-hero {
  background: var(--rng-bg-cream);
  padding-top: calc(var(--rng-nav-h) + 64px);
  padding-bottom: 48px;
}
.rng-legal-hero__inner {
  max-width: var(--rng-max-w-sm);
  margin-inline: auto;
  padding-inline: 40px;
}
.rng-legal-hero__h1 {
  font-family: var(--rng-font-head);
  font-size: clamp(28px, 3.5vw, 40px);
  font-weight: 800;
  color: var(--rng-text-light-primary);
  margin-bottom: 8px;
}
.rng-legal-hero__date {
  font-size: 14px;
  color: var(--rng-text-light-muted);
}
.rng-legal-content-section {
  background: var(--rng-bg-warm-white);
  padding-block: var(--rng-section-py);
}
.rng-legal-content {
  max-width: var(--rng-max-w-sm);
  margin-inline: auto;
  padding-inline: 40px;
  font-size: 16px;
  line-height: 1.75;
  color: var(--rng-text-light-muted);
}
.rng-legal-content h2 {
  font-size: 20px;
  font-weight: 700;
  color: var(--rng-text-light-primary);
  margin-top: 40px;
  margin-bottom: 12px;
}
.rng-legal-content h3 {
  font-size: 17px;
  font-weight: 600;
  color: var(--rng-text-light-primary);
  margin-top: 28px;
  margin-bottom: 10px;
}
.rng-legal-content p { margin-bottom: 16px; }
.rng-legal-content ul,
.rng-legal-content ol {
  padding-left: 24px;
  margin-bottom: 16px;
}
.rng-legal-content li { margin-bottom: 6px; }
.rng-legal-content a {
  color: var(--rng-text-amber-label);
  text-decoration: underline;
  text-underline-offset: 2px;
}


/* =============================================
   FOOTER
   ============================================= */
.rng-footer {
  background: var(--rng-bg-void);
  color: var(--rng-text-dark-primary);
  padding-top: 72px;
  padding-bottom: 40px;
}
.rng-footer__inner {
  max-width: var(--rng-max-w);
  margin-inline: auto;
  padding-inline: 40px;
}
.rng-footer__top {
  display: grid;
  grid-template-columns: 1fr repeat(3, 1fr);
  gap: 48px;
  padding-bottom: 56px;
  border-bottom: 1px solid rgba(181, 168, 152, 0.1);
  margin-bottom: 40px;
}
.rng-footer__brand img { height: 26px; width: auto; margin-bottom: 16px; }
.rng-footer__tagline {
  font-size: 14px;
  line-height: 1.6;
  color: var(--rng-text-dark-muted);
  max-width: 220px;
}
.rng-footer__col-head {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--rng-text-dark-muted);
  margin-bottom: 16px;
}
.rng-footer__links {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.rng-footer__link {
  font-size: 14px;
  color: rgba(181, 168, 152, 0.75);
  transition: color var(--rng-t-fast);
}
.rng-footer__link:hover { color: var(--rng-text-dark-primary); }
.rng-footer__bottom {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.rng-footer__contact {
  font-size: 13px;
  color: var(--rng-text-dark-muted);
  opacity: 0.65;
  line-height: 1.5;
}
.rng-footer__copy-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
}
.rng-footer__copy {
  font-size: 13px;
  color: rgba(181, 168, 152, 0.5);
}
.rng-footer__legal-links {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}
.rng-footer__legal-link {
  font-size: 12px;
  color: rgba(181, 168, 152, 0.5);
  transition: color var(--rng-t-fast);
}
.rng-footer__legal-link:hover { color: rgba(181, 168, 152, 0.85); }


/* =============================================
   COOKIE BANNER
   ============================================= */
.cookie-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: var(--rng-bg-subtle);
  border-top: 1px solid rgba(181, 168, 152, 0.15);
  z-index: 2000;
  padding: 0;
}
.cookie-banner__inner {
  max-width: var(--rng-max-w);
  margin-inline: auto;
  padding: 20px 40px;
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}
.cookie-banner__text {
  flex: 1;
  font-size: 14px;
  line-height: 1.5;
  color: var(--rng-text-dark-muted);
  min-width: 240px;
}
.cookie-banner__text a {
  color: var(--rng-text-dark-amber);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.cookie-banner__actions {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
  flex-wrap: wrap;
}
.cookie-banner__btn {
  font-size: 14px;
  font-weight: 600;
  padding: 10px 20px;
  border-radius: var(--rng-r-sm);
  cursor: pointer;
  border: 2px solid transparent;
  font-family: var(--rng-font-body);
  transition: background var(--rng-t-fast), color var(--rng-t-fast);
  background: transparent;
  color: var(--rng-text-dark-muted);
  border-color: rgba(181, 168, 152, 0.2);
}
.cookie-banner__btn--primary {
  background: var(--rng-bg-brand);
  color: var(--rng-text-on-brand-dark);
  border-color: var(--rng-bg-brand);
}
.cookie-banner__btn--primary:hover {
  background: #cf5815;
  border-color: #cf5815;
}
.cookie-banner__btn--secondary {
  background: transparent;
  color: var(--rng-text-dark-muted);
  border-color: rgba(181, 168, 152, 0.3);
}
.cookie-banner__btn--secondary:hover {
  color: var(--rng-text-dark-primary);
  border-color: rgba(181, 168, 152, 0.6);
}


/* =============================================
   FADE-IN ANIMATION (IntersectionObserver)
   ============================================= */
.rng-fade-in {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.rng-fade-in--visible {
  opacity: 1;
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  .rng-fade-in { opacity: 1; transform: none; transition: none; }
}


/* =============================================
   RESPONSIVE
   ============================================= */
@media (max-width: 1024px) {
  :root {
    --rng-section-py: 72px;
  }
  .rng-container,
  .rng-container--sm { padding-inline: 24px; }
  .rng-hero__inner { padding-inline: 24px; }
  .rng-stats__grid { padding-inline: 24px; }
  .rng-use-cases__grid { padding-inline: 24px; }
  .rng-tiers { padding-inline: 24px; }
  .rng-feature-cards { padding-inline: 24px; }
  .rng-team__grid { padding-inline: 24px; }
  .rng-integration-grid { grid-template-columns: repeat(3, 1fr); padding-inline: 24px; }
  .rng-contact-grid { gap: 48px; padding-inline: 24px; }
  .rng-footer__inner { padding-inline: 24px; }
  .rng-subhero__inner,
  .rng-subhero--light .rng-subhero__inner { padding-inline: 24px; }
  .rng-articles-section__inner { padding-inline: 24px; }
  .rng-featured-article__inner { padding-inline: 24px; }
  .rng-proof__inner { padding-inline: 24px; }
  .rng-faq__list { padding-inline: 24px; }
  .rng-timeline { padding-inline: 24px; }
  .rng-pipeline__flow { padding-inline: 24px; }
  .rng-story__grid { padding-inline: 24px; gap: 40px; }
  .rng-cta-dark__inner,
  .rng-cta-final__inner { padding-inline: 24px; }
  .rng-blog-hero__inner { padding-inline: 24px; }
  .rng-article-hero__inner { padding-inline: 24px; }
  .rng-pulse-article { padding-inline: 24px; }
  .rng-legal-hero__inner,
  .rng-legal-content { padding-inline: 24px; }
  .rng-funding-ctx__inner { padding-inline: 24px; }
  .rng-location__inner { padding-inline: 24px; }
  .rng-integrations-strip__logos { padding-inline: 24px; }
  .rng-integrations-section__head { padding-inline: 24px; }
  .cookie-banner__inner { padding-inline: 24px; }
}

@media (max-width: 768px) {
  :root {
    --rng-section-py: 56px;
    --rng-section-py-sm: 40px;
  }

  /* Nav mobile */
  .rng-nav__links,
  .rng-nav__ctas { display: none; }
  .rng-nav__hamburger { display: flex; }
  .rng-nav__inner { padding-inline: 20px; }

  /* Hero */
  .rng-hero__inner { padding-inline: 20px; padding-block: 60px 40px; }
  .rng-hero__ctas { flex-direction: column; align-items: center; }
  .rng-hero__ctas .rng-btn { width: 100%; max-width: 280px; justify-content: center; }

  /* Subhero */
  .rng-subhero__inner,
  .rng-subhero--light .rng-subhero__inner { padding-inline: 20px; }

  /* Stats */
  .rng-stats__grid {
    grid-template-columns: 1fr;
    padding-inline: 20px;
  }
  .rng-stats__item { border-right: none; border-bottom: 1px solid rgba(181, 168, 152, 0.1); }
  .rng-stats__item:last-child { border-bottom: none; }

  /* Steps */
  .rng-steps {
    flex-direction: column;
    align-items: center;
  }
  .rng-steps::before { display: none; }
  .rng-step { width: 100%; max-width: 260px; }

  /* Use cases */
  .rng-use-cases__grid {
    grid-template-columns: 1fr;
    padding-inline: 20px;
  }

  /* Tiers */
  .rng-tiers {
    grid-template-columns: 1fr;
    padding-inline: 20px;
  }

  /* Features */
  .rng-feature-cards {
    grid-template-columns: 1fr;
    padding-inline: 20px;
  }

  /* Team */
  .rng-team__grid {
    grid-template-columns: 1fr;
    padding-inline: 20px;
  }

  /* Integration grid */
  .rng-integration-grid {
    grid-template-columns: repeat(2, 1fr);
    padding-inline: 20px;
  }

  /* Featured article */
  .rng-featured-card {
    grid-template-columns: 1fr;
  }
  .rng-featured-card__body {
    padding: 28px 24px;
  }

  /* Articles grid */
  .rng-articles-grid {
    grid-template-columns: 1fr;
  }
  .rng-articles-section__inner { padding-inline: 20px; }
  .rng-featured-article__inner { padding-inline: 20px; }

  /* Pipeline */
  .rng-pipeline__flow {
    flex-direction: column;
    padding-inline: 20px;
    gap: 8px;
  }
  .rng-pipeline__arrow { transform: rotate(90deg); }

  /* Contact */
  .rng-contact-grid {
    grid-template-columns: 1fr;
    padding-inline: 20px;
    gap: 40px;
  }

  /* Story */
  .rng-story__grid {
    grid-template-columns: 1fr;
    padding-inline: 20px;
    gap: 32px;
  }

  /* Footer */
  .rng-footer__top {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .rng-footer__inner { padding-inline: 20px; }
  .rng-footer__copy-row { flex-direction: column; align-items: flex-start; }

  /* Auth */
  .rng-auth-card { padding: 32px 24px; }

  /* Misc */
  .rng-container,
  .rng-container--sm { padding-inline: 20px; }
  .rng-proof__inner,
  .rng-cta-dark__inner,
  .rng-cta-final__inner { padding-inline: 20px; }
  .rng-faq__list { padding-inline: 20px; }
  .rng-timeline { padding-inline: 20px; }
  .rng-pulse-article { padding-inline: 20px; }
  .rng-legal-hero__inner,
  .rng-legal-content { padding-inline: 20px; }
  .rng-funding-ctx__inner { padding-inline: 20px; }
  .rng-location__inner { padding-inline: 20px; }
  .rng-blog-hero__inner { padding-inline: 20px; }
  .rng-article-hero__inner { padding-inline: 20px; }
  .rng-integrations-strip__logos { padding-inline: 20px; gap: 24px; }
  .rng-nav__mobile-ctas .rng-btn { width: 100%; justify-content: center; }
  .rng-api-section .rng-code-block { margin-inline: 20px; }
  .cookie-banner__inner { padding-inline: 20px; flex-direction: column; align-items: stretch; }
  .cookie-banner__actions { justify-content: flex-end; }
}

@media (max-width: 480px) {
  .rng-integration-grid { grid-template-columns: 1fr; }
  .rng-integrations-strip__logos { gap: 20px; }
}


/* =============================================
   OG-IMAGE hidden utility
   ============================================= */
.rng-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

/* =============================================
   INFO PANEL / PROSE BLOCK (two-col text)
   ============================================= */
.rng-info-panel {
  padding-block: var(--rng-section-py);
}
.rng-info-panel__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  max-width: var(--rng-max-w);
  margin-inline: auto;
  padding-inline: 40px;
  align-items: start;
}
.rng-info-panel__col h3 {
  font-family: var(--rng-font-head);
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 12px;
  color: var(--rng-text-light-primary);
}
.rng-info-panel__col p {
  font-size: 16px;
  line-height: 1.7;
  color: var(--rng-text-light-muted);
  margin-bottom: 14px;
}

@media (max-width: 768px) {
  .rng-info-panel__grid {
    grid-template-columns: 1fr;
    gap: 32px;
    padding-inline: 20px;
  }
}


/* =============================================
   B4 CONTRAST FIXES — eyebrow on dark contexts
   ============================================= */
.rng-bg--void .rng-eyebrow--amber,
.rng-bg--deep .rng-eyebrow--amber,
.rng-bg--subtle .rng-eyebrow--amber,
.rng-article-hero .rng-eyebrow--amber {
  color: var(--rng-text-dark-amber);
}


/* =============================================
   SECTION HEAD UTILITY
   ============================================= */
.rng-section-head {
  text-align: center;
  max-width: 680px;
  margin-inline: auto;
  margin-bottom: 48px;
}
.rng-section-head--dark .rng-h2 {
  color: var(--rng-text-dark-primary);
}
.rng-section-head--dark .rng-body-lg {
  color: var(--rng-text-dark-muted);
}
.rng-container--narrow {
  max-width: 760px;
  margin-inline: auto;
  padding-inline: 40px;
}
@media (max-width: 1024px) {
  .rng-container--narrow { padding-inline: 24px; }
}
@media (max-width: 768px) {
  .rng-container--narrow { padding-inline: 20px; }
}


/* =============================================
   ARTICLE SHELL — missing classes (B2)
   ============================================= */
.rng-article-hero__title {
  font-family: var(--rng-font-head);
  font-size: clamp(28px, 3.5vw, 44px);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--rng-text-dark-primary);
  max-width: 780px;
  margin-bottom: 20px;
}
.rng-article-hero__author {
  font-size: 14px;
  color: var(--rng-text-dark-muted);
  font-weight: 500;
}
.rng-article-hero__sep {
  color: var(--rng-text-dark-muted);
  opacity: 0.6;
}
.rng-article-hero__date {
  font-size: 14px;
  color: var(--rng-text-dark-muted);
}
.rng-article-cover {
  background: var(--rng-bg-warm-white);
  padding-block: 40px;
}
.rng-article-cover__inner {
  max-width: 900px;
  margin-inline: auto;
  padding-inline: 40px;
  border-radius: var(--rng-r-md);
  overflow: hidden;
  aspect-ratio: 16 / 9;
}
.rng-article-cover__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: var(--rng-r-md);
  display: block;
}
.rng-article-body {
  background: var(--rng-bg-warm-white);
}
.rng-article-cta {
  padding-block: 80px;
  text-align: center;
}
@media (max-width: 1024px) {
  .rng-article-cover__inner { padding-inline: 24px; }
}
@media (max-width: 768px) {
  .rng-article-cover { padding-block: 24px; }
  .rng-article-cover__inner { padding-inline: 20px; }
  .rng-article-cta { padding-block: 56px; }
}


/* =============================================
   CTA SECTION LAYOUT (shared across pages)
   ============================================= */
.rng-cta-section__inner {
  max-width: var(--rng-max-w);
  margin-inline: auto;
  padding-inline: 40px;
  text-align: center;
  padding-block: 80px;
}
.rng-cta-section__btns {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 24px;
}
@media (max-width: 1024px) {
  .rng-cta-section__inner { padding-inline: 24px; }
}
@media (max-width: 768px) {
  .rng-cta-section__inner { padding-inline: 20px; padding-block: 56px; }
  .rng-cta-section__btns { flex-direction: column; align-items: center; }
  .rng-cta-section__btns .rng-btn { width: 100%; max-width: 280px; justify-content: center; }
}


/* =============================================
   PULSE BLOG (listing + tags)
   ============================================= */
.rng-pulse-section {
  padding-block: var(--rng-section-py);
}
.rng-pulse-tag {
  display: inline-block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 100px;
  background: var(--rng-bg-ash);
  color: var(--rng-text-light-muted);
  margin-bottom: 12px;
  text-decoration: none;
  transition: background var(--rng-t-fast);
}
.rng-pulse-tag:hover {
  background: var(--rng-bg-subtle);
}
.rng-pulse-tag--hero {
  background: rgba(245, 240, 232, 0.12);
  color: var(--rng-text-dark-amber);
}
.rng-pulse-tag--hero:hover {
  background: rgba(245, 240, 232, 0.2);
}
.rng-pulse-featured {
  max-width: var(--rng-max-w);
  margin-inline: auto;
  padding-inline: 40px;
  padding-bottom: 56px;
}
.rng-pulse-featured__link {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: center;
  text-decoration: none;
  color: inherit;
  border-radius: var(--rng-r-lg);
  overflow: hidden;
  background: var(--rng-bg-cream);
  transition: box-shadow var(--rng-t-base);
}
.rng-pulse-featured__link:hover {
  box-shadow: 0 8px 32px rgba(28, 26, 24, 0.12);
}
.rng-pulse-featured__img-wrap {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: var(--rng-r-md) 0 0 var(--rng-r-md);
}
.rng-pulse-featured__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.rng-pulse-featured__link:hover .rng-pulse-featured__img {
  transform: scale(1.03);
}
.rng-pulse-featured__body {
  padding: 40px 40px 40px 0;
}
.rng-pulse-featured__title {
  font-family: var(--rng-font-head);
  font-size: clamp(20px, 2vw, 28px);
  font-weight: 800;
  line-height: 1.15;
  color: var(--rng-text-light-primary);
  margin-bottom: 12px;
}
.rng-pulse-featured__excerpt {
  font-size: 16px;
  line-height: 1.6;
  color: var(--rng-text-light-muted);
  margin-bottom: 20px;
}
.rng-pulse-featured__meta {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 13px;
  color: var(--rng-text-light-muted);
}
.rng-pulse-featured__author {
  font-weight: 500;
  color: var(--rng-text-light-primary);
}
.rng-pulse-featured__date {
  color: var(--rng-text-light-muted);
}
.rng-pulse-grid {
  max-width: var(--rng-max-w);
  margin-inline: auto;
  padding-inline: 40px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}
.rng-pulse-card {
  display: flex;
  flex-direction: column;
  background: var(--rng-bg-cream);
  border-radius: var(--rng-r-md);
  overflow: hidden;
  transition: box-shadow var(--rng-t-base);
}
.rng-pulse-card:hover {
  box-shadow: 0 6px 24px rgba(28, 26, 24, 0.1);
}
.rng-pulse-card__link {
  display: flex;
  flex-direction: column;
  flex: 1;
  text-decoration: none;
  color: inherit;
}
.rng-pulse-card__img-wrap {
  aspect-ratio: 16 / 9;
  overflow: hidden;
}
.rng-pulse-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.35s ease;
}
.rng-pulse-card__link:hover .rng-pulse-card__img {
  transform: scale(1.04);
}
.rng-pulse-card__body {
  padding: 24px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.rng-pulse-card__title {
  font-family: var(--rng-font-head);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.25;
  color: var(--rng-text-light-primary);
  margin-bottom: 8px;
}
.rng-pulse-card__excerpt {
  font-size: 14px;
  line-height: 1.6;
  color: var(--rng-text-light-muted);
  flex: 1;
  margin-bottom: 16px;
}
.rng-pulse-card__meta {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  color: var(--rng-text-light-muted);
}
.rng-pulse-card__author {
  font-weight: 500;
  color: var(--rng-text-light-primary);
}
.rng-pulse-card__date {
  color: var(--rng-text-light-muted);
}
@media (max-width: 1024px) {
  .rng-pulse-featured { padding-inline: 24px; }
  .rng-pulse-grid { padding-inline: 24px; }
}
@media (max-width: 768px) {
  .rng-pulse-featured { padding-inline: 20px; padding-bottom: 40px; }
  .rng-pulse-featured__link {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .rng-pulse-featured__img-wrap {
    border-radius: var(--rng-r-md) var(--rng-r-md) 0 0;
  }
  .rng-pulse-featured__body {
    padding: 24px;
  }
  .rng-pulse-grid {
    grid-template-columns: 1fr;
    padding-inline: 20px;
    gap: 24px;
  }
}
@media (max-width: 1024px) and (min-width: 769px) {
  .rng-pulse-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}


/* =============================================
   ABOUT PAGE
   ============================================= */
.rng-about-story {
  padding-block: var(--rng-section-py);
}
.rng-about-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
}
.rng-about-two-col__text {
  display: flex;
  flex-direction: column;
}
.rng-about-two-col__aside {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.rng-about-stat-card {
  background: rgba(245, 240, 232, 0.06);
  border: 1px solid rgba(181, 168, 152, 0.12);
  border-radius: var(--rng-r-md);
  padding: 28px 32px;
}
.rng-about-stat-card__num {
  font-family: var(--rng-font-head);
  font-size: clamp(28px, 3vw, 40px);
  font-weight: 800;
  color: var(--rng-text-dark-primary);
  line-height: 1;
  margin-bottom: 6px;
}
.rng-about-stat-card__label {
  font-size: 14px;
  color: var(--rng-text-dark-muted);
  line-height: 1.4;
}
.rng-about-mission {
  padding-block: var(--rng-section-py);
  text-align: center;
}
.rng-about-cta {
  padding-block: var(--rng-section-py);
}
@media (max-width: 768px) {
  .rng-about-two-col {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .rng-about-stat-card {
    padding: 20px 24px;
  }
}


/* =============================================
   TEAM GRID (about page)
   ============================================= */
.rng-team-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  margin-top: 48px;
}
.rng-team-card__avatar-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
  display: block;
}
.rng-team-card__title {
  font-size: 14px;
  color: var(--rng-text-light-muted);
  margin-bottom: 12px;
}
@media (max-width: 768px) {
  .rng-team-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}
@media (max-width: 1024px) and (min-width: 769px) {
  .rng-team-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}


/* =============================================
   CONTACT PAGE
   ============================================= */
.rng-contact-section {
  padding-block: var(--rng-section-py);
}
.rng-contact-layout {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 64px;
  align-items: start;
}
.rng-contact-layout__form-col {
  display: flex;
  flex-direction: column;
}
.rng-contact-layout__info-col {
  display: flex;
  flex-direction: column;
}
.rng-contact-info-card {
  background: var(--rng-bg-cream);
  border-radius: var(--rng-r-lg);
  padding: 32px;
  display: flex;
  flex-direction: column;
  gap: 28px;
}
.rng-contact-info-item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}
.rng-contact-info-item__icon {
  width: 40px;
  height: 40px;
  background: var(--rng-bg-ash);
  border-radius: var(--rng-r-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--rng-text-amber-label);
  font-size: 16px;
  flex-shrink: 0;
}
.rng-contact-info-item__label {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--rng-text-light-muted);
  margin-bottom: 4px;
}
.rng-contact-info-item__value {
  font-size: 15px;
  color: var(--rng-text-light-primary);
  text-decoration: none;
  line-height: 1.5;
  transition: color var(--rng-t-fast);
}
a.rng-contact-info-item__value:hover {
  color: var(--rng-text-amber-label);
}
.rng-form-success {
  text-align: center;
  padding: 48px 24px;
}
.rng-form-success__icon {
  font-size: 48px;
  color: #4A7C59;
  margin-bottom: 20px;
}
.rng-form-success__title {
  font-family: var(--rng-font-head);
  font-size: 22px;
  font-weight: 700;
  color: var(--rng-text-light-primary);
  margin-bottom: 12px;
}
.rng-form-success__body {
  font-size: 15px;
  line-height: 1.6;
  color: var(--rng-text-light-muted);
}
@media (max-width: 768px) {
  .rng-contact-layout {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .rng-contact-info-card {
    padding: 24px;
  }
}


/* =============================================
   PIPELINE (how-it-works) — dash-named classes
   ============================================= */
.rng-pipeline {
  padding-block: var(--rng-section-py);
}
.rng-pipeline-diagram {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 0;
  flex-wrap: nowrap;
  overflow-x: auto;
  padding: 40px 0 8px;
}
.rng-pipeline-node {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  max-width: 140px;
  flex-shrink: 0;
}
.rng-pipeline-node__icon {
  width: 64px;
  height: 64px;
  background: rgba(232, 99, 26, 0.1);
  border: 1.5px solid rgba(232, 99, 26, 0.3);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
  flex-shrink: 0;
}
.rng-pipeline-node__label {
  font-family: var(--rng-font-head);
  font-size: 13px;
  font-weight: 700;
  color: var(--rng-text-dark-primary);
  margin-bottom: 8px;
  line-height: 1.3;
}
.rng-pipeline-node__desc {
  font-size: 12px;
  line-height: 1.5;
  color: var(--rng-text-dark-muted);
}
.rng-pipeline-arrow {
  display: flex;
  align-items: center;
  padding: 0 8px;
  margin-top: 20px;
  flex-shrink: 0;
}
@media (max-width: 768px) {
  .rng-pipeline-diagram {
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 24px 0;
  }
  .rng-pipeline-node {
    max-width: 280px;
    flex-direction: row;
    text-align: left;
    gap: 16px;
    align-items: flex-start;
  }
  .rng-pipeline-node__icon {
    margin-bottom: 0;
  }
  .rng-pipeline-arrow {
    transform: rotate(90deg);
    margin-top: 0;
    margin-left: 40px;
  }
}


/* =============================================
   VOICE QUALITY SECTION (how-it-works)
   ============================================= */
.rng-voice-quality {
  padding-block: var(--rng-section-py);
}
.rng-voice-quality__img {
  margin-top: 48px;
  border-radius: var(--rng-r-md);
  overflow: hidden;
}
.rng-voice-quality__img img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}


/* =============================================
   CALL TIMELINE (how-it-works)
   ============================================= */
.rng-call-flow {
  padding-block: var(--rng-section-py);
}
.rng-call-timeline {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 640px;
  margin-inline: auto;
  margin-top: 40px;
}
.rng-call-timeline__item {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.rng-call-timeline__item--agent {
  align-items: flex-start;
}
.rng-call-timeline__item--human {
  align-items: flex-end;
}
.rng-call-timeline__item--meta {
  align-items: center;
  margin-block: 8px;
}
.rng-call-timeline__role {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--rng-text-light-muted);
  margin-bottom: 2px;
}
.rng-call-timeline__bubble {
  max-width: 78%;
  padding: 14px 18px;
  border-radius: 16px;
  font-size: 14px;
  line-height: 1.55;
  position: relative;
}
.rng-call-timeline__bubble--agent {
  background: var(--rng-bg-deep);
  color: var(--rng-text-dark-primary);
  border-radius: 4px 16px 16px 16px;
}
.rng-call-timeline__bubble--human {
  background: var(--rng-bg-cream);
  color: var(--rng-text-light-primary);
  border-radius: 16px 4px 16px 16px;
}
.rng-call-timeline__stage {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--rng-text-dark-amber);
  margin-top: 4px;
  padding-left: 4px;
}
.rng-call-timeline__meta-box {
  background: rgba(232, 99, 26, 0.08);
  border: 1px solid rgba(232, 99, 26, 0.2);
  border-radius: var(--rng-r-sm);
  padding: 12px 20px;
  font-size: 13px;
  color: var(--rng-text-light-primary);
  display: flex;
  align-items: center;
  gap: 10px;
  max-width: 90%;
}
.rng-call-timeline__meta-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--rng-bg-brand);
  flex-shrink: 0;
}
@media (max-width: 768px) {
  .rng-call-timeline {
    max-width: 100%;
  }
  .rng-call-timeline__bubble {
    max-width: 90%;
  }
}


/* =============================================
   INTEGRATIONS PAGE
   ============================================= */
.rng-integrations-grid-section {
  padding-block: var(--rng-section-py);
}
.rng-int-category {
  margin-bottom: 48px;
}
.rng-int-category__label {
  font-family: var(--rng-font-head);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--rng-text-light-muted);
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--rng-bg-cream);
}
.rng-int-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.rng-integrations-cta {
  padding-block: var(--rng-section-py);
}
.rng-api-access {
  padding-block: var(--rng-section-py);
}
.rng-api-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}
.rng-api-two-col__text {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.rng-api-two-col__code {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
}
@media (max-width: 1024px) {
  .rng-int-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 768px) {
  .rng-int-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
  .rng-api-two-col {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}
@media (max-width: 480px) {
  .rng-int-grid {
    grid-template-columns: 1fr;
  }
}


/* =============================================
   PRICING PAGE — light-theme tier cards
   ============================================= */
.rng-tiers-section {
  padding-block: var(--rng-section-py);
}
.rng-tiers--pricing-page {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  align-items: start;
  max-width: var(--rng-max-w);
  margin-inline: auto;
}
.rng-tier-card--light {
  background: var(--rng-bg-warm-white);
  border: 1.5px solid var(--rng-bg-ash);
  border-radius: var(--rng-r-lg);
  padding: 36px 32px;
  position: relative;
  transition: box-shadow var(--rng-t-base), transform var(--rng-t-base);
}
.rng-tier-card--light:hover {
  box-shadow: 0 8px 32px rgba(28, 26, 24, 0.1);
  transform: translateY(-2px);
}
.rng-tier-card--highlight-light {
  border-color: var(--rng-bg-brand);
  box-shadow: 0 4px 24px rgba(232, 99, 26, 0.15);
}
.rng-tier-badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: #A03D0A;
  color: #FFFFFF;
  padding: 4px 12px;
  border-radius: 100px;
  margin-bottom: 16px;
}
.rng-tier-card__name {
  font-family: var(--rng-font-head);
  font-size: 20px;
  font-weight: 800;
  color: var(--rng-text-dark-primary);
  margin-bottom: 16px;
}
.rng-tier-card__name--dark {
  color: var(--rng-text-dark-primary);
}
.rng-tier-card__price--dark {
  font-family: var(--rng-font-head);
  font-size: 52px;
  font-weight: 800;
  color: var(--rng-text-light-primary);
  line-height: 1;
}
.rng-tier-card__price--dark sup {
  font-size: 22px;
  font-weight: 700;
  vertical-align: top;
  margin-top: 10px;
}
.rng-tier-card__unit--dark {
  font-size: 14px;
  color: var(--rng-text-light-muted);
  margin-top: 4px;
  margin-bottom: 8px;
}
.rng-tier-card__minutes--dark {
  font-size: 15px;
  font-weight: 600;
  color: var(--rng-text-light-primary);
  margin-bottom: 12px;
}
.rng-tier-card__desc--dark {
  font-size: 14px;
  line-height: 1.55;
  color: var(--rng-text-light-muted);
  margin-bottom: 20px;
}
.rng-tier-card__divider--light {
  border: none;
  border-top: 1px solid var(--rng-bg-ash);
  margin-block: 20px;
}
.rng-tier-card__features--dark {
  list-style: none;
  padding: 0;
  margin-bottom: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.rng-tier-card__feat--dark {
  font-size: 14px;
  color: var(--rng-text-light-primary);
  padding-left: 20px;
  position: relative;
}
.rng-tier-card__feat--dark::before {
  content: '';
  position: absolute;
  left: 0;
  top: 7px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--rng-bg-brand);
  opacity: 0.8;
}
.rng-tier-card__overage--dark {
  font-size: 12px;
  color: var(--rng-text-light-muted);
  margin-bottom: 20px;
}
.rng-faq-section {
  padding-block: var(--rng-section-py);
}
.rng-pricing-cta {
  padding-block: 0;
}
@media (max-width: 768px) {
  .rng-tiers--pricing-page {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .rng-tier-card--light {
    padding: 28px 24px;
  }
}
@media (max-width: 1024px) and (min-width: 769px) {
  .rng-tiers--pricing-page {
    grid-template-columns: repeat(2, 1fr);
  }
}


/* =============================================
   AUTH FORM MODIFIERS (login / register)
   ============================================= */
.rng-auth-form--login,
.rng-auth-form--register {
  display: flex;
  flex-direction: column;
  gap: 16px;
}


/* =============================================
   HICCUP SECTIONS (misc wrappers)
   ============================================= */
.rng-hiw-cta {
  padding-block: var(--rng-section-py);
}
.rng-hiw-cta .rng-cta-section__inner {
  padding-block: 0;
}
.rng-about-cta .rng-cta-section__inner {
  padding-block: 0;
}
.rng-pricing-cta .rng-cta-section__inner {
  padding-block: var(--rng-section-py);
}
.rng-integrations-cta .rng-cta-section__inner {
  padding-block: var(--rng-section-py);
}
.rng-article-cta .rng-cta-section__inner {
  padding-block: 0;
}


/* =============================================
   CONTRAST FIXES — pulse-tag on dark hero
   ============================================= */
.rng-pulse-tag--hero {
  background: rgba(245, 240, 232, 0.12);
  color: #FFFFFF;
}
.rng-pulse-tag--hero:hover {
  background: rgba(245, 240, 232, 0.22);
}


/* =============================================
   BODY TEXT UTILITY (about page prose)
   ============================================= */
.rng-body {
  font-family: var(--rng-font-body);
  font-size: 16px;
  line-height: 1.65;
}
.rng-muted-dark.rng-body,
.rng-bg--void .rng-body,
.rng-bg--deep .rng-body,
.rng-bg--subtle .rng-body {
  color: var(--rng-text-dark-muted);
}
.rng-bg--cream .rng-body,
.rng-bg--warm-white .rng-body,
.rng-bg--ash .rng-body {
  color: var(--rng-text-light-primary);
}


/* =============================================
   CODE BLOCK (integrations page)
   ============================================= */
.rng-code-block__title {
  font-size: 13px;
  color: rgba(245, 240, 232, 0.5);
  font-weight: 500;
}
.rng-code-block__body {
  padding: 20px;
  margin: 0;
  overflow-x: auto;
  max-width: 100%;
  background: transparent;
  font-family: var(--rng-font-mono, 'IBM Plex Mono', monospace);
  font-size: 13px;
  line-height: 1.6;
}
.rng-code-punct {
  color: rgba(245, 240, 232, 0.55);
}


/* =============================================
   AUTH LINK CONTRAST FIX — card bg ~#2A2620 needs ≥ 4.5
   #E8631A gives 4.19; use #F07830 which gives ~5.0 on this bg
   ============================================= */
.rng-auth-footer a,
.rng-auth-legal a {
  color: #F28040;
}
.rng-auth-footer a:hover,
.rng-auth-legal a:hover {
  color: #FDFAF5;
}


/* =============================================
   CALL TIMELINE STAGE — amber on ash needs dark amber
   ============================================= */
.rng-bg--ash .rng-call-timeline__stage,
.rng-call-flow .rng-call-timeline__stage {
  color: var(--rng-text-amber-label);
}


/* =============================================
   INTEGRATIONS OVERFLOW FIX — api-two-col mobile
   ============================================= */
@media (max-width: 480px) {
  .rng-api-two-col {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}


/* =============================================
   PRICING TIER CARD — name/badge contrast fixes
   ============================================= */
.rng-tier-card--light .rng-tier-card__name,
.rng-tier-card--light .rng-tier-card__name--dark {
  color: var(--rng-text-light-primary);
}
