/* ============================================================
   ACCELERATIONLAB — Customizer CSS v1
   Clean adapted version from Synethos — no duplicates, no 1fr, no repeat()
   Appearance → Customize → Additional CSS
   Fonts loaded via functions.php or WPCode
   ============================================================ */

/* ── BASE ─────────────────────────────────────────────────── */

*, *::before, *::after { box-sizing: border-box; }

body {
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.7;
  color: #1a2e2a;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Sora', sans-serif;
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: -0.025em;
  color: #0A2342;
}

h1 { font-size: 2.8rem; }
h2 { font-size: 2.1rem; }
h3 { font-size: 1.35rem; letter-spacing: -0.015em; }
h4 { font-size: 1rem; font-weight: 600; letter-spacing: 0; }

p {
  font-size: 1rem;
  line-height: 1.72;
  color: #4A6360;
}

a { color: #0F6E56; text-decoration: none; }
a:hover { color: #1D9E75; }
strong, b { font-weight: 600; }


/* ── TYPOGRAPHY HELPERS ───────────────────────────────────── */

.syn-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #1D9E75;
  margin-bottom: 14px;
}

.syn-eyebrow--dark { color: #9FE1CB; }

.syn-accent { color: #1D9E75; }

.syn-lead {
  font-size: 1.05rem;
  line-height: 1.75;
  color: #4A6360;
  font-weight: 300;
}

.section-title {
  font-family: 'Sora', sans-serif;
  font-size: 2.1rem;
  font-weight: 700;
  line-height: 1.2;
  color: #0A2342;
  letter-spacing: -0.025em;
  margin-bottom: 1.5rem;
}

blockquote,
.syn-quote {
  font-size: 1.1rem;
  line-height: 1.75;
  color: #2d4a45;
  border-left: 3px solid #1D9E75;
  padding-left: 1.5rem;
  margin: 2rem 0;
}


/* ── LAYOUT ───────────────────────────────────────────────── */

.syn-container {
  width: 100%;
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
}

.syn-section {
  padding-top: 80px;
  padding-bottom: 80px;
}

.syn-section--compact {
  padding-top: 48px;
  padding-bottom: 48px;
}

.syn-bg-white    { background-color: #ffffff; }
.syn-bg-offwhite { background-color: #F7FAFB; }
.syn-bg-surface  { background-color: #EEF8F4; }
.syn-bg-navy     { background-color: #0A2342; }
.syn-bg-dark     { background-color: #080F1C; }
.syn-text-center { text-align: center; }


/* ── HERO ─────────────────────────────────────────────────── */

.syn-hero {
  background-color: #080F1C;
  background-image:
    linear-gradient(rgba(15,110,86,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15,110,86,0.04) 1px, transparent 1px);
  background-size: 40px 40px;
  display: grid;
  grid-template-columns: 50% 50%;
  min-height: 520px;
  overflow: hidden;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.syn-hero.vc_row,
.vc_row-fluid.syn-hero {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
}

.syn-hero__left {
  padding: 60px 40px 60px 44px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.syn-hero__right {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 36px 40px 16px;
}

.syn-hero__title {
  font-family: 'Sora', sans-serif;
  font-size: 2.1rem;
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: -0.03em;
  color: #ECF0EE;
  margin-bottom: 20px;
}

.syn-hero__sub {
  font-size: 0.9rem;
  line-height: 1.75;
  color: #7A9490;
  margin-bottom: 36px;
  max-width: 400px;
  font-weight: 300;
}

.syn-hero__actions {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 44px;
  flex-wrap: wrap;
}

.syn-eyebrow-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #1D9E75;
  animation: syn-pulse 2.4s ease-in-out infinite;
  flex-shrink: 0;
  display: inline-block;
}

@keyframes syn-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%       { opacity: 0.4; transform: scale(0.7); }
}

.syn-trust-strip {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,0.06);
}

.syn-trust-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.72rem;
  color: #FFFFFF;
}

.syn-trust-item i { font-size: 14px; color: #4A8F86; }


/* ── BUTTONS ──────────────────────────────────────────────── */

.syn-btn,
.syn-btn-primary {
  display: inline-block;
  background: #0F6E56;
  color: #ffffff !important;
  border: none;
  padding: 11px 24px;
  border-radius: 6px;
  font-family: 'Inter', sans-serif;
  font-size: 0.85rem;
  font-weight: 500;
  cursor: pointer;
  text-decoration: none;
  line-height: 1;
}

.syn-btn:hover,
.syn-btn-primary:hover {
  background: #1D9E75;
  color: #ffffff !important;
}

.syn-btn-outline {
  display: inline-block;
  background: transparent;
  color: #0F6E56 !important;
  border: 1.5px solid #0F6E56;
  padding: 10px 22px;
  border-radius: 6px;
  font-family: 'Inter', sans-serif;
  font-size: 0.85rem;
  font-weight: 500;
  cursor: pointer;
  text-decoration: none;
  line-height: 1;
}

.syn-btn-outline:hover {
  background: #E1F5EE;
  color: #0F6E56 !important;
}

.syn-btn-ghost {
  display: inline-block;
  background: transparent;
  color: #7A9490 !important;
  border: 1px solid rgba(122,148,144,0.35);
  padding: 10px 20px;
  border-radius: 6px;
  font-family: 'Inter', sans-serif;
  font-size: 0.85rem;
  font-weight: 400;
  cursor: pointer;
  text-decoration: none;
  line-height: 1;
}

.syn-btn-ghost:hover {
  border-color: rgba(122,148,144,0.7);
  color: #9FB8B4 !important;
}

.syn-btn-white {
  display: inline-block;
  background: #ffffff;
  color: #0A2342 !important;
  border: none;
  padding: 12px 28px;
  border-radius: 6px;
  font-family: 'Inter', sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
}

.syn-btn-white:hover {
  background: #ECF0EE;
  color: #0A2342 !important;
}

.syn-btn-outline-white {
  display: inline-block;
  background: transparent;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,0.3);
  padding: 11px 24px;
  border-radius: 6px;
  font-family: 'Inter', sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  cursor: pointer;
  text-decoration: none;
}

.syn-btn-outline-white:hover {
  border-color: rgba(255,255,255,0.65);
  color: #ffffff !important;
}

.syn-cta-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.85rem;
  font-weight: 500;
  color: #0F6E56;
  text-decoration: none;
}

.syn-cta-link:hover { color: #1D9E75; }


/* ── CARDS ────────────────────────────────────────────────── */

.syn-card {
  background: #ffffff;
  border: 1px solid #D4E8E0;
  border-radius: 12px;
  padding: 1.5rem;
  height: 100%;
}

.syn-card:hover {
  border-color: rgba(29,158,117,0.4);
  box-shadow: 0 4px 20px rgba(15,110,86,0.12);
}

.syn-card__icon {
  width: 40px;
  height: 40px;
  background: #E1F5EE;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
}

.syn-card__icon i { font-size: 1.1rem; color: #0F6E56; }
.syn-card h3 { font-size: 1rem; margin-bottom: 0.5rem; color: #0A2342; }
.syn-card p  { font-size: 0.875rem; line-height: 1.65; color: #4A6360; }


/* ── PILLS & TAGS ─────────────────────────────────────────── */

.syn-pill {
  display: inline-block;
  background: #E1F5EE;
  color: #0F6E56;
  font-family: 'Inter', sans-serif;
  font-size: 0.7rem;
  font-weight: 500;
  padding: 4px 10px;
  border-radius: 999px;
  margin: 2px;
}

.syn-pill--before { background: #FFF0ED; color: #B34A20; }

.syn-chip {
  display: inline-block;
  font-size: 0.65rem;
  padding: 3px 10px;
  border-radius: 999px;
  border: 1px solid rgba(29,158,117,0.22);
  color: #5A8882;
  background: rgba(8,15,28,0.6);
  white-space: nowrap;
}

.syn-chip--active {
  background: rgba(15,110,86,0.22);
  border-color: rgba(29,158,117,0.5);
  color: #9FE1CB;
}

.syn-before-after {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 1rem;
}


/* ── COVERAGE MAP ─────────────────────────────────────────── */

.syn-map { width: 100%; max-width: 320px; }

.syn-map__title {
  font-size: 0.62rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #3A5954;
  margin-bottom: 16px;
  text-align: center;
}

.syn-map__grid { display: flex; flex-direction: column; gap: 8px; }

.syn-domain {
  border: 1px solid rgba(29,158,117,0.18);
  border-radius: 10px;
  padding: 12px 14px;
  background: rgba(15,110,86,0.05);
}

.syn-domain:hover {
  border-color: rgba(29,158,117,0.45);
  background: rgba(15,110,86,0.1);
}

.syn-domain__header { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }

.syn-domain__icon {
  width: 28px;
  height: 28px;
  border-radius: 7px;
  background: rgba(15,110,86,0.18);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.syn-domain__icon i { font-size: 14px; color: #1D9E75; }

.syn-domain__label {
  font-family: 'Sora', sans-serif;
  font-size: 0.72rem;
  font-weight: 600;
  color: #C8DDD9;
}

.syn-domain__sub { font-size: 0.62rem; color: #3A5954; margin-top: 1px; }
.syn-domain__modules { display: flex; gap: 5px; flex-wrap: wrap; }

.syn-map__connector {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 8px;
}

.syn-map__connector::after {
  content: '';
  display: block;
  width: 1px;
  height: 100%;
  background: rgba(29,158,117,0.2);
}

.syn-map__core { display: flex; align-items: center; justify-content: center; margin: 6px 0; }

.syn-map__core-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: rgba(15,110,86,0.12);
  border: 1px solid rgba(29,158,117,0.3);
  border-radius: 999px;
  padding: 5px 16px;
}

.syn-map__core-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #1D9E75;
}

.syn-map__core-label {
  font-family: 'Sora', sans-serif;
  font-size: 0.68rem;
  font-weight: 600;
  color: #1D9E75;
  letter-spacing: 0.04em;
}


/* ── SECTION COMPONENTS ───────────────────────────────────── */

.syn-highlight {
  background: #E1F5EE;
  border-radius: 8px;
  padding: 1.25rem 1.5rem;
  font-size: 0.95rem;
  color: #0F6E56;
  font-weight: 500;
  line-height: 1.7;

  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 0.75rem;
  align-items: flex-start;
}

.syn-highlight i {
  font-size: 1.1rem;
  margin-top: 2px;
}

.syn-highlight-content p {
  margin-top: 0;
}

.syn-highlight-content p:last-child {
  margin-bottom: 0;
}

.syn-note {
  background: #FFFBF0;
  border-left: 3px solid #EF9F27;
  border-radius: 0 8px 8px 0;
  padding: 10px 14px;
  font-size: 0.82rem;
  color: #633806;
  line-height: 1.6;
}

.syn-chain { display: flex; align-items: center; overflow-x: auto; padding-bottom: 4px; }

.syn-chain__step {
  background: #ffffff;
  border: 1px solid #D4E8E0;
  border-radius: 8px;
  padding: 1rem 1.25rem;
  text-align: center;
  flex: 1;
  min-width: 110px;
}

.syn-chain__step i { font-size: 1.4rem; color: #0F6E56; display: block; margin-bottom: 6px; }
.syn-chain__step strong { font-size: 0.82rem; font-weight: 600; color: #0A2342; display: block; }
.syn-chain__arrow { color: #9FE1CB; font-size: 1.1rem; padding: 0 4px; flex-shrink: 0; }


/* ── TABS ─────────────────────────────────────────────────── */

.syn-tabs { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 1.5rem; }

.syn-tab {
  background: #ffffff;
  border: 1px solid #D4E8E0;
  border-radius: 24px;
  padding: 7px 16px;
  font-family: 'Inter', sans-serif;
  font-size: 0.78rem;
  font-weight: 500;
  cursor: pointer;
  color: #4A6360;
}

.syn-tab:hover { border-color: #1D9E75; color: #0F6E56; }
.syn-tab.active { background: #0F6E56; color: #ffffff; border-color: #0F6E56; }
.wpb_tabs_nav li a { font-family: 'Inter', sans-serif; font-size: 0.78rem; }
.wpb_tabs_nav li.ui-tabs-active a { background: #0F6E56; color: #ffffff; border-color: #0F6E56; }


/* ── USE-CASE CARDS GRID ──────────────────────────────────── */
/* Float-based — no 1fr */

.syn-usecase-grid {
  overflow: hidden;
  margin-top: 2rem;
}

.syn-usecase-card {
  float: left;
  width: 47%;
  margin-right: 4%;
  margin-bottom: 20px;
  background: #ffffff;
  border: 1px solid #D4E8E0;
  border-radius: 12px;
  padding: 1.5rem;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
  box-sizing: border-box;
}

.syn-usecase-card:nth-child(2n) { margin-right: 0; }

.syn-usecase-grid::after { content: ''; display: table; clear: both; }

.syn-usecase-card:hover {
  border-color: #1D9E75;
  box-shadow: 0 4px 20px rgba(15,110,86,0.1);
}

.syn-usecase-card__label {
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #1D9E75;
}

.syn-usecase-card__icon {
  width: 36px;
  height: 36px;
  background: #E1F5EE;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.syn-usecase-card__icon i { font-size: 17px; color: #0F6E56; }

.syn-usecase-card h3 {
  font-size: 0.95rem;
  font-weight: 600;
  color: #0A2342;
  line-height: 1.35;
  margin: 0;
}

.syn-usecase-card p {
  font-size: 0.82rem;
  color: #4A6360;
  line-height: 1.6;
  margin: 0;
  flex: 1;
}

.syn-usecase-card__arrow {
  font-size: 0.78rem;
  color: #0F6E56;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 4px;
}


/* ── COMPARE TABLE ────────────────────────────────────────── */

.syn-compare {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.85rem;
  margin-top: 2rem;
}

.syn-compare th {
  padding: 11px 14px;
  text-align: center;
  font-family: 'Sora', sans-serif;
  font-size: 0.78rem;
  font-weight: 600;
  border-bottom: 2px solid #D4E8E0;
  background: #F7FAFB;
  color: #0A2342;
}

.syn-compare th:first-child { text-align: left; }
.syn-compare th.syn-col-hl { background: #0F6E56; color: #ffffff; }
.syn-compare th.syn-compare__highlight { background: #E1F5EE; color: #0F6E56; }

.syn-compare td {
  padding: 10px 14px;
  border-bottom: 1px solid #EEF5F2;
  color: #4A6360;
  text-align: center;
  background: #ffffff;
}

.syn-compare td:first-child { text-align: left; font-weight: 500; color: #0A2342; }
.syn-compare td.syn-col-hl { background: #E1F5EE; color: #085041; font-weight: 500; }
.syn-compare td.syn-compare__highlight { background: rgba(225,245,238,0.4); color: #2d4a45; font-weight: 500; }
.syn-compare tr:last-child td { border-bottom: none; }
.syn-check { color: #0F6E56; font-size: 1rem; }
.syn-cross { color: #cccccc; font-size: 1rem; }
.syn-partial { color: #EF9F27; font-size: 0.72rem; font-weight: 600; }


/* ── HOMEPAGE SCIENTIFIC FOUNDATIONS ─────────────────────── */
/* Float-based — no 1fr or repeat() */

.syn-lib-grid {
  overflow: hidden;
  margin: 2rem 0 1.5rem;
}

.syn-lib-grid .syn-lib-card {
  float: left;
  width: 30%;
  margin-right: 4%;
  margin-bottom: 16px;
  box-sizing: border-box;
}

.syn-lib-grid .syn-lib-card:last-child { margin-right: 0; }
.syn-lib-grid::after { content: ''; display: table; clear: both; }


/* ── LIBRARY CARD (shared base) ───────────────────────────── */

.syn-lib-card {
  background: #F7FAFB;
  border: 1px solid #D4E8E0;
  border-radius: 10px;
  padding: 1.25rem;
}

.syn-lib-card__head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}

.syn-lib-card__icon {
  width: 28px;
  height: 28px;
  background: #E1F5EE;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.syn-lib-card__icon i { font-size: 14px; color: #0F6E56; }

.syn-lib-card h4,
.syn-lib-card__title {
  font-family: 'Sora', sans-serif;
  font-size: 0.78rem;
  font-weight: 600;
  color: #0A2342;
  margin-bottom: 0;
}

.syn-lib-card h4 i { color: #0F6E56; font-size: 1rem; }

.syn-lib-card__pills {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}


/* ── CUSTOM BAND (homepage foundations) ───────────────────── */

.syn-custom-band {
  background: #0A2342;
  border-radius: 10px;
  padding: 1.25rem 1.5rem;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 1.5rem;
}

.syn-custom-band i { font-size: 1.2rem; color: #1D9E75; flex-shrink: 0; margin-top: 2px; }
.syn-custom-band__text { font-size: 0.85rem; color: #9FE1CB; line-height: 1.65; }
.syn-custom-band__text strong { color: #ECF0EE; display: block; margin-bottom: 3px; }


/* ── ATS GENERATION CARDS (Hiring page) ───────────────────── */

.syn-ats-grid {
  overflow: hidden;
  margin-top: 1rem;
}

.syn-ats-gen {
  float: left;
  width: 30%;
  margin-right: 4%;
  border-radius: 10px;
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 8px;
  box-sizing: border-box;
}

.syn-ats-gen:last-child { margin-right: 0; }
.syn-ats-grid::after { content: ''; display: table; clear: both; }

.syn-ats-old {
  background: rgba(15,110,86,0.03);
  border: 1px solid rgba(29,158,117,0.12);
  opacity: 0.65;
}

.syn-ats-new {
  background: rgba(15,110,86,0.08);
  border: 1px solid rgba(29,158,117,0.4);
}

.syn-ats-gen__badge {
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #3A5954;
  margin-bottom: 4px;
}

.syn-ats-gen__badge--new { color: #1D9E75; }
.syn-ats-gen__label { font-family: 'Sora', sans-serif; font-size: 0.82rem; font-weight: 600; color: #C8DDD9; }
.syn-ats-gen__sub { font-size: 0.65rem; color: #3A5954; line-height: 1.5; }

.syn-ats-gen__stamp {
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #B34A20;
  border: 1.5px solid #B34A20;
  border-radius: 4px;
  padding: 2px 7px;
  margin-top: 4px;
  opacity: 0.7;
}


/* ── BEFORE/AFTER PANEL (Hiring tabs) ─────────────────────── */

.syn-before-after-panel {
  overflow: hidden;
  margin-top: 1.5rem;
}

.syn-bap-col {
  float: left;
  width: 47%;
  margin-right: 4%;
  border-radius: 10px;
  padding: 1.25rem;
  box-sizing: border-box;
}

.syn-bap-col:last-child { margin-right: 0; }
.syn-before-after-panel::after { content: ''; display: table; clear: both; }

.syn-bap-before { background: #FFF8F6; border: 1px solid rgba(179,74,32,0.2); }
.syn-bap-after  { background: #F2FBF7; border: 1px solid rgba(29,158,117,0.25); }

.syn-bap-label {
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 12px;
}

.syn-bap-before .syn-bap-label { color: #B34A20; }
.syn-bap-after  .syn-bap-label { color: #0F6E56; }

.syn-bap-list {
  list-style: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.syn-bap-list li {
  list-style: none !important;
  padding-left: 0 !important;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 0.82rem;
  line-height: 1.55;
}

.syn-bap-before li { color: #7A3018; }
.syn-bap-after  li { color: #085041; }
.syn-bap-before li i { color: #D85A30; font-size: 14px; flex-shrink: 0; margin-top: 2px; }
.syn-bap-after  li i { color: #0F6E56; font-size: 14px; flex-shrink: 0; margin-top: 2px; }


/* ── DEVELOPMENT 3-STEP FLOW ──────────────────────────────── */

.syn-dev-steps {
  display: flex;
  align-items: flex-start;
  gap: 0;
  margin-top: 2.5rem;
  flex-wrap: wrap;
}

.syn-dev-step {
  flex: 1;
  min-width: 200px;
  background: #ffffff;
  border: 1px solid #D4E8E0;
  border-radius: 12px;
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.syn-dev-step__icon {
  width: 40px;
  height: 40px;
  background: #E1F5EE;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.syn-dev-step__icon i { font-size: 1.2rem; color: #0F6E56; }
.syn-dev-step__num { font-family: 'Sora', sans-serif; font-size: 0.65rem; font-weight: 700; letter-spacing: 0.12em; color: #1D9E75; }
.syn-dev-step h3 { font-family: 'Sora', sans-serif; font-size: 1rem; font-weight: 600; color: #0A2342; margin: 0; }
.syn-dev-step p { font-size: 0.82rem; color: #4A6360; line-height: 1.65; margin: 0; }

.syn-dev-step__arrow {
  display: flex;
  align-items: center;
  padding: 0 12px;
  color: #9FE1CB;
  font-size: 1.2rem;
  flex-shrink: 0;
  padding-top: 48px;
}


/* ── CULTURAL DIMENSIONS GRID ─────────────────────────────── */
/* Float-based — no 1fr */

.syn-dim-grid { overflow: hidden; margin-top: 2.5rem; }

.syn-dim-card {
  float: left;
  width: 30%;
  margin-right: 3%;
  margin-bottom: 20px;
  background: #ffffff;
  border: 1px solid #D4E8E0;
  border-radius: 12px;
  padding: 1.5rem;
  box-sizing: border-box;
}

.syn-dim-card:nth-child(3n) { margin-right: 0; }
.syn-dim-grid::after { content: ''; display: table; clear: both; }

.syn-dim-card:hover {
  border-color: rgba(29,158,117,0.4);
  box-shadow: 0 4px 20px rgba(15,110,86,0.08);
}

.syn-dim-card__icon {
  width: 38px;
  height: 38px;
  background: #E1F5EE;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
}

.syn-dim-card__icon i { font-size: 1.1rem; color: #0F6E56; }
.syn-dim-card h3 { font-family: 'Sora', sans-serif; font-size: 0.95rem; font-weight: 600; color: #0A2342; margin: 0 0 8px; line-height: 1.3; }
.syn-dim-card p { font-size: 0.8rem; color: #4A6360; line-height: 1.65; margin: 0; }

.syn-dashboard-copy { padding-right: 20px; }


/* ── INSIGHTS QUESTION CARDS ──────────────────────────────── */
/* Float-based — no 1fr */

.syn-q-grid { overflow: hidden; margin-top: 2.5rem; }

.syn-q-card {
  float: left;
  width: 47%;
  margin-right: 4%;
  margin-bottom: 24px;
  background: #ffffff;
  border: 1px solid #D4E8E0;
  border-radius: 12px;
  padding: 1.5rem;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.syn-q-card:nth-child(2n) { margin-right: 0; }
.syn-q-grid::after { content: ''; display: table; clear: both; }

.syn-q-card:hover {
  border-color: rgba(29,158,117,0.4);
  box-shadow: 0 4px 20px rgba(15,110,86,0.08);
}

.syn-q-card__sources { display: flex; gap: 4px; flex-wrap: wrap; }

.syn-q-card__icon {
  width: 38px;
  height: 38px;
  background: #E1F5EE;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.syn-q-card__icon i { font-size: 1.1rem; color: #0F6E56; }
.syn-q-card h3 { font-family: 'Sora', sans-serif; font-size: 0.95rem; font-weight: 600; color: #0A2342; margin: 0; line-height: 1.3; }
.syn-q-card p { font-size: 0.82rem; color: #4A6360; line-height: 1.65; margin: 0; flex: 1; font-style: italic; }

.syn-q-card__foot {
  font-size: 0.72rem;
  color: #1D9E75;
  font-weight: 500;
  padding-top: 8px;
  border-top: 1px solid #E1F5EE;
}


/* ── LIBRARIES PAGE — FULL CARDS ──────────────────────────── */
/* Float-based — no 1fr */

.syn-lib-full-grid { overflow: hidden; margin-top: 2.5rem; }

.syn-lib-full-card {
  float: left;
  width: 30%;
  margin-right: 4%;
  margin-bottom: 24px;
  background: #F7FAFB;
  border: 1px solid #D4E8E0;
  border-radius: 12px;
  padding: 1.5rem;
  box-sizing: border-box;
}

.syn-lib-full-card:last-child { margin-right: 0; }
.syn-lib-full-grid::after { content: ''; display: table; clear: both; }

.syn-lib-full-card__head { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 12px; }

.syn-lib-full-card__icon {
  width: 34px;
  height: 34px;
  background: #E1F5EE;
  border-radius: 7px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.syn-lib-full-card__icon i { font-size: 1rem; color: #0F6E56; }
.syn-lib-full-card h3 { font-family: 'Sora', sans-serif; font-size: 0.92rem; font-weight: 600; color: #0A2342; margin: 0 0 2px; line-height: 1.3; }
.syn-lib-full-card__sub { font-size: 0.7rem; color: #7A9490; margin: 0; }
.syn-lib-full-card__desc { font-size: 0.8rem; color: #4A6360; line-height: 1.65; margin: 0 0 12px; }
.syn-lib-full-card__pills { display: flex; flex-wrap: wrap; gap: 4px; }


/* ── CTA BAND ─────────────────────────────────────────────── */

.syn-cta-band {
  background: #0A2342;
  padding: 80px 24px;
  text-align: center;
}

.syn-cta-band .syn-eyebrow {
  color: #9FE1CB;
  justify-content: center;
}

.syn-cta-band .syn-eyebrow-dot { background: #9FE1CB; }

.syn-cta-band .section-title {
  color: #ECF0EE;
  max-width: 580px;
  margin-left: auto;
  margin-right: auto;
}

.syn-cta-band h2 { color: #ECF0EE; margin-bottom: 1rem; }

.syn-cta-sub {
  color: rgba(255,255,255,0.55);
  font-size: 0.95rem;
  line-height: 1.7;
  max-width: 460px;
  margin: 0 auto 2rem;
}

.syn-cta-actions {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 2rem;
}

.syn-cta-divider {
  height: 1px;
  background: rgba(255,255,255,0.07);
  max-width: 320px;
  margin: 0 auto 1.5rem;
}

.syn-cta-contact { font-size: 0.8rem; color: rgba(255,255,255,0.3); }
.syn-cta-contact a { color: #9FE1CB; text-decoration: none; }
.syn-cta-contact a:hover { color: #1D9E75; }

/* CTA with form — 2-col layout */
.syn-cta-inner {
  display: flex;
  gap: 60px;
  align-items: flex-start;
  max-width: 1200px;
  margin: 0 auto;
  text-align: left;
  flex-wrap: wrap;
}

.syn-cta-copy { flex: 1; min-width: 260px; padding-top: 8px; }
.syn-cta-copy .syn-eyebrow { justify-content: flex-start; }
.syn-cta-copy .section-title { color: #ECF0EE; font-size: 2rem; max-width: 100%; margin-left: 0; margin-right: 0; }
.syn-cta-copy .syn-cta-sub { color: rgba(255,255,255,0.55); margin-top: 1rem; margin-left: 0; margin-right: 0; }


/* ── WPFORMS STYLING ──────────────────────────────────────── */

.syn-cta-form {
  flex: 1;
  min-width: 260px;
  max-width: 100%;
  margin: 0;
  text-align: left;
}

.syn-cta-form .wpforms-field-label {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.75rem !important;
  font-weight: 500 !important;
  color: rgba(255,255,255,0.55) !important;
  letter-spacing: 0.04em !important;
  margin-bottom: 4px !important;
}

.syn-cta-form input[type="text"],
.syn-cta-form input[type="email"],
.syn-cta-form select,
.syn-cta-form textarea {
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  border-radius: 6px !important;
  color: #ECF0EE !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.875rem !important;
  padding: 10px 14px !important;
  width: 100% !important;
}

.syn-cta-form input[type="text"]:focus,
.syn-cta-form input[type="email"]:focus,
.syn-cta-form select:focus,
.syn-cta-form textarea:focus {
  border-color: rgba(29,158,117,0.6) !important;
  outline: none !important;
  background: rgba(255,255,255,0.09) !important;
}

.syn-cta-form select { color: #ECF0EE !important; }
.syn-cta-form select option { background: #0A2342 !important; color: #ECF0EE !important; }

.syn-cta-form .wpforms-submit {
  background: #0F6E56 !important;
  color: #ffffff !important;
  border: none !important;
  padding: 12px 32px !important;
  border-radius: 6px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  width: 100% !important;
  margin-top: 8px !important;
}

.syn-cta-form .wpforms-submit:hover { background: #1D9E75 !important; }
.syn-cta-form .wpforms-error { color: #FFAA80 !important; font-size: 0.72rem !important; }

.syn-cta-form .wpforms-confirmation-container-full,
.syn-cta-form .wpforms-confirmation-container-full p {
  background: rgba(29,158,117,0.15) !important;
  border: 1px solid rgba(29,158,117,0.5) !important;
  border-radius: 8px !important;
  color: #9FE1CB !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.95rem !important;
  line-height: 1.65 !important;
  padding: 1.25rem 1.5rem !important;
  text-align: center !important;
}

.syn-cta-form .wpforms-confirmation-container-full p {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
}

.syn-cta-form .wpforms-container { padding: 0 !important; }
.syn-cta-form .wpforms-field { overflow: visible !important; }

/* Name field — first + last on one line */
.syn-cta-form .wpforms-field-name .wpforms-field-row {
  display: flex !important;
  gap: 16px !important;
  flex-wrap: nowrap !important;
}

.syn-cta-form .wpforms-field-name .wpforms-field-row-block {
  flex: 1 !important;
  width: auto !important;
  float: none !important;
}

/* Half-width fields via WPForms CSS classes */
.syn-cta-form .wpforms-one-half {
  width: 48% !important;
  float: left !important;
  margin-right: 3% !important;
}

.syn-cta-form .wpforms-one-half.wpforms-last { margin-right: 0 !important; }
.syn-cta-form .wpforms-field-container::after { content: ''; display: table; clear: both; }


/* ── FOOTER ───────────────────────────────────────────────── */

.syn-footer {
  background: #080F1C;
  padding: 32px 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  border-top: 1px solid rgba(29,158,117,0.1);
}

.syn-footer__logo { font-family: 'Sora', sans-serif; font-size: 1.1rem; font-weight: 700; color: #ECF0EE; text-decoration: none; }
.syn-footer__logo span { color: #9FE1CB; }
.syn-footer__links { display: flex; gap: 24px; list-style: none; }
.syn-footer__links a { font-size: 0.78rem; color: rgba(255,255,255,0.35); text-decoration: none; }
.syn-footer__links a:hover { color: rgba(255,255,255,0.65); }
.syn-footer__copy { font-size: 0.72rem; color: rgba(255,255,255,0.25); }


/* ── SPACING FIXES ────────────────────────────────────────── */

header,
.header-wrapper,
.js-header-wrapper,
.main-content-before { display: none !important; height: 0 !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; }

.main-content-wrapper,
.main-content-wrapper > .container,
#main-content,
article,
.wpb-content-wrapper { margin-top: 0 !important; padding-top: 0 !important; }


/* ── ACCESSIBILITY ────────────────────────────────────────── */

:focus-visible { outline: 2px solid #1D9E75; outline-offset: 3px; }

.syn-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}


/* ── RESPONSIVE ───────────────────────────────────────────── */

@media (max-width: 900px) {
  .syn-hero { grid-template-columns: 100%; min-height: auto; }
  .syn-hero__left { padding: 48px 24px 32px; }
  .syn-hero__right { padding: 0 24px 48px; }
  .syn-map { max-width: 100%; }
  .syn-hero__title { font-size: 1.75rem; }
  .syn-trust-strip { gap: 14px; }
  .syn-dashboard-copy { padding-right: 0; }
}

@media (max-width: 860px) {
  .syn-dim-card { width: 47%; margin-right: 4%; }
  .syn-dim-card:nth-child(3n) { margin-right: 4%; }
  .syn-dim-card:nth-child(2n) { margin-right: 0; }
  .syn-lib-full-card { width: 47%; margin-right: 4%; }
  .syn-lib-full-card:nth-child(2n) { margin-right: 0; }
  .syn-lib-grid .syn-lib-card { width: 47%; margin-right: 4%; }
  .syn-lib-grid .syn-lib-card:nth-child(2n) { margin-right: 0; }
  .syn-ats-gen { width: 100%; float: none; margin-right: 0; }
  .syn-cta-inner { gap: 36px; }
}

@media (max-width: 700px) {
  .syn-dev-steps { flex-direction: column; }
  .syn-dev-step__arrow { transform: rotate(90deg); padding-top: 0; align-self: center; }
}

@media (max-width: 640px) {
  .syn-hero__left { padding: 36px 20px 28px; }
  .syn-hero__actions { flex-direction: column; align-items: flex-start; }
  .syn-btn, .syn-btn-primary, .syn-btn-outline, .syn-btn-ghost { width: 100%; text-align: center; }
  .syn-trust-strip { flex-direction: column; gap: 10px; }
  .syn-usecase-card { float: none; width: 100%; margin-right: 0; }
  .syn-q-card { float: none; width: 100%; margin-right: 0; }
  .syn-bap-col { float: none; width: 100%; margin-right: 0; }
  .syn-cta-form .wpforms-one-half { width: 100% !important; float: none !important; margin-right: 0 !important; }
}

@media (max-width: 560px) {
  .syn-dim-card { width: 100%; float: none; margin-right: 0; }
  .syn-lib-full-card { width: 100%; float: none; margin-right: 0; }
  .syn-lib-grid .syn-lib-card { width: 100%; float: none; margin-right: 0; }
}

@media (max-width: 480px) {
  .syn-footer { padding: 24px 20px; flex-direction: column; align-items: flex-start; }
  .syn-footer__links { flex-wrap: wrap; gap: 14px; }
}

/* ============================================================
   ACCELERATIONLAB — Tabs complete stylesheet
   Replaces ALL previous tab-related CSS additions.
   Paste into Customizer → Additional CSS.
   Covers: WPBakery TTA tab list styling, panel layout,
   before/after cards, equal-width columns, top alignment.
   ============================================================ */

/* ── 1. TAB LIST CONTAINER ────────────────────────────────── */

.vc_tta-tabs .vc_tta-tabs-container {
  margin-bottom: 0 !important;
  border: none !important;
}

.vc_tta-tabs .vc_tta-tabs-list {
  display: flex !important;
  width: 100% !important;
  background: #F1F5F3 !important;
  border-radius: 10px !important;
  padding: 4px !important;
  border: none !important;
  margin: 0 0 4px !important;
  gap: 0 !important;
  list-style: none !important;
  box-sizing: border-box !important;
}

/* Strip WPBakery default bottom border on tab list */
.vc_tta-color-grey.vc_tta-tabs .vc_tta-tabs-list,
.vc_tta-style-classic.vc_tta-tabs .vc_tta-tabs-list {
  border-bottom: none !important;
}

/* ── 2. EACH TAB TRIGGER ──────────────────────────────────── */

.vc_tta-tabs .vc_tta-tabs-list .vc_tta-tab {
  flex: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  border-radius: 0 !important;
}

.vc_tta-tabs .vc_tta-tabs-list .vc_tta-tab > a {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  padding: 10px 16px !important;
  border-radius: 7px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  color: #4A6360 !important;
  text-decoration: none !important;
  border: none !important;
  background: transparent !important;
  line-height: 1.4 !important;
  box-sizing: border-box !important;
  transition: color 0.18s, background 0.18s !important;
}

.vc_tta-tabs .vc_tta-tabs-list .vc_tta-tab > a:hover {
  color: #0F6E56 !important;
  background: rgba(15,110,86,0.06) !important;
}

/* Strip WPBakery pseudo decorations and borders on triggers */
.vc_tta-color-grey.vc_tta-tabs .vc_tta-tab > a,
.vc_tta-style-classic.vc_tta-tabs .vc_tta-tab > a {
  border: none !important;
  border-radius: 7px !important;
  margin: 0 !important;
}

.vc_tta-tabs .vc_tta-tab > a::before,
.vc_tta-tabs .vc_tta-tab > a::after {
  display: none !important;
}

/* ── 3. ACTIVE TAB: white card lifted ─────────────────────── */

.vc_tta-tabs .vc_tta-tabs-list .vc_tta-tab.vc_active > a,
.vc_tta-color-grey.vc_tta-tabs .vc_tta-tab.vc_active > a,
.vc_tta-style-classic.vc_tta-tabs .vc_tta-tab.vc_active > a {
  background: #ffffff !important;
  color: #0A2342 !important;
  font-weight: 600 !important;
  box-shadow: 0 1px 4px rgba(10,35,66,0.1) !important;
  border: none !important;
  border-bottom: none !important;
  margin-bottom: 0 !important;
}

/* ── 4. PANELS CONTAINER ──────────────────────────────────── */

.vc_tta-tabs .vc_tta-panels-container,
.vc_tta-tabs .vc_tta-panels {
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
}

.vc_tta-tabs .vc_tta-panel {
  border: none !important;
  background: transparent !important;
}

/* Hide the redundant accordion heading WPBakery renders inside each panel */
.vc_tta-tabs .vc_tta-panel-heading {
  display: none !important;
}

.vc_tta-tabs .vc_tta-panel-body {
  padding: 24px 0 0 !important;
  border: none !important;
  background: transparent !important;
}

/* ── 5. INNER ROW: side-by-side columns, top-aligned ─────── */

.vc_tta-panel-body .vc_row.vc_inner {
  display: flex !important;
  align-items: flex-start !important;  /* top-align both columns */
  margin-left: 0 !important;
  margin-right: 0 !important;
  gap: 20px !important;
}

/* ── 6. COLUMNS: fill available width, no extra padding ───── */

.vc_tta-panel-body .wpb_column.vc_column_container {
  flex: 1 !important;
  width: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  /* Do NOT use display:flex here — keeps natural block height */
}

.vc_tta-panel-body .vc_column-inner {
  padding-left: 0 !important;
  padding-right: 0 !important;
  height: auto !important;
}

.vc_tta-panel-body .wpb_wrapper {
  height: auto !important;
}

/* ── 7. BEFORE/AFTER CARDS: fill column, natural height ───── */

.vc_tta-panel-body .syn-bap-col {
  width: 100% !important;
  height: auto !important;   /* natural height — no stretching */
  float: none !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

/* ── 8. RESPONSIVE: stack on small screens ────────────────── */

@media (max-width: 640px) {
  .vc_tta-tabs .vc_tta-tabs-list {
    flex-direction: column !important;
  }

  .vc_tta-tabs .vc_tta-tabs-list .vc_tta-tab > a {
    text-align: left !important;
    padding: 11px 14px !important;
    border-radius: 6px !important;
  }

  .vc_tta-panel-body .vc_row.vc_inner {
    flex-direction: column !important;
    gap: 12px !important;
  }

  .vc_tta-panel-body .wpb_column.vc_column_container {
    width: 100% !important;
  }
}

/* Headings — capitalise each word instead of uppercase */
h2, h3, h4, h5, h6,
.section-title {
  text-transform: capitalize;
}

/* Remove italic from accent spans */
.syn-accent {
  font-style: normal !important;
}

/* ── Tabs: fix mobile rendering only ─────────────────────── */

@media (max-width: 768px) {

  /* Keep tab list visible, stacked vertically */
  .vc_tta-tabs .vc_tta-tabs-container {
    display: block !important;
  }

  .vc_tta-tabs .vc_tta-tabs-list {
    flex-direction: column !important;
    gap: 4px !important;
  }

  .vc_tta-tabs .vc_tta-tabs-list .vc_tta-tab > a {
    text-align: left !important;
    padding: 11px 14px !important;
    border-radius: 6px !important;
  }

  /* Hide accordion headings WPBakery injects on mobile */
  .vc_tta-tabs .vc_tta-panel-heading {
    display: none !important;
  }

  /* Control panel visibility via active class only */
  .vc_tta-tabs .vc_tta-panel {
    display: none !important;
  }

  .vc_tta-tabs .vc_tta-panel.vc_active {
    display: block !important;
  }

  .vc_tta-tabs .vc_tta-panel.vc_active .vc_tta-panel-body {
    height: auto !important;
    overflow: visible !important;
    padding: 16px 0 0 !important;
  }

  /* Stack before/after columns vertically */
  .vc_tta-panel-body .vc_row.vc_inner {
    flex-direction: column !important;
    gap: 12px !important;
  }

  .vc_tta-panel-body .wpb_column.vc_column_container {
    width: 100% !important;
  }

}

/* ── Comparison table: mobile scroll ─────────────────────── */

@media (max-width: 768px) {

  /* Wrap the table in a horizontal scroll container */
  .syn-compare {
    display: block !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    width: 100% !important;
    font-size: 0.75rem !important;
  }

  /* Ensure the div wrapper scrolls too */
  div[style*="border-radius:10px"] {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  /* Tighten cell padding on mobile */
  .syn-compare th,
  .syn-compare td {
    padding: 8px 10px !important;
    white-space: nowrap !important;
  }

  /* First column can wrap — it's the label, not a value */
  .syn-compare td:first-child,
  .syn-compare th:first-child {
    white-space: normal !important;
    min-width: 140px !important;
  }

}


/* Menu

/* ── Dropdown items — consolidated ── */
.syn-dd-bullet {
  display: none !important;
}

.syn-dd-item {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 3px !important;
  padding: 8px 10px 10px 10px !important;
  border-left: 3px solid transparent;
  transition: border-color 0.15s, background 0.15s;
}

.syn-dd-item:hover {
  border-left-color: #1D9E75 !important;
  background: #F7FAFB !important;
}

.syn-dd-title {
  font-size: 16px;
  font-weight: 600;
  color: #0A2342;
  line-height: 1.2;
  display: block;
}

.syn-dd-item:hover .syn-dd-title {
  color: #0F6E56;
}

.syn-dd-desc {
  font-size: 12px;
  font-weight: 400;
  color: #7A9490;
  line-height: 1.4;
  font-family: 'Inter', sans-serif;
  display: block;
  margin: 0;
  padding: 0;
}

.syn-dd-item:hover .syn-dd-desc {
  color: #4A6360;
}

.syn-dd-item {
  border-left: none !important;
}

.syn-dd-item:hover {
  border-left-color: transparent !important;
  background: #E8F0EE !important;
}

.syn-dd-item {
  border-bottom: none !important;
}

.syn-career-hero {
  align-items: center;
  text-align: center;
}

.syn-job-card {
  background: #ffffff;
  border: 1px solid #D4E8E0;
  border-radius: 12px;
  overflow: hidden;
  margin-top: 2rem;
}

.syn-job-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  padding: 1.25rem 1.5rem;
  background: #F2FBF7;
  border-bottom: 1px solid #D4E8E0;
}

.syn-job-card__meta {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}

.syn-job-tag {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.78rem;
  font-weight: 500;
  color: #0A2342;
  background: #E1F5EE;
  border-radius: 20px;
  padding: 4px 12px;
}

.syn-job-tag i {
  font-size: 13px;
  color: #0F6E56;
}

.syn-job-section {
  padding: 1.5rem;
  border-bottom: 1px solid #EEF5F2;
}

.syn-job-section:last-child {
  border-bottom: none;
}

.syn-job-section__title {
  font-family: 'Sora', sans-serif;
  font-size: 0.95rem;
  font-weight: 600;
  color: #0F6E56;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 1rem;
}

.syn-job-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.syn-job-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 0.875rem;
  color: #2d4a45;
  line-height: 1.65;
  padding-left: 0;
}

.syn-job-list li::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #1D9E75;
  flex-shrink: 0;
  margin-top: 7px;
}

/* CTA band

/* Remove white gap between final CTA band and footer */
.syn-cta-band {
  margin-bottom: 0 !important;
}

.syn-cta-band + .vc_row-full-width,
.syn-cta-band + .vc_row-full-width + .upb_color {
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  line-height: 0 !important;
}

.main-content-after {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
}

.main-content-wrapper {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.main-content-wrapper > .container,
.main-content,
.wpb-content-wrapper,
article.page {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.footer-wrapper,
.fixed-footer,
.main-footer {
  margin-top: 0 !important;
}


/* ══════════════════════════════════════════
   MODAL — Request a demo
   ══════════════════════════════════════════ */

.syn-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 99999;
  background: rgba(6,24,57,0.88);
  backdrop-filter: blur(4px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  animation: syn-modal-fade-in 0.2s ease;
}

@keyframes syn-modal-fade-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}

.syn-modal-container {
  background: #0A2342;
  border-radius: 14px;
  padding: 40px;
  width: 100%;
  max-width: 620px;
  max-height: 90vh;
  overflow-y: auto;
  position: relative;
  box-shadow: 0 24px 80px rgba(0,0,0,0.5);
  animation: syn-modal-slide-in 0.25s ease;
}

@keyframes syn-modal-slide-in {
  from { transform: translateY(20px); opacity: 0; }
  to   { transform: translateY(0);    opacity: 1; }
}

.syn-modal-close {
  position: absolute !important;
  top: 16px !important;
  right: 16px !important;
  width: 36px !important;
  height: 36px !important;
  min-width: unset !important;
  padding: 0 !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,0.08) !important;
  border: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  color: #ffffff !important;
  opacity: 0.6 !important;
  line-height: 1 !important;
  font-size: inherit !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

.syn-modal-close:hover {
  opacity: 1 !important;
  background: rgba(255,255,255,0.15) !important;
}

.syn-modal-close svg {
  display: block !important;
  flex-shrink: 0 !important;
}


/* Form fields inside modal */
.syn-modal-form .wpforms-field input[type="text"],
.syn-modal-form .wpforms-field input[type="email"],
.syn-modal-form .wpforms-field select,
.syn-modal-form .wpforms-field textarea {
  background: rgba(255,255,255,0.07) !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  color: #ffffff !important;
  border-radius: 6px !important;
}

.syn-modal-form .wpforms-field input::placeholder,
.syn-modal-form .wpforms-field textarea::placeholder {
  color: rgba(255,255,255,0.3) !important;
}

.syn-modal-form .wpforms-field label,
.syn-modal-form .wpforms-field legend {
  color: #9FB5C4 !important;
  font-size: 0.82rem !important;
}

.syn-modal-form .wpforms-submit {
  background: #0F6E56 !important;
  border: none !important;
  color: #ffffff !important;
  border-radius: 6px !important;
  font-family: 'Sora', sans-serif !important;
  font-weight: 600 !important;
  width: 100% !important;
  padding: 14px !important;
  font-size: 0.95rem !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
  margin-top: 8px !important;
}

.syn-modal-form .wpforms-submit:hover {
  background: #1D9E75 !important;
}

.syn-modal-form .wpforms-confirmation-container-full {
  background: rgba(29,158,117,0.15) !important;
  border: 1px solid #1D9E75 !important;
  color: #9FD4C0 !important;
  border-radius: 8px !important;
  padding: 20px !important;
  text-align: center !important;
  font-size: 0.9rem !important;
  line-height: 1.6 !important;
}

body.syn-modal-open {
  overflow: hidden !important;
}

@media (max-width: 640px) {
  .syn-modal-container {
    padding: 28px 20px;
    max-height: 95vh;
  }
}

/* ══════════════════════════════════════════
   NEWSLETTER — form on dark background
   ══════════════════════════════════════════ */

.syn-newsletter .wpforms-field input[type="text"],
.syn-newsletter .wpforms-field input[type="email"] {
  background: rgba(255,255,255,0.07) !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  color: #ffffff !important;
  border-radius: 6px !important;
}

.syn-newsletter .wpforms-field input::placeholder {
  color: rgba(255,255,255,0.3) !important;
}

.syn-newsletter .wpforms-field label {
  color: #9FB5C4 !important;
  font-size: 0.82rem !important;
}

.syn-newsletter .wpforms-submit {
  background: #0F6E56 !important;
  border: none !important;
  color: #ffffff !important;
  border-radius: 6px !important;
  font-family: 'Sora', sans-serif !important;
  font-weight: 600 !important;
  width: 100% !important;
  padding: 14px !important;
  font-size: 0.95rem !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
}

.syn-newsletter .wpforms-submit:hover {
  background: #1D9E75 !important;
}

.syn-newsletter .wpforms-confirmation-container-full {
  background: rgba(29,158,117,0.15) !important;
  border: 1px solid #1D9E75 !important;
  color: #9FD4C0 !important;
  border-radius: 8px !important;
  padding: 16px !important;
  text-align: center !important;
}

/* Newsletter label colour */
.syn-newsletter .wpforms-field label,
.syn-newsletter .wpforms-field legend,
.syn-newsletter .wpforms-field .wpforms-field-label {
  color: #9FB5C4 !important;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
}

/* Sublabels (First / Last) */
.syn-newsletter .wpforms-field-sublabel {
  color: #5A7A70 !important;
  font-size: 0.72rem !important;
}

/* Required asterisk */
.syn-newsletter .wpforms-required-label {
  color: #1D9E75 !important;
}

/* Centre and constrain the form width */
.syn-newsletter .wpforms-container {
  max-width: 560px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Name field row — fix split layout */
.syn-newsletter .wpforms-field-row {
  display: flex !important;
  gap: 12px !important;
}

.syn-newsletter .wpforms-field-row-block {
  flex: 1 !important;
  width: auto !important;
  float: none !important;
}

/* Submit button full width and centred */
.syn-newsletter .wpforms-submit-container {
  text-align: center !important;
  padding: 0 !important;
}

/* Remove default WPForms field spacing */
.syn-newsletter .wpforms-field {
  padding: 6px 0 !important;
}

/* ── Newsletter form — consolidated ── */

/* Full width container, centred, max readable width */
.syn-newsletter .wpforms-container {
  max-width: 580px !important;
  margin: 1.5rem auto 0 !important;
  width: 100% !important;
}

/* All fields full width */
.syn-newsletter .wpforms-field {
  padding: 4px 0 !important;
  width: 100% !important;
}

/* Inputs and email full width */
.syn-newsletter .wpforms-field input[type="text"],
.syn-newsletter .wpforms-field input[type="email"] {
  width: 100% !important;
  max-width: 100% !important;
  background: rgba(255,255,255,0.07) !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  color: #ffffff !important;
  border-radius: 6px !important;
  padding: 12px 14px !important;
  font-size: 0.9rem !important;
  box-sizing: border-box !important;
}

.syn-newsletter .wpforms-field input::placeholder {
  color: rgba(255,255,255,0.3) !important;
}

/* Name row — two columns side by side, full width */
.syn-newsletter .wpforms-field-row {
  display: flex !important;
  gap: 12px !important;
  width: 100% !important;
}

.syn-newsletter .wpforms-field-row-block {
  flex: 1 1 0 !important;
  width: 50% !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.syn-newsletter .wpforms-field-row-block input {
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Labels */
.syn-newsletter .wpforms-field-label,
.syn-newsletter legend.wpforms-field-label {
  color: #9FB5C4 !important;
  font-size: 0.78rem !important;
  font-weight: 500 !important;
  margin-bottom: 4px !important;
}

/* Sublabels (First / Last) */
.syn-newsletter .wpforms-field-sublabel {
  color: #5A7A70 !important;
  font-size: 0.7rem !important;
  margin-top: 3px !important;
}

/* Required asterisk */
.syn-newsletter .wpforms-required-label {
  color: #1D9E75 !important;
}

/* Submit button */
.syn-newsletter .wpforms-submit-container {
  padding: 4px 0 0 !important;
  margin: 0 !important;
}

.syn-newsletter .wpforms-submit {
  width: 100% !important;
  background: #0F6E56 !important;
  border: none !important;
  color: #ffffff !important;
  border-radius: 6px !important;
  font-family: 'Sora', sans-serif !important;
  font-weight: 600 !important;
  font-size: 0.95rem !important;
  padding: 14px !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
  box-sizing: border-box !important;
}

.syn-newsletter .wpforms-submit:hover {
  background: #1D9E75 !important;
}

/* Confirmation */
.syn-newsletter .wpforms-confirmation-container-full {
  background: rgba(29,158,117,0.15) !important;
  border: 1px solid #1D9E75 !important;
  color: #9FD4C0 !important;
  border-radius: 8px !important;
  padding: 16px !important;
  text-align: center !important;
  font-size: 0.88rem !important;
  line-height: 1.6 !important;
}


.syn-newsletter .wpforms-field-label,
.syn-newsletter legend.wpforms-field-label {
  text-align: left !important;
  display: block !important;
  width: 100% !important;
}

.syn-newsletter .wpforms-field-row {
  text-align: left !important;
}

/* Modal fits the viewport with scroll */
.syn-modal-overlay {
  align-items: flex-start !important;
  padding: 20px !important;
  overflow-y: auto !important;
}

.syn-modal-container {
  max-width: 680px !important;
  width: 100% !important;
  max-height: none !important;
  margin: 20px auto !important;
  padding: 40px !important;
  overflow-y: visible !important;
}

/* Form fields full width inside modal */
.syn-modal-form .wpforms-field input[type="text"],
.syn-modal-form .wpforms-field input[type="email"],
.syn-modal-form .wpforms-field select,
.syn-modal-form .wpforms-field textarea {
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Name row full width */
.syn-modal-form .wpforms-field-row {
  display: flex !important;
  gap: 12px !important;
  width: 100% !important;
}

.syn-modal-form .wpforms-field-row-block {
  flex: 1 1 0 !important;
  float: none !important;
  padding: 0 !important;
}

.syn-modal-form .wpforms-field-row-block input {
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Select full width */
.syn-modal-form .wpforms-field select {
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Textarea taller */
.syn-modal-form .wpforms-field textarea {
  width: 100% !important;
  min-height: 80px !important;
  box-sizing: border-box !important;
}

/* Submit full width */
.syn-modal-form .wpforms-submit {
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Labels left aligned */
.syn-modal-form .wpforms-field-label,
.syn-modal-form legend.wpforms-field-label {
  text-align: left !important;
  display: block !important;
}

/* Hide author + social share bar */
.share__icon,
.post-author,
.post-author__img-wrapper,
.post-author__title-wrapper {
  display: none !important;
}

/* Hide next/prev post navigation */
.post-navigation,
.next-post,
.prev-post,
.post-nav,
.entry-navigation,
.posts-navigation {
  display: none !important;
}


/* ============================================================
   ACCELERATIONLAB - Brand palette and Home components
   Paste after the inherited Synethos rules so these overrides win.

   Design intent:
   - Teal / green-blue becomes the dominant AccelerationLab atmosphere.
   - Navy remains the sober secondary colour for text, contrast, and structure.
   - Existing syn-* classes are preserved for compatibility with copied templates.
   - New al-* classes are available for raw HTML blocks inside WPBakery.
   ============================================================ */

:root {
  --al-teal-deep: #033236;
  --al-teal-dark: #06484b;
  --al-teal: #0f776d;
  --al-teal-bright: #18b8a6;
  --al-teal-soft: #def6f2;
  --al-teal-wash: #f1fbf9;

  --al-navy: #0a2342;
  --al-navy-soft: #163a5f;
  --al-ink: #11283d;
  --al-body: #4d6967;
  --al-muted: #78918f;
  --al-line: #d6ebe7;
  --al-white: #ffffff;
  --al-offwhite: #f7fafb;
  --al-light-text: #eaf5f2;
  --al-light-muted: #a9cfca;
}

body {
  color: var(--al-ink);
}

h1, h2, h3, h4, h5, h6,
.section-title {
  color: var(--al-navy);
  letter-spacing: 0;
}

p,
.syn-lead {
  color: var(--al-body);
}

a {
  color: var(--al-teal);
}

a:hover {
  color: var(--al-teal-bright);
}

.syn-accent,
.syn-eyebrow {
  color: var(--al-teal-bright);
}

.syn-eyebrow--dark {
  color: var(--al-light-muted);
}

.syn-bg-navy,
.syn-bg-dark,
.syn-hero,
.syn-cta-band,
.syn-modal-container {
  background-color: var(--al-teal-deep);
}

.syn-bg-surface {
  background-color: var(--al-teal-soft);
}

.syn-bg-offwhite {
  background-color: var(--al-offwhite);
}

.syn-hero {
  background-image:
    linear-gradient(rgba(24,184,166,0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(24,184,166,0.08) 1px, transparent 1px);
}

.syn-hero__title {
  color: var(--al-light-text);
  letter-spacing: 0;
}

.syn-hero__sub,
.syn-trust-item,
.syn-btn-ghost,
.syn-modal-form .wpforms-field label,
.syn-modal-form .wpforms-field legend,
.syn-newsletter .wpforms-field label {
  color: var(--al-light-muted) !important;
}

.syn-eyebrow-dot,
.syn-map__core-dot {
  background: var(--al-teal-bright);
}

.syn-btn,
.syn-btn-primary,
.syn-modal-form .wpforms-submit,
.syn-newsletter .wpforms-submit {
  background: var(--al-teal);
  color: var(--al-white) !important;
}

.syn-btn:hover,
.syn-btn-primary:hover,
.syn-modal-form .wpforms-submit:hover,
.syn-newsletter .wpforms-submit:hover {
  background: var(--al-teal-bright);
  color: var(--al-white) !important;
}

.syn-btn-outline {
  color: var(--al-teal) !important;
  border-color: var(--al-teal);
}

.syn-btn-outline:hover {
  background: var(--al-teal-soft);
  color: var(--al-teal) !important;
}

.syn-card {
  border-color: var(--al-line);
}

.syn-card:hover {
  border-color: rgba(24,184,166,0.44);
  box-shadow: 0 4px 20px rgba(6,72,75,0.12);
}

.syn-card__icon,
.syn-pill,
.syn-highlight {
  background: var(--al-teal-soft);
  color: var(--al-teal);
}

.syn-card__icon i,
.syn-card h3,
.syn-dd-title,
.syn-mega-heading,
.syn-mega-heading-text {
  color: var(--al-navy);
}

.syn-card p,
.syn-dd-desc {
  color: var(--al-body);
}

.syn-dd-item:hover,
.syn-dd-item:focus {
  background: rgba(24,184,166,0.10) !important;
}

.syn-dd-item:hover .syn-dd-title,
.syn-dd-item:focus .syn-dd-title {
  color: var(--al-teal) !important;
}

.syn-dd-item:hover .syn-dd-desc,
.syn-dd-item:focus .syn-dd-desc {
  color: var(--al-body) !important;
}

.syn-dd-bullet {
  background: var(--al-teal-bright);
}

.syn-modal-overlay {
  background: rgba(3,50,54,0.88);
}

.syn-modal-form .wpforms-field input[type="text"],
.syn-modal-form .wpforms-field input[type="email"],
.syn-modal-form .wpforms-field select,
.syn-modal-form .wpforms-field textarea,
.syn-newsletter .wpforms-field input[type="text"],
.syn-newsletter .wpforms-field input[type="email"] {
  background: rgba(255,255,255,0.08) !important;
  border-color: rgba(255,255,255,0.18) !important;
  color: var(--al-white) !important;
}


/* -- AccelerationLab raw HTML vocabulary -------------------- */

.al-section {
  padding: 88px 0;
  background: var(--al-white);
}

.al-section--soft {
  background: var(--al-teal-wash);
}

.al-section--dark {
  background: var(--al-teal-deep);
  color: var(--al-light-text);
}

.al-container {
  width: 100%;
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
}

.al-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
  font-family: 'Inter', sans-serif;
  font-size: 0.72rem;
  font-weight: 650;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--al-teal);
}

.al-kicker::before {
  content: '';
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--al-teal-bright);
}

.al-section--dark .al-kicker {
  color: var(--al-light-muted);
}

.al-heading {
  max-width: 760px;
  margin: 0 0 18px;
  font-family: 'Sora', sans-serif;
  font-size: 2.65rem;
  font-weight: 700;
  line-height: 1.14;
  letter-spacing: 0;
  color: var(--al-navy);
}

.al-section--dark .al-heading {
  color: var(--al-light-text);
}

.al-lead {
  max-width: 760px;
  margin: 0;
  font-size: 1.08rem;
  line-height: 1.75;
  color: var(--al-body);
  font-weight: 300;
}

.al-section--dark .al-lead,
.al-section--dark p {
  color: var(--al-light-muted);
}

.al-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}

.al-grid > * {
  min-width: 0;
}

.al-grid--2 > * {
  flex: 0 1 calc(50% - 12px);
}

.al-grid--3 > * {
  flex: 0 1 calc(33.333% - 16px);
}

.al-grid--4 > * {
  flex: 0 1 calc(25% - 18px);
}

.al-card {
  height: 100%;
  padding: 24px;
  border: 1px solid var(--al-line);
  border-radius: 8px;
  background: var(--al-white);
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.al-card:hover {
  border-color: rgba(24,184,166,0.44);
  box-shadow: 0 16px 44px rgba(6,72,75,0.10);
  transform: translateY(-2px);
}

.al-card h3 {
  margin: 0 0 10px;
  font-size: 1.05rem;
  line-height: 1.25;
  color: var(--al-navy);
}

.al-card p {
  margin: 0;
  font-size: 0.93rem;
  line-height: 1.68;
}

.al-actions {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 30px;
}

.al-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 12px 24px;
  border-radius: 6px;
  background: var(--al-teal);
  color: var(--al-white) !important;
  font-family: 'Inter', sans-serif;
  font-size: 0.88rem;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  transition: background 0.18s ease, transform 0.18s ease;
}

.al-btn:hover {
  background: var(--al-teal-bright);
  color: var(--al-white) !important;
  transform: translateY(-1px);
}

.al-btn--secondary {
  background: transparent;
  color: var(--al-teal) !important;
  border: 1.5px solid var(--al-teal);
}

.al-btn--secondary:hover {
  background: var(--al-teal-soft);
  color: var(--al-teal) !important;
}

.al-section--dark .al-btn--secondary {
  color: var(--al-light-text) !important;
  border-color: rgba(255,255,255,0.36);
}

.al-section--dark .al-btn--secondary:hover {
  background: rgba(255,255,255,0.10);
  color: var(--al-white) !important;
}

.al-split {
  display: flex;
  flex-wrap: wrap;
  gap: 56px;
  align-items: center;
}

.al-split > * {
  flex: 1 1 0;
  min-width: 0;
}

.al-stat-strip {
  display: flex;
  gap: 22px;
  flex-wrap: wrap;
  margin-top: 34px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,0.12);
}

.al-stat {
  color: var(--al-light-text);
  font-size: 0.8rem;
  line-height: 1.45;
}

.al-stat strong {
  display: block;
  margin-bottom: 4px;
  color: var(--al-teal-bright);
  font-family: 'Sora', sans-serif;
  font-size: 1rem;
}

@media (max-width: 900px) {
  .al-grid--2 > *,
  .al-grid--3 > *,
  .al-grid--4 > *,
  .al-split > * {
    flex-basis: 100%;
  }

  .al-split {
    flex-direction: column;
    align-items: stretch;
  }

  .al-section {
    padding: 64px 0;
  }
}

@media (max-width: 640px) {
  .al-container {
    padding-left: 20px;
    padding-right: 20px;
  }

  .al-heading {
    font-size: 2rem;
  }
}


/* -- Home hero ------------------------------------------------ */

.al-home-hero {
  position: relative;
  min-height: 640px;
  display: flex;
  align-items: center;
  overflow: hidden;
  padding: 104px 0 88px;
  background-color: var(--al-teal-deep);
  background-image:
    linear-gradient(90deg, rgba(3,50,54,0.96) 0%, rgba(3,50,54,0.82) 34%, rgba(3,50,54,0.22) 66%, rgba(3,50,54,0.10) 100%),
    var(--al-hero-image);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}

.al-home-hero::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: rgba(255,255,255,0.10);
}

.al-home-hero__content {
  position: relative;
  z-index: 1;
  max-width: 560px;
}

.al-home-hero__title {
  margin: 0 0 22px;
  font-family: 'Sora', sans-serif;
  font-size: 3.05rem;
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: 0;
  color: var(--al-light-text);
}

.al-home-hero__lead {
  max-width: 500px;
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.75;
  font-weight: 300;
  color: var(--al-light-muted);
}

.al-home-hero__proof {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 34px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,0.12);
}

.al-home-hero__proof span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.78rem;
  line-height: 1.35;
  color: var(--al-light-text);
}

.al-home-hero__proof span::before {
  content: '';
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--al-teal-bright);
  flex: 0 0 auto;
}

@media (max-width: 900px) {
  .al-home-hero {
    min-height: 560px;
    padding: 88px 0 72px;
    background-position: 62% center;
  }

  .al-home-hero__title {
    font-size: 2.45rem;
  }
}

@media (max-width: 640px) {
  .al-home-hero {
    min-height: auto;
    padding: 76px 0 64px;
    background-image:
      linear-gradient(90deg, rgba(3,50,54,0.96) 0%, rgba(3,50,54,0.86) 100%),
      var(--al-hero-image);
    background-position: 68% center;
  }

  .al-home-hero__title {
    font-size: 2.05rem;
  }
}


/* -- Home hero theme overrides ------------------------------ */

.al-home-hero .al-container {
  width: 100% !important;
}

.al-home-hero .al-home-hero__content {
  width: 100% !important;
  max-width: 620px !important;
}

.al-home-hero h1.al-home-hero__title,
.al-home-hero .al-home-hero__title {
  max-width: 620px !important;
  color: var(--al-light-text) !important;
  font-size: 2.9rem !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  opacity: 1 !important;
}

.al-home-hero .al-home-hero__lead {
  max-width: 560px !important;
  color: var(--al-light-muted) !important;
  opacity: 1 !important;
}

.al-home-hero .al-home-hero__proof {
  max-width: 620px !important;
}

.al-home-hero .al-home-hero__proof span {
  color: var(--al-light-text) !important;
  opacity: 0.92 !important;
}

.al-home-hero .al-btn--secondary {
  color: var(--al-light-text) !important;
  border-color: rgba(24,184,166,0.72) !important;
}

.al-home-hero .al-btn--secondary:hover {
  color: var(--al-white) !important;
}

@media (max-width: 900px) {
  .al-home-hero h1.al-home-hero__title,
  .al-home-hero .al-home-hero__title {
    font-size: 2.35rem !important;
  }
}

@media (max-width: 640px) {
  .al-home-hero h1.al-home-hero__title,
  .al-home-hero .al-home-hero__title {
    font-size: 2rem !important;
  }
}


/* -- Header transparent over hero ---------------------------- */

#synethos-nav {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 1000 !important;
  overflow: visible !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  background-color: transparent !important;
}

#synethos-nav::after {
  content: none !important;
  display: none !important;
}

#synethos-nav .syn-nav-inner {
  position: relative !important;
  z-index: 1001 !important;
  background: transparent !important;
  background-color: transparent !important;
}

#synethos-nav .syn-logo,
#synethos-nav .syn-nav-links,
#synethos-nav .syn-nav-right,
#synethos-nav .syn-mobile-toggle {
  background: transparent !important;
}

#synethos-nav .syn-dropdown,
#synethos-nav .syn-mobile-menu {
  z-index: 1010 !important;
}

.al-home-hero {
  margin-top: 0 !important;
  padding-top: 148px !important;
}


/* -- Home problem and offer sections ------------------------ */

.al-problem {
  background: var(--al-white);
}

.al-problem__frame {
  display: flex;
  gap: 56px;
  align-items: flex-start;
}

.al-problem__copy {
  flex: 0 1 48%;
  min-width: 0;
}

.al-problem__signals {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.al-signal {
  padding: 18px 20px;
  border-left: 3px solid var(--al-teal-bright);
  background: var(--al-teal-wash);
}

.al-signal h3 {
  margin: 0 0 6px;
  font-size: 1rem;
  line-height: 1.25;
  color: var(--al-navy);
}

.al-signal p {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.62;
  color: var(--al-body);
}

.al-offer {
  background:
    linear-gradient(180deg, var(--al-teal-wash) 0%, var(--al-white) 100%);
}

.al-offer__intro {
  max-width: 780px;
  margin-bottom: 36px;
}

.al-offer-card {
  position: relative;
  overflow: hidden;
}

.al-offer-card::before {
  content: '';
  display: block;
  width: 34px;
  height: 3px;
  margin-bottom: 18px;
  border-radius: 999px;
  background: var(--al-teal-bright);
}

.al-offer-card h3 {
  font-size: 1.02rem;
}

.al-offer-card__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  padding-top: 18px;
  color: var(--al-teal);
  font-family: 'Sora', sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.08em;
  text-decoration: none;
  text-transform: uppercase;
}

.al-offer-card__link::after {
  content: '\2192';
  font-size: 1rem;
  line-height: 1;
  transition: transform 0.18s ease;
}

.al-offer-card__link:hover {
  color: var(--al-teal-dark);
}

.al-offer-card__link:hover::after {
  transform: translateX(3px);
}

@media (max-width: 900px) {
  .al-problem__frame {
    flex-direction: column;
    gap: 36px;
  }

  .al-problem__copy,
  .al-problem__signals {
    flex-basis: 100%;
    width: 100%;
  }
}


/* -- Home practices and analytics sections ------------------ */

.al-practices {
  background: var(--al-white);
}

.al-practices__intro {
  max-width: 780px;
  margin-bottom: 38px;
}

.al-practice-card {
  display: flex;
  flex-direction: column;
  min-height: 260px;
}

.al-practice-card__index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  margin-bottom: 20px;
  border-radius: 50%;
  background: var(--al-teal-soft);
  color: var(--al-teal);
  font-family: 'Sora', sans-serif;
  font-size: 0.82rem;
  font-weight: 700;
}

.al-practice-card__link {
  display: inline-flex;
  margin-top: auto;
  padding-top: 20px;
  color: var(--al-teal) !important;
  font-size: 0.86rem;
  font-weight: 600;
}

.al-practice-card__link:hover {
  color: var(--al-teal-bright) !important;
}

.al-analytics {
  background: var(--al-teal-deep);
  color: var(--al-light-text);
}

.al-analytics__panel {
  padding: 28px;
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 8px;
  background: rgba(255,255,255,0.06);
}

.al-analytics__panel-title {
  margin: 0 0 18px;
  color: var(--al-light-text);
  font-size: 1.05rem;
}

.al-analytics__list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.al-analytics__list li {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  color: var(--al-light-muted);
  font-size: 0.94rem;
  line-height: 1.58;
}

.al-analytics__list li::before {
  content: '';
  width: 7px;
  height: 7px;
  margin-top: 8px;
  border-radius: 50%;
  background: var(--al-teal-bright);
  flex: 0 0 auto;
}

.al-analytics__note {
  margin-top: 22px;
  padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,0.12);
  color: var(--al-light-text);
  font-size: 0.9rem;
  line-height: 1.62;
}

@media (max-width: 900px) {
  .al-practice-card {
    min-height: 0;
  }

  .al-analytics__panel {
    padding: 24px;
  }
}


/* -- Home Synethos and research sections -------------------- */

.al-synethos {
  background: var(--al-teal-wash);
}

.al-synethos__panel {
  position: relative;
  overflow: hidden;
  padding: 34px;
  border: 1px solid var(--al-line);
  border-radius: 8px;
  background: var(--al-white);
  box-shadow: 0 18px 54px rgba(6,72,75,0.08);
}

.al-synethos__panel::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--al-teal), var(--al-teal-bright));
}

.al-synethos__map {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 24px;
}

.al-synethos__item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 0;
  border-bottom: 1px solid var(--al-line);
}

.al-synethos__item:last-child {
  border-bottom: 0;
}

.al-synethos__dot {
  width: 10px;
  height: 10px;
  margin-top: 8px;
  border-radius: 50%;
  background: var(--al-teal-bright);
  box-shadow: 0 0 0 6px rgba(24,184,166,0.12);
  flex: 0 0 auto;
}

.al-synethos__item h3 {
  margin: 0 0 4px;
  font-size: 0.98rem;
  color: var(--al-navy);
}

.al-synethos__item p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.58;
  color: var(--al-body);
}

.al-research {
  background: var(--al-white);
}

.al-research__intro {
  max-width: 800px;
  margin-bottom: 38px;
}

.al-research-card {
  border-top: 3px solid var(--al-teal-bright);
}

.al-research-card h3 {
  font-size: 1rem;
}

.al-research__quote {
  margin-top: 36px;
  padding: 28px 32px;
  border-left: 3px solid var(--al-teal-bright);
  background: var(--al-teal-wash);
}

.al-research__quote p {
  margin: 0;
  max-width: 850px;
  font-size: 1.02rem;
  line-height: 1.72;
  color: var(--al-ink);
}

@media (max-width: 900px) {
  .al-synethos__panel {
    padding: 26px;
  }

  .al-research__quote {
    padding: 24px;
  }
}


/* -- Home method and final CTA sections --------------------- */

.al-method {
  background: var(--al-teal-wash);
}

.al-method__intro {
  max-width: 800px;
  margin-bottom: 42px;
}

.al-method__steps {
  display: flex;
  flex-direction: column;
  gap: 0;
  border-top: 1px solid var(--al-line);
}

.al-method-step {
  display: flex;
  gap: 28px;
  align-items: flex-start;
  padding: 24px 0;
  border-bottom: 1px solid var(--al-line);
}

.al-method-step__number {
  flex: 0 0 auto;
  width: 46px;
  color: var(--al-teal);
  font-family: 'Sora', sans-serif;
  font-size: 0.86rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.al-method-step__body {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  gap: 28px;
  align-items: flex-start;
}

.al-method-step h3 {
  flex: 0 0 260px;
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.28;
  color: var(--al-navy);
}

.al-method-step p {
  flex: 1 1 0;
  min-width: 0;
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.68;
  color: var(--al-body);
}

.al-final-cta {
  background:
    linear-gradient(90deg, rgba(3,50,54,0.96) 0%, rgba(6,72,75,0.92) 54%, rgba(15,119,109,0.86) 100%);
  color: var(--al-light-text);
}

.al-final-cta__box {
  max-width: 860px;
}

.al-final-cta .al-heading {
  max-width: 780px;
}

.al-final-cta__note {
  max-width: 680px;
  margin-top: 18px;
  color: var(--al-light-muted);
  font-size: 0.96rem;
  line-height: 1.68;
}

@media (max-width: 900px) {
  .al-method-step,
  .al-method-step__body {
    flex-direction: column;
    gap: 12px;
  }

  .al-method-step h3 {
    flex-basis: auto;
  }
}


/* -- Home equal-height cards -------------------------------- */

.al-offer .al-grid,
.al-practices .al-grid,
.al-research .al-grid {
  align-items: stretch;
}

.al-offer .al-grid > .al-card,
.al-practices .al-grid > .al-card,
.al-research .al-grid > .al-card {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  height: auto;
}

.al-offer .al-card p,
.al-practices .al-card p,
.al-research .al-card p {
  flex: 1 1 auto;
}

.al-offer .al-offer-card {
  min-height: 260px;
}

.al-practices .al-practice-card {
  min-height: 300px;
}

.al-research .al-research-card {
  min-height: 230px;
}

.al-practices .al-practice-card__link {
  margin-top: auto;
}

@media (max-width: 900px) {
  .al-offer .al-offer-card,
  .al-practices .al-practice-card,
  .al-research .al-research-card {
    min-height: 0;
  }
}


/* -- Practices pages ---------------------------------------- */

.al-page-hero {
  position: relative;
  overflow: hidden;
  padding: 150px 0 86px;
  background:
    radial-gradient(circle at 78% 20%, rgba(24,184,166,0.22), transparent 34%),
    linear-gradient(120deg, rgba(3,50,54,0.98) 0%, rgba(6,72,75,0.94) 50%, rgba(10,35,66,0.96) 100%);
  color: var(--al-light-text);
}

.al-page-hero::after {
  content: '';
  position: absolute;
  inset: auto 0 0 0;
  height: 1px;
  background: rgba(255,255,255,0.16);
}

.al-page-hero__content {
  position: relative;
  z-index: 1;
  max-width: 640px;
}

.al-page-hero .al-kicker,
.al-page-hero .al-heading,
.al-page-hero .al-lead {
  color: var(--al-light-text);
}

.al-page-hero .al-lead {
  color: var(--al-light-muted);
}

.al-section-nav {
  position: sticky;
  top: 0;
  z-index: 12;
  background: rgba(255,255,255,0.94);
  border-bottom: 1px solid var(--al-line);
  backdrop-filter: blur(14px);
}

.al-section-nav__inner {
  display: flex;
  gap: 8px;
  align-items: center;
  overflow-x: auto;
  padding-top: 12px;
  padding-bottom: 12px;
}

.al-section-nav a {
  flex: 0 0 auto;
  padding: 9px 12px;
  border-radius: 999px;
  color: var(--al-body);
  font-family: 'Inter', sans-serif;
  font-size: 0.82rem;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
}

.al-section-nav a:hover {
  background: var(--al-teal-soft);
  color: var(--al-teal);
}

.al-card__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  padding-top: 18px;
  color: var(--al-teal);
  font-family: 'Sora', sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.08em;
  text-decoration: none;
  text-transform: uppercase;
}

.al-card__link::after {
  content: '\2192';
  font-size: 1rem;
  line-height: 1;
  transition: transform 0.18s ease;
}

.al-card__link:hover {
  color: var(--al-teal-dark);
}

.al-card__link:hover::after {
  transform: translateX(3px);
}

.al-practice-hub-card,
.al-situation-card,
.al-outcome-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

.al-practice-hub-card {
  min-height: 280px;
}

.al-situation-card {
  min-height: 210px;
}

.al-outcome-card {
  min-height: 190px;
  border-top: 3px solid var(--al-teal-bright);
}

.al-process {
  display: flex;
  flex-direction: column;
  border-top: 1px solid var(--al-line);
}

.al-process-step {
  display: flex;
  gap: 28px;
  padding: 24px 0;
  border-bottom: 1px solid var(--al-line);
}

.al-process-step__number {
  flex: 0 0 48px;
  color: var(--al-teal);
  font-family: 'Sora', sans-serif;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.al-process-step__body {
  flex: 1 1 0;
  min-width: 0;
}

.al-process-step h3 {
  margin: 0 0 8px;
  color: var(--al-navy);
  font-size: 1.06rem;
  line-height: 1.25;
}

.al-process-step p {
  margin: 0;
  color: var(--al-body);
  font-size: 0.95rem;
  line-height: 1.68;
}

.al-side-panel {
  padding: 30px;
  border: 1px solid var(--al-line);
  border-radius: 8px;
  background: var(--al-teal-wash);
}

.al-side-panel h3 {
  margin: 0 0 12px;
  color: var(--al-navy);
  font-size: 1.05rem;
}

.al-side-panel p {
  margin: 0;
  color: var(--al-body);
  font-size: 0.94rem;
  line-height: 1.68;
}

.al-page-cta {
  background:
    linear-gradient(100deg, rgba(3,50,54,0.97) 0%, rgba(15,119,109,0.9) 100%);
  color: var(--al-light-text);
}

.al-page-cta .al-heading {
  color: var(--al-light-text);
}

.al-page-cta .al-lead {
  color: var(--al-light-muted);
}

@media (max-width: 900px) {
  .al-page-hero {
    padding: 132px 0 68px;
  }

  .al-process-step {
    flex-direction: column;
    gap: 10px;
  }

  .al-practice-hub-card,
  .al-situation-card,
  .al-outcome-card {
    min-height: 0;
  }
}

.al-practice-hub-card {
  position: relative;
  overflow: hidden;
  min-height: 280px;
}

.al-practice-hub-card::before {
  content: '';
  display: block;
  width: 34px;
  height: 3px;
  margin-bottom: 18px;
  border-radius: 999px;
  background: var(--al-teal-bright);
}

.al-practice-hub-card h3 {
  margin: 0 0 10px;
  color: var(--al-navy);
  font-size: 1.02rem;
  line-height: 1.25;
}

.al-practice-hub-card p {
  flex: 1 1 auto;
}

.al-practice-hub-card .al-card__link {
  margin-top: auto;
}

.al-situation-card {
  position: relative;
  overflow: hidden;
  padding: 24px !important;
  min-height: 210px;
}

.al-outcome-card {
  position: relative;
  overflow: hidden;
  padding: 24px !important;
  min-height: 190px;
}

.al-situation-card::before,
.al-outcome-card::before {
  content: '';
  display: block;
  width: 34px;
  height: 3px;
  margin-bottom: 18px;
  border-radius: 999px;
  background: var(--al-teal-bright);
}

.al-situation-card h3,
.al-outcome-card h3 {
  margin: 0 0 10px;
  color: var(--al-navy);
  font-size: 1.02rem;
  line-height: 1.25;
}

.al-situation-card p,
.al-outcome-card p {
  flex: 1 1 auto;
}

.al-outcome-card,
.al-research-card {
  position: relative;
  overflow: hidden;
  padding: 24px !important;
  border-top: 1px solid var(--al-line) !important;
}

.al-outcome-card::before,
.al-research-card::before {
  content: '';
  display: block;
  width: 34px;
  height: 3px;
  margin-bottom: 18px;
  border-radius: 999px;
  background: var(--al-teal-bright);
}

.al-page-hero {
  min-height: 100vh;
  display: flex;
  align-items: center;
}

.al-page-hero::before {
  content: '';
  position: absolute;
  top: 12%;
  right: 4%;
  bottom: 6%;
  width: 48%;
  background-image: var(--al-hero-graphic);
  background-repeat: no-repeat;
  background-position: center right;
  background-size: contain;
  opacity: 0.88;
  pointer-events: none;
}

.al-page-hero .al-container {
  position: relative;
  z-index: 1;
}

.al-publication-feature {
  margin: 36px 0;
  padding: 28px 32px;
  border: 1px solid var(--al-line);
  border-left: 3px solid var(--al-teal-bright);
  border-radius: 8px;
  background: var(--al-teal-wash);
}

.al-publication-feature .al-kicker {
  margin-bottom: 10px;
}

.al-publication-feature h3 {
  margin: 0 0 12px;
  max-width: 860px;
  color: var(--al-navy);
  font-size: 1.18rem;
  line-height: 1.35;
}

.al-publication-feature p:not(.al-kicker) {
  margin: 0;
  max-width: 880px;
  color: var(--al-body);
  font-size: 0.96rem;
  line-height: 1.72;
}

.al-publication-feature .al-card__link {
  margin-top: 18px;
}

@media (max-width: 900px) {
  .al-synethos__panel {
    padding: 26px;
  }

  .al-research__quote {
    padding: 24px;
  }

  .al-publication-feature {
    padding: 24px;
  }
}