/* =============================================================
 * Ride Care Suite — front-end styles
 * Brand palette: navy 0A1A2F → 1E4173, accent E07A1F, slate 64748B
 * Fonts: Inter (body), Source Serif Pro (headings)
 * ============================================================= */

.rcjs-page { font-family: 'Inter', system-ui, -apple-system, sans-serif; color:#1e293b; line-height:1.6; -webkit-font-smoothing:antialiased; }
.rcjs-page *, .rcjs-page *::before, .rcjs-page *::after { box-sizing:border-box; }
.rcjs-page a { color:#163457; text-decoration:none; }
.rcjs-page a:hover { color:#0A1A2F; }
.rcjs-page h1, .rcjs-page h2, .rcjs-page h3, .rcjs-page h4 { font-family:'Source Serif Pro', Georgia, serif; color:#0A1A2F; margin:0 0 .5em; line-height:1.2; }
.rcjs-page h1 { font-size: clamp(2rem, 5vw, 3.5rem); font-weight:700; letter-spacing:-.02em; }
.rcjs-page h2 { font-size: clamp(1.5rem, 3.5vw, 2.25rem); font-weight:700; }
.rcjs-page h3 { font-size: 1.25rem; font-weight:700; }
.rcjs-page p { margin:0 0 1em; }

.rcjs-inner, .rcjs-inner-row, .rcjs-hero-inner { max-width:1200px; margin:0 auto; padding:0 1.5rem; }
.rcjs-inner-narrow { max-width: 800px; margin:0 auto; padding:0 1.5rem; }

/* TRUST BAR */
.rcjs-trustbar { background:#0A1A2F; color:#cbd5e1; font-size:.8rem; }
.rcjs-trustbar-inner { max-width:1200px; margin:0 auto; padding:.5rem 1.5rem; display:flex; flex-wrap:wrap; justify-content:space-between; gap:.5rem; align-items:center; }
.rcjs-trustbar-items { display:flex; flex-wrap:wrap; gap:.6rem; }
.rcjs-trustbar-sep { color:#475569; }
.rcjs-trustbar-phone { color:#fff; font-weight:600; }
.rcjs-trustbar-phone:hover { text-decoration:underline; color:#fff; }

/* NAV HEADER */
.rcjs-nav { background:#fff; border-bottom:1px solid #e2e8f0; position:sticky; top:0; z-index:40; }
.rcjs-nav-inner { max-width:1200px; margin:0 auto; padding:0 1.5rem; display:flex; align-items:center; justify-content:space-between; height:64px; }
.rcjs-nav-brand { display:flex; align-items:center; gap:.75rem; }
.rcjs-nav-mono { width:40px; height:40px; border-radius:4px; display:flex; align-items:center; justify-content:center; color:#fff; font-weight:700; }
.rcjs-nav-name { font-weight:700; color:#0A1A2F; line-height:1.1; }
.rcjs-nav-tag { font-size:.7rem; color:#64748b; text-transform:uppercase; letter-spacing:.05em; }
.rcjs-nav-links { display:none; align-items:center; gap:1.5rem; font-size:.875rem; font-weight:500; }
.rcjs-nav-link { color:#475569; }
.rcjs-nav-link:hover { color:#0A1A2F; }
.rcjs-nav-cta { background:#E07A1F; color:#fff !important; padding:.5rem 1rem; border-radius:4px; font-weight:600; }
.rcjs-nav-cta:hover { background:#C5651A; color:#fff; }
.rcjs-nav-call-mobile { background:#E07A1F; color:#fff; padding:.5rem .75rem; border-radius:4px; font-size:.875rem; font-weight:600; }
@media (min-width:768px) {
  .rcjs-nav-links { display:flex; }
  .rcjs-nav-call-mobile { display:none; }
}

/* HERO */
.rcjs-hero { background:linear-gradient(135deg, #0A1A2F 0%, #163457 60%, #1E4173 100%); color:#fff; }
.rcjs-hero-inner { padding-top:3.5rem; padding-bottom:3.5rem; }
@media (min-width:640px){ .rcjs-hero-inner{padding-top:5rem;padding-bottom:5rem;} }
.rcjs-hero h1, .rcjs-hero h2, .rcjs-hero h3 { color:#fff; }
.rcjs-hero p { color:#cbd5e1; }
.rcjs-hero-grid { display:grid; grid-template-columns:1fr; gap:2.5rem; align-items:center; }
@media (min-width:768px){ .rcjs-hero-grid{grid-template-columns:7fr 5fr;} }
.rcjs-hero-h1 { color:#fff; }
.rcjs-hero-sub { font-size:1.125rem; max-width:42rem; color:#cbd5e1; }
.rcjs-hero-fine { font-size:.875rem; color:#94a3b8; margin-top:1rem; }
.rcjs-hero-cta { padding:1rem 0; }
.rcjs-hero-fig figure { margin:0; border-radius:.5rem; overflow:hidden; border:1px solid rgba(255,255,255,.1); box-shadow:0 25px 50px -12px rgba(0,0,0,.25); }
.rcjs-hero-fig img { width:100%; height:auto; display:block; }
.rcjs-hero-fig figcaption { background:#fff; color:#475569; font-size:.75rem; padding:.5rem 1rem; text-align:center; }
.rcjs-cta-h2 { color:#fff; }

/* Pill flag */
.rcjs-pill-flag { display:inline-flex; align-items:center; gap:.5rem; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.15); border-radius:9999px; padding:.25rem .75rem; font-size:.75rem; font-weight:500; color:#cbd5e1; margin-bottom:1rem; }
.rcjs-pill-flag .dot { width:.5rem; height:.5rem; border-radius:9999px; background:#f59e0b; }
.rcjs-pill-flag .dot-emerald { background:#10b981; }
.rcjs-pill-flag .dot-amber { background:#f59e0b; }

/* CTA row */
.rcjs-cta-row { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:2rem; }
.rcjs-cta-row-right { display:flex; flex-wrap:wrap; gap:.75rem; justify-content:flex-end; }

/* BUTTONS */
.rcjs-btn { display:inline-flex; align-items:center; justify-content:center; padding:.75rem 1.5rem; border-radius:4px; font-weight:600; font-size:.95rem; cursor:pointer; border:1px solid transparent; transition:background .15s, color .15s; text-decoration:none; }
.rcjs-btn-accent { background:#E07A1F; color:#fff !important; }
.rcjs-btn-accent:hover { background:#C5651A; }
.rcjs-btn-white { background:#fff; color:#0A1A2F !important; }
.rcjs-btn-white:hover { background:#f1f5f9; color:#0A1A2F; }
.rcjs-btn-outline { background:transparent; color:#fff !important; border-color:rgba(255,255,255,.4); }
.rcjs-btn-outline:hover { background:rgba(255,255,255,.1); }
.rcjs-btn-primary { background:#E07A1F; color:#fff; padding:.85rem 2rem; }
.rcjs-btn-primary:hover { background:#C5651A; }
.rcjs-btn-block { display:flex; width:100%; margin-top:.5rem; }

/* SECTIONS */
.rcjs-section { padding:4rem 0; }
.rcjs-bg-white { background:#fff; }
.rcjs-bg-slate { background:#f8fafc; border-top:1px solid #e2e8f0; border-bottom:1px solid #e2e8f0; }
.rcjs-section-head { max-width:48rem; margin-bottom:3rem; }
.rcjs-eyebrow { font-size:.75rem; font-weight:600; text-transform:uppercase; letter-spacing:.15em; color:#163457; margin-bottom:.5rem; }
.rcjs-eyebrow-light { font-size:.75rem; font-weight:600; text-transform:uppercase; letter-spacing:.15em; color:#94a3b8; margin-bottom:1rem; }
.rcjs-lead { font-size:1.125rem; color:#475569; max-width:48rem; }
.rcjs-h3-spaced { margin-top:3rem; margin-bottom:1.5rem; }

/* GRIDS */
.rcjs-grid-2 { display:grid; grid-template-columns:1fr; gap:1rem; }
@media (min-width:640px){ .rcjs-grid-2{grid-template-columns:1fr 1fr;} }
.rcjs-grid-3 { display:grid; grid-template-columns:1fr; gap:1rem; }
@media (min-width:640px){ .rcjs-grid-3{grid-template-columns:1fr 1fr 1fr;} }
.rcjs-grid-12 { display:grid; grid-template-columns:1fr; gap:2rem; align-items:start; }
@media (min-width:768px){ .rcjs-grid-12{grid-template-columns:repeat(12, 1fr);} }
.col-span-3 { grid-column:span 12; }
.col-span-5 { grid-column:span 12; }
.col-span-7 { grid-column:span 12; }
.col-span-9 { grid-column:span 12; }
@media (min-width:768px){
  .col-span-3 { grid-column:span 3; }
  .col-span-5 { grid-column:span 5; }
  .col-span-7 { grid-column:span 7; }
  .col-span-9 { grid-column:span 9; }
}
.rcjs-grid-2-cards { display:grid; grid-template-columns:1fr; gap:1.5rem; }
@media (min-width:768px){ .rcjs-grid-2-cards{grid-template-columns:1fr 1fr;} }
.rcjs-grid-3-cards { display:grid; grid-template-columns:1fr; gap:1.5rem; }
@media (min-width:768px){ .rcjs-grid-3-cards{grid-template-columns:repeat(3,1fr);} }
.rcjs-grid-4-cards, .rcjs-grid-4-stats { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
@media (min-width:768px){ .rcjs-grid-4-cards, .rcjs-grid-4-stats{grid-template-columns:repeat(4,1fr);} }
.rcjs-grid-5-cards { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
@media (min-width:1024px){ .rcjs-grid-5-cards{grid-template-columns:repeat(5,1fr);} }

/* CARDS */
.rcjs-card { background:#fff; border:1px solid #e2e8f0; border-radius:.5rem; padding:1.5rem; }
.rcjs-card-white { background:#fff; }
.rcjs-card-dark { background:#0A1A2F; color:#fff; }
.rcjs-card-dark h3, .rcjs-card-dark h4 { color:#fff; }
.rcjs-card-dark p { color:#cbd5e1; }
.rcjs-card-translucent { background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); border-radius:.5rem; padding:1.5rem; color:#fff; }
.rcjs-card-translucent dl dt { color:#cbd5e1; }
.rcjs-card-translucent dl dd { color:#fff; }

/* SERVICE CARDS */
.rcjs-service-card { background:#fff; border:1px solid #e2e8f0; border-radius:.5rem; padding:1.5rem; transition:box-shadow .15s; }
.rcjs-service-card:hover { box-shadow:0 4px 10px rgba(0,0,0,.07); }
.rcjs-service-icon { width:44px; height:44px; background:#0A1A2F; color:#fff; border-radius:4px; margin-bottom:1rem; display:flex; align-items:center; justify-content:center; }
.rcjs-service-icon svg { width:24px; height:24px; display:block; }
.rcjs-service-card h3 { font-size:1.125rem; }

/* PILLARS (what to expect) */
.rcjs-pillar { padding:1rem; text-align:center; font-size:1.875rem; }
.rcjs-pillar .t { font-size:1rem; color:#0A1A2F; font-weight:600; margin-top:.5rem; }
.rcjs-pillar .d { font-size:.875rem; color:#475569; margin-top:.25rem; }

/* FAMILY CARDS / MARKET CARDS */
.rcjs-family-card, .rcjs-market-card { display:block; background:#f8fafc; border:1px solid #e2e8f0; border-radius:.5rem; padding:1.5rem; color:#1e293b !important; transition:border-color .15s, box-shadow .15s; }
.rcjs-family-card:hover, .rcjs-market-card:hover { border-color:#163457; box-shadow:0 4px 10px rgba(0,0,0,.05); }
.rcjs-family-card h3, .rcjs-market-card h3 { margin-top:.25rem; }
.rcjs-link-arrow { color:#163457; font-weight:500; font-size:.875rem; }

/* NEIGHBORHOOD LIST */
.rcjs-neighborhood-list { list-style:none; padding:0; margin:.5rem 0 0; display:grid; grid-template-columns:repeat(2,1fr); gap:.5rem; font-size:.875rem; color:#334155; }
@media (min-width:640px){ .rcjs-neighborhood-list{grid-template-columns:repeat(3,1fr);} }

/* HOURS */
.rcjs-hours-dl { margin:0; }
.rcjs-hours-dl > div { display:flex; justify-content:space-between; padding:.6rem 0; border-bottom:1px solid rgba(255,255,255,.1); font-size:.875rem; }
.rcjs-hours-dl > div:last-child { border-bottom:none; }
.rcjs-hours-dl dt { color:#cbd5e1; }
.rcjs-hours-dl dd { color:#fff; margin:0; font-weight:500; }
.rcjs-hours-dl dd.accent { color:#fcd34d; }

/* FAQ */
.rcjs-faq { margin-top:1.5rem; }
.rcjs-faq-item { background:#fff; border:1px solid #e2e8f0; border-radius:.5rem; padding:1rem 1.25rem; margin-bottom:.75rem; }
.rcjs-faq-item summary { cursor:pointer; font-weight:600; color:#0A1A2F; }
.rcjs-faq-item summary::-webkit-details-marker { color:#163457; }
.rcjs-faq-item p { margin:.75rem 0 0; color:#334155; }

/* FOOTER */
.rcjs-footer { background:#0A1A2F; color:#94a3b8; padding:3rem 0 0; }
.rcjs-footer-cols { max-width:1200px; margin:0 auto; padding:0 1.5rem; display:grid; grid-template-columns:1fr; gap:2rem; font-size:.875rem; }
@media (min-width:768px){ .rcjs-footer-cols{grid-template-columns:repeat(4,1fr);} }
.rcjs-footer h4 { color:#fff; font-family:'Inter',sans-serif; font-size:.875rem; font-weight:600; margin:0 0 .75rem; }
.rcjs-footer ul { list-style:none; padding:0; margin:0; }
.rcjs-footer ul li { margin-bottom:.5rem; }
.rcjs-footer a { color:#94a3b8; }
.rcjs-footer a:hover { color:#fff; }
.rcjs-footer-brand { color:#fff; font-weight:700; font-size:1rem; }
.rcjs-footer-addr { font-style:normal; margin:.75rem 0; color:#94a3b8; line-height:1.5; }
.rcjs-footer-fine { font-size:.75rem; color:#64748b; }
.rcjs-footer-bottom { max-width:1200px; margin:2.5rem auto 0; padding:1.25rem 1.5rem; border-top:1px solid rgba(255,255,255,.08); display:flex; flex-direction:column; gap:.5rem; font-size:.75rem; color:#64748b; }
@media (min-width:640px){ .rcjs-footer-bottom{flex-direction:row; justify-content:space-between;} }

/* ============================================================
 * GOV CONTRACTING-specific
 * ============================================================ */
.rcjs-compliance-bar { background:#0A1A2F; color:#cbd5e1; font-size:.8rem; padding:.5rem 0; }
.rcjs-compliance-bar .rcjs-inner-row { display:flex; flex-wrap:wrap; gap:.6rem; align-items:center; justify-content:center; }
.rcjs-bar-item .dot { display:inline-block; width:.5rem; height:.5rem; border-radius:9999px; vertical-align:middle; margin-right:.25rem; }
.rcjs-bar-item strong { color:#fff; }
.rcjs-bar-sep { color:#475569; }
.dot-amber { background:#f59e0b; }
.dot-emerald { background:#10b981; }

.rcjs-reg-dl { margin:0; }
.rcjs-reg-dl > div { display:flex; justify-content:space-between; padding:.75rem 0; border-bottom:1px solid rgba(255,255,255,.1); font-size:.875rem; }
.rcjs-reg-dl > div:last-child { border-bottom:none; }
.rcjs-reg-dl dt { color:#cbd5e1; }
.rcjs-reg-dl dd { margin:0; color:#fff; font-weight:500; }
.rcjs-reg-dl dd.amber { color:#fcd34d; }

.rcjs-pillar-card { background:#fff; border:1px solid #e2e8f0; border-radius:.5rem; padding:1.5rem; display:flex; flex-direction:column; }
.rcjs-pillar-card h3, .rcjs-pillar-card h4 { color:#0A1A2F; margin-top:.25rem; }
.rcjs-bullets-arrow, .rcjs-bullets { list-style:none; padding:0; margin:1rem 0 0; font-size:.875rem; color:#334155; }
.rcjs-bullets-arrow li, .rcjs-bullets li { padding:.25rem 0 .25rem 1rem; position:relative; }
.rcjs-bullets-arrow li::before { content:"▸"; position:absolute; left:0; color:#163457; }
.rcjs-bullets li { padding-left:.5rem; }

.rcjs-stat-card { background:#f8fafc; border:1px solid #e2e8f0; border-radius:.5rem; padding:1.5rem; text-align:center; }
.rcjs-stat-card .num { font-size:2rem; font-weight:700; color:#0A1A2F; font-family:'Source Serif Pro',serif; }
.rcjs-stat-card .lbl { font-size:.75rem; text-transform:uppercase; letter-spacing:.1em; color:#475569; margin-top:.5rem; line-height:1.3; }
.rcjs-stat-card .sub { font-size:.65rem; text-transform:uppercase; letter-spacing:.1em; color:#64748b; margin-top:.5rem; font-weight:600; }
.rcjs-stat-card .sub.emerald { color:#047857; }

.rcjs-callout-emerald { background:#f8fafc; border-left:4px solid #10b981; border-radius:0 .5rem .5rem 0; padding:1.25rem; margin:1.5rem 0; }
.rcjs-callout-emerald p { color:#334155; font-size:.875rem; margin:0; }
.rcjs-callout-emerald strong { color:#0A1A2F; }

.rcjs-perf-table { width:100%; border-collapse:collapse; font-size:.875rem; border:1px solid #e2e8f0; border-radius:.5rem; overflow:hidden; }
.rcjs-perf-table thead th { background:#0A1A2F; color:#fff; padding:.75rem 1rem; text-align:left; font-weight:600; font-size:.8rem; }
.rcjs-perf-table tbody td { padding:.75rem 1rem; border-top:1px solid #e2e8f0; vertical-align:top; }
.rcjs-perf-table tbody td span.sub { display:block; font-size:.7rem; color:#94a3b8; font-weight:400; }
.rcjs-perf-table .emerald { color:#047857; font-weight:600; }
.rcjs-perf-table .emerald-bright { color:#6ee7b7; font-weight:600; }
.rcjs-perf-table .rcjs-row-highlight { background:#fffbeb; }
.rcjs-perf-table .rcjs-row-total { background:#0A1A2F; color:#fff; }
.rcjs-perf-table .rcjs-row-total td { color:#fff; }
.rcjs-perf-table .hide-sm { display:none; }
.rcjs-perf-table .hide-md { display:none; }
@media (min-width:640px){ .rcjs-perf-table .hide-sm{display:table-cell;} }
@media (min-width:768px){ .rcjs-perf-table .hide-md{display:table-cell;} }

.rcjs-tag-primary { display:inline-block; background:#0A1A2F; color:#fff; font-size:.6rem; font-weight:600; text-transform:uppercase; letter-spacing:.1em; padding:.15rem .5rem; border-radius:3px; margin-top:.25rem; }
.rcjs-naics-table td strong { color:#0A1A2F; }

.rcjs-cred-card { background:#fff; border:1px solid #e2e8f0; border-radius:.5rem; padding:1.25rem; }
.rcjs-cred-card h3 { font-size:1.05rem; }

/* Leadership */
.rcjs-headshot { width:128px; height:128px; border-radius:50%; object-fit:cover; border:4px solid #0A1A2F; display:block; }
.rcjs-role { color:#475569; margin:.25rem 0 .75rem; }
.rcjs-keyfacts-dl { margin-top:1rem; display:grid; grid-template-columns:1fr; gap:.75rem; font-size:.875rem; }
@media (min-width:640px){ .rcjs-keyfacts-dl{grid-template-columns:1fr 1fr;} }
.rcjs-keyfacts-dl dt { font-size:.7rem; text-transform:uppercase; letter-spacing:.1em; color:#64748b; font-weight:600; }
.rcjs-keyfacts-dl dd { margin:.15rem 0 0; color:#0A1A2F; font-weight:500; }
.rcjs-award { background:#fff; border:1px solid #e2e8f0; border-radius:.5rem; padding:1rem; }
.rcjs-award strong { display:block; color:#0A1A2F; }
.rcjs-award span { display:block; font-size:.75rem; color:#64748b; margin-top:.25rem; }

.rcjs-callout-dark { background:#0A1A2F; color:#fff; border-radius:.75rem; padding:1.5rem; margin-top:2.5rem; }
.rcjs-callout-dark p { color:#cbd5e1; }
.rcjs-callout-h3 { color:#fff; }

/* Compliance list */
.rcjs-compliance-list { list-style:none; padding:0; margin:0; background:#fff; border:1px solid #e2e8f0; border-radius:.5rem; }
.rcjs-compliance-list li { display:flex; gap:1rem; align-items:center; justify-content:space-between; padding:1rem 1.25rem; border-bottom:1px solid #e2e8f0; }
.rcjs-compliance-list li:last-child { border-bottom:none; }
.rcjs-compliance-list li strong { display:block; color:#0A1A2F; }
.rcjs-compliance-list li span { font-size:.875rem; color:#475569; }
.rcjs-status-pill { display:inline-flex; align-items:center; gap:.35rem; padding:.25rem .75rem; border-radius:9999px; font-size:.75rem; font-weight:600; flex-shrink:0; }
.rcjs-status-active { background:#ecfdf5; color:#047857; border:1px solid #a7f3d0; }
.rcjs-status-pending { background:#fffbeb; color:#b45309; border:1px solid #fcd34d; }

/* Gov contact */
.rcjs-contact-card { background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); border-radius:.5rem; padding:1.5rem; }
.rcjs-contact-line { padding:.5rem 0; border-bottom:1px solid rgba(255,255,255,.08); font-size:.875rem; }
.rcjs-contact-line:last-child { border-bottom:none; }
.rcjs-contact-line .lbl { display:block; color:#94a3b8; font-size:.7rem; text-transform:uppercase; letter-spacing:.1em; }
.rcjs-contact-line a { color:#fff; font-weight:500; }
.rcjs-contact-line span { color:#fff; font-weight:500; }
.rcjs-form-on-dark { background:#fff; color:#1e293b; border-radius:.75rem; padding:1.5rem; margin-top:2rem; }
.rcjs-form-on-dark h2, .rcjs-form-on-dark h3 { color:#0A1A2F; }
.rcjs-form-on-dark p { color:#475569; }

/* ============================================================
 * BOOKING PAGES
 * ============================================================ */
.rcjs-breadcrumb { background:#f8fafc; border-bottom:1px solid #e2e8f0; font-size:.75rem; color:#64748b; padding:.75rem 1.5rem; max-width:1200px; margin:0 auto; }
.rcjs-breadcrumb a { color:#163457; }
.rcjs-before-book { background:#fff; border-bottom:1px solid #e2e8f0; padding:2.5rem 0; }
.rcjs-before-book .rcjs-inner { max-width:1200px; margin:0 auto; padding:0 1.5rem; }
.rcjs-mini-card { border:1px solid #e2e8f0; border-radius:.5rem; padding:1rem; background:#f8fafc; }
.rcjs-mini-card strong { color:#0A1A2F; display:block; }
.rcjs-mini-card p { font-size:.875rem; color:#475569; margin:.25rem 0 0; }

.rcjs-booking-section { padding:3rem 0; background:#f8fafc; }
.rcjs-booking-grid { display:grid; grid-template-columns:1fr; gap:2rem; }
@media (min-width:1024px){ .rcjs-booking-grid{grid-template-columns:8fr 4fr;} }
.rcjs-booking-card { background:#fff; border:1px solid #e2e8f0; border-radius:.75rem; box-shadow:0 1px 2px rgba(0,0,0,.04); }
.rcjs-booking-card-head { padding:1.5rem; border-bottom:1px solid #e2e8f0; }
.rcjs-booking-card-head h2 { margin:0; }
.rcjs-booking-card-head p { margin:.5rem 0 0; font-size:.875rem; color:#475569; }
.rcjs-booking-card-body { padding:1.5rem 2rem; }
.rcjs-sidebar-card { background:#fff; border:1px solid #e2e8f0; border-radius:.75rem; padding:1.5rem; margin-bottom:1.5rem; }
.rcjs-sidebar-card h3 { color:#0A1A2F; font-family:'Inter',sans-serif; font-size:1.05rem; font-weight:600; margin-bottom:.5rem; }
.rcjs-sidebar-dark { background:#0A1A2F; color:#fff; }
.rcjs-sidebar-dark h3 { color:#fff; }
.rcjs-sidebar-dark p { color:#cbd5e1; font-size:.875rem; }
.rcjs-sidebar-soft { background:#f1f5f9; }
.rcjs-sidebar-hours { margin-top:1.25rem; padding-top:1.25rem; border-top:1px solid rgba(255,255,255,.1); font-size:.875rem; color:#cbd5e1; }
.rcjs-sidebar-hours-h { color:#fff; font-weight:600; margin-bottom:.5rem; }
.rcjs-check-list { list-style:none; padding:0; margin:.5rem 0 0; font-size:.875rem; color:#334155; }
.rcjs-check-list li { padding:.25rem 0 .25rem 1.5rem; position:relative; }
.rcjs-check-list li::before { content:"✓"; position:absolute; left:0; color:#163457; font-weight:700; }

/* ============================================================
 * FORMS
 * ============================================================ */
.rcjs-form { font-family:'Inter',sans-serif; color:#1e293b; }
.rcjs-fieldset { border:none; padding:0; margin:0 0 2rem; }
.rcjs-legend { font-family:'Source Serif Pro',serif; color:#0A1A2F; font-size:1.25rem; font-weight:700; padding:0 0 .75rem; display:block; }
.rcjs-leg-card { border:1px solid #e2e8f0; border-radius:.75rem; background:#fff; padding:1.25rem; }
.rcjs-tag { display:inline-block; background:#0A1A2F; color:#fff; font-size:.65rem; font-weight:600; padding:.15rem .5rem; border-radius:3px; margin-right:.5rem; vertical-align:middle; }
.rcjs-sub { color:#0A1A2F; font-weight:600; margin-top:1rem; margin-bottom:.5rem; font-size:.95rem; }
.rcjs-req { color:#dc2626; }

.rcjs-field { margin-bottom:1rem; }
.rcjs-label { display:block; font-size:.875rem; font-weight:600; color:#0A1A2F; margin-bottom:.25rem; }
.rcjs-help { font-size:.75rem; color:#64748b; margin-top:.25rem; }
.rcjs-input, .rcjs-textarea, .rcjs-select { width:100%; padding:.65rem .85rem; border:1px solid #cbd5e1; border-radius:.5rem; background:#fff; color:#0f172a; font-size:.95rem; font-family:inherit; box-sizing:border-box; transition:border-color .15s, box-shadow .15s; }
.rcjs-input:focus, .rcjs-textarea:focus, .rcjs-select:focus { outline:none; border-color:#1E4173; box-shadow:0 0 0 3px rgba(30,65,115,.15); }
.rcjs-textarea { resize:vertical; min-height:100px; }

.rcjs-pills { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:.25rem; }
.rcjs-pill { display:inline-flex; align-items:center; gap:.5rem; padding:.55rem .9rem; border:1px solid #cbd5e1; border-radius:9999px; cursor:pointer; background:#fff; font-size:.9rem; color:#334155; }
.rcjs-pill input { accent-color:#1E4173; }
.rcjs-pill:hover { border-color:#163457; }

.rcjs-terms { background:#f8fafc; border:1px solid #e2e8f0; border-radius:.5rem; padding:.75rem 1rem; margin-bottom:.5rem; }
.rcjs-terms summary { cursor:pointer; font-weight:600; color:#0A1A2F; }
.rcjs-terms p { font-size:.875rem; color:#334155; margin:.5rem 0; }

.rcjs-submit-row { padding-top:1.5rem; border-top:1px solid #e2e8f0; display:flex; flex-direction:column; gap:1rem; }
@media (min-width:640px){ .rcjs-submit-row{flex-direction:row; justify-content:space-between; align-items:center;} }
.rcjs-submit-row .rcjs-btn { min-width:200px; }

.rcjs-intro { background:#fffbeb; border:1px solid #fde68a; color:#92400e; border-radius:.5rem; padding:.75rem 1rem; font-size:.875rem; }

.rcjs-form-success, .rcjs-form-error { margin-bottom:1rem; }
.rcjs-success-card { background:#ecfdf5; border:1px solid #a7f3d0; color:#065f46; border-radius:.5rem; padding:1.25rem; }
.rcjs-error-card { background:#fef2f2; border:1px solid #fecaca; color:#991b1b; border-radius:.5rem; padding:1.25rem; }
.rcjs-form-success h3, .rcjs-form-error h3 { font-family:'Inter',sans-serif; font-size:1.05rem; margin:0 0 .25rem; }

/* ============================================================
 * v1.0.4 FIXES — visual polish from user feedback
 * ============================================================ */

/* Family / market cards — force child text colors to win against theme overrides */
.rcjs-page .rcjs-family-card,
.rcjs-page .rcjs-family-card *,
.rcjs-page .rcjs-market-card,
.rcjs-page .rcjs-market-card * { color:#1e293b !important; }
.rcjs-page .rcjs-family-card h3,
.rcjs-page .rcjs-market-card h3 { color:#0A1A2F !important; }
.rcjs-page .rcjs-family-card .rcjs-eyebrow,
.rcjs-page .rcjs-market-card .rcjs-eyebrow { color:#163457 !important; }
.rcjs-page .rcjs-family-card .rcjs-link-arrow,
.rcjs-page .rcjs-market-card .rcjs-link-arrow { color:#163457 !important; }
.rcjs-page .rcjs-family-card p,
.rcjs-page .rcjs-market-card p { color:#475569 !important; }

/* TESTIMONIALS section (new on RCJ home) */
.rcjs-testimonials-grid { display:grid; gap:1.5rem; grid-template-columns:1fr; margin-top:2rem; }
@media (min-width:768px) { .rcjs-testimonials-grid { grid-template-columns:1fr 1fr; } }
.rcjs-testimonial { background:#fff; border:1px solid #e2e8f0; border-radius:.5rem; padding:1.75rem; margin:0; }
.rcjs-testimonial .stars { color:#f59e0b; font-size:1.05rem; margin-bottom:.75rem; letter-spacing:.1em; }
.rcjs-testimonial blockquote { font-style:italic; color:#334155; margin:0; line-height:1.6; }
.rcjs-testimonial figcaption { margin-top:1rem; font-size:.875rem; font-weight:600; color:#0A1A2F; }
.rcjs-testimonial figcaption .src { font-weight:400; color:#64748b; }
.rcjs-testimonial figcaption a { color:#163457; text-decoration:underline; }

/* GOV PAGE — contracts email contrast in top compliance bar and contact card */
.rcjs-page .rcjs-compliance-bar a { color:#fcd34d !important; text-decoration:underline; }
.rcjs-page .rcjs-compliance-bar a:hover { color:#fef3c7 !important; }
.rcjs-page .rcjs-contact-card,
.rcjs-page .rcjs-contact-card * { color:#fff !important; }
.rcjs-page .rcjs-contact-card .lbl { color:#94a3b8 !important; }
.rcjs-page .rcjs-contact-card a { color:#fff !important; text-decoration:underline; text-decoration-color:rgba(255,255,255,.4); }
.rcjs-page .rcjs-contact-card a:hover { color:#fcd34d !important; }

/* PAST PERFORMANCE — spacing between capability excerpt grid and credentials cards */
.rcjs-gov .rcjs-credentials { margin-top:2.5rem; }
.rcjs-gov #past-performance .rcjs-grid-12 { margin-top:2rem; margin-bottom:1rem; }
.rcjs-gov #past-performance .rcjs-card-dark { padding:2rem; }
.rcjs-gov #past-performance .rcjs-card-dark blockquote { margin-top:.5rem; }
.rcjs-gov .rcjs-source { margin-top:1rem; font-size:.75rem; color:#94a3b8; }

/* NAICS table — Primary tag stacked + centered under the code, cell centered vertically */
.rcjs-page .rcjs-naics-table { border-collapse:separate; border-spacing:0; }
.rcjs-page .rcjs-naics-code-cell { vertical-align:middle !important; text-align:center !important; padding:1.25rem .75rem !important; min-width:120px; }
.rcjs-page .rcjs-naics-id { display:flex; flex-direction:column; align-items:center; gap:.5rem; }
.rcjs-page .rcjs-naics-id strong { font-size:1.05rem; }
.rcjs-page .rcjs-tag-primary { display:inline-block; margin:0; }
.rcjs-page .rcjs-naics-table tbody td { vertical-align:middle; }

/* LEADERSHIP — headshot bigger, centered, fills available space */
.rcjs-page .rcjs-headshot { width:100%; max-width:240px; height:auto; aspect-ratio:1/1; object-fit:cover; border-radius:50%; border:6px solid #0A1A2F; display:block; margin:0 auto; }
@media (min-width:768px) { .rcjs-page .rcjs-headshot { max-width:240px; } }

/* LEADERSHIP — uniform spacing between sections */
.rcjs-gov #leadership .rcjs-card-white { padding:2.25rem 2.25rem; margin-bottom:1.5rem; }
.rcjs-gov #leadership .rcjs-h3-spaced { margin-top:3rem; margin-bottom:1.5rem; }
.rcjs-gov #leadership .rcjs-grid-3-cards { gap:1.5rem; }
.rcjs-gov #leadership .rcjs-pillar-card { padding:1.75rem; }
.rcjs-gov #leadership .rcjs-pillar-card h4 { margin-bottom:.5rem; }
.rcjs-gov #leadership .rcjs-pillar-card ul { margin-top:1rem; }
.rcjs-gov #leadership .rcjs-pillar-card ul li { padding-top:.4rem; padding-bottom:.4rem; }
.rcjs-gov #leadership .rcjs-award { padding:1.25rem 1.5rem; min-height:80px; display:flex; flex-direction:column; justify-content:center; }
.rcjs-gov #leadership .rcjs-callout-dark { margin-top:3rem; padding:2.25rem 2.5rem; }

/* Verification Documentation callout — button bottom-right */
.rcjs-page .rcjs-verif-doc .rcjs-verif-doc-inner { display:flex; flex-direction:column; gap:1.5rem; }
@media (min-width:768px) {
	.rcjs-page .rcjs-verif-doc .rcjs-verif-doc-inner { flex-direction:row; align-items:flex-end; justify-content:space-between; gap:2rem; }
	.rcjs-page .rcjs-verif-doc .rcjs-verif-doc-copy { flex:1 1 auto; }
	.rcjs-page .rcjs-verif-doc .rcjs-verif-doc-action { flex:0 0 auto; align-self:flex-end; }
}
.rcjs-page .rcjs-verif-doc .rcjs-verif-doc-action .rcjs-btn { white-space:nowrap; }

/* Section breathing room — extra cushion between gov page sections */
.rcjs-gov .rcjs-section { padding-top:4.5rem; padding-bottom:4.5rem; }
.rcjs-gov #past-performance > .rcjs-inner > .rcjs-callout-emerald { margin:1.5rem 0 2rem; }
.rcjs-gov #past-performance > .rcjs-inner > .rcjs-grid-12 { margin-top:2rem; }
.rcjs-gov #past-performance > .rcjs-inner > .rcjs-credentials { margin-top:2.5rem; }

/* Family/market cards on government page — ensure consistent color treatment */
.rcjs-gov .rcjs-market-card { transition:border-color .15s, box-shadow .15s; }
.rcjs-gov .rcjs-market-card:hover { border-color:#0A1A2F !important; box-shadow:0 4px 12px rgba(0,0,0,.08); }

/* ============================================================
 * v1.0.5 — accordion (div/button) replaces details/summary
 * ============================================================ */
.rcjs-faq { margin-top:1.5rem; }
.rcjs-faq-item { background:#fff !important; border:1px solid #e2e8f0 !important; border-radius:.5rem !important; margin-bottom:.75rem !important; overflow:hidden !important; }
.rcjs-faq-toggle { width:100% !important; text-align:left !important; background:transparent !important; border:none !important; padding:1rem 1.25rem !important; cursor:pointer !important; font-weight:600 !important; color:#0A1A2F !important; font-family:inherit !important; font-size:1rem !important; display:flex !important; justify-content:space-between !important; align-items:center !important; gap:1rem !important; }
.rcjs-faq-toggle:hover { background:#f8fafc !important; }
.rcjs-faq-toggle .q { flex:1 1 auto !important; color:#0A1A2F !important; }
.rcjs-faq-toggle .ico { font-size:1.25rem !important; color:#163457 !important; font-weight:700 !important; line-height:1 !important; flex:0 0 auto !important; transition:transform .15s; }
.rcjs-faq-toggle[aria-expanded="true"] .ico { transform:rotate(45deg) !important; }
.rcjs-faq-answer { padding:0 1.25rem 1rem !important; color:#334155 !important; }
.rcjs-faq-answer[hidden] { display:none !important; }
.rcjs-faq-answer p {