:root {
  --polus-blue: #5c80ff;
  --polus-action: #5864cf;
  --polus-blue-hover: #626bd5;
  --polus-ink: #444444;
  --polus-copy: #575757;
  --polus-lavender: #b0b3fa;
  --polus-soft: #f0f3ff;
  --polus-line: #dce3fc;
}
body { color: var(--polus-copy); }
body .fl-page a { color: var(--polus-action); }
body .fl-page a:hover, body .fl-page a:focus-visible { color: var(--polus-blue-hover); }
body .fl-page .fl-row:not(.polus-hero):not(.polus-panel-lilac) .fl-heading,
body .fl-page .fl-row:not(.polus-hero):not(.polus-panel-lilac) .fl-heading-text,
body .fl-page .uabb-infobox-title,
body .fl-page .uabb-infobox-title * { color: var(--polus-ink); }
body .fl-page .uabb-infobox-text,
body .fl-page .fl-rich-text { color: var(--polus-copy); }

/* Existing light, rounded Nunito typography and responsive type scales are retained. */
body .fl-page .polus-hero > .fl-row-content-wrap {
  background: #5c80ff;
  background-image: linear-gradient(115deg, #4869e0 0%, #5c80ff 47%, #989bef 100%);
  isolation: isolate;
  overflow: hidden;
}
body .fl-page .polus-hero > .fl-row-content-wrap:after {
  background-image: none;
  background-color: transparent;
}
body .fl-page .polus-hero .fl-row-content {
  position: relative;
  z-index: 2;
}
body .fl-page .polus-hero .fl-heading,
body .fl-page .polus-hero .fl-heading-text,
body .fl-page .polus-hero .fl-rich-text,
body .fl-page .polus-hero .fl-rich-text *,
body .fl-page .polus-hero a { color: #fff; }
body .fl-page .polus-hero .fl-builder-layer { z-index: 3; }
body .fl-page .polus-hero .fl-builder-layer .fl-shape { fill: #fff; }
body .fl-page .fl-node-5ff7c2571e425 .fl-menu a { color: #fff; }
body .fl-page .fl-node-5ff7c2571e425 .fl-menu a:hover,
body .fl-page .fl-node-5ff7c2571e425 .fl-menu a:focus-visible { color: #e4e8ff; }
body .fl-page .fl-node-5ff7c2571e425 .fl-menu-mobile-toggle { color: #fff; }
body .fl-page .fl-node-5ff7c2571e425 .fl-menu-mobile-toggle rect { fill: #fff; }
body .fl-page .fl-node-5ff7c2571e425 .sub-menu a { color: var(--polus-ink); }
body .fl-page header.fl-theme-builder-header-scrolled .fl-menu a { color: var(--polus-ink); }
body .fl-page header.fl-theme-builder-header-scrolled .fl-menu a:hover { color: var(--polus-action); }
body .fl-page header.fl-theme-builder-header-scrolled .fl-menu-mobile-toggle { color: var(--polus-ink); }
body .fl-page header.fl-theme-builder-header-scrolled .fl-menu-mobile-toggle rect { fill: var(--polus-blue); }

body .fl-page .polus-panel-lilac > .fl-row-content-wrap {
  background: linear-gradient(120deg, #e9edff 0%, #efebff 65%, #e8e5fb 100%);
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
body .fl-page .polus-panel-lilac > .fl-row-content-wrap:after {
  background: none;
}
body .fl-page .polus-panel-lilac .fl-row-content { position: relative; z-index: 2; }
body .fl-page .polus-panel-lilac .fl-heading,
body .fl-page .polus-panel-lilac .fl-heading-text,
body .fl-page .polus-panel-lilac .fl-rich-text,
body .fl-page .polus-panel-lilac .fl-rich-text *,
body .fl-page .polus-panel-lilac .uabb-list-icon-text,
body .fl-page .polus-panel-lilac .uabb-list-icon-text *,
body .fl-page .polus-panel-lilac .fl-list-item-content,
body .fl-page .polus-panel-lilac .fl-list-item-content * { color: var(--polus-copy) !important; }
body .fl-page .polus-panel-lilac :is(h1, h2, h3, h4, h5, h6, .fl-heading-text) { color: var(--polus-ink) !important; }
body .fl-page .polus-panel-lilac a { color: var(--polus-action); }
body .fl-page .polus-panel-lilac a:hover { color: var(--polus-blue-hover); }
body .fl-page .polus-panel-soft > .fl-row-content-wrap { background: var(--polus-soft); }

body .fl-page a.fl-button,
body .fl-page a.fl-button:visited {
  background: linear-gradient(110deg, #4963d7, #6f73db);
  border: 1px solid transparent;
  color: #fff;
  box-shadow: 0 7px 20px rgba(33, 53, 112, .15);
  transition: background-color .2s, box-shadow .2s, transform .2s;
}
body .fl-page a.fl-button *, body .fl-page a.fl-button:visited * { color: #fff; }
body .fl-page a.fl-button:hover,
body .fl-page a.fl-button:focus-visible {
  background: var(--polus-blue-hover);
  box-shadow: 0 9px 24px rgba(33, 53, 112, .22);
  transform: translateY(-2px);
}
body .fl-page .polus-hero a.fl-button {
  background: #fff;
  color: var(--polus-action);
  box-shadow: 0 8px 28px rgba(28, 38, 104, .13);
}
body .fl-page .polus-hero a.fl-button * { color: var(--polus-action); }
body .fl-page .polus-hero a.fl-button:hover { background: #e9edff; }
body .fl-page em:after,
body .fl-page .underline:after {
  background: linear-gradient(90deg, #5c80ff, #b0b3fa);
}
body .fl-page .polus-panel-lilac em:after { background: #b0b3fa; }
body .fl-page .polus-hero em:after { background: linear-gradient(90deg, #dfe5ff, #b0b3fa); }
body.polus-document-route header.fl-builder-content > .fl-row > .fl-row-content-wrap { background: var(--polus-blue); }
body.polus-document-route #fl-main-content { padding-top: 130px; }

body .fl-page .polus-service-card > .fl-module-content {
  background: #fff;
  border: 1px solid var(--polus-line);
  border-radius: 22px 22px 56px 22px;
  padding: 28px;
  box-shadow: 0 12px 38px rgba(44, 65, 126, .045);
  transition: border-color .2s, box-shadow .2s;
}
body .fl-page .polus-service-card > .fl-module-content:hover {
  border-color: #acbaf6;
  box-shadow: 0 16px 44px rgba(44, 65, 126, .09);
}
body .fl-page .uabb-icon-wrap .uabb-icon i,
body .fl-page .uabb-icon-wrap .uabb-icon i:before {
  color: var(--polus-blue);
}
body .fl-page .polus-service-card .uabb-icon-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(140deg, #eef2ff, #e8e7fc);
  border: 1px solid #e0e4fc;
  border-radius: 18px 18px 32px 18px;
  padding: 12px;
}
body .fl-page .polus-service-card .uabb-icon,
body .fl-page .polus-service-card .uabb-icon i {
  width: 48px;
  height: 48px;
  line-height: 48px;
  font-size: 42px;
}
body .fl-page .polus-service-card .left-title-image {
  display: flex;
  align-items: center;
  gap: 20px;
}
body .fl-page .polus-service-card .left-title-image .uabb-imgicon-wrap {
  float: none;
  flex: 0 0 74px;
  margin: 0 0 18px;
}
body .fl-page .polus-service-card .left-title-image .uabb-infobox-title-wrap {
  float: none;
  width: auto;
  flex: 1;
  padding: 0;
}
body .fl-page .polus-service-card .uabb-infobox-title { color: var(--polus-ink); }
body .fl-page .polus-service-card .uabb-infobox-text,
body .fl-page .polus-service-card .uabb-infobox-text p,
body .fl-page .polus-service-card .uabb-infobox-text li,
body .fl-page .polus-service-card .uabb-infobox-text span { color: var(--polus-copy); }

.polus-example {
  margin: 28px 0 0;
  border-top: 1px solid var(--polus-line);
  padding-top: 20px;
  text-align: left;
}
.polus-example figcaption {
  color: var(--polus-copy);
  font: inherit;
  font-size: 14px;
  line-height: 1.5;
  margin-top: 12px;
}
.polus-example-stage {
  background: var(--polus-soft);
  border-radius: 14px 14px 40px 14px;
  overflow: hidden;
  min-width: 0;
}
.polus-identity-stage { padding: 36px 26px 24px; }
.polus-identity-stage > img { width: min(100%, 330px); height: auto; display: block; margin-bottom: 28px; }
.polus-palette { display: flex; gap: 7px; margin-bottom: 22px; }
.polus-palette span { display: block; height: 27px; flex: 1; background: var(--polus-blue); border-radius: 2px; }
.polus-palette span:nth-child(2) { background: #e8e5fb; }
.polus-palette span:nth-child(3) { background: var(--polus-lavender); }
.polus-palette span:nth-child(4) { background: var(--polus-ink); }
.polus-palette span:nth-child(5) { background: #fff; border: 1px solid var(--polus-line); }
.polus-type-sample { display: flex; gap: 16px; align-items: baseline; color: var(--polus-ink); }
.polus-type-sample strong { font-size: 50px; font-weight: 200; line-height: 1; }
.polus-type-sample span { font-size: 16px; }
.polus-website-stage { background: #5c80ff; }
.polus-website-stage img { display: block; width: 100%; height: auto; filter: grayscale(1); mix-blend-mode: luminosity; }
.polus-message-stage { padding: 32px 26px; position: relative; isolation: isolate; background: linear-gradient(135deg,#5c80ff,#9995e8); }
body .fl-page .polus-message-stage p { position: relative; z-index: 2; font: inherit; font-size: clamp(27px, 3.3vw, 39px); line-height: 1.17; color: #fff; margin: 0; }
body .fl-page .polus-message-stage p + p { color: #dde3ff; margin-top: 16px; }

body .fl-page .polus-footer > .fl-row-content-wrap { background: #f0eefb; }
body .fl-page .polus-footer .fl-heading,
body .fl-page .polus-footer .fl-heading-text { color: var(--polus-ink) !important; }
body .fl-page .polus-footer .fl-rich-text,
body .fl-page .polus-footer .fl-rich-text *,
body .fl-page .polus-footer .fl-icon-text,
body .fl-page .polus-footer .fl-icon-text *,
body .fl-page .polus-footer a { color: var(--polus-copy) !important; }
body .fl-page .polus-footer .fl-icon i,
body .fl-page .polus-footer .fl-icon i:before { color: var(--polus-blue); }
body .fl-page .polus-footer a:hover { color: var(--polus-action) !important; }

@media (max-width: 992px) {
  body .fl-page .polus-service-card > .fl-module-content { padding: 22px; }
  body .fl-page .polus-service-card .left-title-image { display: block; }
  body .fl-page .polus-service-card .left-title-image .uabb-imgicon-wrap { margin-bottom: 18px; }
}
@media (max-width: 768px) {
  body .fl-page .polus-service-card > .fl-module-content { padding: 24px; border-radius: 20px 20px 42px 20px; }
  body .fl-page .fl-node-5ff7c2571e425 .fl-menu-mobile-toggle + ul,
  body .fl-page .fl-node-5ff7c2571e425 .menu { background: #eeebff; border-radius: 12px; }
  body .fl-page .fl-node-5ff7c2571e425 .menu a { color: var(--polus-ink) !important; }
  .polus-identity-stage, .polus-message-stage { padding: 26px 22px; }
}
@media (prefers-reduced-motion: reduce) {
  body .fl-page a.fl-button, body .fl-page .polus-service-card > .fl-module-content { transition: none; }
  body .fl-page a.fl-button:hover { transform: none; }
}
