@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=Barlow:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap');

/* Shared visual vocabulary for standalone guides as well as the application. */
body.rf-static {
  --ink: #17191d;
  --muted: #60636b;
  --line: #c6c8cc;
  --soft: #f7f7f4;
  --accent: #ef7d32;
  --accent-dark: #a6440d;
  --blue: #a6440d;
  color-scheme: light;
  font-family: 'Barlow', system-ui, sans-serif;
  color: var(--ink);
  background: var(--soft);
  line-height: 1.65;
}
.rf-static :is(h1, h2) {
  font-family: 'Archivo Black', 'Arial Black', sans-serif;
  letter-spacing: -0.025em;
  text-wrap: balance;
}
.rf-static h1 {
  font-size: clamp(2rem, 5.5vw, 4.5rem);
  line-height: 1.08;
}
.rf-static :is(h3, h4, button, select, .button, .cta-btn) {
  font-family: 'Barlow', system-ui, sans-serif;
  font-weight: 600;
}
.rf-static :is(a, button, select, summary):focus-visible {
  outline: 2px solid var(--accent-dark);
  outline-offset: 4px;
}
.rf-static :is(a, button, summary) {
  -webkit-tap-highlight-color: transparent;
}
.rf-static :is(.eyebrow, .status) {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 0.72rem;
  letter-spacing: 0.14em;
}
.rf-static :is(header, .header) {
  color: #fff;
  background: #17191d;
  background-image: none;
  border-radius: 0;
}
.rf-static header {
  border-bottom: 3px solid var(--accent);
}
.rf-static header.hero {
  max-width: none;
  padding: clamp(1.5rem, 5vw, 4rem);
}
.rf-static header.hero :is(.lead, .note) {
  color: #d7d8da;
}
.rf-static header.hero .eyebrow {
  color: #ef7d32;
}
.rf-static header.hero .button.secondary {
  color: #fff;
  border-color: #90939a;
}
.rf-static :is(.button.primary, .cta-btn) {
  min-height: 46px;
  border: 1px solid #17191d;
  border-radius: 0;
  background: var(--accent);
  color: #17191d;
  box-shadow: 3px 3px 0 #17191d;
}
.rf-static .button:not(.secondary):not(.primary) {
  border-radius: 0;
  background: var(--accent);
  border: 1px solid #17191d;
  color: #17191d;
  box-shadow: 3px 3px 0 #17191d;
}
.rf-static .button.secondary {
  border-radius: 0;
  border-width: 1px;
}
.rf-static :is(.button, .cta-btn) {
  transition:
    background-color 160ms ease,
    transform 160ms ease;
}
.rf-static :is(.button, .cta-btn):active {
  transform: translate(1px, 1px);
}
.rf-static :is(.card, .step, .cta-section) {
  border: 1px solid var(--line);
  border-radius: 0;
  background: #fff;
  box-shadow: none;
}
.rf-static :is(.step h2, .highlight, .offer) {
  border-color: var(--accent);
  color: var(--ink);
}
.rf-static :is(.highlight, .offer) {
  border-radius: 0;
  background: #fff1e6;
}
.rf-static .step h2 {
  font-family: 'Barlow', system-ui, sans-serif;
  font-size: 1.65rem;
  font-weight: 600;
}
.rf-static footer {
  background-image: none;
}
.rf-static details[open] > :not(summary) {
  animation: rf-static-reveal 160ms ease-out;
}
.rf-static summary {
  min-height: 44px;
  display: list-item;
  align-content: center;
}
.rf-static :is([class*='rounded-']) {
  border-radius: 0;
}
.rf-static [class*='bg-gradient'] {
  background-image: none;
  background-color: #17191d;
}
.rf-static :is(.bg-blue-600, .bg-green-600) {
  background-color: #17191d;
}
.rf-static :is(.text-blue-600, .text-green-600) {
  color: var(--accent-dark);
}
.rf-static .text-white.text-blue-600 {
  color: #fff;
}
.rf-static .shadow-lg {
  box-shadow: none;
  border: 1px solid var(--line);
}
.rf-static .bg-white {
  background: #fff;
}
.rf-static [class*='text-'][class*='font-bold'] {
  letter-spacing: -0.015em;
}
.rf-static.rf-static-error {
  background: #f7f7f4;
}
.rf-static-error main {
  background: #fff;
  color: #17191d;
  border: 1px solid #c6c8cc;
  border-radius: 0;
  box-shadow: 4px 4px 0 #17191d;
}
.rf-static-error .description {
  color: #60636b;
}
.rf-static-error .status {
  color: #a6440d;
}
.rf-static-error a {
  min-height: 44px;
  border-radius: 0;
  background: #ef7d32;
  color: #17191d;
}
@keyframes rf-static-reveal {
  from {
    opacity: 0.7;
    transform: translateY(3px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (max-width: 640px) {
  .rf-static :is(.step, .cta-section) {
    padding: 1.25rem;
  }
  .rf-static .nav {
    align-items: flex-start;
    flex-direction: column;
    gap: 1rem;
  }
  .rf-static :is(th, td) {
    overflow-wrap: anywhere;
  }
  .rf-static-error main {
    padding: 2rem 1.25rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .rf-static *,
  .rf-static *::before,
  .rf-static *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}

.rf-static .rf-static-primary {
  background: #ef7d32;
  color: #17191d;
  border: 1px solid #17191d;
  box-shadow: 3px 3px 0 #17191d;
}
