/* Imali frontend. Canonical portable plugin asset.
 * Every selector is scoped to a server-added, allowlisted-page body class.
 * Palette fallback: the supplied local logo, not a verified homepage extraction.
 */
body.imali-frontend .if-form-fields { border:0; margin:0; padding:0; min-width:0; }
body.imali-frontend .if-form-fields:disabled { opacity:.65; }
body.imali-frontend {
  --if-brand: #38b6a2;
  --if-brand-text: #102f30;
  --if-secondary: #3989df;
  --if-navy: #1e2f50;
  --if-ink: #344961;
  --if-muted-ink: #52677b;
  --if-accent: #147665;
  --if-mint: #eaf7f2;
  --if-mist: #f4f8fb;
  --if-line: #dce6ec;
  --if-radius: 22px;
  --if-body-font: "Imali Preview Body", sans-serif;
  --if-heading-font: "Imali Preview Heading", sans-serif;
  --if-shadow: 0 20px 60px rgb(30 47 80 / 8%);
  background: #fff;
  color: var(--if-ink);
  font-family: var(--if-body-font);
  font-size: 16px;
  line-height: 1.7;
}

body.imali-frontend :where(.if-section, .if-header, .if-footer, .if-preview-bar, .if-skip),
body.imali-frontend :where(.if-section, .if-header, .if-footer, .if-preview-bar) * {
  box-sizing: border-box;
}
body.imali-frontend #wrapper,
body.imali-frontend #primary,
body.imali-frontend #single-page {
  margin: 0 !important;
  padding: 0 !important;
  width: 100%;
  background: #fff;
}
body.imali-frontend #single-page > .container {
  width: 100%;
  max-width: none;
  padding: 0;
}
body.imali-frontend .single-page-content { margin: 0; }
body.imali-frontend .comments-content,
body.imali-frontend .back-to-top,
body.imali-frontend #footer-subscribe-form { display: none; }
body.imali-frontend .if-shell {
  width: min(100% - 48px, 1160px);
  margin-inline: auto;
}
body.imali-frontend .if-section.vc_row {
  position: relative;
  isolation: isolate;
  width: auto;
  max-width: none;
  margin: 0;
  padding: 96px max(24px, calc((100% - 1160px) / 2));
  scroll-margin-top: 28px;
}
body.imali-frontend .if-section > .wpb_column > .vc_column-inner,
body.imali-frontend .if-grid > .wpb_column > .vc_column-inner {
  padding: 0;
}
body.imali-frontend .if-section > .wpb_column,
body.imali-frontend .if-grid > .wpb_column { min-width: 0; float: none; }
body.imali-frontend .if-section .wpb_content_element,
body.imali-frontend .if-section .wpb_text_column { margin-bottom: 0; }
body.imali-frontend .if-section::before,
body.imali-frontend .if-section::after,
body.imali-frontend .if-grid::before,
body.imali-frontend .if-grid::after { display: none; }
body.imali-frontend .if-section.if-split,
body.imali-frontend .if-section.if-contact-layout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(32px, 4vw, 64px);
  align-items: center;
}
body.imali-frontend .if-section.if-contact-layout {
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  align-items: start;
}
body.imali-frontend :is(.if-split, .if-contact-layout, .if-cta) > .wpb_column { width: auto; }
body.imali-frontend .if-section.if-hero {
  padding-block: 88px 96px;
  background:
    radial-gradient(ellipse at 0% 15%, rgb(56 182 162 / 10%), transparent 45%),
    radial-gradient(ellipse at 100% 80%, rgb(57 137 223 / 9%), transparent 45%),
    #f8fcfc;
}
body.imali-frontend .if-muted { background: var(--if-mist); }
body.imali-frontend .if-section :is(h1, h2, h3),
body.imali-frontend .if-footer h2 {
  font-family: var(--if-heading-font);
  color: var(--if-navy);
  font-weight: 700;
  text-transform: none;
  overflow-wrap: normal;
}
body.imali-frontend .if-section h1 {
  margin: 0 0 24px;
  max-width: 650px;
  font-size: clamp(38px, 4.1vw, 58px);
  letter-spacing: -.045em;
  line-height: 1.06;
  text-wrap: balance;
}
body.imali-frontend .if-section h2 {
  margin: 0 0 22px;
  font-size: clamp(30px, 3.15vw, 44px);
  letter-spacing: -.035em;
  line-height: 1.13;
  text-wrap: balance;
}
body.imali-frontend .if-section h3 {
  margin: 0 0 12px;
  font-size: 21px;
  letter-spacing: -.018em;
  line-height: 1.27;
}
body.imali-frontend .if-section p {
  max-width: 70ch;
  margin: 0 0 18px;
  color: var(--if-muted-ink);
  font-size: 16px;
  line-height: 1.75;
  font-weight: 400;
}
body.imali-frontend .if-section p:last-child { margin-bottom: 0; }
body.imali-frontend .if-section .if-lead { font-size: 18px; line-height: 1.75; max-width: 52ch; }
body.imali-frontend .if-section .if-eyebrow {
  color: var(--if-accent);
  margin: 0 0 20px;
  font: 700 12px/1.6 var(--if-body-font);
  letter-spacing: .15em;
  text-transform: uppercase;
}
body.imali-frontend .if-section .if-accent { color: var(--if-accent); }
body.imali-frontend .if-section .if-note,
body.imali-frontend .if-section .if-field-hint { font-size: 13px; line-height: 1.65; }
body.imali-frontend .if-section-heading { max-width: 720px; margin-bottom: 40px; }
body.imali-frontend .if-section-heading.if-center { margin-inline: auto; text-align: center; }
body.imali-frontend .if-section-heading.if-center p { margin-inline: auto; }
body.imali-frontend .if-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  margin-block: 28px 24px;
}
body.imali-frontend .if-button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  max-width: 100%;
  padding: 13px 23px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-family: var(--if-body-font);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  cursor: pointer;
  transition: background-color .18s ease, box-shadow .18s ease;
}
body.imali-frontend .if-button--primary {
  background: var(--if-brand);
  color: var(--if-brand-text);
  box-shadow: 0 6px 20px rgb(20 118 101 / 12%);
}
body.imali-frontend .if-button--primary:hover {
  color: var(--if-brand-text);
  background: var(--if-brand);
  box-shadow: 0 8px 26px rgb(20 118 101 / 24%);
}
body.imali-frontend .if-button--secondary {
  background: #fff;
  color: var(--if-navy);
  border-color: #bbcddc;
}
body.imali-frontend .if-button--secondary:hover { border-color: var(--if-navy); background: #f4f8fb; }
body.imali-frontend .if-button--text {
  padding: 8px 0;
  min-height: 44px;
  border-radius: 4px;
  justify-content: flex-start;
  color: var(--if-navy);
  background: transparent;
  text-align: left;
}
body.imali-frontend .if-button--text:hover { text-decoration: underline; text-underline-offset: 5px; }
body.imali-frontend :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid #2771bc;
  outline-offset: 4px;
}
body.imali-frontend .if-link-unavailable { font-size: 14px; color: var(--if-muted-ink); }
body.imali-frontend .if-icon { display: block; width: 24px; height: 24px; flex-shrink: 0; }
body.imali-frontend .if-button .if-icon { width: 18px; height: 18px; }
body.imali-frontend .if-iconbox {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 48px;
  height: 48px;
  margin-bottom: 24px;
  border-radius: 14px;
  color: var(--if-accent);
  background: var(--if-mint);
}
body.imali-frontend .if-grid.vc_row {
  display: grid;
  gap: 24px;
  width: 100%;
  margin: 0;
}
body.imali-frontend .if-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.imali-frontend .if-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.imali-frontend .if-grid--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
body.imali-frontend .if-grid > .wpb_column { width: auto; display: flex; margin: 0; }
body.imali-frontend .if-grid > .wpb_column > .vc_column-inner { width: 100%; }
body.imali-frontend .if-card > .vc_column-inner {
  height: 100%;
  padding: 28px !important;
  background: #fff;
  border: 1px solid var(--if-line);
  border-radius: var(--if-radius);
  box-shadow: 0 12px 32px rgb(30 47 80 / 3%);
}
body.imali-frontend .if-card > .vc_column-inner > .wpb_wrapper,
body.imali-frontend .if-card .wpb_text_column,
body.imali-frontend .if-card .wpb_text_column > .wpb_wrapper { height: 100%; }
body.imali-frontend .if-card .wpb_text_column > .wpb_wrapper { display: flex; flex-direction: column; align-items: flex-start; }
body.imali-frontend .if-card p { font-size: 15px; line-height: 1.7; }
body.imali-frontend .if-grid--four h3 { font-size: 19px; }
body.imali-frontend .if-card:nth-child(even) .if-iconbox { background: #eaf0fa; color: #315995; }
body.imali-frontend .if-card .if-status { margin-top: auto; }
body.imali-frontend .if-card p:has(> .if-status) { margin-top: auto; }
body.imali-frontend .if-card .wpb_wrapper > .if-button--text { margin-top: auto; }
body.imali-frontend .if-status {
  display: inline-block;
  padding: 5px 9px;
  border-radius: 6px;
  background: #eaf0fa;
  color: #304d7a;
  font-size: 11px;
  line-height: 1.5;
  font-weight: 700;
}
body.imali-frontend .if-status--planned { color: #80530a; background: #fff2db; }
body.imali-frontend .if-checklist {
  list-style: none;
  padding: 0;
  margin: 24px 0 0;
  width: 100%;
}
body.imali-frontend .if-checklist li {
  position: relative;
  padding: 13px 0 13px 24px;
  margin: 0;
  border-bottom: 1px solid var(--if-line);
  font-size: 15px;
  color: var(--if-muted-ink);
  line-height: 1.65;
}
body.imali-frontend .if-checklist li::before {
  position: absolute;
  left: 0;
  top: 17px;
  content: "";
  width: 7px;
  height: 11px;
  background: transparent;
  border-radius: 0;
  border: solid var(--if-accent);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
body.imali-frontend .if-checklist li:last-child { border-bottom: 0; }
body.imali-frontend .if-checklist + .if-note { margin-top: 22px; }
body.imali-frontend .if-steps > .wpb_column { border-top: 1px solid #bfd5da; padding-top: 25px; position: relative; }
body.imali-frontend .if-steps > .wpb_column::before { content: ""; position: absolute; top: -4px; left: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--if-brand); }
body.imali-frontend .if-steps .if-step-number { color: var(--if-accent); text-transform: uppercase; font-size: 11px; font-weight: 700; letter-spacing: .08em; margin-bottom: 18px; }
body.imali-frontend .if-steps h3 { font-size: 20px; }
body.imali-frontend .if-steps p { font-size: 15px; }
body.imali-frontend .if-dark {
  background: radial-gradient(ellipse at 95% 5%, rgb(57 137 223 / 20%), transparent 45%), var(--if-navy);
}
body.imali-frontend .if-section.if-cta {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  align-items: center;
  gap: 48px;
}
body.imali-frontend .if-cta > .wpb_column:last-child { justify-self: end; }
body.imali-frontend .if-dark :is(h2, h3) { color: #fff; }
body.imali-frontend .if-dark p { color: #d0ddeb; }
body.imali-frontend .if-dark .if-eyebrow { color: #acdacf; }
body.imali-frontend .if-disclosures { display: grid; gap: 14px; }
body.imali-frontend .if-disclosures details {
  border: 1px solid var(--if-line);
  border-radius: 18px;
  background: #fff;
}
body.imali-frontend .if-disclosures summary {
  position: relative;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 24px 58px 24px 28px;
  color: var(--if-navy);
  font-family: var(--if-heading-font);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  list-style: none;
  cursor: pointer;
  border-radius: 17px;
}
body.imali-frontend .if-disclosures summary::-webkit-details-marker { display: none; }
body.imali-frontend .if-disclosures summary::after {
  content: "+";
  position: absolute;
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
  font-family: var(--if-body-font);
  font-size: 24px;
  color: var(--if-accent);
  font-weight: 400;
}
body.imali-frontend .if-disclosures details[open] > summary::after { content: "-"; }
body.imali-frontend .if-disclosures details[open] > summary { background: #f5faf9; border-radius: 17px 17px 0 0; }
body.imali-frontend .if-summary-index { font-size: 12px; color: var(--if-accent); font-family: var(--if-body-font); letter-spacing: .06em; }
body.imali-frontend .if-disclosure-body { padding: 24px 28px 30px; }
body.imali-frontend .if-panel-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; align-items: center; }
body.imali-frontend .if-panel-grid h3 { font-size: 26px; }
body.imali-frontend .if-mini-flow { background: linear-gradient(135deg, #edf4fc, #edf9f3); border-radius: 16px; padding: 30px; }
body.imali-frontend .if-mini-flow > strong { color: var(--if-navy); display: block; margin-bottom: 18px; }
body.imali-frontend .if-mini-flow ol { padding-left: 22px; margin: 0 0 18px; color: var(--if-ink); }
body.imali-frontend .if-mini-flow li { padding-block: 7px; font-size: 15px; }
body.imali-frontend .if-faq { max-width: 850px; margin-inline: auto; }
body.imali-frontend .if-faq summary { font-size: 18px; }
body.imali-frontend .if-faq .if-disclosure-body p { max-width: none; }
body.imali-frontend .if-plan .wpb_text_column > .wpb_wrapper { align-items: stretch; }
body.imali-frontend .if-plan .if-plan-top { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 30px; }
body.imali-frontend .if-plan-top h3 { margin: 0; }
body.imali-frontend .if-plan .if-plan-top .if-status { margin-top: 0; font-size: 10px; }
body.imali-frontend .if-plan .if-plan-title { font-family: var(--if-heading-font); font-size: 29px; color: var(--if-navy); line-height: 1.2; letter-spacing: -.02em; margin-bottom: 12px; }
body.imali-frontend .if-plan .if-plan-audience { font-size: 13px; min-height: 44px; }
body.imali-frontend .if-plan .if-checklist { margin-top: auto; padding-top: 10px; }
body.imali-frontend .if-plan .if-checklist li { font-size: 13px; }
body.imali-frontend .if-plan-action { padding-top: 24px; }
body.imali-frontend .if-plan-action .if-button { width: 100%; font-size: 13px; padding-inline: 15px; }
body.imali-frontend .if-plan--featured > .vc_column-inner { border: 2px solid var(--if-brand); box-shadow: 0 20px 45px rgb(20 118 101 / 9%); }
body.imali-frontend .if-photo { margin: 0; overflow: hidden; border-radius: 26px; background: #fff; box-shadow: var(--if-shadow); border: 1px solid var(--if-line); }
body.imali-frontend .if-photo-image { display: block; width: 100%; height: auto; aspect-ratio: 5 / 4; object-fit: cover; }
/* Reset the parent theme's fixed-height dark gallery caption treatment. */
body.imali-frontend .if-photo figcaption,
body.imali-frontend .if-visual figcaption { position: static; height: auto; max-height: none; overflow: visible; background: transparent; margin: 0; width: auto; transform: none; }
body.imali-frontend .if-photo figcaption { padding: 23px 26px; font-size: 12px; color: var(--if-muted-ink); line-height: 1.6; }
body.imali-frontend .if-photo figcaption strong { display: block; color: var(--if-navy); font-size: 17px; margin-bottom: 7px; }
/* First-party conceptual illustrations. No chart values or simulated financial results. */
body.imali-frontend .if-visual {
  margin: 0;
  border-radius: 28px;
  border: 1px solid #fff;
  box-shadow: var(--if-shadow);
  background:
    linear-gradient(rgb(255 255 255 / 22%) 1px, transparent 1px),
    linear-gradient(90deg, rgb(255 255 255 / 22%) 1px, transparent 1px),
    linear-gradient(135deg, #dbeaf9 0%, #edf8f8 55%, #e0f7ec 100%);
  background-size: 32px 32px, 32px 32px, auto;
}
body.imali-frontend .if-visual-stage { position: relative; min-height: 370px; padding: 34px; display: flex; align-items: center; justify-content: center; }
body.imali-frontend .if-visual li::before { content: none !important; }
body.imali-frontend .if-visual figcaption { padding: 0 22px 18px; color: #4a6574; font-size: 10px; line-height: 1.6; text-align: center; }
body.imali-frontend .if-orbit { position: absolute; inset: 28px; border: 1px solid rgb(255 255 255 / 85%); border-radius: 50%; transform: rotate(-15deg); }
body.imali-frontend .if-node { position: absolute; padding: 17px; width: 38%; border-radius: 15px; background: #fff; box-shadow: 0 14px 25px rgb(30 47 80 / 9%); }
body.imali-frontend .if-node strong { display: block; color: var(--if-navy); font-size: 14px; line-height: 1.3; margin-bottom: 7px; }
body.imali-frontend .if-node > span:not(.if-iconbox):not(.if-node-dot) { display: block; font-size: 10px; line-height: 1.5; color: var(--if-muted-ink); }
body.imali-frontend .if-node .if-iconbox { width: 30px; height: 30px; border-radius: 9px; margin-bottom: 12px; }
body.imali-frontend .if-node .if-icon { width: 18px; height: 18px; }
body.imali-frontend .if-node--one { top: 28px; left: 6%; }
body.imali-frontend .if-node--two { bottom: 22px; left: 10%; }
body.imali-frontend .if-node--three { right: 5%; top: 48%; }
body.imali-frontend .if-node--hub { width: 34%; left: 35%; top: 27%; padding: 24px 17px; z-index: 1; background: var(--if-navy); }
body.imali-frontend .if-node--hub strong { color: #fff; font-size: 20px; }
body.imali-frontend .if-node--hub > span:not(.if-node-dot) { color: #dbe7f0 !important; }
body.imali-frontend .if-node-dot { display: block; width: 22px; height: 4px; border-radius: 2px; background: var(--if-brand); margin-bottom: 18px; }
body.imali-frontend .if-visual--ecosystem .if-visual-stage {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-areas: "people institutions" "hub hub" "merchants platforms";
  gap: 18px;
  min-height: 0;
}
body.imali-frontend .if-visual--ecosystem .if-node {
  position: relative;
  inset: auto;
  width: auto;
  height: 100%;
  min-width: 0;
  padding: 17px;
  transform: none;
}
body.imali-frontend .if-visual--ecosystem .if-node--one { grid-area: people; }
body.imali-frontend .if-visual--ecosystem .if-node--two { grid-area: merchants; }
body.imali-frontend .if-visual--ecosystem .if-node--three { grid-area: platforms; }
body.imali-frontend .if-visual--ecosystem .if-node--four { grid-area: institutions; }
body.imali-frontend .if-visual--ecosystem .if-node--hub { grid-area: hub; justify-self: center; min-width: 150px; text-align: center; }
body.imali-frontend .if-visual--ecosystem .if-node-dot { margin-inline: auto; }
body.imali-frontend .if-visual--ecosystem .if-node--three .if-iconbox { display: inline-flex; }
body.imali-frontend .if-visual--commerce .if-visual-stage { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; min-height: 0; }
body.imali-frontend .if-visual--commerce .if-node { position: relative; inset: auto; width: auto; min-width: 0; height: 100%; padding: 22px 17px; }
body.imali-frontend .if-visual--commerce .if-node--hub { display: flex; flex-direction: column; justify-content: center; }
body.imali-frontend .if-visual--activity .if-visual-stage { min-height: 445px; }
body.imali-frontend .if-device { width: 245px; border: 6px solid var(--if-navy); border-radius: 32px; padding: 17px; background: #fff; box-shadow: 0 20px 25px rgb(30 47 80 / 12%); }
body.imali-frontend .if-device-notch { width: 50px; height: 4px; border-radius: 5px; background: var(--if-navy); margin: 0 auto 20px; }
body.imali-frontend .if-device .if-micro { font-size: 8px; color: var(--if-muted-ink); letter-spacing: .07em; margin-bottom: 14px; }
body.imali-frontend .if-device-title { display: block; font: 700 22px/1.2 var(--if-heading-font); color: var(--if-navy); }
body.imali-frontend .if-device-summary { padding: 17px; border-radius: 12px; background: var(--if-mint); margin: 18px 0; }
body.imali-frontend .if-device-summary .if-iconbox { margin: 0 0 10px; width: 28px; height: 28px; background: #fff; }
body.imali-frontend .if-device-summary .if-icon { width: 18px; height: 18px; }
body.imali-frontend .if-device-summary strong { display: block; color: var(--if-accent); font-size: 12px; }
body.imali-frontend .if-device-summary > span:last-child { font-size: 9px; color: #4e6b63; display: block; }
body.imali-frontend .if-device-list { list-style: none; margin: 0; padding: 0; }
body.imali-frontend .if-device-list li { display: flex; justify-content: space-between; padding: 11px 0; border-bottom: 1px solid var(--if-line); font-size: 10px; color: var(--if-navy); }
body.imali-frontend .if-device-list li:last-child { border: 0; }
body.imali-frontend .if-float { position: absolute; background: #fff; padding: 12px 16px; border-radius: 12px; box-shadow: 0 12px 24px rgb(30 47 80 / 9%); z-index: 1; max-width: 75%; }
body.imali-frontend .if-float--top { right: 6%; top: 45px; display: flex; gap: 8px; align-items: center; color: var(--if-accent); font-size: 11px; font-weight: 700; }
body.imali-frontend .if-float--top .if-icon { width: 18px; height: 18px; }
body.imali-frontend .if-float--bottom { bottom: 35px; left: 4%; }
body.imali-frontend .if-float--bottom strong { display: block; font-size: 12px; color: var(--if-navy); }
body.imali-frontend .if-float--bottom span { display: block; font-size: 10px; color: var(--if-muted-ink); }
body.imali-frontend .if-proposal { width: 100%; max-width: 360px; padding: 26px; border-radius: 18px; background: #fff; box-shadow: 0 20px 30px rgb(30 47 80 / 12%); transform: rotate(-2deg); }
body.imali-frontend .if-visual-topline { display: flex; gap: 16px; align-items: center; justify-content: space-between; color: var(--if-accent); margin-bottom: 24px; font-size: 9px; font-weight: 700; letter-spacing: .08em; }
body.imali-frontend .if-visual-title { display: block; color: var(--if-navy); font: 700 25px/1.2 var(--if-heading-font); margin-bottom: 10px; }
body.imali-frontend .if-proposal p { font-size: 11px; }
body.imali-frontend .if-proposal-list { display: grid; gap: 9px; margin: 20px 0; padding: 0; list-style: none; }
body.imali-frontend .if-proposal-list li { display: flex; gap: 13px; align-items: center; background: var(--if-mist); border-radius: 8px; padding: 12px; }
body.imali-frontend .if-proposal-list li > span { display: grid; place-items: center; border-radius: 7px; width: 28px; height: 28px; font-size: 10px; background: var(--if-mint); color: var(--if-accent); }
body.imali-frontend .if-proposal-list strong { display: block; color: var(--if-navy); font-size: 12px; line-height: 1.4; }
body.imali-frontend .if-proposal-list small { display: block; color: var(--if-muted-ink); font-size: 10px; }
body.imali-frontend .if-proposal-bottom { border-top: 1px solid var(--if-line); padding-top: 16px; font-size: 10px; color: var(--if-accent); }
body.imali-frontend .if-architecture { width: 100%; border: 1px solid #456285; border-radius: 16px; overflow: hidden; background: var(--if-navy); color: #e5edf5; box-shadow: 0 20px 35px rgb(30 47 80 / 20%); font-family: ui-monospace, monospace; }
body.imali-frontend .if-terminal-top { display: flex; justify-content: space-between; align-items: center; gap: 12px; border-bottom: 1px solid #47607c; padding: 15px 20px; font-size: 10px; color: #bbcee2; }
body.imali-frontend .if-terminal-top > span:first-child { display: flex; gap: 5px; }
body.imali-frontend .if-terminal-top i { width: 6px; height: 6px; background: #8da7c1; border-radius: 50%; }
body.imali-frontend .if-architecture .if-code-comment { font-family: inherit; color: #afd9cd; font-size: 10px; padding: 20px 22px 0; line-height: 1.6; }
body.imali-frontend .if-architecture ol { padding: 0 22px; margin: 20px 0; list-style: none; }
body.imali-frontend .if-architecture li { padding: 11px 0; font-size: 11px; line-height: 1.5; }
body.imali-frontend .if-architecture li span { color: #96dbbd; margin-right: 12px; }
body.imali-frontend .if-code-status { display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; padding: 18px 22px; border-top: 1px solid #47607c; font-size: 10px; }
body.imali-frontend .if-code-status strong { color: #acf0d3; font-weight: 400; }
body.imali-frontend .if-conversation { width: 100%; padding: 10px 0; }
body.imali-frontend .if-message { padding: 27px; border-radius: 20px; max-width: 88%; box-shadow: 0 14px 25px rgb(30 47 80 / 10%); }
body.imali-frontend .if-message strong { display: block; font: 700 23px/1.2 var(--if-heading-font); margin-bottom: 12px; }
body.imali-frontend .if-message > span { display: block; font-size: 12px; line-height: 1.6; }
body.imali-frontend .if-message--question { background: var(--if-navy); color: #fff; border-bottom-left-radius: 3px; }
body.imali-frontend .if-message--question .if-icon { margin-bottom: 16px; color: #9be5d3; }
body.imali-frontend .if-message--question > span { color: #d7e3ed; }
body.imali-frontend .if-message--answer { background: #fff; color: var(--if-navy); margin: 20px 0 0 auto; border-bottom-right-radius: 3px; }
body.imali-frontend .if-conversation-topics { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 24px; }
body.imali-frontend .if-conversation-topics span { background: rgb(255 255 255 / 80%); padding: 6px 11px; border-radius: 999px; color: var(--if-accent); font-size: 10px; }
/* Preview form deliberately has no form element, action, field names or submit handler. */
body.imali-frontend .if-form { padding: 32px; background: #fff; border: 1px solid var(--if-line); border-radius: var(--if-radius); box-shadow: var(--if-shadow); scroll-margin-top: 30px; }
body.imali-frontend .if-form-heading { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; margin-bottom: 16px; }
body.imali-frontend .if-form-heading h3 { font-size: 25px; margin: 0; }
body.imali-frontend .if-form .if-form-notice { font-size: 13px; padding: 15px; background: #f3f7fb; border-left: 3px solid #4c719b; border-radius: 0 8px 8px 0; }
body.imali-frontend .if-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-block: 28px; }
body.imali-frontend .if-field { min-width: 0; }
body.imali-frontend .if-field label { display: block; font-size: 13px; font-weight: 700; line-height: 1.5; color: var(--if-navy); margin-bottom: 9px; }
body.imali-frontend .if-field label span { font-size: 11px; font-weight: 400; }
body.imali-frontend .if-field :is(input, select, textarea) {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 48px;
  height: auto;
  border: 1px solid #b6c7d4;
  border-radius: 9px;
  padding: 12px;
  margin: 0;
  background: #fff;
  color: var(--if-navy);
  box-shadow: none;
  font-family: var(--if-body-font);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
}
body.imali-frontend .if-field textarea { resize: vertical; min-height: 140px; }
body.imali-frontend .if-field ::placeholder { color: #5c6f7f; opacity: 1; font-size: 14px; }
body.imali-frontend .if-form .if-field-hint { margin-top: 10px; }
body.imali-frontend .if-consent { display: flex; gap: 12px; align-items: flex-start; margin: 24px 0; color: var(--if-muted-ink); font-size: 12px; font-weight: 400; line-height: 1.6; }
body.imali-frontend .if-consent input { flex: 0 0 18px; width: 18px; height: 18px; margin: 2px 0 0; }
body.imali-frontend .if-submit { width: 100%; cursor: pointer; }
body.imali-frontend .if-submit:disabled { cursor: wait; box-shadow: none; background: #e3e9ec; color: #4e606c; opacity: 1; }
body.imali-frontend .if-submit:disabled:hover { background: #e3e9ec; color: #4e606c; box-shadow: none; }
body.imali-frontend .if-form .if-form-status { font-size: 12px; margin-top: 18px; color: #4f6573; }
body.imali-frontend .if-contact-details { margin-top: 32px; padding-top: 28px; border-top: 1px solid #cbdbe4; }
body.imali-frontend .if-contact-details .if-status { margin-bottom: 20px; }
body.imali-frontend .if-contact-details address { font-style: normal; color: var(--if-muted-ink); margin-bottom: 16px; font-size: 16px; line-height: 1.7; }
body.imali-frontend .if-callout { margin-top: 26px; background: #e7f2ef; border-radius: 14px; padding: 24px; }
body.imali-frontend .if-callout h3 { font-size: 18px; }
body.imali-frontend .if-callout p { font-size: 14px; }
/* Draft-only chrome mirrors the site's logo-led header and deep-blue footer idiom. */
body.imali-frontend .if-preview-bar { background: var(--if-navy); color: #e1e9f1; font-size: 10px; line-height: 1.6; letter-spacing: .025em; padding-block: 9px; border-bottom: 2px solid var(--if-brand); }
body.imali-frontend .if-preview-bar .if-shell { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 16px; }
body.imali-frontend .if-preview-bar .if-shell > span:first-child { font-weight: 700; letter-spacing: .08em; }
body.imali-frontend .if-header { position: relative; z-index: 5; background: #fff; border-bottom: 1px solid #eef2f5; }
body.imali-frontend .if-header-inner { display: flex; gap: 24px; align-items: center; min-height: 92px; }
body.imali-frontend .if-brand { display: block; flex: 0 0 174px; }
body.imali-frontend .if-logo { display: block; width: 180px; height: auto; max-width: 100%; }
body.imali-frontend .if-brand-name { font-family: var(--if-heading-font); font-size: 22px; color: var(--if-navy); }
body.imali-frontend .if-navigation { display: flex; align-items: stretch; justify-content: center; gap: 23px; flex: 1; }
body.imali-frontend .if-navigation a { color: var(--if-ink); display: flex; align-items: center; min-height: 60px; font-size: 13px; font-weight: 700; line-height: 1.4; text-decoration: none; border-bottom: 2px solid transparent; padding-block: 10px; }
body.imali-frontend .if-navigation a[aria-current="page"] { color: var(--if-navy); border-bottom-color: var(--if-brand); }
body.imali-frontend .if-navigation a:hover { color: var(--if-accent); }
body.imali-frontend .if-header-cta { flex-shrink: 0; }
body.imali-frontend .if-header-cta .if-button { font-size: 12px; min-height: 44px; padding: 12px 18px; }
body.imali-frontend .if-menu-toggle { display: none; }
body.imali-frontend .if-skip { position: absolute; z-index: 99999; top: 8px; left: 12px; transform: translateY(-150%); background: #fff; color: #1e2f50; padding: 12px 18px; border-radius: 8px; }
body.imali-frontend .if-skip:focus { transform: none; }
body.imali-frontend .if-footer { background: #172640; color: #c5d4e3; padding: 64px 0 28px; font-size: 14px; line-height: 1.75; }
body.imali-frontend .if-footer-grid { display: grid; grid-template-columns: 1.2fr 1fr 1.25fr; gap: 70px; }
body.imali-frontend .if-footer h2 { color: #fff; font-size: 15px; line-height: 1.3; margin: 0 0 22px; letter-spacing: 0; }
body.imali-frontend .if-footer-brand { background: #fff; padding: 10px 13px; border-radius: 8px; display: inline-block; margin-bottom: 18px; }
body.imali-frontend .if-footer-brand .if-logo { width: 168px; }
body.imali-frontend .if-footer p { color: #c5d4e3; margin: 0 0 22px; font-size: 14px; line-height: 1.75; }
body.imali-frontend .if-footer nav { display: grid; grid-template-columns: 1fr 1fr; gap: 9px 22px; }
body.imali-frontend .if-footer nav a { color: #c5d4e3; text-decoration: none; font-size: 13px; min-height: 32px; }
body.imali-frontend .if-footer nav a:hover { color: #fff; text-decoration: underline; }
body.imali-frontend .if-footer .if-button { font-size: 13px; }
body.imali-frontend .if-footer-bottom { margin-top: 48px; border-top: 1px solid #344660; padding-top: 24px; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px 30px; font-size: 11px; color: #becddd; }
@media (prefers-reduced-motion: no-preference) {
  body.imali-frontend .if-hero h1 { animation: if-enter .65s both; }
  body.imali-frontend .if-hero :is(.if-visual, .if-photo) { animation: if-enter .8s .08s both; }
}
@keyframes if-enter { from { opacity: .4; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 1100px) {
  body.imali-frontend .if-section.vc_row { padding-block: 76px; }
  body.imali-frontend .if-section.if-hero { padding-block: 72px; }
  body.imali-frontend .if-grid--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.imali-frontend .if-card > .vc_column-inner { padding: 24px !important; }
  body.imali-frontend .if-grid { gap: 20px !important; }
  body.imali-frontend .if-header-inner { flex-wrap: wrap; padding-block: 17px; gap: 14px; min-height: 78px; }
  body.imali-frontend .if-header-cta { margin-left: auto; }
  body.imali-frontend .if-navigation { order: 4; flex: 0 0 100%; flex-wrap: wrap; justify-content: flex-start; gap: 8px 28px; }
  body.imali-frontend .if-navigation a { min-height: 44px; }
  body.imali-frontend.if-navigation-ready .if-navigation { display: none; }
  body.imali-frontend.if-navigation-ready .if-navigation.is-open { display: flex; }
  body.imali-frontend .if-menu-toggle:not([hidden]) { display: inline-flex; align-items: center; gap: 16px; padding: 10px 14px; border: 1px solid var(--if-line); border-radius: 10px; min-height: 44px; color: var(--if-navy); background: #fff; font: 700 13px/1.4 var(--if-body-font); margin-left: auto; cursor: pointer; }
  body.imali-frontend .if-menu-toggle[aria-expanded="true"] > span { transform: rotate(45deg); }
  body.imali-frontend .if-header-cta { margin-left: 10px; }
  body.imali-frontend .if-plans { grid-template-columns: 1fr; max-width: 700px; margin-inline: auto !important; }
  body.imali-frontend .if-plan .if-plan-audience { min-height: 0; }
  body.imali-frontend .if-plan .if-plan-top { margin-bottom: 22px; }
  body.imali-frontend .if-form { padding: 25px; }
  body.imali-frontend .if-form-grid { grid-template-columns: 1fr; gap: 18px; }
  body.imali-frontend .if-footer-grid { gap: 40px; }
  body.imali-frontend .if-visual-stage { padding: 24px; }
}
@media (max-width: 800px) {
  body.imali-frontend .if-section.if-split,
  body.imali-frontend .if-section.if-contact-layout,
  body.imali-frontend .if-section.if-cta { grid-template-columns: 1fr; gap: 40px; }
  body.imali-frontend .if-section.if-split > .wpb_column,
  body.imali-frontend .if-section.if-contact-layout > .wpb_column { max-width: 100%; }
  body.imali-frontend .if-hero .if-visual,
  body.imali-frontend .if-hero .if-photo { max-width: 580px; margin-inline: auto; }
  body.imali-frontend .if-section h1 { max-width: 650px; font-size: clamp(38px, 6.5vw, 54px); }
  body.imali-frontend .if-grid--three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.imali-frontend .if-plans { grid-template-columns: 1fr; }
  body.imali-frontend .if-panel-grid { grid-template-columns: 1fr; gap: 24px; }
  body.imali-frontend .if-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.imali-frontend .if-cta > .wpb_column:last-child { justify-self: start; }
  body.imali-frontend .if-footer-grid { grid-template-columns: 1fr 1fr; gap: 35px; }
  body.imali-frontend .if-footer-grid > div:first-child { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
  body.imali-frontend .if-shell { width: calc(100% - 40px); }
  body.imali-frontend .if-section.vc_row { padding: 60px 20px; }
  body.imali-frontend .if-section.if-hero { padding-block: 48px 60px; }
  body.imali-frontend .if-section h1 { font-size: clamp(34px, 9vw, 43px); line-height: 1.08; letter-spacing: -.035em; }
  body.imali-frontend .if-section h2 { font-size: 31px; line-height: 1.15; }
  body.imali-frontend .if-section h3 { font-size: 21px; }
  body.imali-frontend .if-section .if-eyebrow { font-size: 10px; margin-bottom: 16px; }
  body.imali-frontend .if-section .if-lead { font-size: 17px; line-height: 1.7; }
  body.imali-frontend .if-actions { align-items: stretch; flex-direction: column; margin-block: 25px 22px; }
  body.imali-frontend .if-actions .if-button { width: 100%; }
  body.imali-frontend .if-section-heading { margin-bottom: 30px; }
  body.imali-frontend :is(.if-grid--two, .if-grid--three, .if-grid--four) { grid-template-columns: 1fr; }
  body.imali-frontend .if-card > .vc_column-inner { padding: 26px !important; }
  body.imali-frontend .if-steps.vc_row { gap: 32px !important; }
  body.imali-frontend .if-card .if-status { margin-top: 5px; }
  body.imali-frontend .if-preview-bar { font-size: 9px; }
  body.imali-frontend .if-preview-bar .if-shell > span:last-child { font-size: 9px; letter-spacing: 0; }
  body.imali-frontend .if-brand { flex-basis: 162px; }
  body.imali-frontend .if-header-cta { display: none; }
  body.imali-frontend .if-navigation { gap: 0; flex-direction: column; align-items: stretch; }
  body.imali-frontend .if-navigation a { padding-inline: 4px; min-height: 46px; }
  body.imali-frontend .if-disclosures summary { padding: 20px 48px 20px 20px; font-size: 18px; gap: 12px; }
  body.imali-frontend .if-disclosures summary::after { right: 20px; }
  body.imali-frontend .if-disclosure-body { padding: 22px 20px; }
  body.imali-frontend .if-panel-grid h3 { font-size: 23px; }
  body.imali-frontend .if-mini-flow { padding: 22px; }
  body.imali-frontend .if-visual { border-radius: 22px; }
  body.imali-frontend .if-visual-stage { min-height: 340px; padding: 22px; }
  body.imali-frontend .if-node { padding: 14px; }
  body.imali-frontend .if-node--hub { top: 31%; left: 31%; width: 39%; padding: 20px 14px; }
  body.imali-frontend .if-node--hub strong { font-size: 17px; }
  body.imali-frontend .if-node--one { top: 24px; width: 42%; }
  body.imali-frontend .if-node--two { bottom: 20px; left: 6%; width: 42%; }
  body.imali-frontend .if-node--three { top: 58%; right: 4%; width: 41%; }
  body.imali-frontend .if-node strong { font-size: 13px; }
  body.imali-frontend .if-node > span:not(.if-iconbox):not(.if-node-dot) { font-size: 9px; }
  body.imali-frontend .if-node--three .if-iconbox { display: none; }
  body.imali-frontend .if-visual figcaption { font-size: 10px; padding-inline: 18px; }
  body.imali-frontend .if-visual--activity .if-visual-stage { min-height: 420px; }
  body.imali-frontend .if-device { width: 235px; }
  body.imali-frontend .if-float--top { top: 28px; right: 4%; font-size: 10px; }
  body.imali-frontend .if-float--bottom { left: 3%; bottom: 20px; }
  body.imali-frontend .if-proposal { padding: 22px; transform: rotate(-1deg); }
  body.imali-frontend .if-visual-title { font-size: 24px; }
  body.imali-frontend .if-message { padding: 23px; max-width: 94%; }
  body.imali-frontend .if-message strong { font-size: 22px; }
  body.imali-frontend .if-architecture li { font-size: 10px; }
  body.imali-frontend .if-terminal-top { padding: 14px; font-size: 9px; }
  body.imali-frontend .if-architecture ol { padding-inline: 17px; }
  body.imali-frontend .if-photo-image { aspect-ratio: 1 / 1; }
  body.imali-frontend .if-photo figcaption { padding: 20px; }
  body.imali-frontend .if-form { padding: 23px 19px; border-radius: 18px; }
  body.imali-frontend .if-form-grid { grid-template-columns: 1fr; }
  body.imali-frontend .if-footer { padding-top: 50px; }
  body.imali-frontend .if-footer-grid { grid-template-columns: 1fr; gap: 34px; }
  body.imali-frontend .if-footer h2 { margin-bottom: 14px; }
  body.imali-frontend .if-footer-bottom { margin-top: 34px; }
}
@media (prefers-reduced-motion: reduce) {
  body.imali-frontend .if-section *,
  body.imali-frontend .if-header * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Inner pages: compact, contextual titles beneath the native website shell. */
body.imali-frontend.imali-local-site { padding-top:170px; }
body.imali-frontend .if-section.if-inner-intro { padding-block:36px 48px; background:#f2f8f5; border-bottom:1px solid var(--if-line); }
body.imali-frontend .if-inner-intro h1 { max-width:900px; font-size:clamp(32px,3.4vw,48px); line-height:1.1; }
body.imali-frontend .if-inner-intro .if-lead { max-width:76ch; font-size:18px; }
body.imali-frontend .if-breadcrumb { display:flex; gap:12px; align-items:center; margin-bottom:25px; font-size:13px; }
body.imali-frontend .if-breadcrumb a { color:var(--if-accent); text-decoration:underline; text-underline-offset:3px; }
body.imali-frontend .if-jumpnav { display:flex; flex-wrap:wrap; gap:12px 26px; margin-top:26px; }
body.imali-frontend .if-jumpnav a { padding-block:8px; border-bottom:2px solid #81bca2; font-size:14px; color:var(--if-navy); }
body.imali-frontend .if-section.if-docs-intro { background:#f2f5f9; }
body.imali-frontend .if-docs-intro .if-callout { max-width:760px; margin-top:26px; }
body.imali-frontend .if-section.if-pricing-intro { text-align:center; }
body.imali-frontend .if-pricing-intro :is(h1,.if-lead) { margin-inline:auto; }
body.imali-frontend .if-pricing-intro .if-breadcrumb { justify-content:center; }
body.imali-frontend .if-editorial .if-photo { max-width:480px; margin-left:auto; }
body.imali-frontend .if-editorial .if-photo img { aspect-ratio:4/3; object-fit:cover; }
body.imali-frontend .if-section.if-policy { padding-block:56px; }
body.imali-frontend .if-policy .wpb_text_column { max-width:780px; margin-inline:auto; }
body.imali-frontend .if-policy h2 { margin-top:36px; font-size:27px; }
body.imali-frontend .if-policy ul { padding-left:22px; }
body.imali-frontend .if-policy li { margin-bottom:10px; }
body.imali-frontend .if-policy a { text-decoration:underline; text-underline-offset:3px; }
body.imali-frontend .if-downloads { display:flex; flex-wrap:wrap; gap:16px; margin-block:28px; }
body.imali-frontend .if-downloads img { height:50px; width:auto; }
body.imali-frontend .if-app-screens { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; max-width:930px; margin:auto; }
body.imali-frontend .if-app-screens figure { margin:0; }
body.imali-frontend .if-app-screens img { width:100%; height:auto; border:1px solid #d7e5de; border-radius:24px; box-shadow:var(--if-shadow); }
body.imali-frontend .if-app-screens figcaption { position:static!important; height:auto!important; background:none!important; color:var(--if-ink)!important; font-size:14px; margin-top:20px; text-align:center; }
body.imali-frontend .if-section { scroll-margin-top:185px!important; }
@media(max-width:1100px) { body.imali-frontend.imali-local-site { padding-top:122px; } }
@media(max-width:767px) {
  body.imali-frontend .if-section.if-inner-intro { padding-block:28px 36px; }
  body.imali-frontend .if-app-screens { grid-template-columns:1fr; max-width:280px; }
  body.imali-frontend .if-section { scroll-margin-top:145px!important; }
}
