/* 2026 refresh: readable 1C-oriented palette and Helvetica-only typography. */
:root {
  --ink: #13283f;
  --ink-2: #0f3d68;
  --paper: #f7f9fc;
  --white: #ffffff;
  --coral: #ffc400;
  --coral-dark: #e8ae00;
  --cyan: #dbeaf6;
  --mint: #eaf3fa;
  --line: #d6e2ec;
  --muted: #496175;
  --display: Helvetica, "Helvetica Neue", Arial, sans-serif;
  --body: Helvetica, "Helvetica Neue", Arial, sans-serif;
}

html, body, button, input, textarea, .brand, .brand__mark, .quote-mark, .hero h1, .section h2, .modal h2, .hero__proof strong, .pain-card h3, .service-card h3, .segment-panel h3, .case-card h3, .contact-phone, .config-card h3 {
  font-family: Helvetica, "Helvetica Neue", Arial, sans-serif;
}

body { color: var(--ink); background: var(--paper); font-size: 16px; }
.topline { background: #0f3d68; color: #dbeaf6; }
.topline a, .topline a span { color: #fff; }
.site-header { background: rgba(255,255,255,.95); }
.brand b { letter-spacing: -.065em; }
.brand__mark { background: var(--coral); color: var(--ink); }
.nav { font-size: 14px; }
.nav>a:not(.button)::after, .eyebrow span { background: #1264a3; }
.button { background: var(--coral); color: var(--ink); border-radius: 7px; box-shadow: 0 10px 22px rgba(255,196,0,.28); font-size: 14px; }
.button:hover { background: var(--coral-dark); box-shadow: 0 14px 28px rgba(232,174,0,.32); }
.eyebrow { color: #496175; font-size: 11px; letter-spacing: .12em; }

/* Only dark surfaces use light text. All light-section emphasis is accessible brand blue. */
.hero { color: #fff; background: linear-gradient(135deg, #0f3d68 0%, #0b4f8a 58%, #1264a3 100%); }
.hero__grid { background-image: linear-gradient(rgba(255,255,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.09) 1px,transparent 1px); }
.hero__grid::before { border-color: rgba(255,255,255,.17); box-shadow: 0 0 0 88px rgba(255,255,255,.035),0 0 0 176px rgba(255,255,255,.02); }
.hero h1, .section h2, .modal h2 { font-weight: 700; letter-spacing: -.055em; }
.hero h1 { letter-spacing: -.065em; }
.hero h1 em { color: var(--coral); }
.hero .eyebrow--light, .control .eyebrow--light, .contact .eyebrow--light { color: #dbeaf6; }
.hero .eyebrow span, .control .eyebrow span, .contact .eyebrow span { background: var(--coral); }
.hero__lead { color: #e5f0f8; font-size: 18px; }
.text-link--light { color: #fff; }
.hero__proof small, .hero__bottom p { color: #dbeaf6; }
.hero__proof>div:not(:last-child)::after, .hero__bottom { border-color: rgba(219,234,246,.35); }
.ticker span { color: #fff; }
.ticker span::before { background: var(--coral); }
.orb { border-color: rgba(219,234,246,.36); }
.orb--two { border-color: rgba(255,196,0,.75); }
.orb--three { background: var(--coral); box-shadow: 0 0 0 7px rgba(255,196,0,.23),0 0 30px var(--coral); }
.hero-visual>img { filter: drop-shadow(0 28px 32px rgba(0,22,45,.32)); }
.mini-icon--coral { background: #fff1b0; color: #795b00; }
.avatar { background: #eaf3fa; color: #0b4f8a; }

.section { padding: 120px 0; }
.intro { background: #fff; }
.section:not(.section-dark) h2 em, .configs h2 em { color: #0b4f8a; }
.intro__text, .section-heading>p, .sectors__copy>p:not(.eyebrow), .faq__grid>div>p:not(.eyebrow) { color: var(--muted); font-size: 16px; }
.pain-card { border: 1px solid var(--line); box-shadow: 0 8px 22px rgba(19,40,63,.04); }
.pain-card--accent { background: #eaf3fa; }
.pain-card--accent p { color: var(--muted); }
.pain-card__number { color: #a85a00; }
.pain-card p, .service-card>p:not(.service-card__tag) { font-size: 14px; color: var(--muted); }
.services { background: #eaf3fa; }
.service-card { background: #fff; border-color: var(--line); min-height: 288px; }
.service-card:hover { box-shadow: 0 16px 30px rgba(19,40,63,.10); }
.service-card--featured, .service-card--featured:hover { background: #0f3d68; }
.service-card--featured>p:not(.service-card__tag) { color: #dbeaf6; }
.service-card__icon { background: #eaf3fa; color: #0b4f8a; }
.service-card--featured .service-card__icon { background: var(--coral); color: var(--ink); }
.service-card__tag { color: #496175; font-size: 10px; }
.service-card--featured .service-card__tag { color: #dbeaf6; }
.service-card>a:hover { background: var(--coral); border-color: var(--coral); color: var(--ink); }

/* Configurations: a proof-focused sales section with a genuine working-team visual. */
.configs { background: #fff; }
.configs__heading { display: grid; grid-template-columns: minmax(0, .92fr) minmax(300px, .55fr); gap: 70px; align-items: end; margin-bottom: 50px; }
.configs__heading h2 { margin: 0; font-size: clamp(34px, 3.9vw, 54px); line-height: 1.12; }
.configs__heading>p:not(.eyebrow) { margin: 0 0 5px; max-width: 420px; color: var(--muted); font-size: 16px; line-height: 1.7; }
.configs__layout { display: grid; grid-template-columns: .91fr 1.09fr; gap: 26px; align-items: stretch; }
.configs__photo { margin: 0; min-height: 584px; overflow: hidden; border-radius: 14px; position: relative; background: #eaf3fa; }
.configs__photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(15,61,104,.77) 100%); pointer-events: none; }
.configs__photo img { width: 100%; height: 100%; min-height: 584px; object-fit: cover; object-position: 61% center; display: block; }
.configs__photo figcaption { position: absolute; z-index: 1; left: 26px; right: 26px; bottom: 24px; color: #fff; font-size: 14px; font-weight: 700; display: flex; align-items: center; }
.configs__photo .status-dot { background: var(--coral); box-shadow: 0 0 0 4px rgba(255,196,0,.25); }
.config-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
.config-card { min-height: 185px; border: 1px solid var(--line); border-radius: 12px; padding: 24px 23px; background: #fff; transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease; }
.config-card:hover { transform: translateY(-4px); border-color: #8ebce1; box-shadow: 0 14px 26px rgba(19,40,63,.09); }
.config-card span { display: block; color: #a85a00; font-size: 11px; font-weight: 700; margin-bottom: 22px; }
.config-card h3 { color: var(--ink); font-size: 20px; letter-spacing: -.035em; line-height: 1.2; margin: 0 0 9px; }
.config-card p { color: var(--muted); margin: 0; font-size: 13px; line-height: 1.55; }
.configs__cta { margin-top: 28px; padding: 24px 28px; border-radius: 12px; background: #eaf3fa; border: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.configs__cta b { font-size: 17px; color: var(--ink); }
.configs__cta p { margin: 4px 0 0; color: var(--muted); font-size: 14px; }
.configs__cta .button { flex: 0 0 auto; }

.control, .contact { background: linear-gradient(135deg, #0f3d68, #0b4f8a); }
.control h2 em, .contact h2 em, .process-step:hover, .process-step.is-active { color: var(--coral); }
.control__intro>p, .contact__copy>p:not(.eyebrow) { color: #dbeaf6; }
.process-step span { color: #b7d7ee; }
.process-step i { color: #dbeaf6; }
.dashboard { border-color: rgba(219,234,246,.45); }
.dashboard::before { background: var(--coral); }
.segment-panel { background: #eaf3fa; }
.segment-panel li { color: #0b4f8a; }
.segment-tabs button.is-selected { background: #0b4f8a; border-color: #0b4f8a; }
.cases { background: #f7f9fc; }
.case-card { background: #eaf3fa; }
.case-card p { color: #dbeaf6; }
.case-card--coral { background: #0b4f8a; }
.case-card--coral p { color: #dbeaf6; }
.quote-mark, .case-card a span { color: var(--coral); }
.industry-row span, .accordion, .accordion details { border-color: var(--line); }
.accordion summary span { color: #a85a00; }
.contact__flare { background: var(--coral); opacity: .62; }
.contact-phone small { color: #dbeaf6; }
.form-dot { background: var(--coral); box-shadow: 0 0 0 4px #fff1b0; }
.lead-form input:focus, .lead-form textarea:focus { border-color: #1264a3; }
.footer { background: #0f3d68; }
.footer__legal a { color: #dbeaf6; }
.success-icon { background: #eaf3fa; color: #0b4f8a; }

@media (max-width: 900px) {
  .configs__heading, .configs__layout { grid-template-columns: 1fr; gap: 28px; }
  .configs__photo, .configs__photo img { min-height: 430px; }
}
@media (max-width: 680px) {
  .section { padding: 80px 0; }
  .configs__heading { margin-bottom: 30px; }
  .configs__heading>p:not(.eyebrow) { font-size: 15px; }
  .configs__photo, .configs__photo img { min-height: 330px; }
  .configs__photo figcaption { left: 18px; right: 18px; bottom: 18px; font-size: 13px; }
  .config-grid { grid-template-columns: 1fr; }
  .config-card { min-height: 151px; padding: 20px; }
  .config-card span { margin-bottom: 14px; }
  .configs__cta { padding: 22px 20px; display: block; }
  .configs__cta .button { margin-top: 18px; width: 100%; }
}
