/* Arabot Solutions — an editorial extension of the existing light product pages. */
body.solutions-page {
  --solution-ink: #10263a;
  --solution-green: #316b55;
  --solution-sage: #587d6c;
  --solution-muted: #5d756e;
  --solution-line: #d8e5de;
  --solution-paper: #f7faf8;
  --solution-mint: #eaf4ee;
  min-height: 100dvh;
  overflow-wrap: anywhere;
  background: #f4f8f7;
  color: var(--solution-ink);
}

body.solutions-page :where(h1, h2, h3, p) { text-wrap: pretty; }
body.solutions-page .solution-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(48px, 7.4vw, 104px) 0 clamp(56px, 7vw, 92px);
  background: #edf5f1;
}
body.solutions-page .solution-hero::after {
  position: absolute;
  inset-inline-end: -188px;
  inset-block-end: -292px;
  width: 440px;
  aspect-ratio: 1;
  border: 1px solid rgba(52, 116, 91, .16);
  border-radius: 50%;
  box-shadow: 0 0 0 40px rgba(52, 116, 91, .025), 0 0 0 80px rgba(52, 116, 91, .018);
  content: "";
  pointer-events: none;
}
body.solutions-page .solution-hero .container { position: relative; z-index: 1; }
body.solutions-page .solution-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, .85fr);
  gap: clamp(26px, 6vw, 82px);
  align-items: center;
}
body.solutions-page .solution-hero-copy { min-width: 0; max-width: 790px; }
body.solutions-page .solution-hero .eyebrow {
  margin: 0 0 20px;
  color: #39775b;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .13em;
  text-transform: uppercase;
}
body.solutions-page .solution-hero h1 {
  max-width: 800px;
  margin: 0 0 24px;
  color: #10263a;
  font-size: clamp(42px, 6.2vw, 76px);
  line-height: 1.04;
  letter-spacing: -.055em;
}
body.solutions-page .solution-lead {
  max-width: 680px;
  margin: 0;
  color: #526e68;
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1.72;
}
body.solutions-page .solution-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 11px;
  margin-top: 30px;
}
body.solutions-page .solution-actions .btn-primary,
body.solutions-page .solution-cta .btn-primary { background: #316b55; color: #f7fbf8; }
body.solutions-page .solution-actions .btn-primary:hover,
body.solutions-page .solution-cta .btn-primary:hover { background: #245b49; }
body.solutions-page .solution-actions .btn-outline,
body.solutions-page .solution-related .btn-outline {
  border-color: #aec7b8;
  background: rgba(255,255,255,.28);
  color: #244e40;
}
body.solutions-page .solution-actions .btn-outline:hover { border-color: #316b55; background: #f8fbf9; }
body.solutions-page .solution-hero-art {
  display: grid;
  min-width: 0;
  min-height: 300px;
  place-items: center;
  margin: 0;
  padding: 0;
}
body.solutions-page .solution-hero-art svg {
  display: block;
  width: min(100%, 540px);
  height: auto;
  overflow: visible;
}
/* Only the illustration opts into system colours; its inline rules retain
   meaningful outlines and remove nonessential washes in forced-colours mode. */
@media (forced-colors: active) {
  body.solutions-page .solution-hero-art svg {
    forced-color-adjust: auto;
    color: CanvasText;
  }
  body.solutions-page .solution-hero::after { display: none; }
}

body.solutions-page .solution-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 11px;
  padding: 18px 0 0;
  color: #70847b;
  font-size: 13px;
}
body.solutions-page .solution-breadcrumbs a { color: #3d7057; text-underline-offset: 3px; }
body.solutions-page .solution-breadcrumbs a:hover { text-decoration: underline; }
body.solutions-page .solution-breadcrumbs [aria-current="page"] { color: #284d40; }
body.solutions-page .solution-breadcrumbs .breadcrumb-separator { color: #9bad9f; }

body.solutions-page .solution-section {
  padding: clamp(62px, 8vw, 102px) 0;
  background: #f8fbf9;
}
body.solutions-page .solution-section.soft { background: #eaf3ef; }
body.solutions-page .solution-section + .solution-section { border-top: 1px solid #e1ebe5; }
body.solutions-page .solution-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(240px, .65fr);
  gap: clamp(20px, 4vw, 44px);
  align-items: end;
  margin-bottom: 38px;
}
body.solutions-page .solution-section-heading h2 {
  max-width: 790px;
  margin: 0;
  color: #10263a;
  font-size: clamp(34px, 4.8vw, 56px);
  line-height: 1.08;
  letter-spacing: -.05em;
}
body.solutions-page .solution-section-heading p {
  max-width: 620px;
  margin: 0 0 3px;
  color: #586f69;
  font-size: 16px;
  line-height: 1.8;
}
body.solutions-page [data-solution-journey="government"] .solution-section-heading-government,
body.solutions-page .solution-section-heading-scenario {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 24px;
  align-items: start;
  margin-bottom: 34px;
}
body.solutions-page .government-journey-intro {
  display: block;
}
body.solutions-page .government-journey-intro h2 {
  max-width: 1000px;
  margin: 0;
  color: #10263a;
  font-size: clamp(34px, 4.8vw, 56px);
  line-height: 1.08;
  letter-spacing: -.05em;
}
body.solutions-page .government-journey-intro p {
  max-width: 620px;
  margin: 0 0 3px;
  color: #586f69;
  font-size: 16px;
  line-height: 1.8;
}
body.solutions-page .permit-scenario {
  min-width: 0;
  padding: 16px 18px 14px;
  border: 1px solid #cbded2;
  border-radius: 15px;
  background: #f5faf6;
  color: #24483e;
}
body.solutions-page .permit-scenario-topline {
  display: flex;
  justify-content: flex-start;
  margin-bottom: 12px;
}
body.solutions-page .permit-scenario-kicker {
  display: inline-flex;
  padding: 5px 9px;
  border: 1px solid #bdd4c5;
  border-radius: 999px;
  color: #3b7055;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.35;
}
body.solutions-page .permit-scenario-layout {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  gap: clamp(16px, 2.6vw, 30px);
  align-items: stretch;
}
body.solutions-page .permit-scenario-chat {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #c9ddd0;
  border-radius: 13px;
  background: #e9f1e9;
}
body.solutions-page .permit-chat-header {
  display: flex;
  min-height: 57px;
  align-items: center;
  gap: 10px;
  padding: 9px 13px;
  border-bottom: 1px solid #d2e1d5;
  background: #f6faf6;
}
body.solutions-page .permit-chat-mark {
  display: grid;
  width: 34px;
  height: 34px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 50%;
  background: #dcebe0;
  color: #39745a;
}
body.solutions-page .permit-chat-mark svg { width: 23px; height: 23px; }
body.solutions-page .permit-chat-channel {
  color: #24483e;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.35;
}
body.solutions-page .permit-chat-caption {
  margin-inline-start: auto;
  color: #6b8176;
  font-size: 10px;
  line-height: 1.4;
}
body.solutions-page .permit-chat-messages {
  display: grid;
  gap: 11px;
  padding: 15px;
  background-color: #edf4ec;
  background-image: radial-gradient(#d3e2d4 0.65px, transparent 0.65px);
  background-size: 13px 13px;
}
body.solutions-page .permit-chat-message {
  width: fit-content;
  max-width: 94%;
  padding: 9px 12px 10px;
  border: 1px solid #d4e2d8;
  border-radius: 11px;
  background: #fbfdfb;
}
body.solutions-page .permit-chat-message-applicant {
  justify-self: end;
  background: #d9edcd;
}
body.solutions-page .permit-chat-message-assistant {
  justify-self: start;
  background: #fbfdfb;
}
body.solutions-page .permit-chat-speaker {
  display: block;
  margin-bottom: 4px;
  color: #557464;
  font-size: 11px;
  font-weight: 800;
}
body.solutions-page .permit-scenario .permit-chat-message p {
  max-width: none;
  margin: 0;
  color: #24483e;
  font-size: 13px;
  font-weight: 550;
  line-height: 1.65;
}
body.solutions-page .permit-scenario-flow { min-width: 0; }
body.solutions-page .permit-flow-label {
  display: block;
  margin: 1px 0 9px;
  color: #557464;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
body.solutions-page .permit-scenario-stages {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}
body.solutions-page .permit-scenario-stage {
  position: relative;
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 7px;
  align-content: start;
  min-width: 0;
  padding: 10px;
  border: 1px solid #d7e5dc;
  border-radius: 10px;
  background: #fbfdfb;
}
body.solutions-page .permit-scenario-stage:not(:last-child)::after {
  position: absolute;
  content: "";
  width: 6px;
  height: 6px;
  inset-inline-start: 31px;
  bottom: -8px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: rotate(135deg);
}
html[dir="rtl"] body.solutions-page .permit-scenario-stage:not(:last-child)::after { transform: rotate(135deg); }
body.solutions-page .permit-scenario-number {
  display: grid;
  width: 25px;
  height: 25px;
  place-items: center;
  border: 1px solid #a9c8b3;
  border-radius: 50%;
  color: #39745a;
  font: 700 10px/1 ui-monospace, SFMono-Regular, Menlo, monospace;
}
body.solutions-page .permit-scenario-symbol {
  position: relative;
  display: block;
  width: 49px;
  height: 49px;
  color: #39745a;
}
body.solutions-page .permit-scenario-symbol svg { display: block; width: 40px; height: 40px; }
body.solutions-page .permit-scenario-symbol .permit-scenario-number {
  position: absolute;
  inset-inline-end: 0;
  bottom: 0;
  width: 19px;
  height: 19px;
  background: #fbfdfb;
  font-size: 9px;
}
body.solutions-page .permit-scenario-stage h3 {
  margin: 1px 0 4px;
  color: #24483e;
  font-size: 13px;
  line-height: 1.4;
}
body.solutions-page .permit-scenario-stage p {
  max-width: none;
  margin: 0;
  color: #5c736d;
  font-size: 12px;
  line-height: 1.55;
}
body.solutions-page .permit-scenario .permit-scenario-boundary {
  max-width: none;
  margin: 12px 0 0;
  padding-top: 10px;
  border-top: 1px solid #d7e5dc;
  color: #476457;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.6;
}
html[dir="rtl"] body.solutions-page .permit-scenario-number { font-family: inherit; }
body.solutions-page .solution-journey ol {
  list-style: none;
  padding: 0;
}

body.solutions-page .solution-card-grid,
body.solutions-page .solution-journey-steps {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
body.solutions-page .solution-vertical-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
body.solutions-page .solution-vertical-card {
  display: flex;
  min-width: 0;
  min-height: 198px;
  flex-direction: column;
  padding: clamp(22px, 3vw, 30px);
  border: 1px solid #d6e4dc;
  border-radius: 16px;
  background: #fbfdfb;
  color: inherit;
  text-decoration: none;
  transition: border-color .2s ease, background-color .2s ease;
}
body.solutions-page a.solution-vertical-card:hover {
  border-color: #90b59e;
  background: #f5faf6;
}
body.solutions-page .solution-vertical-card.is-planned {
  background: rgba(255,255,255,.42);
  color: #536a63;
}
body.solutions-page .solution-vertical-art {
  display: grid;
  width: min(100%, 230px);
  aspect-ratio: 4 / 3;
  align-self: center;
  margin: -10px auto 12px;
  place-items: center;
}
body.solutions-page .solution-vertical-art svg {
  display: block;
  width: 100%;
  height: auto;
}
body.solutions-page .solution-vertical-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 24px;
}
body.solutions-page .solution-vertical-meta .solution-tag { margin: 0; }
body.solutions-page .solution-vertical-status {
  padding: 5px 9px;
  border: 1px solid #d5e3dc;
  border-radius: 999px;
  color: #47735e;
  font-size: 11px;
  font-weight: 750;
  line-height: 1.3;
}
body.solutions-page .solution-vertical-card h3 {
  margin: 0 0 10px;
  color: #173a3c;
  font-size: clamp(20px, 2vw, 24px);
  line-height: 1.35;
}
body.solutions-page .solution-vertical-card p {
  margin: 0;
  color: #5c736d;
  font-size: 15px;
  line-height: 1.75;
}
body.solutions-page .solution-vertical-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  padding-top: 22px;
  color: #316b55;
  font-size: 14px;
  font-weight: 800;
}
body.solutions-page a.solution-vertical-card:hover .solution-vertical-link {
  text-decoration: underline;
  text-underline-offset: 4px;
}
body.solutions-page .solution-card {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 224px;
  flex-direction: column;
  align-items: flex-start;
  padding: clamp(23px, 3vw, 30px);
  border: 1px solid #d6e4dc;
  border-radius: 16px;
  background: #fbfdfb;
  color: inherit;
  text-decoration: none;
  transition: border-color .2s ease, background-color .2s ease;
}
body.solutions-page a.solution-card:hover { border-color: #90b59e; background: #f5faf6; }
body.solutions-page .solution-tag {
  display: inline-flex;
  margin-bottom: 25px;
  color: #648773;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
body.solutions-page .solution-card h3,
body.solutions-page .solution-outcome h3,
body.solutions-page .solution-product h3 {
  margin: 0 0 10px;
  color: #173a3c;
  font-size: clamp(20px, 2vw, 24px);
  line-height: 1.35;
  letter-spacing: -.025em;
}
body.solutions-page .solution-card p,
body.solutions-page .solution-outcome p,
body.solutions-page .solution-product p {
  margin: 0;
  color: #5c736d;
  font-size: 15px;
  line-height: 1.75;
}
body.solutions-page .solution-card-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  padding-top: 22px;
  color: #316b55;
  font-size: 14px;
  font-weight: 800;
}
body.solutions-page a.solution-card:hover .solution-card-link { text-decoration: underline; text-underline-offset: 4px; }
body.solutions-page .solution-outcomes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(20px, 4vw, 54px);
}
body.solutions-page .solution-outcome {
  min-width: 0;
  padding: 22px 0 0;
  border-top: 1px solid #afc8b8;
}
body.solutions-page .solution-outcome h3 { font-size: 20px; }
body.solutions-page .solution-product-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
body.solutions-page .solution-product {
  display: flex;
  min-width: 0;
  min-height: 220px;
  flex-direction: column;
  padding: 25px;
  border: 1px solid #d5e3dc;
  border-radius: 15px;
  background: #fbfdfb;
}
body.solutions-page .solution-product h3 { margin-bottom: 9px; font-size: 20px; }
body.solutions-page .solution-product a {
  display: inline-block;
  margin-top: auto;
  padding-top: 20px;
  color: #316b55;
  font-size: 14px;
  font-weight: 800;
  text-underline-offset: 4px;
}
body.solutions-page .solution-product a:hover { text-decoration: underline; }
body.solutions-page .solution-related {
  display: grid;
  grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr);
  gap: clamp(26px, 6vw, 76px);
  align-items: start;
}
body.solutions-page .solution-related h2 {
  margin: 0;
  color: #173a3c;
  font-size: clamp(30px, 4vw, 44px);
  line-height: 1.15;
  letter-spacing: -.04em;
}
body.solutions-page .workflow-jump-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
body.solutions-page .workflow-jump {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 17px 18px;
  border: 1px solid #d2e1d8;
  border-radius: 12px;
  background: rgba(255,255,255,.55);
  color: #24483e;
  text-decoration: none;
  transition: border-color .2s ease, background-color .2s ease;
}
body.solutions-page .workflow-jump:hover { border-color: #8eb39b; background: #f8fbf9; }
body.solutions-page .workflow-jump strong { font-size: 15px; line-height: 1.45; }
body.solutions-page .workflow-jump span { color: #6b8178; font-size: 13px; line-height: 1.55; }

body.solutions-page .workflow-detail {
  padding: clamp(58px, 7vw, 88px) 0;
  border-top: 1px solid #dce8e1;
  background: #f8fbf9;
  scroll-margin-top: 100px;
}
body.solutions-page .workflow-detail:nth-of-type(even) { background: #edf5f1; }
body.solutions-page .workflow-heading {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: 20px;
  row-gap: 4px;
  align-items: start;
  max-width: 850px;
  margin-bottom: 34px;
}
body.solutions-page .workflow-number {
  grid-row: span 2;
  display: grid;
  width: 42px;
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid #a6c4b1;
  border-radius: 50%;
  color: #47745b;
  font: 700 12px/1 ui-monospace, SFMono-Regular, Menlo, monospace;
}
body.solutions-page .workflow-heading h2 {
  margin: 0;
  color: #10263a;
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.16;
  letter-spacing: -.045em;
}
body.solutions-page .workflow-heading p {
  max-width: 700px;
  margin: 7px 0 0;
  color: #586f69;
  line-height: 1.75;
}
body.solutions-page .workflow-detail-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 13px;
  align-items: stretch;
}
body.solutions-page .workflow-trigger,
body.solutions-page .workflow-steps,
body.solutions-page .workflow-oversight,
body.solutions-page .workflow-result {
  min-width: 0;
  padding: 23px;
  border: 1px solid #d4e2da;
  border-radius: 14px;
  background: #fbfdfb;
}
body.solutions-page .workflow-trigger { grid-column: span 3; }
body.solutions-page .workflow-steps { grid-column: span 4; }
body.solutions-page .workflow-oversight { grid-column: span 2; background: #f0f6f2; }
body.solutions-page .workflow-result { grid-column: span 3; background: #e6f1ea; }
body.solutions-page .workflow-detail-grid :where(h3) {
  margin: 0 0 10px;
  color: #24483e;
  font-size: 17px;
  line-height: 1.4;
}
body.solutions-page .workflow-detail-grid :where(p) {
  margin: 0;
  color: #5c736d;
  font-size: 14px;
  line-height: 1.72;
}
body.solutions-page .workflow-steps ol {
  display: grid;
  gap: 10px;
  margin: 0;
  padding-inline-start: 20px;
  color: #4c685e;
}
body.solutions-page .workflow-steps li { padding-inline-start: 4px; font-size: 14px; line-height: 1.65; }
body.solutions-page .workflow-steps li::marker { color: #548367; font-weight: 800; }
body.solutions-page .workflow-visual {
  width: min(100%, 760px);
  margin: 0 0 28px;
  overflow: hidden;
  border: 1px solid #d5e4dc;
  border-radius: 20px;
  background: #f4f8f5;
}
body.solutions-page .workflow-visual svg { display: block; width: 100%; height: auto; }
body.solutions-page .workflow-visual .workflow-art :where(path,rect,circle,ellipse,line,polyline,polygon) {
  fill: #e8f1eb;
  stroke: #557f69;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
body.solutions-page .workflow-visual :where(text) {
  fill: #36594b;
  font: 600 14px/1.2 system-ui, "Noto Sans Arabic", sans-serif;
  text-anchor: middle;
  dominant-baseline: middle;
}
body.solutions-page .workflow-visual :where(.wf-small) { font-size: 12px; }
body.solutions-page .workflow-visual :where(.wf-tiny) { font-size: 10px; }
body.solutions-page .workflow-visual :where(.wf-small-strong) { font-weight: 750; }
body.solutions-page .workflow-visual :where(.wf-arabic-name) { fill: #25473b; font-size: 18px; font-weight: 700; }
body.solutions-page .workflow-visual :where(.wf-panel,.wf-card,.wf-record,.wf-name-card,.wf-request-form,.wf-lane,.wf-audit,.wf-answer,.wf-next,.wf-book-front) {
  fill: #fbfdfb; stroke: #8eae9a; stroke-width: 2;
}
body.solutions-page .workflow-visual :where(.wf-calendar-head,.wf-crm-head,.wf-record-head,.wf-answer-head) { fill: #dcebe2; stroke: #587d64; stroke-width: 2; }
body.solutions-page .workflow-visual :where(.wf-calendar-title) { fill: #25473b; font-weight: 750; }
body.solutions-page .workflow-visual :where(.wf-calendar-cut,.wf-gridline,.wf-record-line,.wf-crm-line,.wf-form-line,.wf-lane-text,.wf-audit-line,.wf-answer-lines,.wf-book-lines,.wf-search-lines,.wf-context) {
  fill: none; stroke: #4e705d; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round;
}
body.solutions-page .workflow-visual :where(.wf-calendar-ring,.wf-bell,.wf-arrow,.wf-connector,.wf-check,.wf-branch,.wf-search,.wf-campaign-line,.wf-funnel-line,.wf-timeline,.wf-review-route,.wf-review-check,.wf-route-line,.wf-role-icon,.wf-approval-gate,.wf-approval-person,.wf-audit-mark,.wf-book-spine,.wf-lens-handle,.wf-citation-mark,.wf-next-line,.wf-next-mark,.wf-lock) {
  fill: none; stroke: #426c54; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round;
}
body.solutions-page .workflow-visual :where(.wf-form-clip,.wf-outcome-line) {
  fill: none; stroke: #426c54; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round;
}
body.solutions-page .workflow-visual :where(.wf-card-mint,.wf-slot-active,.wf-qualify,.wf-role-node,.wf-approval-circle,.wf-match-badge,.wf-permission,.wf-citation,.wf-consent,.wf-routine-check) { fill: #e0eee5; stroke: #426c54; stroke-width: 2; }
body.solutions-page .workflow-visual :where(.wf-card-soft,.wf-time,.wf-name-row,.wf-request-form,.wf-lane,.wf-audit,.wf-answer,.wf-next,.wf-record-tag,.wf-slot) { fill: #f5f9f6; stroke: #a0bba9; stroke-width: 1.7; }
body.solutions-page .workflow-visual :where(.wf-time-selected,.wf-name-row-active,.wf-timeline-active) { fill: #d6e9dc; stroke: #4c795a; stroke-width: 2.5; }
body.solutions-page .workflow-visual :where(.wf-chat,.wf-tail,.wf-funnel,.wf-campaign,.wf-crm,.wf-book-back,.wf-permission,.wf-lens-inner) { fill: #e8f1eb; stroke: #6d957a; stroke-width: 2; }
body.solutions-page .workflow-visual :where(.wf-decision,.wf-lens) { fill: #edf5ef; stroke: #587e65; stroke-width: 2.5; }
body.solutions-page .workflow-visual :where(.wf-chat-dot,.wf-interest,.wf-match-dot,.wf-avatar,.wf-person,.wf-lane-person,.wf-route-node,.wf-timeline-dot) { fill: #5c896a; stroke: #f5f9f6; stroke-width: 2; }
body.solutions-page .workflow-visual :where(.wf-node) { fill: #e0eee5; stroke: #426c54; stroke-width: 3; }
body.solutions-page .workflow-visual :where(.wf-chat-line,.wf-context,.wf-person-line,.wf-lane-person-line,.wf-role-icon,.wf-form-clip,.wf-campaign-line,.wf-funnel-line,.wf-crm-line,.wf-record-line,.wf-lane-text,.wf-audit-line,.wf-book-lines,.wf-search-lines,.wf-answer-lines,.wf-citation-mark,.wf-next-mark) { fill: none; stroke: #456e54; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
body.solutions-page .workflow-visual :where(.wf-branch,.wf-match-link,.wf-source-link,.wf-route-line,.wf-review-route,.wf-timeline,.wf-audit-connector) { fill: none; stroke: #426c54; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
body.solutions-page .workflow-visual :where(.wf-campaign,.wf-record-head,.wf-crm-head,.wf-answer-head) { fill: #dcebe2; }
body.solutions-page .workflow-visual :where(.wf-person,.wf-lane-person) { stroke: #50765d; }
body.solutions-page .workflow-visual :where(.wf-reviewer) { fill: #e3efe7; stroke: #456f53; stroke-width: 3; stroke-linejoin: round; }
body.solutions-page .workflow-visual :where(.wf-match-mark,.wf-check,.wf-review-check) { stroke-width: 3.5; }
body.solutions-page .workflow-visual :where(.wf-funnel,.wf-crm,.wf-book-back,.wf-lens-inner) { fill: #e7f1ea; }
body.solutions-page .workflow-visual :where(.wf-name-row-active,.wf-time-selected,.wf-approval-circle,.wf-match-badge) { fill: #dfede4; }
body.solutions-page .workflow-visual :where(.wf-slot-active,.wf-match-badge) { stroke: #4e795b; }
body.solutions-page .workflow-visual :where(.wf-role-icon,.wf-approval-person,.wf-review-check,.wf-match-mark) { fill: none; stroke: #41694f; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
body.solutions-page .workflow-visual :where(.wf-timeline-dot) { stroke: #4e795b; }
body.solutions-page .workflow-visual :where(.wf-outline,.wf-lens-handle) { vector-effect: non-scaling-stroke; }
body.solutions-page .workflow-visual-legend { display: none; }
@media (max-width: 640px) {
  body.solutions-page .workflow-visual { margin-bottom: 22px; border-radius: 15px; overflow: hidden; }
  body.solutions-page .workflow-visual svg { min-width: 0; }
  body.solutions-page .workflow-visual svg text { display: none; }
  body.solutions-page .workflow-visual-legend {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
    padding: 0 12px 14px;
    list-style: none;
  }
  body.solutions-page .workflow-visual-legend li {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    min-height: 38px;
    padding: 7px 9px;
    border: 1px solid #cbded1;
    border-radius: 10px;
    background: #fbfdfb;
    color: #36594b;
    font-size: 12px;
    font-weight: 650;
    line-height: 1.45;
  }
  body.solutions-page .workflow-legend-index {
    flex: 0 0 auto;
    color: #41694f;
    font: 700 10px/1 ui-monospace, SFMono-Regular, Menlo, monospace;
  }
}
@media (prefers-reduced-motion: no-preference) {
  body.solutions-page .workflow-visual .wf-timeline-active { animation: workflow-attention 2.8s ease-in-out infinite alternate; }
  @keyframes workflow-attention { from { opacity: .72; } to { opacity: 1; } }
}
@media (forced-colors: active) {
  body.solutions-page .workflow-visual svg :where(path,rect,circle,ellipse) {
    fill: Canvas;
    fill-opacity: 1;
    stroke: CanvasText;
    stroke-width: 2;
    vector-effect: non-scaling-stroke;
  }
  body.solutions-page .workflow-visual svg :where(text) { fill: CanvasText; }
  body.solutions-page .workflow-visual svg :where(.wf-calendar-cut,.wf-gridline,.wf-record-line,.wf-crm-line,.wf-form-line,.wf-lane-text,.wf-audit-line,.wf-answer-lines,.wf-book-lines,.wf-search-lines,.wf-context,.wf-chat-line,.wf-person-line,.wf-lane-person-line,.wf-calendar-ring,.wf-bell,.wf-arrow,.wf-connector,.wf-check,.wf-branch,.wf-search,.wf-campaign-line,.wf-funnel-line,.wf-timeline,.wf-review-route,.wf-review-check,.wf-route-line,.wf-role-icon,.wf-approval-gate,.wf-approval-person,.wf-audit-mark,.wf-book-spine,.wf-lens-handle,.wf-citation-mark,.wf-next-line,.wf-next-mark,.wf-lock,.wf-form-clip,.wf-outcome-line,.wf-source-link,.wf-match-link,.wf-audit-connector) {
    fill: none;
    stroke: CanvasText;
  }
  body.solutions-page .workflow-visual svg :where(.wf-calendar-head,.wf-crm-head,.wf-record-head,.wf-answer-head,.wf-card-mint,.wf-slot-active,.wf-qualify,.wf-role-node,.wf-approval-circle,.wf-match-badge,.wf-permission,.wf-citation,.wf-consent,.wf-chat,.wf-tail,.wf-funnel,.wf-campaign,.wf-decision,.wf-reviewer,.wf-lens,.wf-lens-inner,.wf-book-front,.wf-node,.wf-routine-check) { fill: Canvas; }
  body.solutions-page .workflow-visual-legend li { color: CanvasText; border-color: CanvasText; background: Canvas; }
  body.solutions-page .workflow-legend-index { color: CanvasText; }
}
body.solutions-page .workflow-links {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 22px;
  padding-top: 8px;
}
body.solutions-page .workflow-links a {
  color: #316b55;
  font-size: 14px;
  font-weight: 750;
  text-underline-offset: 4px;
}
body.solutions-page .workflow-links a:hover { text-decoration: underline; }
body.solutions-page .solution-cta {
  padding: clamp(54px, 7vw, 88px) 0;
  background: #dcece3;
  color: #163b38;
}
body.solutions-page .solution-cta .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(25px, 6vw, 80px);
}
body.solutions-page .solution-cta .btn {
  flex-shrink: 0;
  white-space: nowrap;
}
body.solutions-page .solution-cta h2 {
  max-width: 720px;
  margin: 0;
  font-size: clamp(34px, 4.8vw, 58px);
  line-height: 1.1;
  letter-spacing: -.05em;
}
body.solutions-page .solution-cta p {
  max-width: 390px;
  margin: 0 0 19px;
  color: #4f6e61;
  line-height: 1.7;
}
body.solutions-page :where(a, button, summary):focus-visible {
  outline: 3px solid #559271;
  outline-offset: 4px;
}
body.solutions-page .solution-hero h1,
body.solutions-page .solution-section-heading h2,
body.solutions-page .workflow-heading h2,
body.solutions-page .solution-cta h2 { overflow-wrap: anywhere; }
html[dir="rtl"] body.solutions-page .solution-hero .eyebrow,
html[dir="rtl"] body.solutions-page .solution-tag,
html[dir="rtl"] body.solutions-page .solution-number { letter-spacing: 0; }
html[dir="rtl"] body.solutions-page .solution-hero h1,
html[dir="rtl"] body.solutions-page .solution-section-heading h2,
html[dir="rtl"] body.solutions-page .workflow-heading h2,
html[dir="rtl"] body.solutions-page .solution-cta h2,
html[dir="rtl"] body.solutions-page .solution-related h2 {
  letter-spacing: 0;
  line-height: 1.45;
}
html[dir="rtl"] body.solutions-page .workflow-number { font-family: inherit; }
html[dir="rtl"] body.solutions-page .solution-hero::after { inset-inline-end: auto; inset-inline-start: -188px; }

@media (max-width: 900px) {
  body.solutions-page .solution-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(220px, .65fr); gap: 28px; }
  body.solutions-page .solution-section-heading { grid-template-columns: 1fr; gap: 16px; }
  body.solutions-page .government-journey-intro { grid-template-columns: 1fr; gap: 13px; }
  body.solutions-page .government-journey-intro p { max-width: 760px; }
  body.solutions-page .solution-vertical-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.solutions-page .solution-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.solutions-page .workflow-trigger,
  body.solutions-page .workflow-steps { grid-column: span 6; }
  body.solutions-page .workflow-oversight,
  body.solutions-page .workflow-result { grid-column: span 6; }
}
@media (max-width: 680px) {
  body.solutions-page .solution-hero { padding-block: 48px 55px; }
  body.solutions-page .solution-hero-grid { grid-template-columns: 1fr; gap: 22px; }
  body.solutions-page .solution-hero-art { min-height: 0; }
  body.solutions-page .solution-hero-art svg { width: min(100%, 460px); }
  body.solutions-page .solution-hero h1 { font-size: clamp(40px, 10vw, 58px); }
  body.solutions-page .permit-scenario { padding: 15px; }
  body.solutions-page .permit-scenario-layout { grid-template-columns: 1fr; gap: 16px; }
  body.solutions-page .permit-scenario-stages { grid-template-columns: 1fr; gap: 7px; }
  body.solutions-page .permit-scenario-stage { grid-template-columns: auto minmax(0, 1fr); }
  body.solutions-page .permit-scenario-stage:not(:last-child)::after,
  html[dir="rtl"] body.solutions-page .permit-scenario-stage:not(:last-child)::after {
    top: auto;
    bottom: -7px;
    inset-inline-end: auto;
    inset-inline-start: 31px;
    transform: rotate(135deg);
  }
  body.solutions-page .solution-card-grid,
  body.solutions-page .solution-journey-steps,
  body.solutions-page .solution-vertical-grid,
  body.solutions-page .solution-outcomes,
  body.solutions-page .solution-product-grid,
  body.solutions-page .solution-related,
  body.solutions-page .workflow-jump-grid { grid-template-columns: 1fr; }
  body.solutions-page .solution-card { min-height: 0; }
  body.solutions-page .solution-tag { margin-bottom: 18px; }
  body.solutions-page .solution-outcome { padding-top: 17px; }
  body.solutions-page .solution-product { min-height: 0; }
  body.solutions-page .solution-cta .container { align-items: flex-start; flex-direction: column; }
  body.solutions-page .workflow-heading { column-gap: 13px; }
  body.solutions-page .workflow-number { width: 36px; }
  body.solutions-page .workflow-trigger,
  body.solutions-page .workflow-steps,
  body.solutions-page .workflow-oversight,
  body.solutions-page .workflow-result { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) {
  body.solutions-page *,
  body.solutions-page *::before,
  body.solutions-page *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
@media (forced-colors: active) {
  body.solutions-page .permit-scenario,
  body.solutions-page .permit-scenario-chat,
  body.solutions-page .permit-chat-header,
  body.solutions-page .permit-chat-message,
  body.solutions-page .permit-scenario-stage {
    border: 1px solid CanvasText;
    background: Canvas;
    color: CanvasText;
    forced-color-adjust: auto;
  }
  body.solutions-page .permit-scenario :where(h3, p, span) { color: CanvasText; }
  body.solutions-page .permit-chat-message-applicant { border-inline-start: 3px solid Highlight; }
  body.solutions-page .permit-chat-message-assistant { border-inline-end: 3px solid Highlight; }
  body.solutions-page .permit-chat-messages { background: Canvas; }
  body.solutions-page .permit-chat-mark { border: 1px solid CanvasText; background: Canvas; color: CanvasText; }
}
