/* AtomGo revenue calculator. Scoped to .rc-* and the calculator pages only. */
.rc-hero-actions { margin-top: 6px; }
.rc-section .rc-intro { margin-bottom: 30px; max-width: 760px; }
.rc-section .rc-intro h2 { font-size: clamp(1.9rem, 3vw, 2.8rem); line-height: 1.06; margin-bottom: 14px; }
.rc-section .rc-intro p { color: var(--muted); font-size: 1.05rem; line-height: 1.65; margin: 0; }

.rc-layout {
  align-items: start;
  display: grid;
  gap: clamp(18px, 3vw, 32px);
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
}

.rc-panel {
  background: #fff;
  border: 1px solid #d5e5f1;
  border-radius: 20px;
  box-shadow: var(--shadow-sm);
  min-width: 0;
  padding: clamp(20px, 3vw, 30px);
}
.rc-panel h3 { font-size: 1.25rem; letter-spacing: -.02em; margin-bottom: 18px; }

.rc-field { display: flex; flex-direction: column; gap: 7px; margin-bottom: 18px; min-width: 0; }
.rc-field:last-child { margin-bottom: 0; }
.rc-field label { color: var(--navy-900); font-size: 13px; font-weight: 760; }
.rc-field input,
.rc-field select {
  background: #fff;
  border: 1px solid #bcd5e8;
  border-radius: 10px;
  color: var(--navy-900);
  font: inherit;
  font-size: 16px;
  min-height: 50px;
  min-width: 0;
  padding: 11px 14px;
  width: 100%;
}
.rc-field input:focus-visible,
.rc-field select:focus-visible {
  border-color: var(--blue);
  box-shadow: 0 0 0 3px rgba(38, 151, 239, .2);
  outline: 0;
}
.rc-field [aria-invalid="true"] { border-color: #b83636; box-shadow: 0 0 0 3px rgba(184, 54, 54, .12); }
.rc-help { color: #526a80; font-size: 12.5px; line-height: 1.45; margin: 0; }
.rc-error { color: #9c2e2e; font-size: 12.5px; font-weight: 650; line-height: 1.45; margin: 0; }
.rc-error[hidden] { display: none; }
.rc-input-suffix { align-items: center; display: flex; gap: 10px; }
.rc-input-suffix input { flex: 1 1 auto; }
.rc-input-suffix span { color: #38536d; font-size: 13px; font-weight: 760; }

.rc-results {
  background:
    radial-gradient(circle at 88% 8%, rgba(39, 165, 255, .24), transparent 34%),
    linear-gradient(150deg, var(--navy-950), var(--navy-850) 64%, #0c3767);
  border-color: rgba(255, 255, 255, .08);
  color: rgba(255, 255, 255, .8);
}
.rc-results h3 { color: #fff; }
.rc-summary {
  border-left: 4px solid #6fc1ff;
  color: #fff;
  font-size: 1.04rem;
  font-weight: 650;
  line-height: 1.55;
  margin: 0 0 22px;
  padding: 4px 0 4px 14px;
}
[data-rc-state="covered"] .rc-summary { border-left-color: #4fd8a0; }
[data-rc-state="partial"] .rc-summary { border-left-color: #ffcf5c; }
[data-rc-state="short"] .rc-summary,
[data-rc-state="none"] .rc-summary,
[data-rc-state="invalid"] .rc-summary { border-left-color: #ff9a9a; }

.rc-metrics { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0 0 20px; }
.rc-metrics div {
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 14px;
  min-width: 0;
  padding: 14px 16px;
}
.rc-metrics dt { color: #b9d3ea; font-size: 12px; font-weight: 700; letter-spacing: .02em; line-height: 1.35; }
.rc-metrics dd {
  color: #fff;
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 2.2vw, 1.65rem);
  font-weight: 760;
  letter-spacing: -.02em;
  line-height: 1.15;
  margin: 6px 0 0;
  overflow-wrap: anywhere;
}

.rc-metrics .rc-unit { color: #b9d3ea; display: block; font-family: var(--font); font-size: 13px; font-weight: 650; letter-spacing: 0; margin-top: 3px; }

.rc-bar { margin: 0 0 20px; }
.rc-bar[hidden] { display: none; }
.rc-bar-track { background: rgba(255, 255, 255, .14); border-radius: 999px; height: 12px; position: relative; }
.rc-bar-range { background: linear-gradient(90deg, #27a5ff, #6fc1ff); border-radius: 999px; bottom: 0; position: absolute; top: 0; }
.rc-bar-mark { background: #fff; border-radius: 2px; bottom: -5px; position: absolute; top: -5px; transform: translateX(-1px); width: 3px; }
.rc-bar-legend { display: flex; flex-wrap: wrap; font-size: 12px; gap: 8px 18px; margin-top: 12px; }
.rc-bar-legend span { align-items: center; display: inline-flex; gap: 7px; }
.rc-key { border-radius: 999px; display: inline-block; height: 9px; width: 18px; }
.rc-key-range { background: #27a5ff; }
.rc-key-mark { background: #fff; border-radius: 2px; height: 14px; width: 3px; }

.rc-note { font-size: 14px; line-height: 1.6; margin: 0 0 10px; }
.rc-note[hidden] { display: none; }
.rc-note strong { color: #fff; }
.rc-results a { color: #8bc9ff; font-weight: 750; text-decoration: underline; text-underline-offset: 2px; }
.rc-disclaimer { border-top: 1px solid rgba(255, 255, 255, .14); font-size: 13px; margin: 16px 0 0; padding-top: 14px; }

.rc-form-note { color: #526a80; font-size: 12.5px; line-height: 1.5; margin: 0; }
.rc-mockup-panel h2 { overflow-wrap: break-word; }

.rc-method-section h2 { font-size: clamp(1.9rem, 3vw, 2.8rem); line-height: 1.06; margin-bottom: 14px; }
.rc-method-section .case-reading > p { color: #294567; font-size: 1.05rem; line-height: 1.65; }
.rc-method { display: grid; gap: 14px; margin: 24px 0 0; padding-left: 1.3em; }
.rc-method li, .rc-sources li { color: #294567; font-size: 1.02rem; line-height: 1.7; }
.rc-method a, .rc-sources a, .rc-limits a { color: #075fc6; text-decoration: underline; text-underline-offset: 2px; }
.rc-limits { margin-top: 30px; }
.rc-section-title { color: var(--navy-900); font-size: 1.35rem; letter-spacing: -.02em; margin: 34px 0 6px; }
.rc-sources { display: grid; gap: 8px; margin: 14px 0 0; padding-left: 1.2em; }

@media (max-width: 900px) {
  .rc-layout { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 420px) {
  .rc-metrics { grid-template-columns: minmax(0, 1fr); }
  .rc-metrics div { padding: 12px 14px; }
  .rc-panel { border-radius: 16px; }
}

@media (prefers-reduced-motion: no-preference) {
  .rc-bar-range, .rc-bar-mark { transition: left .25s ease, width .25s ease; }
}
