/*
Theme Name: Sarolta Reference
Theme URI: https://sarolta.com
Description: Elementor-compatible reference theme for Sarolta’s AI-assisted software engineering site.
Author: Sarolta Technologies
Version: 1.0.0
Text Domain: sarolta-reference
*/

:root {
  --sr-ink: #092b59;
  --sr-blue: #0a4f99;
  --sr-blue-deep: #083f7d;
  --sr-aqua: #dff8f5;
  --sr-aqua-light: #f3fffc;
  --sr-panel: #edf7ff;
  --sr-teal: #008e9a;
  --sr-yellow: #ffe118;
  --sr-elementor-pink: #ff8fb3;
  --sr-violet: #6257f3;
  --sr-gradient-impact: linear-gradient(116deg, #087ba9 0%, #1768c5 59%, #6555e9 100%);
  --sr-white: #ffffff;
  --sr-line: #d7e4ef;
  --sr-shadow: 0 18px 44px rgba(11, 58, 105, .10);
  --sr-radius: 22px;
  --sr-width: min(1180px, calc(100vw - 48px));
  --sr-section-heading-size: clamp(29.6px, 2.8vw, 42.4px);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--sr-ink);
  background: #fbfdfd;
  font-family: "Figtree", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 16px !important;
  line-height: 1.55;
}
body.admin-bar .sr-header { top: 32px; }
img { max-width: 100%; height: auto; }
a { color: inherit; }
.site-main { overflow: clip; }

.sr-header {
  position: sticky; top: 0; z-index: 50;
  min-height: 78px;
  display: flex; align-items: center;
  background: linear-gradient(90deg, #edf9fb 0%, #f5fbff 52%, #fff 100%);
  border-bottom: 1px solid rgba(12, 65, 109, .10);
  box-shadow: 0 8px 28px rgba(10, 42, 89, .05);
}
.sr-header__inner {
  width: var(--sr-width); margin: auto;
  display: flex; align-items: center; gap: 40px; min-height: 78px;
}
.sr-logo { display: inline-flex; align-items: center; gap: 10px; line-height: 1; text-decoration: none; flex: 0 0 auto; }
.sr-logo__mark { width: 34px; height: 34px; object-fit: contain; transform: translateY(1px); filter: drop-shadow(0 2px 2px rgba(9,43,89,.12)); }
.sr-logo__word { width: 110px; height: 36px; object-fit: contain; object-position: left center; transform: translateY(-1px); filter: drop-shadow(0 2px 2px rgba(9,43,89,.10)); }
.sr-nav { margin-left: auto; }
.sr-nav ul { display: flex; align-items: center; gap: 34px; padding: 0; margin: 0; list-style: none; }
.sr-nav a {
  text-decoration: none; color: var(--sr-ink); font-size: .95rem; font-weight: 600;
  font-family: "Figtree", sans-serif !important;
}
.sr-nav .current-menu-item > a, .sr-nav a:hover { color: var(--sr-blue); }
.sr-nav .current-menu-item > a { border-bottom: 2px solid var(--sr-teal); padding-bottom: 6px; }
.sr-header__cta, .sr-button {
  display: inline-flex; align-items: center; justify-content: center; gap: .45em;
  min-height: 48px; border: 0; border-radius: 8px; padding: 0 22px;
  background: linear-gradient(135deg, #158bff 0%, #5f54f7 100%);
  box-shadow: 0 10px 22px rgba(63, 77, 214, .24);
  color: #fff !important; text-decoration: none !important; font-weight: 720; font-size: 14px;
}
.sr-button .elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 0;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: inherit !important;
  font: inherit !important;
  line-height: 1.1;
  box-shadow: none !important;
}
.sr-button .elementor-button-content-wrapper { align-items: center; }
.sr-header__cta { min-height: 44px; flex: 0 0 auto; margin-left: 0; padding-inline: 18px; }
.sr-button:hover, .sr-header__cta:hover { transform: translateY(-1px); filter: brightness(1.04); }
.sr-button--yellow { background: var(--sr-yellow); color: var(--sr-ink) !important; box-shadow: none; }
.sr-button--yellow .elementor-button { color: inherit; }
.sr-button--plain { background: transparent; box-shadow: none; color: #fff !important; padding-left: 0; }
.sr-button--plain .elementor-button { padding-left: 0 !important; }

.sr-footer {
  background: var(--sr-blue); color: #e7fbff;
  font-family: "Figtree", sans-serif !important;
}
.sr-footer__inner {
  width: var(--sr-width); min-height: 94px; margin: auto;
  display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px;
  font-size: 12px;
}
.sr-footer__logo { display: flex; align-items: center; gap: 7px; color: #fff; }
.sr-footer__logo .sr-logo__mark { width: 21px; height: 21px; filter: brightness(0) invert(1); transform: none; }
.sr-footer__logo .sr-logo__word { width: 80px; height: auto; filter: brightness(0) invert(1); transform: none; }
.sr-footer__links ul { display: flex; list-style: none; gap: 17px; padding: 0; margin: 0; }
.sr-footer .sr-footer__links a { color: #e7fbff !important; opacity: 1; text-decoration: none; }
.sr-footer .sr-footer__links a:hover,
.sr-footer .sr-footer__links a:focus-visible { color: var(--sr-yellow) !important; }
.sr-footer__meta { text-align: right; opacity: .84; }
.elementor .e-con.sr-footer__inner { width: var(--sr-width) !important; margin: auto; display: block !important; }
.elementor .e-con.sr-footer__inner > .e-con-inner { display: grid !important; grid-template-columns: 130px minmax(0, 1fr) 240px !important; align-items: center; gap: 24px; }
.elementor .e-con.sr-footer__logo { flex-direction: row; align-items: center; }
.elementor .e-con.sr-footer__logo > .e-con-inner { display: flex !important; flex-direction: row; align-items: center; gap: 2px; }
.elementor .e-con.sr-footer__logo .sr-footer__word { margin-left: 0; transform: translateY(-5px); }
.sr-footer__mark img { width: 25.2px; height: 25.2px; filter: brightness(0) invert(1); transform: none; }
.sr-footer__word img { width: 96px; height: auto; filter: brightness(0) invert(1); transform: none; }
.sr-footer .sr-footer__links .elementor-widget-container,
.sr-footer .sr-footer__links p { display: flex; flex-wrap: nowrap; justify-content: center; gap: 17px; margin: 0; white-space: nowrap; }
.sr-footer .sr-footer__meta,
.sr-footer .sr-footer__meta p { color: #e7fbff !important; }

.elementor .sr-section,
.sr-section { padding: clamp(72px, 8vw, 118px) 0; }
.sr-section--mint { background: #f3fbfa; }
.sr-section--aqua { background: var(--sr-aqua); }
.sr-section--blue { background: var(--sr-panel); }
.sr-section--white { background: #fff; }
.sr-wrap { width: var(--sr-width); margin: 0 auto; }
.sr-eyebrow {
  margin: 0 0 18px; color: var(--sr-teal);
  font: 650 12px/1.2 "SFMono-Regular", Consolas, monospace; letter-spacing: .14em; text-transform: uppercase;
}
.sr-eyebrow p { margin: 0; }
.sr-heading, .elementor .sr-heading {
  color: var(--sr-ink); margin: 0;
  font-family: "Figtree", sans-serif; font-weight: 500; letter-spacing: -.035em; line-height: 1.06;
}
.sr-heading--xl { font-size: clamp(42.4px, 4.4vw, 68px); }
.sr-heading--lg { font-size: clamp(36px, 3.7vw, 56px); }
.sr-heading--md { font-size: var(--sr-section-heading-size); }
.sr-copy { max-width: 680px; color: #365b7d; font-size: clamp(16px, 1.25vw, 17.92px); }
.sr-copy p { margin: 0 0 1em; }

.elementor,
.elementor p,
.elementor a,
.elementor button,
.elementor input,
.elementor textarea {
  font-family: "Figtree", sans-serif !important;
}
.elementor .sr-heading .elementor-heading-title {
  color: inherit !important;
  font-family: "Figtree", sans-serif !important;
  font-size: inherit !important;
  font-weight: 500 !important;
  line-height: 1.06 !important;
  letter-spacing: -.035em !important;
}
.elementor .sr-copy,
.elementor .sr-copy p {
  font-family: "Figtree", sans-serif !important;
  font-size: inherit !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  letter-spacing: normal !important;
}
.elementor .sr-eyebrow,
.elementor .sr-eyebrow p {
  font-family: "DM Mono", "SFMono-Regular", Consolas, monospace !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  letter-spacing: .07em !important;
}

.sr-hero {
  position: relative; min-height: 640px; display: grid; align-items: center;
  background: #0f5eaa center/cover no-repeat;
  isolation: isolate; color: #fff;
}
/*
 * Approved imagery is attached to stable theme components as well as stored
 * in Elementor's editable background controls. This keeps the front end
 * deterministic when Elementor's generated per-page CSS cache is unavailable.
 */
.sr-media--how-we-work-collaboration-v2 { background-image: url("assets/imagery/how-we-work-collaboration-v2.webp") !important; }
.sr-media--services-human-hero-v1 { background-image: url("assets/imagery/services-human-hero-v1.webp") !important; }
.sr-media--how-we-work-design-wall-v1 { background-image: url("assets/imagery/how-we-work-design-wall-v1.webp") !important; }
.sr-media--product-direction-call-v1 { background-image: url("assets/imagery/product-direction-call-v1.webp") !important; }
.sr-media--insights-garden-hero-v1 { background-image: url("assets/imagery/insights-garden-hero-v1.webp") !important; }
.sr-media--contact-build-sequence-v1 { background-image: url("assets/imagery/contact-build-sequence-v1.webp") !important; }
.sr-media--technical-home-v2 { background-image: url("assets/imagery/technical-home-v2.webp") !important; }
.sr-media--technical-services-v1 {
  background-image: url("assets/imagery/technical-services-v1.webp") !important;
  background-position: 73% center !important;
}
.sr-media--technical-insights-v1 { background-image: url("assets/imagery/technical-insights-v1.webp") !important; }
.sr-media--about-hero { background-image: url("assets/imagery/about-hero.png") !important; }
.sr-media--option-b-about-team-v1 { background-image: url("assets/imagery/option-b-about-team-v1.webp") !important; }
.sr-hero::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(90deg, rgba(3,51,107,.72) 0%, rgba(1,54,119,.48) 41%, rgba(4,58,111,.05) 78%);
}
.sr-hero__inner { width: var(--sr-width); margin: auto; padding: 65px 0; max-width: min(1180px, calc(100vw - 48px)); }
.sr-hero__copy { max-width: 630px; text-shadow: 0 3px 14px rgba(2, 33, 73, .76), 0 1px 3px rgba(2, 33, 73, .90); }
.sr-hero .sr-button,
.sr-hero .sr-button *,
.sr-hero__actions a { text-shadow: none !important; }
.home .sr-hero::before { display: none; }
.sr-hero .sr-eyebrow { color: #c5f7f5; }
.sr-hero .sr-heading,
.sr-hero .sr-heading .elementor-heading-title { color: #fff !important; }
.sr-hero .sr-heading em { font-style: normal; color: var(--sr-yellow) !important; }
.sr-hero .sr-copy { color: #f7fbff; max-width: 590px; text-shadow: inherit; }
.sr-hero__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; margin-top: 27px; }

.sr-grid { display: grid; gap: 18px; }
.sr-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sr-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sr-grid--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/*
 * Elementor container bridge.
 *
 * Elementor's generated `.e-con` rules set every container to a full-width
 * flex item.  These page components intentionally use a mixture of grid and
 * constrained flex layouts, so the component contract must win without
 * turning the page into a single HTML widget.
 */
.elementor .e-con.sr-hero {
  display: grid !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 640px !important;
  align-items: center !important;
}
.elementor .e-con.sr-section,
.elementor .e-con.sr-contact {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
}
.elementor .e-con.sr-contact {
  min-height: 580px !important;
  padding: clamp(56px, 8vw, 108px) 0 !important;
}
.elementor .e-con.sr-hero__inner,
.elementor .e-con.sr-wrap {
  width: var(--sr-width) !important;
  max-width: var(--sr-width) !important;
  margin-right: auto !important;
  margin-left: auto !important;
}
.elementor .e-con.sr-wrap {
  display: flex !important;
  flex-direction: column !important;
}
.elementor .e-con.sr-hero__inner {
  padding: 65px 0 !important;
}
.elementor .e-con.sr-hero__copy {
  width: min(630px, 100%) !important;
  max-width: 630px !important;
}
.elementor .e-con.sr-grid {
  display: grid !important;
  width: 100% !important;
  max-width: none !important;
  gap: 18px !important;
}
.elementor .e-con.sr-grid--two {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.elementor .e-con.sr-grid--three {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
.elementor .e-con.sr-grid--four {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}
.elementor .e-con.sr-card {
  width: auto !important;
  max-width: none !important;
  padding: clamp(30px, 4vw, 54px) !important;
  background: #fff !important;
  border: 1px solid var(--sr-line) !important;
  border-radius: var(--sr-radius) !important;
}
.elementor .e-con.sr-entry-card { min-height: 394px !important; }
.elementor .elementor-widget-button.sr-button {
  width: fit-content !important;
  max-width: 100% !important;
  align-self: flex-start !important;
}
.elementor .sr-card .elementor-widget-button.sr-button {
  margin-top: auto !important;
}
.elementor .e-con.sr-split {
  display: grid !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 530px !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
}
.elementor .e-con.sr-split__copy {
  padding: clamp(46px, 7vw, 100px) !important;
}
.elementor .e-con.sr-split__image {
  min-height: 530px !important;
}
.elementor .e-con.sr-row {
  display: grid !important;
  width: 100% !important;
  grid-template-columns: minmax(220px, .8fr) minmax(0, 1fr) !important;
  gap: 28px !important;
  padding: 24px 0 !important;
}
.elementor .e-con.sr-routes-section {
  padding: 0 !important;
}
.elementor .e-con.sr-routes-section .sr-split {
  min-height: 720px !important;
  grid-template-columns: minmax(300px, .85fr) minmax(520px, 1.15fr) !important;
}
.elementor .e-con.sr-routes-section .sr-split__copy {
  padding: clamp(60px, 8vw, 110px) !important;
}
.elementor .e-con.sr-routes-section .sr-split__image {
  min-height: 720px !important;
}
.elementor .e-con.sr-contact__inner {
  display: grid !important;
  width: var(--sr-width) !important;
  max-width: var(--sr-width) !important;
  margin-right: auto !important;
  margin-left: auto !important;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) !important;
  gap: 80px !important;
  align-items: center !important;
}
.sr-card {
  height: 100%; padding: clamp(30px, 4vw, 54px); background: #fff; border: 1px solid var(--sr-line);
  border-radius: var(--sr-radius); box-shadow: 0 15px 32px rgba(12, 63, 110, .05);
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.sr-card:hover { transform: translateY(-5px); box-shadow: var(--sr-shadow); }
.sr-card h3 { font-size: 27px; line-height: 1.08; letter-spacing: -.05em; font-weight: 660; margin: 0 0 15px; }
.sr-card p { color: #4c6c89; font-size: 16px; margin: 0 0 26px; }
.sr-card a { color: #0564d8; text-decoration: none; font-weight: 700; font-size: 15px; }
.sr-card .elementor-widget-button { margin-top: auto; }
.elementor .sr-card .sr-heading .elementor-heading-title {
  font-size: clamp(18.9px, 1.55vw, 23.2px) !important;
  font-weight: 600 !important;
  line-height: 1.06 !important;
}
.elementor .sr-card .sr-copy,
.elementor .sr-card .sr-copy p {
  color: var(--sr-ink) !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
}
.sr-entry-section .sr-heading--md { margin-bottom: 16px; }
.sr-entry-section .sr-grid { margin-top: 44px; }

/* Why Sarolta — shared theme treatment for the editable Elementor page. */
.sr-why-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: 500px; background: #e9f8f5; }
.elementor .e-con.sr-why-hero { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; min-height: 500px; }
.sr-why-hero__copy {
  /* Keep the hero copy comfortably inside the visual frame.  A previous
     two-value shorthand used an undefined custom property, so browsers
     discarded the left/top padding and the title sat against the edge. */
  box-sizing: border-box;
  padding: clamp(46px, 6vw, 88px) clamp(34px, 5vw, 76px) clamp(46px, 6vw, 88px) clamp(44px, 7vw, 112px) !important;
  margin: 0 !important;
  justify-content: center;
  background: linear-gradient(135deg, #e9f8f5, #effaff);
}

/* Reusable evidence proof: a runbook paired with the product decision it supports. */
.elementor .e-con.sr-evidence-proof__head,
.sr-evidence-proof__head {
  display: grid !important;
  width: 100% !important;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr) !important;
  align-items: start !important;
  gap: 28px !important;
  margin-bottom: 28px !important;
}
.elementor .e-con.sr-evidence-proof__grid,
.sr-evidence-proof__grid {
  display: grid !important;
  width: 100% !important;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr) !important;
  gap: 22px !important;
}
.elementor .e-con.sr-evidence-proof__runbook,
.elementor .e-con.sr-evidence-proof__isolation {
  width: auto !important;
  max-width: none !important;
  padding: 31px !important;
  border-radius: 16px !important;
}
.elementor .e-con.sr-evidence-proof__runbook {
  border: 1px solid var(--sr-line) !important;
  background: #fff !important;
  box-shadow: 0 15px 34px rgba(7, 57, 87, .05) !important;
}
.elementor .e-con.sr-evidence-proof__isolation {
  color: #fff !important;
  background: linear-gradient(145deg, #0b5d83, #185cac 62%, #6353df) !important;
}
.sr-evidence-proof__isolation .sr-eyebrow { color: #a3edef !important; }
.sr-evidence-proof__runbook-title .elementor-heading-title {
  margin: 6px 0 13px !important;
  color: var(--sr-ink) !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  letter-spacing: -.035em !important;
}
.elementor .e-con.sr-evidence-proof__tasks {
  display: grid !important;
  gap: 0 !important;
  margin-top: 20px !important;
  border-top: 1px solid var(--sr-line) !important;
}
.elementor .e-con.sr-evidence-proof__task {
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 12px 0 !important;
  border-bottom: 1px solid var(--sr-line) !important;
}
.sr-evidence-proof__check,
.sr-evidence-proof__check .elementor-widget-container {
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  margin: 0 !important;
  border-radius: 50%;
  background: #dcf5ed;
  color: #14714f !important;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
}
.sr-evidence-proof__check p,
.sr-evidence-proof__tag p { margin: 0 !important; }
.sr-evidence-proof__task-title .elementor-heading-title {
  margin: 0 !important;
  color: var(--sr-ink) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  letter-spacing: -.015em !important;
}
.sr-evidence-proof__task-copy,
.sr-evidence-proof__task-copy p {
  margin: 1px 0 0 !important;
  color: #385c78 !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}
.sr-evidence-proof__tag,
.sr-evidence-proof__tag .elementor-widget-container {
  display: block;
  width: auto !important;
  margin: 0 !important;
  padding: 0;
  justify-self: end;
}
.sr-evidence-proof__tag span {
  display: inline-flex;
  align-items: center;
  padding: 4px 7px;
  border-radius: 99px;
  background: #e6f8f5;
  color: #126a70;
  font: 700 10px/1 Figtree, Arial, sans-serif;
  line-height: 1;
  white-space: nowrap;
}
.sr-evidence-proof__isolation-title .elementor-heading-title {
  margin: 8px 0 14px !important;
  color: #fff !important;
  font-size: 28px !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  letter-spacing: -.035em !important;
}
.sr-evidence-proof__isolation-copy,
.sr-evidence-proof__isolation-copy p {
  margin: 0 !important;
  color: #dff5fb !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
}
.elementor .e-con.sr-evidence-proof__authority-cards {
  display: grid !important;
  gap: 9px !important;
  margin-top: 23px !important;
}
.elementor .e-con.sr-evidence-proof__authority-card {
  padding: 13px 14px !important;
  border: 1px solid rgba(255,255,255,.26) !important;
  border-radius: 8px !important;
  background: rgba(6,45,88,.25) !important;
}
.sr-evidence-proof__authority-title .elementor-heading-title {
  margin: 0 !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
}
.sr-evidence-proof__authority-copy,
.sr-evidence-proof__authority-copy p {
  margin: 3px 0 0 !important;
  color: #d9f1f8 !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}

/* Reusable agent evidence: a concise operating proposition beside the real control surface. */
.sr-evidence-agent,
.elementor .e-con.sr-evidence-agent {
  padding-block: 72px !important;
  background: #edf9f7 !important;
}
.elementor .e-con.sr-evidence-agent__grid,
.sr-evidence-agent__grid {
  display: grid !important;
  width: 100% !important;
  grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr) !important;
  align-items: center !important;
  gap: 42px !important;
}
.sr-evidence-agent__copy .sr-eyebrow { margin-bottom: 14px !important; }
.sr-evidence-agent__copy .sr-heading { margin: 0 0 14px !important; }
.sr-evidence-agent__copy .elementor-heading-title { margin: 0 !important; }
.sr-evidence-agent__copy .sr-copy,
.sr-evidence-agent__copy .sr-copy p {
  margin: 0 !important;
  color: #385c78 !important;
  font-size: 18px !important;
  line-height: 1.55 !important;
}
.elementor .e-con.sr-evidence-agent__image {
  padding: 0 !important;
  overflow: visible !important;
  border: 4px solid #fff !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: 0 24px 55px rgba(7, 61, 117, .19) !important;
}
.sr-evidence-agent__image .elementor-widget-container,
.sr-evidence-agent__image img {
  display: block !important;
  width: 100% !important;
}

/* Reusable evidence choices title treatment. */
.sr-evidence-choices__title .sr-eyebrow { margin-bottom: 14px !important; }
.sr-evidence-choices__heading .elementor-heading-title {
  max-width: 570px;
  margin: 0 !important;
  color: var(--sr-ink) !important;
  font-size: var(--sr-section-heading-size) !important;
  font-weight: 500 !important;
  line-height: 1.06 !important;
  letter-spacing: -.035em !important;
}
.elementor .e-con.sr-evidence-choices,
.sr-evidence-choices {
  display: grid !important;
  width: var(--sr-width) !important;
  max-width: var(--sr-width) !important;
  grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr) !important;
  gap: clamp(42px, 8vw, 120px) !important;
  margin: 0 auto !important;
  padding: clamp(62px, 7vw, 104px) 0 !important;
}
.sr-evidence-choices .elementor-widget-icon-list,
.sr-evidence-choices__list { width: 100% !important; }
.sr-evidence-choices .elementor-icon-list-items { margin: 0 !important; }
.sr-evidence-choices .elementor-icon-list-item {
  align-items: flex-start !important;
  padding: 14px 0 !important;
  border-top: 1px solid var(--sr-line) !important;
}
.sr-evidence-choices .elementor-icon-list-item:last-child { border-bottom: 1px solid var(--sr-line) !important; }
.sr-evidence-choices .elementor-icon-list-icon { margin-top: 4px !important; }
.sr-evidence-choices .elementor-icon-list-text { color: #385c78 !important; font-size: 15px !important; line-height: 1.5 !important; }
.sr-evidence-choices .elementor-icon-list-text strong { color: var(--sr-ink) !important; font-weight: 600 !important; }

/* Reusable evidence views: two focused records followed by a wide operational surface. */
.elementor .e-con.sr-evidence-views__head,
.sr-evidence-views__head {
  display: grid !important;
  width: 100% !important;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr) !important;
  align-items: end !important;
  gap: 28px !important;
  margin-bottom: 31px !important;
}
.elementor .e-con.sr-evidence-views__grid,
.sr-evidence-views__grid {
  display: grid !important;
  width: 100% !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 24px !important;
}
.elementor .e-con.sr-evidence-view {
  width: auto !important;
  max-width: none !important;
  padding: 12px !important;
  border: 1px solid var(--sr-line) !important;
  border-radius: 16px !important;
  background: #f8fcfb !important;
  box-shadow: 0 15px 34px rgba(7, 57, 87, .05) !important;
}
.sr-evidence-view img { display: block !important; width: 100% !important; border-radius: 9px !important; }
.sr-evidence-view .sr-heading { margin: 14px 5px 3px !important; }
.sr-evidence-view .sr-heading .elementor-heading-title { font-size: 17px !important; font-weight: 600 !important; }
.sr-evidence-view .sr-copy,
.sr-evidence-view .sr-copy p { margin: 0 5px 4px !important; color: #385c78 !important; font-size: 15px !important; }
.elementor .e-con.sr-evidence-view--wide { grid-column: 1 / -1 !important; }

/* Reusable evidence impact: the operating-model change expressed as connected facts. */
.sr-evidence-impact,
.elementor .e-con.sr-evidence-impact {
  padding-block: 61px !important;
  background: var(--sr-gradient-impact) !important;
}
.elementor .e-con.sr-evidence-impact__grid,
.sr-evidence-impact__grid {
  display: grid !important;
  width: 100% !important;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) !important;
  align-items: start !important;
  gap: 65px !important;
}
.sr-evidence-impact .sr-eyebrow { color: #a7edef !important; }
.sr-evidence-impact .sr-heading,
.sr-evidence-impact .sr-heading .elementor-heading-title { color: #fff !important; }
.sr-evidence-impact .sr-copy,
.sr-evidence-impact .sr-copy p { color: #d9f1f5 !important; }
.elementor .e-con.sr-evidence-impact__facts,
.sr-evidence-impact__facts {
  display: grid !important;
  width: 100% !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1px !important;
  margin-top: 25px !important;
  border: 1px solid rgba(255,255,255,.26) !important;
  background: rgba(255,255,255,.25) !important;
}
.elementor .e-con.sr-evidence-impact__fact {
  width: auto !important;
  max-width: none !important;
  min-height: 136px !important;
  padding: 19px 16px !important;
  background: rgba(6,43,99,.25) !important;
}
.sr-evidence-impact__fact .sr-heading,
.sr-evidence-impact__fact .sr-heading .elementor-heading-title {
  margin-bottom: 9px !important;
  color: var(--sr-yellow) !important;
  font-size: 28px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}
.sr-evidence-impact__fact .sr-copy,
.sr-evidence-impact__fact .sr-copy p { color: #effeff !important; font-size: 13px !important; line-height: 1.35 !important; }
.elementor .elementor-widget-heading h2.elementor-heading-title,
.elementor .sr-heading--lg h2.elementor-heading-title {
  font-size: var(--sr-section-heading-size) !important;
  font-weight: 500 !important;
  line-height: 1.06 !important;
  letter-spacing: -.035em !important;
}
.sr-why-hero__copy > .elementor-element { margin-left: 0 !important; transform: none !important; }
.sr-why-hero__copy .sr-button .elementor-button,
.sr-why-hero__copy .elementor-widget-button .elementor-button,
.sr-why-hero__copy a.elementor-button {
  border: 0 !important;
  background: linear-gradient(135deg, #1688f5, #6254f2) !important;
  color: #fff !important;
  box-shadow: 0 12px 22px rgba(37, 86, 214, .24) !important;
}
.elementor .e-con.sr-why-hero__copy { justify-content: center !important; }
.sr-why-hero__copy .sr-heading { max-width: 520px; margin: 0 0 22px; }
.sr-why-hero__copy .sr-heading em { color: #1767ba; font-style: normal; }
.sr-why-hero__copy .sr-copy { max-width: 545px; }
.sr-why-hero__visual, .elementor .e-con.sr-why-hero__visual { min-height: 500px; overflow: hidden; }
.sr-why-hero__visual .elementor-widget-container, .sr-why-hero__visual img { height: 100%; }
.sr-why-hero__visual img { width: 100%; object-fit: cover; object-position: center; }
.sr-why-hero__visual > .sr-why-hero__image,
.elementor .e-con.sr-why-hero__visual > .sr-why-hero__image { height: 100%; min-height: 100%; }
.sr-why-hero__visual > .sr-why-hero__image img,
.elementor .e-con.sr-why-hero__visual > .sr-why-hero__image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.sr-why-section { padding: clamp(70px, 8vw, 110px) 0; }
.elementor .e-con.sr-why-section { padding: clamp(70px, 8vw, 110px) 0 !important; }
.sr-why-section--mint { background: #f4fbfa; border-block: 1px solid #d8ece9; }
.sr-why-wrap { width: var(--sr-width); margin-inline: auto; }
.elementor .e-con.sr-why-wrap { width: var(--sr-width) !important; max-width: var(--sr-width) !important; margin-inline: auto !important; }
.sr-why-principle { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(38px, 7vw, 84px); align-items: start; }
.elementor .e-con.sr-why-principle { display: grid !important; grid-template-columns: .8fr 1.2fr !important; gap: clamp(38px, 7vw, 84px) !important; }
.sr-why-principle__copy .sr-copy, .sr-why-principle__copy .sr-copy p { font-size: 18px; line-height: 1.62; color: #365d78; }
.sr-why-capabilities__intro, .sr-why-proof__intro { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(36px, 6vw, 70px); align-items: end; margin-bottom: 34px; }
.elementor .e-con.sr-why-capabilities__intro, .elementor .e-con.sr-why-proof__intro { display: grid !important; grid-template-columns: .9fr 1.1fr !important; gap: clamp(36px, 6vw, 70px) !important; margin-bottom: 34px !important; }
.sr-why-capabilities__intro .sr-copy, .sr-why-proof__intro .sr-copy { max-width: 590px; }
.sr-why-capability-grid, .sr-why-proof-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.elementor .e-con.sr-why-capability-grid, .elementor .e-con.sr-why-proof-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 14px !important; }
.sr-why-capability, .sr-why-proof-card { min-height: 184px; padding: 25px; border: 1px solid #d4e7e6; border-radius: 14px; background: #fff; }
.elementor .e-con.sr-why-capability, .elementor .e-con.sr-why-proof-card { min-height: 184px !important; padding: 25px !important; border: 1px solid #d4e7e6 !important; border-radius: 14px !important; background: #fff; }
.sr-why-capability:nth-child(2), .sr-why-proof-card:nth-child(2) { background: #f2f7ff; }
.sr-why-capability:nth-child(3), .sr-why-capability:nth-child(6), .sr-why-proof-card:nth-child(3) { background: #f0faf8; }
.sr-why-capability .sr-eyebrow, .sr-why-proof-card .sr-eyebrow { margin-bottom: 13px; }
.sr-why-capability .elementor-heading-title, .sr-why-proof-card .elementor-heading-title { font-size: 19px !important; line-height: 1.15 !important; }
.sr-why-capability .sr-copy, .sr-why-capability .sr-copy p, .sr-why-proof-card .sr-copy, .sr-why-proof-card .sr-copy p { margin: 0; font-size: 14px; line-height: 1.5; color: #4d6b80; }
.sr-why-manifesto { background: linear-gradient(112deg, #087f93, #1768bc 67%, #6254e5); color: #fff; }
.sr-why-manifesto__inner { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(36px, 6vw, 70px); align-items: center; }
.elementor .e-con.sr-why-manifesto__inner { display: grid !important; grid-template-columns: 1.05fr .95fr !important; gap: clamp(36px, 6vw, 70px) !important; align-items: center !important; }
.sr-why-manifesto .sr-eyebrow { color: #a7edf1; }
.sr-why-manifesto .sr-heading, .sr-why-manifesto .sr-heading .elementor-heading-title { color: #fff !important; }
.sr-why-manifesto .sr-heading em { color: #ffe300; font-style: normal; }
.sr-why-manifesto .sr-copy, .sr-why-manifesto .sr-copy p { color: #e3f7ff !important; font-size: 18px; line-height: 1.58; }
.sr-why-ai-top { display: grid; grid-template-columns: .82fr 1.08fr .7fr; gap: 34px; align-items: center; margin-bottom: 36px; }
.elementor .e-con.sr-why-ai-top { display: grid !important; grid-template-columns: .82fr 1.08fr .7fr !important; gap: 34px !important; align-items: center !important; margin-bottom: 36px !important; }
.sr-why-ai-art .elementor-widget-container, .sr-why-ai-art img { height: 235px; }
.sr-why-ai-art img { width: 100%; object-fit: cover; object-position: right center; border-radius: 0 72px 0 72px; box-shadow: 0 18px 34px rgba(9,63,139,.16); }
.sr-why-tool-label { margin: 12px 0 8px; color: #008b90; font: 600 10px/1.2 "DM Mono", monospace; letter-spacing: .11em; text-transform: uppercase; }
.sr-why-tool-chips .elementor-widget-container { display: flex; flex-wrap: wrap; gap: 8px; }
.sr-why-tool-chips .elementor-widget-container a { display: inline-flex; padding: 7px 11px; border: 1px solid #d3e6e5; border-radius: 999px; background: #fff; color: #23485e; font-size: 13px; font-weight: 650; text-decoration: none; }
.sr-why-pipeline { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); border: 1px solid #cfe2e3; background: #fff; }
.elementor .e-con.sr-why-pipeline { display: grid !important; grid-template-columns: repeat(6, minmax(0, 1fr)) !important; }
.sr-why-step { position: relative; min-height: 184px; padding: 22px 18px; border-right: 1px solid #d9e9e9; }
.elementor .e-con.sr-why-step { min-height: 184px !important; padding: 22px 18px !important; border-right: 1px solid #d9e9e9 !important; }
.sr-why-step:last-child, .elementor .e-con.sr-why-step:last-child { border-right: 0 !important; }
.sr-why-step:not(:last-child)::after { content: "→"; position: absolute; right: -9px; top: 20px; z-index: 1; display: grid; width: 18px; height: 18px; place-items: center; background: #f5fbfa; color: #0a9698; font-weight: 700; }
.sr-why-step .sr-heading .elementor-heading-title { font-size: 18px !important; }
.sr-why-step .sr-copy, .sr-why-step .sr-copy p { margin: 0; color: #4d6b80; font-size: 14px; line-height: 1.45; }
.sr-why-delivery { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(34px, 6vw, 66px); padding: 36px 42px; border: 1px solid #c9e5e6; background: linear-gradient(112deg, #e0f5f2, #e9f3ff 56%, #f1eeff); }
.elementor .e-con.sr-why-delivery { display: grid !important; grid-template-columns: .9fr 1.1fr !important; gap: clamp(34px, 6vw, 66px) !important; padding: 36px 42px !important; border: 1px solid #c9e5e6 !important; background: linear-gradient(112deg, #e0f5f2, #e9f3ff 56%, #f1eeff) !important; }
.sr-why-delivery .sr-copy, .sr-why-delivery .sr-copy p { font-size: 17px; line-height: 1.55; }
@media (max-width: 800px) {
  .elementor .e-con.sr-evidence-impact__facts { grid-template-columns: 1fr !important; }
  .sr-why-hero, .elementor .e-con.sr-why-hero, .sr-why-principle, .elementor .e-con.sr-why-principle, .sr-why-capabilities__intro, .elementor .e-con.sr-why-capabilities__intro, .sr-why-proof__intro, .elementor .e-con.sr-why-proof__intro, .sr-why-manifesto__inner, .elementor .e-con.sr-why-manifesto__inner, .sr-why-ai-top, .elementor .e-con.sr-why-ai-top, .sr-why-delivery, .elementor .e-con.sr-why-delivery { grid-template-columns: 1fr !important; }
  .sr-why-hero__copy { padding: 54px 26px; }
  .sr-why-hero__visual, .elementor .e-con.sr-why-hero__visual { min-height: 300px; }
  .sr-why-capability-grid, .elementor .e-con.sr-why-capability-grid, .sr-why-proof-grid, .elementor .e-con.sr-why-proof-grid, .sr-why-pipeline, .elementor .e-con.sr-why-pipeline { grid-template-columns: 1fr !important; }
  .sr-why-step, .elementor .e-con.sr-why-step { min-height: auto !important; border-right: 0 !important; border-bottom: 1px solid #d9e9e9 !important; }
  .sr-why-step:not(:last-child)::after { content: "↓"; right: 18px; top: auto; bottom: -9px; }
  .sr-why-ai-art .elementor-widget-container, .sr-why-ai-art img { height: 210px; }
  .sr-why-ai-art img { border-radius: 0 55px 0 55px; }
  .sr-why-delivery, .elementor .e-con.sr-why-delivery { padding: 28px !important; }
}
.sr-entry-card {
  min-height: 394px;
  border-radius: 26px 8px 26px 8px !important;
}
.sr-entry-card .sr-copy,
.sr-entry-card .sr-copy p {
  max-width: 480px;
  min-height: 84px;
}
.sr-card__mark {
  width: 52px !important;
  height: 52px !important;
  margin: 0 0 46px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  color: #fff !important;
  background: var(--sr-blue) !important;
}
.sr-card__mark p {
  margin: 0 !important;
  color: inherit !important;
  font: 500 11.5px/1 "DM Mono", "SFMono-Regular", Consolas, monospace !important;
}
.sr-entry-card:nth-child(2) .sr-card__mark { background: var(--sr-violet) !important; }
.elementor .elementor-widget-button.sr-button--link {
  width: fit-content !important;
  min-height: auto !important;
  margin-top: 24px !important;
  padding: 0 !important;
  color: var(--sr-blue) !important;
  background: transparent !important;
  box-shadow: none !important;
}
.elementor .sr-button--link .elementor-button {
  color: inherit !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}
.elementor .sr-button:not(.sr-button--link) .elementor-button {
  font-family: "Figtree", sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}

.sr-working { display: grid; grid-template-columns: .9fr 1.1fr; gap: 58px 72px; align-items: center; }
.elementor .e-con.sr-working {
  display: grid !important;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) !important;
  gap: 58px 72px !important;
  align-items: center !important;
}
.sr-working__copy .sr-heading { margin-bottom: 24px; }
.elementor-widget-image.sr-working__image img {
  display: block;
  width: 100%;
  aspect-ratio: 1.25;
  object-fit: cover;
  border-radius: 8px 42% 8px 32%;
  box-shadow: var(--sr-shadow);
}
.sr-working__progress {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.elementor .e-con.sr-working__progress {
  display: grid !important;
  width: 100% !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
}
.sr-progress-card {
  padding: 28px;
  border-radius: 18px;
  background: #edf6ff;
}
.elementor .e-con.sr-progress-card { padding: 28px !important; background: #edf6ff !important; border-radius: 18px !important; }
.sr-progress-card .sr-heading,
.elementor .sr-progress-card .sr-heading .elementor-heading-title { font-size: 17.92px !important; font-weight: 600 !important; }
.sr-progress-card .sr-copy,
.sr-progress-card .sr-copy p { margin: 0; color: #526c88 !important; font-size: 16px !important; }
.sr-working__link { grid-column: 1 / -1; }

.sr-platforms { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; align-items: end; }
.elementor .e-con.sr-platforms {
  display: grid !important;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr) !important;
  gap: 80px !important;
  align-items: end !important;
}
.sr-platform-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--sr-line);
}
.elementor .e-con.sr-platform-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  width: 100% !important;
}
.sr-platform-item {
  padding: 20px 8px;
  border-bottom: 1px solid var(--sr-line);
}
.sr-platform-item p { margin: 0 !important; color: var(--sr-ink) !important; font-size: 16px !important; font-weight: 600 !important; }

/* Services: the reference layout is expressed entirely by stable theme classes.
   Elementor owns the content and widget hierarchy; the theme owns the visual system. */
.sr-services-hero {
  min-height: 640px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
  overflow: hidden;
  background: #edf9f7;
}
.elementor .e-con.sr-services-hero {
  min-height: 640px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: 0 !important;
  padding: 0 !important;
}
.sr-services-hero__copy {
  min-width: 0;
  padding: 72px max(48px, calc((100vw - 1180px) / 2));
  padding-right: 48px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: var(--sr-ink);
  background: #b9daf4;
}
.elementor .e-con.sr-services-hero__copy {
  padding: 72px max(48px, calc((100vw - 1180px) / 2)) !important;
  padding-right: 48px !important;
  justify-content: center !important;
  background: #b9daf4 !important;
}
.sr-services-hero__copy .sr-heading,
.sr-services-hero__copy .elementor-heading-title {
  max-width: 570px;
  margin: 0;
  color: var(--sr-ink) !important;
  font-size: clamp(52px, 5.4vw, 78px) !important;
  font-weight: 500 !important;
  line-height: .99 !important;
  letter-spacing: -.055em !important;
}
.sr-services-hero__copy .sr-heading em,
.sr-services-hero__copy .elementor-heading-title em {
  color: var(--sr-blue);
  font-style: normal;
}
.sr-services-hero__copy .sr-copy,
.sr-services-hero__copy .sr-copy p {
  max-width: 570px;
  margin-top: 28px;
  color: #315d72 !important;
  font-size: 18.4px !important;
  line-height: 1.62 !important;
}
.sr-services-hero + .sr-section .sr-heading--md,
.sr-services-hero ~ .sr-service-detail > .sr-wrap > .sr-heading--md {
  font-size: clamp(36px, 4.2vw, 64px) !important;
  line-height: 1.05 !important;
  letter-spacing: -.045em !important;
}
.sr-services-hero + .sr-section .sr-card { min-height: 310px; }
.elementor .sr-services-hero + .sr-section .e-con.sr-card { min-height: 310px !important; }
.sr-services-hero__image,
.sr-services-hero__image .elementor-widget-container {
  width: 100%;
  height: 100%;
  min-height: 640px;
  overflow: hidden;
  background-size: cover !important;
  background-position: 66% center !important;
  background-repeat: no-repeat !important;
}
.sr-services-hero__image img {
  display: block;
  width: 100%;
  height: 100% !important;
  min-height: 640px;
  object-fit: cover;
  object-position: 66% center;
}
.sr-service-detail > .sr-wrap > .sr-copy {
  max-width: 720px;
}
.sr-service-list {
  width: 100%;
  margin-top: 50px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--sr-line);
  border-left: 1px solid var(--sr-line);
}
.elementor .e-con.sr-service-list {
  width: 100% !important;
  margin-top: 50px !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
}
.sr-service-item {
  min-height: 220px;
  padding: 30px;
  border-right: 1px solid var(--sr-line);
  border-bottom: 1px solid var(--sr-line);
}
.elementor .e-con.sr-service-item { min-height: 220px !important; padding: 30px !important; }
.sr-service-item .sr-heading,
.sr-service-item .elementor-heading-title {
  margin: 0 0 13px;
  color: var(--sr-ink) !important;
  font-size: 19.52px !important;
  font-weight: 650 !important;
  line-height: 1.18 !important;
  letter-spacing: -.02em !important;
}
.sr-service-item .sr-copy,
.sr-service-item .sr-copy p {
  margin: 0;
  color: #44657b !important;
  font-size: 16px !important;
}
.sr-service-list--compact .sr-service-item { min-height: 190px; }
.elementor .e-con.sr-service-list--compact .e-con.sr-service-item { min-height: 190px !important; }
.sr-service-output {
  width: 100%;
  margin-top: 38px;
  padding: 26px 30px;
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  align-items: center;
  gap: 34px;
  color: #fff;
  background: linear-gradient(110deg, #0a5f80, #2371c2);
  border: 1px solid rgba(158, 219, 255, .42);
  border-radius: 6px;
  box-shadow: 0 14px 32px rgba(10, 79, 153, .14);
}
.elementor .e-con.sr-service-output {
  margin-top: 38px !important;
  padding: 26px 30px !important;
  display: grid !important;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr) !important;
  gap: 34px !important;
  background: linear-gradient(110deg, #0a5f80, #2371c2) !important;
}
.sr-service-output .sr-heading,
.sr-service-output .elementor-heading-title {
  color: #fff !important;
  font-size: 19.2px !important;
  font-weight: 700 !important;
}
.sr-service-output .sr-copy,
.sr-service-output .sr-copy p {
  margin: 0;
  color: #d9fffa !important;
}
.sr-destination-grid {
  width: 100%;
  margin-top: 48px;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  border: 1px solid var(--sr-line);
  background: #fff;
  box-shadow: var(--sr-shadow);
}
.elementor .e-con.sr-destination-grid {
  width: 100% !important;
  margin-top: 48px !important;
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  gap: 0 !important;
}
.sr-destination-item {
  grid-column: span 4;
  min-height: 285px;
  padding: 30px;
  border-right: 1px solid var(--sr-line);
  border-bottom: 1px solid var(--sr-line);
}
.sr-destination-item:nth-child(n + 4) { grid-column: span 3; }
.sr-destination-item:last-child { border-right: 0; }
.elementor .e-con.sr-destination-item { min-height: 285px !important; padding: 30px !important; }
/* Reusable three-up destination presentation for six/seven-item service ladders. */
.sr-destination-grid--three-up .sr-destination-item,
.elementor .e-con.sr-destination-grid--three-up .sr-destination-item {
  grid-column: span 4 !important;
}
.sr-destination-item .sr-heading,
.sr-destination-item .elementor-heading-title {
  margin: 0 0 18px;
  color: var(--sr-blue) !important;
  font-size: 23.2px !important;
}
.sr-destination-item .sr-copy p + p { margin-top: 12px; }
.sr-destination-item .sr-copy p:last-child,
.sr-row .sr-copy p:last-child { color: #4b6e86; }
.sr-platform-strip {
  width: 100%;
  margin-top: 22px;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  border-top: 1px solid var(--sr-line);
  border-bottom: 1px solid var(--sr-line);
}
.elementor .e-con.sr-platform-strip {
  width: 100% !important;
  margin-top: 22px !important;
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 0 !important;
}
.sr-platform-strip__item {
  padding: 18px;
  text-align: center;
  border-right: 1px solid var(--sr-line);
}
.sr-platform-strip__item:last-child { border-right: 0; }
.sr-platform-strip__item p {
  margin: 0 !important;
  color: var(--sr-ink) !important;
  font-weight: 600 !important;
}

/* How We Work */
.sr-work-hero {
  min-height: 640px;
  height: 640px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
  overflow: hidden;
  background: var(--sr-blue);
}
.elementor .e-con.sr-work-hero {
  min-height: 640px !important;
  height: 640px !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 0 !important;
  padding: 0 !important;
}
.sr-work-hero__copy {
  padding: 72px max(48px, calc((100vw - 1180px) / 2));
  padding-right: 48px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: #fff;
  background: var(--sr-blue);
}
.elementor .e-con.sr-work-hero__copy {
  padding: 72px max(48px, calc((100vw - 1180px) / 2)) !important;
  padding-right: 48px !important;
  justify-content: center !important;
  background: var(--sr-blue) !important;
}
.sr-work-hero__copy .sr-eyebrow,
.sr-work-hero__copy .sr-eyebrow p { color: #9af8ec !important; }
.sr-work-hero__copy .sr-heading,
.sr-work-hero__copy .elementor-heading-title {
  color: #fff !important;
  font-size: clamp(52px, 5.4vw, 78px) !important;
  font-weight: 500 !important;
  line-height: .99 !important;
  letter-spacing: -.055em !important;
}
.sr-work-hero__copy .sr-heading em,
.sr-work-hero__copy .elementor-heading-title em {
  color: var(--sr-yellow);
  font-style: normal;
}
.sr-work-hero__copy .sr-copy,
.sr-work-hero__copy .sr-copy p {
  max-width: 570px;
  margin-top: 28px;
  color: #e8fffb !important;
  font-size: 18.4px !important;
  line-height: 1.62 !important;
}
.sr-work-hero__image {
  width: 100%;
  min-height: 640px;
  height: 100%;
  background-size: cover !important;
  background-position: 60% center !important;
  background-repeat: no-repeat !important;
}
.sr-work-start {
  display: grid;
  grid-template-columns: .88fr 1.12fr;
  gap: clamp(54px, 9vw, 132px);
  align-items: start;
}
.elementor .e-con.sr-work-start {
  display: grid !important;
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr) !important;
  gap: clamp(54px, 9vw, 132px) !important;
  align-items: start !important;
}
.sr-work-start__heading .sr-heading,
.sr-work-start__heading .elementor-heading-title,
.sr-work-involved__copy .sr-heading,
.sr-work-involved__copy .elementor-heading-title,
.sr-work-route__heading .sr-heading,
.sr-work-route__heading .elementor-heading-title,
.sr-work-receive__heading .sr-heading,
.sr-work-receive__heading .elementor-heading-title {
  font-size: clamp(36px, 4.2vw, 64px) !important;
  line-height: 1.05 !important;
  letter-spacing: -.045em !important;
}
.sr-work-start__copy,
.sr-work-start__copy p {
  max-width: 620px;
  color: #3d607a !important;
  font-size: 17.28px !important;
  line-height: 1.55 !important;
}
.sr-work-involved {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 58px 72px;
  align-items: center;
}
.elementor .e-con.sr-work-involved {
  display: grid !important;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) !important;
  gap: 58px 72px !important;
  align-items: center !important;
}
.sr-work-involved__copy .sr-copy,
.sr-work-involved__copy .sr-copy p {
  margin-top: 22px;
  color: #315f73 !important;
  font-size: 17.28px !important;
}
.sr-work-involved__image {
  width: 100%;
  aspect-ratio: 1.25;
  min-height: 0;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  border-radius: 38% 6% 32% 8% / 12% 30% 10% 38%;
  box-shadow: var(--sr-shadow);
}
.sr-work-involved__points {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--sr-line);
  border-bottom: 1px solid var(--sr-line);
}
.elementor .e-con.sr-work-involved__points {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
}
.sr-work-point {
  min-height: 0;
  padding: 28px;
  border-right: 1px solid var(--sr-line);
}
.sr-work-point:last-child { border-right: 0; }
.elementor .e-con.sr-work-point { min-height: 0 !important; padding: 28px !important; }
.sr-work-point .sr-heading,
.sr-work-point .elementor-heading-title { font-size: 18.08px !important; }
.sr-work-point .sr-copy,
.sr-work-point .sr-copy p { margin: 0; color: #3f6178 !important; }
.sr-work-route__heading { max-width: 780px; margin-bottom: 50px; }
.sr-work-route__heading .sr-copy,
.sr-work-route__heading .sr-copy p { max-width: 700px; margin-top: 18px; color: #46677d !important; font-size: 17.28px !important; }
.sr-work-route__grid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border: 1px solid var(--sr-line);
  background: #fff;
  box-shadow: var(--sr-shadow);
}
.elementor .e-con.sr-work-route__grid {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 0 !important;
}
.sr-work-route__item {
  min-height: 390px;
  padding: 30px 25px;
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--sr-line);
}
.sr-work-route__item:last-child { border-right: 0; }
.elementor .e-con.sr-work-route__item {
  min-height: 390px !important;
  padding: 30px 25px !important;
  display: flex !important;
  flex-direction: column !important;
}
.sr-work-route__item .sr-eyebrow { color: var(--sr-teal); }
.sr-work-route__item > .sr-heading:not(.sr-work-route__label),
.sr-work-route__item > .sr-heading:not(.sr-work-route__label) .elementor-heading-title {
  margin: 25px 0 13px;
  font-size: 21.6px !important;
  line-height: 1.11 !important;
}
.sr-work-route__item > .sr-copy,
.sr-work-route__item > .sr-copy p { margin: 0; color: #44657b !important; font-size: 16px !important; }
.sr-work-route__label { margin-top: auto; padding-top: 22px; }
.sr-work-route__label,
.sr-work-route__label .elementor-heading-title {
  color: var(--sr-blue) !important;
  font-size: 13.44px !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase;
}
.sr-work-route__result,
.sr-work-route__result p { margin-top: 6px; color: #3d5d75 !important; font-size: 14.56px !important; line-height: 1.45 !important; }
.sr-work-receive__heading { max-width: 760px; }
.sr-work-receive__heading .sr-copy,
.sr-work-receive__heading .sr-copy p { margin-top: 18px; color: #46677d !important; font-size: 17.28px !important; }
.sr-work-receive__grid {
  width: 100%;
  margin: 48px 0 28px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.elementor .e-con.sr-work-receive__grid {
  width: 100% !important;
  margin: 48px 0 28px !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
}
.sr-work-receive__item {
  min-height: 220px;
  padding: 30px;
  background: #fff;
  border: 1px solid rgba(6,89,101,.16);
  border-radius: 24px 7px 24px 7px;
  box-shadow: 0 14px 36px rgba(6,63,82,.08);
}
.elementor .e-con.sr-work-receive__item { min-height: 220px !important; padding: 30px !important; }
.sr-work-receive__item .sr-heading,
.sr-work-receive__item .elementor-heading-title { font-size: 19.52px !important; }
.sr-work-receive__item .sr-copy,
.sr-work-receive__item .sr-copy p { margin: 0; color: #46677d !important; }

.sr-split { display: grid; grid-template-columns: 1fr 1fr; min-height: 530px; }
.sr-split__image { min-height: 530px; height: auto; background-position: center; background-size: cover; background-repeat: no-repeat; }
.sr-split__image .elementor-widget-container,
.sr-split__image img { display: block; width: 100%; height: 100%; }
.sr-split__image img { object-fit: cover; }
.sr-split > .sr-split__image {
  align-self: stretch !important;
  flex: 1 1 50%;
  height: 100% !important;
  min-height: 100%;
  overflow: hidden;
}
.sr-split > img.sr-split__image {
  align-self: stretch;
  flex: 1 1 50%;
  width: 50%;
  height: auto !important;
  min-height: 100%;
  object-fit: cover;
}
.sr-split__copy { padding: clamp(46px, 7vw, 100px); display: flex; justify-content: center; flex-direction: column; }
.sr-about-hero { padding: 0 !important; }
.sr-about-hero .sr-split { min-height: 640px; }
.sr-about-hero .sr-split__image { min-height: 640px; }
.elementor .e-con.sr-about-hero .e-con.sr-split,
.elementor .e-con.sr-about-hero .e-con.sr-split__image { min-height: 640px !important; }
.sr-about-hero .sr-split__copy { background: #edf9f7; }
.sr-split--blue .sr-split__copy { background: #b9daf4; }
.sr-split--aqua .sr-split__copy { background: var(--sr-aqua); }
.sr-split--teal .sr-split__copy { background: #caefeb; }

/* About history and people: native Elementor containers and widgets. */
.sr-about-history,
.elementor .e-con.sr-about-history {
  position: relative;
  overflow: hidden;
  background: #dff4f1 !important;
}
.sr-about-history::after {
  position: absolute;
  right: -8vw;
  bottom: -17vw;
  width: 45vw;
  height: 45vw;
  content: "";
  border: 1px solid rgba(14, 98, 199, .16);
  border-radius: 50%;
  box-shadow: 0 0 0 5vw rgba(255, 255, 255, .12), 0 0 0 10vw rgba(14, 98, 199, .04);
  pointer-events: none;
}
.sr-about-history__inner,
.elementor .e-con.sr-about-history__inner {
  position: relative;
  z-index: 1;
  display: grid !important;
  grid-template-columns: .78fr 1.22fr !important;
  gap: 38px clamp(54px, 9vw, 132px) !important;
}
.sr-about-history__heading .sr-heading,
.sr-about-history__heading .elementor-heading-title {
  max-width: 500px;
}
.sr-about-history__copy,
.elementor .e-con.sr-about-history__copy {
  max-width: 680px;
  color: #315d72;
  font-size: 17px;
}
.sr-about-history__copy .sr-copy p { margin: 0 0 22px; }
.sr-about-history__timeline,
.elementor .e-con.sr-about-history__timeline {
  position: relative;
  grid-column: 1 / -1;
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 18px !important;
  padding-top: 27px !important;
}
.sr-about-history__timeline::before {
  position: absolute;
  top: 11px;
  right: 6%;
  left: 6%;
  height: 1px;
  content: "";
  background: linear-gradient(90deg, #19aaa6, #1763cb);
}
.sr-about-history__timeline .elementor-widget-text-editor {
  position: relative;
  width: 100%;
  min-width: 0;
  color: #0b5f75;
  font-family: var(--sr-mono);
  font-size: 11px;
  letter-spacing: .055em;
  text-align: center;
  text-transform: uppercase;
}
.sr-about-history__timeline .elementor-widget-text-editor::before {
  position: absolute;
  top: -21px;
  left: 50%;
  width: 9px;
  height: 9px;
  content: "";
  border: 2px solid #dff4f1;
  border-radius: 50%;
  background: #128ca1;
  transform: translateX(-50%);
}
.sr-about-history__timeline p { margin: 0; }
.sr-about-team__intro,
.elementor .e-con.sr-about-team__intro {
  gap: 0 !important;
  margin-bottom: 52px !important;
}
.sr-about-team__intro-copy,
.elementor .e-con.sr-about-team__intro-copy {
  display: grid !important;
  grid-template-columns: minmax(0, .9fr) minmax(340px, 1.1fr) !important;
  gap: 26px 90px !important;
  align-items: end !important;
  margin-top: 18px !important;
}
.sr-about-team__intro-copy .sr-heading,
.sr-about-team__intro-copy .elementor-heading-title { max-width: 650px; }
.sr-about-team__intro-copy .sr-copy {
  max-width: 530px;
  margin-bottom: 8px;
  color: #41667d;
  font-size: 17px;
}
.sr-about-team__grid,
.elementor .e-con.sr-about-team__grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 24px !important;
}
.sr-person-card,
.elementor .e-con.sr-person-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--sr-line);
  border-radius: 0 0 28px 0;
  background: #f8fbfd;
  box-shadow: var(--sr-shadow);
}
.sr-person-card__portrait,
.elementor .e-con.sr-person-card__portrait {
  position: relative;
  width: min(64%, 320px) !important;
  min-height: 0 !important;
  margin: 30px auto 0 !important;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 18px;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 10px !important;
  color: #fff;
  background:
    radial-gradient(circle at 76% 22%, rgba(255, 230, 0, .9) 0 9%, transparent 9.5%),
    linear-gradient(140deg, #0d7c82, #1763cb 68%, #6552e8);
}
.sr-person-card__portrait::before,
.sr-person-card__portrait::after {
  position: absolute;
  content: "";
  border: 1px solid rgba(255, 255, 255, .34);
  pointer-events: none;
}
.sr-person-card__portrait::before {
  inset: 36px 11%;
  border-radius: 50% 50% 12px 12px;
}
.sr-person-card__portrait::after {
  top: 50px;
  right: 13%;
  bottom: 28px;
  left: 43%;
  border-radius: 100px 100px 8px 8px;
}
.sr-person-card__portrait--david {
  background:
    radial-gradient(circle at 24% 24%, rgba(255, 230, 0, .9) 0 9%, transparent 9.5%),
    linear-gradient(140deg, #1763cb, #10aaa3 66%, #74d4c9);
}
.sr-person-card__portrait .elementor-widget-heading,
.sr-person-card__portrait .sr-eyebrow { position: relative; z-index: 1; width: auto; }
.sr-person-card__portrait .elementor-heading-title {
  color: #fff !important;
  font-size: clamp(54px, 7vw, 96px) !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: -.08em !important;
}
.sr-person-card__portrait .sr-eyebrow,
.sr-person-card__portrait .sr-eyebrow p {
  margin: 0;
  color: #fff !important;
  text-align: center;
}
.sr-person-card__copy,
.elementor .e-con.sr-person-card__copy { padding: 36px 38px 42px !important; }
.sr-person-card__copy > .sr-heading .elementor-heading-title,
.sr-person-card__copy > .elementor-widget-heading.sr-heading .elementor-heading-title {
  margin: 0 !important;
  color: var(--sr-ink) !important;
  font-size: clamp(32px, 3.3vw, 48px) !important;
  line-height: 1 !important;
  letter-spacing: -.055em !important;
}
.sr-person-card__role .elementor-heading-title {
  margin: 12px 0 22px !important;
  color: var(--sr-blue) !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
}
.sr-person-card__copy .sr-copy { color: #41667d; }
.sr-person-card__copy .sr-copy p { margin: 0 0 18px; }

.sr-table { border-top: 1px solid rgba(9,43,89,.16); margin-top: 32px; }
.sr-routes-section .sr-table { margin-top: 46px; }
.elementor .e-con.sr-routes-section .sr-row {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 8px !important;
}
.sr-row { display: grid; grid-template-columns: minmax(165px, .7fr) 1.3fr; gap: 22px; padding: 22px 0; border-bottom: 1px solid rgba(9,43,89,.16); }
.sr-row p { margin: 0; color: #416687; font-size: 16px; }
.sr-row .sr-copy p + p { margin-top: 8px; }

/* Home destination guide: an editable Elementor table that keeps the illustration
   confined to the header, leaving the full width to the useful comparison. */
.elementor .e-con.sr-routes-section { padding: clamp(74px, 9vw, 118px) 0 !important; background: #dff8f5 !important; }
.elementor .e-con.sr-destination-guide { width: var(--sr-width) !important; max-width: var(--sr-width) !important; margin: 0 auto !important; }
.elementor .e-con.sr-destination-guide__header { display: grid !important; grid-template-columns: minmax(0, 1fr) 224px !important; gap: 42px !important; align-items: center !important; margin-bottom: 38px !important; }
.sr-destination-guide__copy .sr-heading .elementor-heading-title { max-width: 720px; margin: 0 !important; color: var(--sr-ink) !important; font-size: clamp(42px, 4.4vw, 64px) !important; line-height: 1 !important; letter-spacing: -.055em !important; }
.sr-destination-guide__copy .sr-copy, .sr-destination-guide__copy .sr-copy p { max-width: 740px; margin: 20px 0 0 !important; color: #4c6f83 !important; font-size: 17px !important; line-height: 1.55 !important; }
.elementor .e-con.sr-destination-guide__image { width: 224px !important; overflow: hidden !important; border-radius: 86px 86px 16px 16px !important; box-shadow: 0 16px 32px rgba(8,47,98,.12) !important; }
.sr-destination-guide__image img { display: block !important; width: 224px !important; height: 164px !important; max-width: none !important; object-fit: cover !important; object-position: 68% center !important; }
.elementor .e-con.sr-destination-guide__table { width: 100% !important; border-top: 1px solid #bcd7df !important; }
.elementor .e-con.sr-destination-guide__head, .elementor .e-con.sr-destination-guide__row { display: grid !important; grid-template-columns: minmax(0, .85fr) minmax(0, 1.45fr) !important; gap: 36px !important; width: 100% !important; border-bottom: 1px solid #c7dce3 !important; }
.elementor .e-con.sr-destination-guide__head { padding: 15px 0 !important; }
.sr-destination-guide__head .sr-copy, .sr-destination-guide__head .sr-copy p { margin: 0 !important; color: #00838b !important; font-size: 11px !important; line-height: 1.2 !important; letter-spacing: .09em !important; text-transform: uppercase !important; }
.elementor .e-con.sr-destination-guide__row { padding: 19px 0 !important; }
.sr-destination-guide__destination .sr-heading .elementor-heading-title { margin: 0 !important; color: var(--sr-ink) !important; font-size: 22px !important; font-weight: 600 !important; line-height: 1.08 !important; letter-spacing: -.04em !important; }
.sr-destination-guide__destination .sr-copy, .sr-destination-guide__destination .sr-copy p { margin: 7px 0 0 !important; color: var(--sr-ink) !important; font-size: 16px !important; line-height: 1.55 !important; }
.sr-destination-guide__list .elementor-icon-list-items { display: block !important; margin: 0 !important; }
.sr-destination-guide__list .elementor-icon-list-item { align-items: flex-start !important; padding: 0 !important; }
.sr-destination-guide__list .elementor-icon-list-item:not(:last-child) { margin-bottom: 5px !important; }
.sr-destination-guide__list .elementor-icon-list-icon { margin-top: .55em !important; }
.sr-destination-guide__list .elementor-icon-list-text { color: var(--sr-ink) !important; font-size: 15px !important; line-height: 1.45 !important; }

.sr-process { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; margin-top: 42px; position: relative; }
.sr-process::before { content:""; position:absolute; top: 20px; left: 6%; right: 6%; height: 2px; background: linear-gradient(90deg,#1596db,#40c9b7,#6558ee,#ffe118); }
.sr-step { position: relative; z-index: 1; padding: 0 14px; }
.sr-step__number { width: 42px; height: 42px; margin-bottom: 16px; border-radius: 50%; display:grid; place-items:center; color: #fff; background: var(--sr-blue); font-weight: 600; }
.sr-step:nth-child(2) .sr-step__number { background: var(--sr-teal); }
.sr-step:nth-child(3) .sr-step__number { background: #566dd8; }
.sr-step:nth-child(4) .sr-step__number { background: var(--sr-violet); }
.sr-step:nth-child(5) .sr-step__number { background: var(--sr-yellow); color: var(--sr-ink); }
.sr-step h3 { font-size: 19px; letter-spacing: -.04em; margin: 0 0 8px; }
.sr-step p { color: #476985; font-size: 14px; margin: 0; }

.sr-cta {
  width: var(--sr-width); margin: 0 auto; padding: 37px 48px;
  color: #fff; background: linear-gradient(112deg, #05728a 0%, #176cc3 55%, #6554e9 100%);
  display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 28px; border-radius: 0;
}
.sr-story-cta { padding-top: 0 !important; }
.elementor .e-con.sr-cta {
  width: var(--sr-width) !important;
  max-width: var(--sr-width) !important;
  margin: 0 auto !important;
  padding: 37px 48px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 28px !important;
  background: linear-gradient(112deg, #05728a 0%, #176cc3 55%, #6554e9 100%) !important;
}
.elementor .e-con.sr-cta__copy {
  display: flex !important;
  flex-direction: column !important;
}
.sr-cta .sr-eyebrow { color: #9ae3e6; margin-bottom: 12px; }
.sr-cta .sr-heading { color: #e8f3ff; font-size: clamp(32px, 3.6vw, 50px); }
.sr-cta .sr-copy { color: #d8ecff; max-width: 640px; font-size: 16px; margin-top: 12px; }

.sr-contact {
  min-height: 580px;
  background: #16a8b8 url("assets/imagery/cta-aqua-05-weave-v2.webp") center/cover no-repeat;
  position: relative; isolation: isolate; padding: 90px 0;
}
.sr-contact::before { content:""; position:absolute; inset:0; z-index:-1; background:rgba(2,77,105,.18); }
.sr-contact__inner { width: var(--sr-width); margin:auto; display:grid; grid-template-columns: .9fr 1.1fr; gap: 80px; align-items:center; }
.sr-contact .sr-heading { color: #083d75; }
.sr-contact .sr-copy { color: #08476e; }
.sr-contact-form { padding: 30px; background: rgba(255,255,255,.9); box-shadow: var(--sr-shadow); }
.sr-contact-form label { display:block; color:#173a64; font-size:13px; font-weight:600; margin: 0 0 6px; }
.sr-contact-form input, .sr-contact-form textarea { width:100%; border:1px solid #bdd3e2; background:#fff; padding:13px; font:inherit; border-radius:3px; margin-bottom:16px; }
.sr-contact-form textarea { min-height:135px; }
.sr-contact-form input[type="submit"] { width:auto; margin:0; background:linear-gradient(135deg,#158bff,#5f54f7); color:#fff; border:0; cursor:pointer; font-weight:600; box-shadow:0 10px 22px rgba(63,77,214,.22); }
.sr-contact .sr-contact__book { margin-top: 12px; align-self: flex-start; }
.sr-contact .sr-contact__book .elementor-button { color: #fff !important; }
.sr-contact-form-widget .wpcf7 { margin: 0; }
.sr-contact-form-widget .wpcf7 form { margin: 0; }
.sr-contact-form-widget .wpcf7-not-valid-tip { margin: -9px 0 12px; color: #b43645; font-size: 12px; }
.sr-contact-form-widget .wpcf7-response-output { margin: 18px 0 0 !important; padding: 11px 13px !important; border: 1px solid #0b7c89 !important; color: #083d75; background: rgba(226, 255, 251, .88); font-size: 13px; }
.sr-contact-form .sr-optional { color: #65829b; font-weight: 500; }
.sr-contact-form .sr-form-note { margin: 16px 0 0; color: #55718b; font-size: 12px; line-height: 1.5; }
.sr-cta__copy h2 { color:#fff !important; }

.sr-evidence-hero {
  min-height: 640px;
  height: auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: stretch;
  background: var(--sr-blue);
}
.elementor .e-con.sr-evidence-hero {
  width: 100% !important;
  max-width: none !important;
  min-height: 640px !important;
  height: auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  align-items: stretch !important;
}
.sr-evidence-hero__copy,
.elementor .e-con.sr-evidence-hero__copy {
  width: 100% !important;
  max-width: none !important;
  padding: clamp(64px, 8vw, 112px) clamp(42px, 5vw, 90px) clamp(64px, 8vw, 112px) max(42px, calc((100vw - var(--sr-width)) / 2)) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  color: #fff;
  background: var(--sr-blue);
}
.sr-evidence-hero__copy .sr-eyebrow { color: #a7e9e6; }
.sr-evidence-hero__copy .sr-heading,
.sr-evidence-hero__copy .sr-heading .elementor-heading-title { color: #fff !important; }
.sr-evidence-hero__copy .sr-heading em,
.sr-evidence-hero__copy .sr-heading em .elementor-heading-title { color: var(--sr-yellow) !important; font-family: inherit !important; font-style: normal; }
.sr-story__hero-copy h1,
.sr-story__hero-copy h1 .elementor-heading-title {
    font-family: inherit !important;
}

/* Homepage components: content is native Elementor; visual rules live here. */
.elementor .e-con.sr-home-value { padding: clamp(72px,9vw,132px) 0 !important; background: #f2fbf8 !important; }
.sr-home-value__inner { width: min(920px,calc(100% - 48px)) !important; margin: 0 auto !important; text-align: center !important; align-items: center !important; }
.sr-home-value__inner .sr-copy { max-width: 760px !important; }
.sr-home-value__inner .sr-copy p { margin: 18px 0 0 !important; font-size: 18px !important; line-height: 1.62 !important; }
.elementor .e-con.sr-home-choices { padding: clamp(68px,8vw,112px) 0 !important; background: #f8fcfb !important; }
.sr-home-choices__heading { max-width: 810px !important; margin: 0 auto 42px !important; text-align: center !important; align-items: center !important; }
.sr-home-choices__heading .sr-copy p { margin: 13px 0 0 !important; }
.sr-home-choices__grid { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 22px !important; }
.elementor .e-con.sr-decision-card { padding: 0 !important; overflow: hidden !important; border: 1px solid #d4e5e7 !important; border-radius: 16px !important; background: #fff !important; box-shadow: 0 16px 42px rgba(5,46,99,.07) !important; transition: transform .24s ease, box-shadow .24s ease !important; }
.sr-decision-card:hover { transform: translateY(-5px) !important; box-shadow: 0 23px 50px rgba(5,46,99,.13) !important; }
.elementor .e-con.sr-decision-card__copy { min-height: 300px !important; padding: 36px 42px 28px !important; }
.sr-decision-card__copy .sr-eyebrow { margin-bottom: 13px !important; }
.sr-decision-card__copy .sr-copy p { margin: 14px 0 22px !important; font-size: 16px !important; line-height: 1.55 !important; }
.sr-decision-card__media { display: block !important; width: 100% !important; margin: 0 !important; overflow: hidden !important; }
.sr-decision-card__media img { display: block !important; width: 100% !important; height: 330px !important; object-fit: cover !important; object-position: center bottom !important; transition: transform .35s ease !important; }
.sr-decision-card:hover .sr-decision-card__media img { transform: scale(1.035) !important; }

.elementor .e-con.sr-home-evidence { padding: clamp(72px,9vw,124px) 0 !important; }
.sr-home-evidence__head { max-width: 760px !important; margin: 0 0 38px !important; }
.sr-home-evidence__grid { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 20px !important; }
.elementor .e-con.sr-evidence-card { padding: 0 !important; overflow: hidden !important; border: 1px solid #d4e5e7 !important; border-radius: 14px !important; background: #fff !important; transition: transform .24s ease, box-shadow .24s ease !important; }
.sr-evidence-card:hover { transform: translateY(-5px) !important; box-shadow: 0 20px 42px rgba(5,46,99,.12) !important; }
.sr-evidence-card__media img { display: block !important; width: 100% !important; height: 205px !important; object-fit: cover !important; transition: transform .35s ease !important; }
.sr-evidence-card:hover .sr-evidence-card__media img { transform: scale(1.04) !important; }
.elementor .e-con.sr-evidence-card__copy { padding: 25px 24px 28px !important; }
.sr-evidence-card__copy .sr-eyebrow { margin-bottom: 12px !important; }
.sr-evidence-card__copy .elementor-heading-title { font-size: 25px !important; }
.sr-evidence-card__copy .sr-copy p { min-height: 76px !important; margin: 10px 0 17px !important; font-size: 15px !important; line-height: 1.5 !important; }

.elementor .e-con.sr-home-testimonials { padding: clamp(72px,9vw,124px) 0 !important; background: linear-gradient(125deg,#e2f8f2 0%,#eaf2ff 54%,#f4edff 100%) !important; }
.sr-home-testimonials__head { max-width: 760px !important; margin: 0 auto 40px !important; text-align: center !important; align-items: center !important; }
.sr-home-testimonials__grid { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 20px !important; }
.sr-home-testimonials .elementor-widget-testimonial { height: 100% !important; padding: 30px 27px !important; border: 1px solid rgba(18,65,105,.14) !important; border-radius: 14px !important; background: rgba(255,255,255,.82) !important; box-shadow: 0 12px 32px rgba(5,46,99,.06) !important; }
.sr-home-testimonials .elementor-testimonial-wrapper { height: 100% !important; }
.sr-home-testimonials .elementor-testimonial-content { color: #183d67 !important; font-size: 17px !important; font-style: normal !important; line-height: 1.55 !important; }
.sr-home-testimonials .elementor-testimonial-name { color: var(--sr-ink) !important; font-size: 15px !important; font-weight: 650 !important; }
.sr-home-testimonials .elementor-testimonial-job { color: #567493 !important; font-size: 12px !important; }

.elementor .e-con.sr-home-delivery { padding: clamp(72px,9vw,124px) 0 !important; }
.sr-home-delivery__head { max-width: 810px !important; margin: 0 0 37px !important; }
.sr-home-delivery__grid { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 16px !important; margin-bottom: 28px !important; }
.elementor .e-con.sr-delivery-step { min-height: 242px !important; padding: 28px 25px !important; border-top: 4px solid var(--sr-teal) !important; background: #f2fbf8 !important; }
.sr-delivery-step:nth-child(2) { border-top-color: #f07a22 !important; background: #fff8ee !important; }
.sr-delivery-step:nth-child(3) { border-top-color: var(--sr-violet) !important; background: #f7f5ff !important; }
.sr-delivery-step .sr-eyebrow { margin-bottom: 14px !important; }
.sr-delivery-step .elementor-heading-title { margin-bottom: 10px !important; font-size: 23px !important; }
.sr-delivery-step .sr-copy p { margin: 0 !important; font-size: 15px !important; line-height: 1.52 !important; }

@media (max-width: 1024px) {
  .sr-home-evidence__grid { grid-template-columns: 1fr 1fr !important; }
  .sr-home-evidence__grid > :last-child { grid-column: 1 / -1 !important; }
  .sr-home-testimonials__grid { grid-template-columns: 1fr !important; }
  .sr-home-delivery__grid { grid-template-columns: 1fr !important; }
}
@media (max-width: 767px) {
  .sr-home-value__inner { width: min(100% - 36px,920px) !important; }
  .sr-home-value__inner .sr-copy p { font-size: 16px !important; }
  .sr-home-choices__grid, .sr-home-evidence__grid { grid-template-columns: 1fr !important; }
  .sr-home-evidence__grid > :last-child { grid-column: auto !important; }
  .elementor .e-con.sr-decision-card__copy { min-height: auto !important; padding: 29px 24px 22px !important; }
  .sr-decision-card__media img { height: 260px !important; }
  .sr-evidence-card__media img { height: 220px !important; }
  .sr-evidence-card__copy .sr-copy p { min-height: 0 !important; }
}

/* A quiet, reusable centered-heading treatment for editorial sections. */
.elementor .e-con.sr-section-heading--center { width: 100% !important; max-width: none !important; align-items: center !important; text-align: center !important; }
.sr-section-heading--center .sr-heading { width: 100% !important; max-width: 980px !important; margin-inline: auto !important; }
.sr-section-heading--center .sr-copy { width: 100% !important; max-width: 760px !important; }
.sr-section-heading--center .sr-copy p { margin-inline: auto !important; }
.sr-section-heading--center .sr-eyebrow { margin-inline: auto !important; }

/* Gentle homepage atmosphere: soft color movement, no competing spectacle. */
.elementor .e-con.sr-home-value,
.elementor .e-con.sr-home-testimonials {
  background-image: radial-gradient(circle at 14% 22%,rgba(58,205,190,.18),transparent 34%), radial-gradient(circle at 86% 76%,rgba(99,80,239,.15),transparent 39%) !important;
  background-size: 135% 135% !important;
  background-position: 34% 38% !important;
}
.elementor .e-con.sr-home-routes { padding: clamp(68px,8vw,112px) 0 !important; background: linear-gradient(135deg,#eef8fb 0%,#f7fcfa 48%,#eef6ff 100%) !important; }
.sr-home-value,
.sr-home-choices,
.sr-home-routes,
.sr-home-evidence,
.sr-home-testimonials,
.sr-home-delivery { animation: sr-home-arrive .58s cubic-bezier(.22,.8,.3,1) both; }
.sr-home-choices { animation-delay: .04s; }
.sr-home-routes { animation-delay: .08s; }
.sr-home-evidence { animation-delay: .12s; }
.sr-home-testimonials { animation-delay: .16s; }
.sr-home-delivery { animation-delay: .2s; }
.sr-home-routes__head { max-width: 760px !important; margin: 0 auto 38px !important; }
.sr-home-routes .sr-destination-grid { margin-top: 0 !important; border: 1px solid #cce0e4 !important; border-radius: 14px !important; overflow: hidden !important; }
.sr-home-routes .sr-destination-item { background: rgba(255,255,255,.64) !important; transition: background-color .25s ease, transform .25s ease !important; }
.sr-home-routes .sr-destination-item:hover { background: #fff !important; transform: translateY(-3px) !important; }
.sr-home-routes .sr-destination-item .sr-button { transition: transform .22s ease, color .22s ease !important; }
.sr-home-routes .sr-destination-item:hover .sr-button { transform: translateX(4px) !important; }
@keyframes sr-home-arrive { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) {
  .sr-home-value, .sr-home-choices, .sr-home-routes, .sr-home-evidence, .sr-home-testimonials, .sr-home-delivery { animation: none !important; }
  .sr-decision-card, .sr-evidence-card, .sr-home-routes .sr-destination-item,
  .sr-decision-card__media img, .sr-evidence-card__media img,
  .sr-home-routes .sr-destination-item .sr-button { transition: none !important; }
}

/* Final shared case-study cascade: Elementor's global h3 rule should not
 * turn evidence act headings into oversized Raleway display text. */
.elementor .sr-case-study__hero-title h1.elementor-heading-title {
  font-family: Figtree, sans-serif !important;
  font-size: clamp(48px, 4.4vw, 64px) !important;
  font-weight: 500 !important;
}
.elementor .sr-case-study__act-title h3.elementor-heading-title {
  font-family: Figtree, sans-serif !important;
  font-size: clamp(30px, 3vw, 38px) !important;
  font-weight: 500 !important;
}
.elementor .sr-case-study__section-title h2.elementor-heading-title,
.elementor .sr-case-study__cta-title h2.elementor-heading-title {
  font-family: Figtree, sans-serif !important;
  font-weight: 500 !important;
}
@media (max-width: 767px) {
  .elementor .sr-case-study__hero-title h1.elementor-heading-title { font-size: clamp(42px, 12vw, 56px) !important; }
  .elementor .sr-case-study__act-title h3.elementor-heading-title { font-size: clamp(30px, 9vw, 38px) !important; }
}

/*
 * Shared evidence case-study presentation. These rules keep native Elementor
 * case-study containers aligned with the Sarolta evidence pattern: one split
 * hero, readable act cards, bounded media, and responsive stacking.
 */
.elementor .e-con.sr-case-study__hero {
  display: grid !important;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr) !important;
  width: 100% !important;
  min-height: 620px !important;
  gap: 0 !important;
  align-items: stretch !important;
  overflow: hidden !important;
  background: #e8f6f4 !important;
}
.elementor .e-con.sr-case-study__hero-copy-column {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-width: 0 !important;
  padding: clamp(58px, 8vw, 112px) clamp(24px, 7vw, 118px) !important;
  background: #e8f6f4 !important;
}
.elementor .e-con.sr-case-study__hero-image-column {
  display: flex !important;
  min-width: 0 !important;
  min-height: 620px !important;
  overflow: hidden !important;
  background: #172235 !important;
}
.sr-case-study__hero-title .elementor-heading-title {
  max-width: 650px !important;
  margin: 12px 0 24px !important;
  color: var(--sr-ink) !important;
  font-family: Figtree, sans-serif !important;
  font-size: clamp(48px, 5vw, 72px) !important;
  font-weight: 500 !important;
  line-height: .99 !important;
  letter-spacing: -.055em !important;
}
.sr-case-study__hero-copy p {
  max-width: 620px !important;
  margin: 0 !important;
  color: #365b7d !important;
  font-size: 19px !important;
  line-height: 1.5 !important;
}
.sr-case-study__hero-image,
.sr-case-study__hero-image .elementor-widget-container {
  display: flex !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 620px !important;
}
.sr-case-study__hero-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 620px !important;
  object-fit: cover !important;
  object-position: center center !important;
}
.elementor .e-con.sr-case-study__acts {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  width: min(var(--sr-width), calc(100% - 32px)) !important;
  max-width: var(--sr-width) !important;
  margin-inline: auto !important;
  padding: clamp(62px, 7vw, 96px) 0 !important;
  gap: clamp(24px, 4vw, 62px) !important;
  align-items: start !important;
}
.elementor .e-con.sr-case-study__act {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  gap: 0 !important;
}
.sr-case-study__act-title .elementor-heading-title {
  margin: 10px 0 14px !important;
  color: var(--sr-ink) !important;
  font-family: Figtree, sans-serif !important;
  font-size: clamp(30px, 3vw, 38px) !important;
  font-weight: 500 !important;
  line-height: 1.08 !important;
  letter-spacing: -.04em !important;
}
.sr-case-study__act .sr-copy p {
  margin: 0 !important;
  color: #365b7d !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
}
.elementor .e-con.sr-case-study__intro {
  width: min(var(--sr-width), calc(100% - 32px)) !important;
  max-width: var(--sr-width) !important;
  margin-inline: auto !important;
  padding: 0 0 28px !important;
}
.sr-case-study__section-title .elementor-heading-title {
  max-width: 880px !important;
  margin: 10px 0 12px !important;
  color: var(--sr-ink) !important;
  font-family: Figtree, sans-serif !important;
  font-size: clamp(32px, 3.2vw, 44px) !important;
  font-weight: 500 !important;
  line-height: 1.08 !important;
  letter-spacing: -.045em !important;
}
.sr-case-study__intro-copy p {
  max-width: 760px !important;
  margin: 0 !important;
  color: #365b7d !important;
  font-size: 17px !important;
  line-height: 1.5 !important;
}
.elementor .e-con.sr-case-study__shots {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  width: min(var(--sr-width), calc(100% - 32px)) !important;
  max-width: var(--sr-width) !important;
  margin-inline: auto !important;
  padding: 0 0 clamp(68px, 8vw, 112px) !important;
  gap: 24px !important;
  align-items: start !important;
}
.elementor .e-con.sr-case-study__shot {
  min-width: 0 !important;
  overflow: hidden !important;
  padding: 0 0 26px !important;
  border: 1px solid #d5e5e6 !important;
  border-radius: 15px !important;
  background: #fff !important;
}
.sr-case-study__shot-image,
.sr-case-study__shot-image .elementor-widget-container {
  display: block !important;
  width: 100% !important;
}
.sr-case-study__shot-image img {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  object-fit: cover !important;
  object-position: top center !important;
  border-bottom: 1px solid #d5e5e6 !important;
}
.sr-case-study__shot-title,
.sr-case-study__shot > .sr-copy {
  margin-inline: 20px !important;
}
.sr-case-study__shot-title .elementor-heading-title {
  margin: 19px 0 0 !important;
  color: var(--sr-ink) !important;
  font-family: Figtree, sans-serif !important;
  font-size: 24px !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  letter-spacing: -.03em !important;
}
.sr-case-study__shot > .sr-copy p {
  margin: 6px 0 0 !important;
  color: #365b7d !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
}
.elementor .e-con.sr-case-study__cta {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  width: min(var(--sr-width), calc(100% - 32px)) !important;
  max-width: var(--sr-width) !important;
  margin-inline: auto !important;
  padding: clamp(66px, 8vw, 104px) 0 !important;
  gap: 32px !important;
  align-items: end !important;
  border-top: 1px solid #d5e5e6 !important;
}
.sr-case-study__cta-title .elementor-heading-title {
  max-width: 850px !important;
  margin: 10px 0 12px !important;
  color: var(--sr-ink) !important;
  font-family: Figtree, sans-serif !important;
  font-size: clamp(32px, 3.2vw, 44px) !important;
  font-weight: 500 !important;
  line-height: 1.08 !important;
  letter-spacing: -.045em !important;
}
.sr-case-study__cta-copy p {
  max-width: 700px !important;
  margin: 0 !important;
  color: #365b7d !important;
  font-size: 17px !important;
  line-height: 1.5 !important;
}
@media (max-width: 1024px) {
  .elementor .e-con.sr-case-study__hero,
  .elementor .e-con.sr-case-study__acts,
  .elementor .e-con.sr-case-study__shots { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .elementor .e-con.sr-case-study__hero { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) !important; }
  .elementor .e-con.sr-case-study__hero-image-column,
  .sr-case-study__hero-image,
  .sr-case-study__hero-image .elementor-widget-container,
  .sr-case-study__hero-image img { min-height: 520px !important; }
  .sr-case-study__act-title .elementor-heading-title { font-size: clamp(28px, 4vw, 34px) !important; }
}
@media (max-width: 767px) {
  .elementor .e-con.sr-case-study__hero,
  .elementor .e-con.sr-case-study__acts,
  .elementor .e-con.sr-case-study__shots,
  .elementor .e-con.sr-case-study__cta { grid-template-columns: 1fr !important; }
  .elementor .e-con.sr-case-study__hero-copy-column { padding: 58px 20px 54px !important; }
  .elementor .e-con.sr-case-study__hero-image-column,
  .sr-case-study__hero-image,
  .sr-case-study__hero-image .elementor-widget-container,
  .sr-case-study__hero-image img { min-height: 340px !important; }
  .elementor .e-con.sr-case-study__acts,
  .elementor .e-con.sr-case-study__shots,
  .elementor .e-con.sr-case-study__cta { width: calc(100% - 40px) !important; padding-top: 56px !important; padding-bottom: 64px !important; }
  .elementor .e-con.sr-case-study__shots { gap: 20px !important; }
  .elementor .e-con.sr-case-study__cta { gap: 24px !important; align-items: start !important; }
  .sr-case-study__hero-title .elementor-heading-title { font-size: clamp(42px, 12vw, 56px) !important; }
  .sr-case-study__act-title .elementor-heading-title { font-size: clamp(30px, 9vw, 38px) !important; }
}
.sr-evidence-hero__copy .sr-copy,
.sr-evidence-hero__copy .sr-copy p { color: #f3f8ff !important; font-size: 18px !important; max-width: 560px; }
.sr-evidence-hero__copy .sr-button { margin-top: 18px; }
.sr-evidence-hero__image,
.elementor .e-con.sr-evidence-hero__image {
  min-height: 640px !important;
  height: auto !important;
  background-position: center center !important;
  background-size: cover !important;
}
.sr-evidence-hero__image img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 640px;
  object-fit: cover;
  object-position: center;
}
.elementor .e-con.sr-case-hero__media,
.sr-case-hero__media .elementor-widget-image,
.sr-case-hero__media .elementor-widget-image .elementor-widget-container {
  height: 100% !important;
}
.sr-case-hero__media .elementor-widget-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: top center !important;
}
.sr-evidence-intro-section,
.elementor .e-con.sr-evidence-intro-section {
  padding-bottom: 34px !important;
}
.sr-evidence-intro,
.elementor .e-con.sr-evidence-intro {
  display: grid !important;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr) !important;
  gap: clamp(50px, 10vw, 150px) !important;
  align-items: end !important;
}
.sr-evidence-intro--top,
.elementor .e-con.sr-evidence-intro--top {
  align-items: start !important;
}
.sr-evidence-intro__copy,
.sr-evidence-intro__copy p { max-width: 560px; margin: 0; }
.sr-evidence-intro__copy p + p { margin-top: 16px !important; }
.sr-evidence-intro__title .sr-eyebrow { margin-bottom: 14px !important; }
.sr-evidence-intro__title .elementor-heading-title { margin: 0 !important; }
.sr-evidence-intro__solution {
  max-width: 480px;
  margin: 22px 0 0 !important;
  padding: 13px 0 13px 17px;
  border-left: 4px solid var(--sr-yellow);
  color: var(--sr-ink) !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
}
.sr-evidence-intro__solution p { margin: 0 !important; }
.sr-evidence-intro__solution strong {
  display: block;
  margin-bottom: 3px;
  color: var(--sr-teal);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

/* Reusable evidence workflow: compact operating stages linked by directional arrows. */
.sr-evidence-flow-section,
.elementor .e-con.sr-evidence-flow-section {
  padding-top: 22px !important;
  padding-bottom: clamp(82px, 9vw, 132px) !important;
}
.sr-evidence-flow,
.elementor .e-con.sr-evidence-flow {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 20px minmax(0, 1fr) 20px minmax(0, 1fr) 20px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 12px !important;
}
.sr-evidence-flow__card,
.elementor .e-con.sr-evidence-flow__card {
  min-height: 142px;
  padding: 16px !important;
  border: 1px solid #cbe2df;
  border-radius: 12px;
  background: #f8fcfb;
}
.sr-evidence-flow__card .elementor-heading-title {
  margin: 0 0 7px !important;
  color: var(--sr-ink) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: -.025em !important;
}
.sr-evidence-flow__card .sr-copy,
.sr-evidence-flow__card .sr-copy p {
  margin: 0 !important;
  color: #496b84 !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
}
.sr-evidence-flow__arrow,
.sr-evidence-flow__arrow .elementor-widget-container {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  color: var(--sr-teal) !important;
  font-size: 20px;
  line-height: 1;
}
.sr-evidence-flow__arrow p { margin: 0 !important; }
.sr-gpu-engineering-brief .sr-evidence-flow {
  margin-top: clamp(34px, 4vw, 58px);
}

/* Shared Elementor section-heading rhythm: an eyebrow sits directly above its heading. */
.elementor .sr-section .elementor-widget-text-editor.sr-eyebrow,
.elementor .sr-section .sr-eyebrow {
  margin: 0 0 6px !important;
}
.elementor .sr-section .sr-heading,
.elementor .sr-section .sr-heading .elementor-heading-title {
  margin-top: 0 !important;
}
.sr-evidence-projects-section,
.elementor .e-con.sr-evidence-projects-section {
  padding-top: 0 !important;
}
.sr-archive { width: var(--sr-width); margin: 0 auto; padding: 20px 0 96px; }
.elementor .e-con.sr-archive {
  width: var(--sr-width) !important;
  max-width: var(--sr-width) !important;
  margin: 0 auto !important;
  padding: 20px 0 96px !important;
  display: flex !important;
  flex-direction: column !important;
}
.sr-project-filters,
.elementor .e-con.sr-project-filters {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin: 0 0 34px !important;
}
.elementor .elementor-widget-button.sr-filter {
  width: auto !important;
  display: flex !important;
  align-items: center !important;
}
.elementor .elementor-widget-button.sr-filter .elementor-button-wrapper {
  display: flex !important;
  align-items: center !important;
}
.sr-filter .elementor-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px;
  padding: 0 18px !important;
  border: 1px solid #c7dce2 !important;
  border-radius: 999px !important;
  color: #355b78 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 14px !important;
  line-height: 1 !important;
  text-align: center !important;
}
.sr-filter .elementor-button-content-wrapper {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
}
.sr-filter .elementor-button-text {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
}
.sr-filter--active .elementor-button {
  color: #fff !important;
  border-color: var(--sr-ink) !important;
  background: var(--sr-ink) !important;
}
.sr-project-filters .sr-filter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 18px;
  border: 1px solid #c7dce2;
  border-radius: 999px;
  color: #355b78;
  background: transparent;
  font-size: 14px;
  line-height: 1;
  text-decoration: none;
}
.sr-project-filters .sr-filter:hover,
.sr-project-filters .sr-filter:focus-visible { border-color: var(--sr-ink); color: var(--sr-ink); }
.sr-project-filters .sr-filter--active { color: #fff; border-color: var(--sr-ink); background: var(--sr-ink); }
.elementor .elementor-widget-shortcode.sr-work-grid {
  width: 100% !important;
  max-width: none !important;
}
.sr-archive__header { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:34px; }
.sr-work-card {
  overflow: hidden;
  padding: 0;
  border-radius: 0;
  display: flex;
  flex-direction: column;
  min-height: 650px;
}
.sr-work-card__image { aspect-ratio: 1.6 / 1; display:block; overflow:hidden; background:#0c53bb; }
.sr-work-card__image img { width:100%; height:100%; display:block; object-fit:cover; }
.sr-work-card__copy { padding: 26px; display: flex; flex: 1; flex-direction: column; }
.sr-work-card__copy h3 { margin: 4px 0 14px; color: var(--sr-ink); font-size: 25px; line-height: 1.08; letter-spacing: -.04em; }
.sr-work-card__copy h2 { margin: 4px 0 14px; color: var(--sr-ink); font-size: 25px; line-height: 1.08; letter-spacing: -.04em; }
.elementor .sr-work-card__copy h2,
.elementor .sr-work-card__copy h3 {
  color: var(--sr-ink) !important;
  font-family: "Figtree", sans-serif !important;
  font-size: 25px !important;
  font-weight: 500 !important;
  line-height: 1.08 !important;
  letter-spacing: -.04em !important;
}
.sr-work-card__copy h2 a,
.sr-work-card__copy h3 a {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  text-decoration: none;
}
.sr-work-card__copy h2 a:hover,
.sr-work-card__copy h3 a:hover {
  color: var(--sr-link);
}
/* Archive cards use the shared card scale, not the global page-heading scale. */
body .sr-work-card__copy h2,
body .sr-work-card__copy h3 {
  color: var(--sr-ink) !important;
  font-family: "Figtree", sans-serif !important;
  font-size: 25px !important;
  font-weight: 500 !important;
  line-height: 1.08 !important;
  letter-spacing: -.04em !important;
}
.sr-work-card__copy > p:not(.sr-eyebrow) { margin-bottom: 18px; }
.sr-work-card__tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  align-content: flex-start;
  gap: 7px;
  margin-top: 5px;
}
.sr-work-card__tags .sr-tag {
  flex: 0 0 auto;
  margin: 0;
}
.sr-work-card__tags a.sr-tag { text-decoration: none; }
.sr-work-card__tags a.sr-tag:hover,
.sr-work-card__tags a.sr-tag:focus-visible { background: #c9eeeb; color: #043f51; }
.sr-work-card__copy > p:last-child { margin-top: auto !important; margin-bottom: 0; }
.sr-work-card__link { margin-top:22px; }

/* Shared content utilities replacing legacy inline Elementor presentation. */
.sr-text-muted-on-dark { opacity:.6; }
.sr-copy-title { margin-bottom:6px !important; color:var(--sr-ink) !important; font-weight:600 !important; }
.sr-text-on-dark-70 { color:rgba(255,255,255,.7) !important; }
.sr-text-on-dark-80 { color:rgba(255,255,255,.8) !important; }
.sr-text-on-dark-90 { color:rgba(255,255,255,.9) !important; }
.sr-accent-text { color:var(--sr-blue) !important; }
.sr-evidence-hero__copy .sr-heading em .sr-text-elementor { color: var(--sr-elementor-pink) !important; }
.sr-status-line { margin-top:8px !important; color:var(--sr-blue) !important; }
@keyframes sr-pipeline-flow { from { stroke-dashoffset:20; } to { stroke-dashoffset:0; } }
.st-pipe-arrow { stroke-dasharray:6 4; animation:sr-pipeline-flow 1.4s linear infinite; }
.st-pipe-stage { filter:drop-shadow(1px 2px 3px rgba(0,20,60,.13)); transition:filter .2s; }
.st-pipe-stage:hover { filter:drop-shadow(2px 4px 8px rgba(0,20,60,.28)); }

/* Insights archive: editorial, WordPress-ready layout from the frozen reference. */
.sr-insights-hero,
.elementor .e-con.sr-insights-hero {
  min-height: 640px !important;
  display: grid !important;
  grid-template-columns: .92fr 1.08fr !important;
  padding: 0 !important;
  background: #edf9f7;
}
.sr-insights-hero__copy,
.elementor .e-con.sr-insights-hero__copy {
  width: 100%;
  max-width: 590px;
  align-self: center;
  justify-self: end;
  padding: 70px 70px 70px 24px !important;
  gap: 0 !important;
}
.sr-insights-hero__copy .sr-heading,
.sr-insights-hero__copy .elementor-heading-title {
  margin: 18px 0 0 !important;
  color: var(--sr-ink) !important;
  font-size: clamp(48px, 5.1vw, 68px) !important;
  font-weight: 500 !important;
  line-height: .99 !important;
  letter-spacing: -.06em !important;
}
.sr-insights-hero__copy .sr-heading em,
.sr-insights-hero__copy .elementor-heading-title em { color: var(--sr-blue) !important; font-style: normal; }
.sr-insights-hero__copy .sr-copy { margin-top: 26px; max-width: 520px; font-size: 18px; }
.sr-insights-hero__copy .sr-button { margin-top: 28px; }
.sr-insights-hero__image,
.elementor .e-con.sr-insights-hero__image {
  min-height: 640px !important;
  background-position: right center !important;
  background-size: cover !important;
}
.sr-insights-hero__image img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 640px;
  object-fit: cover;
  object-position: center;
}
.elementor .e-con.sr-insights-featured-section { padding: clamp(74px, 9vw, 118px) 0 !important; }
.sr-insights-featured,
.elementor .e-con.sr-insights-featured {
  width: var(--sr-width) !important;
  max-width: var(--sr-width) !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 1.45fr .55fr !important;
  gap: 32px !important;
}
.sr-featured-story,
.elementor .e-con.sr-featured-story {
  position: relative;
  min-height: 390px;
  overflow: hidden;
  display: block !important;
  background: var(--sr-blue) center/cover no-repeat;
}
.sr-featured-story::after {
  position: absolute;
  inset: 0;
  z-index: 0;
  content: "";
  background: linear-gradient(90deg, rgba(4,49,118,.88) 0%, rgba(4,49,118,.72) 42%, rgba(4,49,118,.12) 72%, rgba(4,49,118,.04) 100%);
  pointer-events: none;
}
.sr-featured-story__copy,
.elementor .e-con.sr-featured-story__copy {
  position: relative;
  z-index: 1;
  width: 50%;
  min-height: 390px;
  margin-right: auto;
  padding: 42px 34px 42px 46px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}
.sr-featured-story__copy .sr-eyebrow { color: #a8fff0; }
.sr-featured-story__copy .sr-heading,
.sr-featured-story__copy .elementor-heading-title {
  margin-top: 14px !important;
  color: #fff !important;
  font-size: clamp(34px, 3.35vw, 54px) !important;
  line-height: 1.03 !important;
  letter-spacing: -.052em !important;
}
.sr-featured-story__copy .sr-copy { margin-top: 21px; color: #d7f5f3; }
.elementor .sr-button--yellow-text .elementor-button { color: var(--sr-yellow) !important; }
.sr-insights-briefs,
.elementor .e-con.sr-insights-briefs { display: flex !important; flex-direction: column !important; align-content: start; gap: 0 !important; }
.sr-insights-briefs > .sr-eyebrow { margin: 4px 0 14px; }
.sr-insights-brief,
.elementor .e-con.sr-insights-brief { padding: 25px 0 28px !important; border-top: 1px solid var(--sr-line); }
.sr-insights-brief:last-child { border-bottom: 1px solid var(--sr-line); }
.sr-insights-brief .sr-heading,
.sr-insights-brief .elementor-heading-title {
  margin: 12px 0 0 !important;
  color: var(--sr-ink) !important;
  font-size: 23px !important;
  line-height: 1.12 !important;
  letter-spacing: -.03em !important;
}
.sr-insights-library-section,
.elementor .e-con.sr-insights-library-section { padding-bottom: 0 !important; }
.sr-insights-library__header,
.elementor .e-con.sr-insights-library__header {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  align-items: end !important;
  gap: 30px !important;
  margin-bottom: 42px !important;
}
.sr-insights-library__header .sr-project-filters { margin: 0 !important; justify-content: flex-end; }
.elementor .elementor-widget-shortcode.sr-insight-grid { width: 100% !important; max-width: none !important; }
.sr-insight-grid .sr-grid { gap: 24px; }
.sr-insight-grid .sr-work-card { min-height: 620px; border-radius: 0; }

/* Contact follows the same calm split-hero system as Insights and About. */
.sr-contact-hero,
.elementor .e-con.sr-contact-hero {
  min-height: 640px !important;
  display: grid !important;
  grid-template-columns: .92fr 1.08fr !important;
  padding: 0 !important;
  background: #edf9f7;
}
.sr-contact-hero__copy,
.elementor .e-con.sr-contact-hero__copy {
  width: 100%;
  max-width: 590px;
  align-self: center;
  justify-self: end;
  padding: 70px 70px 70px 24px !important;
  gap: 0 !important;
}
.sr-contact-hero__copy .sr-heading,
.sr-contact-hero__copy .elementor-heading-title {
  margin: 18px 0 0 !important;
  color: var(--sr-ink) !important;
  font-size: clamp(48px, 5.1vw, 68px) !important;
  font-weight: 500 !important;
  line-height: .99 !important;
  letter-spacing: -.06em !important;
}
.sr-contact-hero__copy .sr-heading em,
.sr-contact-hero__copy .elementor-heading-title em { color: var(--sr-blue) !important; font-style: normal; }
.sr-contact-hero__copy .sr-copy { margin-top: 26px; max-width: 500px; font-size: 18px; }
.sr-contact-hero__copy .sr-button { margin-top: 28px; }
.sr-contact-hero__image,
.elementor .e-con.sr-contact-hero__image {
  min-height: 640px !important;
  background-position: right center !important;
  background-size: cover !important;
}
.sr-contact-intro,
.elementor .e-con.sr-contact-intro {
  width: var(--sr-width) !important;
  max-width: var(--sr-width) !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: .88fr 1.12fr !important;
  gap: clamp(54px, 9vw, 132px) !important;
  align-items: end !important;
}
.sr-contact-intro__copy { max-width: 630px; font-size: 18px; }
.sr-contact-main-section,
.elementor .e-con.sr-contact-main-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background-color: #55cfc0 !important;
}
.sr-contact-main-section::before,
.elementor .e-con.sr-contact-main-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-color: #55cfc0;
  background-image: url("assets/imagery/cta-aqua-06-signal-v2.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.sr-contact-main-section > *,
.elementor .e-con.sr-contact-main-section > * {
  position: relative;
  z-index: 1;
}
.sr-contact-main,
.elementor .e-con.sr-contact-main {
  width: var(--sr-width) !important;
  max-width: var(--sr-width) !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: .82fr 1.18fr !important;
  gap: 76px !important;
  align-items: start !important;
}
.sr-contact-details .sr-copy { font-size: 17px; }
.sr-contact-details .sr-copy a { color: var(--sr-blue); text-decoration: none; }
.sr-contact-details .sr-copy h3 { margin: 38px 0 10px; padding-top: 24px; border-top: 1px solid var(--sr-line); font-size: 20px; }
.sr-contact-details .sr-copy ul { padding-left: 20px; }
.sr-contact-details .sr-copy li + li { margin-top: 10px; }
.sr-contact-form-panel,
.elementor .e-con.sr-contact-form-panel {
  padding: 38px !important;
  gap: 0 !important;
  background: rgba(255, 255, 255, .84);
  border: 1px solid rgba(255, 255, 255, .74);
  box-shadow: 0 22px 58px rgba(20, 35, 60, .2);
  backdrop-filter: blur(12px);
}
.sr-contact-form-panel > .sr-copy { margin: 10px 0 22px; }
.sr-contact-form-panel .sr-form,
.sr-contact-form-panel .sr-contact-form {
  padding: 0;
  border: 0;
  box-shadow: none;
  background: transparent;
}
.sr-contact-form-panel .sr-contact-form label {
  margin: 0;
  color: var(--sr-ink);
  font-size: 14px;
  font-weight: 650;
}
.sr-contact-form-panel .sr-contact-form input:not([type="submit"]),
.sr-contact-form-panel .sr-contact-form textarea {
  display: block;
  width: 100%;
  margin: 7px 0 17px;
  padding: 13px 14px;
  border: 1px solid rgba(9, 65, 98, .24) !important;
  border-radius: 4px;
  background: #fff !important;
  color: var(--sr-ink);
  box-shadow: none;
}
.sr-contact-form-panel .sr-contact-form textarea { min-height: 135px; resize: vertical; }
.sr-contact-form-panel .sr-contact-form input[type="submit"] {
  margin-top: 0;
  border-radius: 7px;
}
.sr-form-optional { color: #53758a; font-weight: 400; }
.sr-form-note { margin: 13px 0 0; color: #59778a; font-size: 13px; }

/* Shared CF7 contact form — retain the approved mockup's readable controls.
   Elementor's base form rules otherwise remove the visible field borders. */
.wpcf7 .sr-contact-form label {
  display: grid;
  gap: 7px;
  margin: 0 0 17px;
  color: var(--sr-ink);
  font-size: 14px;
  font-weight: 650;
}
.wpcf7 .sr-contact-form .wpcf7-form-control-wrap { display: block; }
.wpcf7 .sr-contact-form input:not([type="submit"]),
.wpcf7 .sr-contact-form textarea {
  display: block;
  width: 100%;
  margin: 0;
  padding: 13px 14px;
  border: 1px solid rgba(9, 65, 98, .24) !important;
  border-radius: 4px !important;
  background: #fff !important;
  color: var(--sr-ink);
  box-shadow: none;
}
.wpcf7 .sr-contact-form textarea { min-height: 135px; resize: vertical; }
.wpcf7 .sr-contact-form input[type="submit"] {
  margin: 0;
  border-radius: 7px;
}
.wpcf7 .sr-contact-form .sr-optional,
.wpcf7 .sr-contact-form .sr-form-optional { color: #53758a; font-weight: 400; }

/* Exact shared-form treatment from the approved contact-page mockup. */
.wpcf7 .sr-contact-form--mockup {
  display: grid;
  gap: 17px;
  padding: 38px;
    background: rgba(218, 247, 243, .80);
    border: 1px solid rgba(224, 255, 251, .72);
  border-radius: 18px;
  box-shadow: 0 18px 42px rgba(6, 47, 72, .28);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  overflow: hidden;
}
.wpcf7 .sr-contact-form--mockup .contact-kicker {
  margin: 0 0 -2px;
  color: var(--sr-teal);
  font-size: .82rem;
  font-weight: 600;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.wpcf7 .sr-contact-form--mockup h2 {
  margin: 0;
  font-size: clamp(2rem, 3.25vw, 3.15rem);
  font-weight: 500;
  line-height: 1.02;
  letter-spacing: -.055em;
}
.wpcf7 .sr-contact-form--mockup .sr-contact-form__intro {
  margin: -4px 0 8px;
  color: #45677d;
}
.wpcf7 .sr-contact-form--mockup label { margin: 0; }
.wpcf7 .sr-contact-form--mockup textarea { min-height: 0 !important; }
.wpcf7 .sr-contact-form--mockup input:not([type="submit"]),
.wpcf7 .sr-contact-form--mockup textarea {
  background: rgba(255, 255, 255, .50) !important;
}
.wpcf7 .sr-contact-form--mockup .wpcf7-form-control-wrap {
  position: relative;
  display: block;
}
.wpcf7 .sr-contact-form--mockup input.wpcf7-not-valid,
.wpcf7 .sr-contact-form--mockup textarea.wpcf7-not-valid {
  border-color: #c6283b !important;
  box-shadow: 0 0 0 2px rgba(198, 40, 59, .16) !important;
}
.wpcf7 .sr-contact-form--mockup .wpcf7-not-valid-tip {
  position: absolute;
  z-index: 2;
  top: auto;
  bottom: calc(100% + 4px);
  right: 4px;
  left: auto;
  margin: 0;
  padding: 3px 6px;
  border-radius: 4px;
  background: rgba(255, 247, 248, .96);
  color: #a81f31;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
  box-shadow: 0 2px 8px rgba(104, 20, 31, .14);
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
  display: none !important;
}
.wpcf7 .sr-contact-form--mockup input[type="submit"] { justify-self: start; }
.wpcf7 .sr-contact-form--mockup .sr-form-note { margin: 0; }
.wpcf7 .sr-contact-form--mockup .sr-required { color: var(--sr-teal); font-weight: 600; }
.wpcf7 .sr-contact-form--mockup .sr-field-label { display: block; }
/* The PHP shortcode wrapper predates the CF7 card; remove its duplicate panel. */
.sr-contact-form:has(> .wpcf7) {
  padding: 0;
  background: transparent;
  box-shadow: none;
}
.wpcf7 .sr-contact-form--mockup .sr-contact-form__details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 17px;
}
.wpcf7 .sr-contact-form--mockup .sr-contact-form__details label { margin: 0; }
/* CF7 can retain paragraph wrappers around form-tag runs. Flatten only those
   wrappers so the mockup's label grid and content-height card are preserved. */
.wpcf7 .sr-contact-form--mockup { grid-auto-rows: min-content; align-content: start; }
.wpcf7 .sr-contact-form--mockup .sr-contact-form__details > p,
.wpcf7 .sr-contact-form--mockup > p:not(.contact-kicker):not(.sr-contact-form__intro):not(.sr-form-note) { display: contents; }
.wpcf7 .sr-contact-form--mockup .sr-contact-form__details br { display: none; }
@media (min-width: 921px) {
  .elementor .e-con.sr-contact__inner {
    grid-template-columns: minmax(0, .7fr) minmax(620px, 1.3fr) !important;
    gap: 64px !important;
  }
  .wpcf7 .sr-contact-form--mockup { gap: 14px; padding: 30px; }
  .wpcf7 .sr-contact-form--mockup h2 { font-size: clamp(28px, 2.4vw, 38px); }
  .wpcf7 .sr-contact-form--mockup .sr-contact-form__details { gap: 12px; }
  .wpcf7 .sr-contact-form--mockup label { gap: 5px; font-size: 13px; }
  .wpcf7 .sr-contact-form--mockup input:not([type="submit"]),
  .wpcf7 .sr-contact-form--mockup textarea { padding: 11px 12px; }
}
@media (max-width: 680px) {
  .wpcf7 .sr-contact-form--mockup { padding: 26px 20px; }
  .wpcf7 .sr-contact-form--mockup .sr-contact-form__details { grid-template-columns: 1fr; }
}

/* A quieter type scale for every Elementor page. Keep emphasis through size,
   spacing, and colour rather than extra-bold display weights. */
.elementor h1.elementor-heading-title,
.elementor h2.elementor-heading-title { font-weight: 500 !important; }
.elementor h3.elementor-heading-title,
.elementor h4.elementor-heading-title,
.elementor h5.elementor-heading-title,
.elementor h6.elementor-heading-title { font-weight: 600 !important; }
.elementor .elementor-button,
.wpcf7 .sr-contact-form label { font-weight: 600 !important; }

@media (max-width: 920px) {
  .sr-insights-hero,
  .elementor .e-con.sr-insights-hero {
    min-height: 770px !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: 57% 43% !important;
  }
  .sr-insights-hero__copy,
  .elementor .e-con.sr-insights-hero__copy {
    max-width: 680px;
    justify-self: center;
    padding: 64px 24px 48px !important;
  }
  .sr-insights-hero__image,
  .elementor .e-con.sr-insights-hero__image { min-height: 0 !important; height: 100% !important; }
  .sr-insights-hero__image img { min-height: 0; height: 100%; }
  .sr-contact-hero,
  .elementor .e-con.sr-contact-hero {
    min-height: 770px !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: 57% 43% !important;
  }
  .sr-contact-hero__copy,
  .elementor .e-con.sr-contact-hero__copy { max-width: 680px; justify-self: center; padding: 64px 24px 48px !important; }
  .sr-contact-hero__image,
  .elementor .e-con.sr-contact-hero__image { min-height: 0 !important; height: 100% !important; }
  .sr-contact-intro,
  .elementor .e-con.sr-contact-intro,
  .sr-contact-main,
  .elementor .e-con.sr-contact-main { grid-template-columns: 1fr !important; gap: 44px !important; }
  .sr-contact-main-section::before,
  .elementor .e-con.sr-contact-main-section::before { background-position: 68% center; }
  .sr-insights-featured,
  .elementor .e-con.sr-insights-featured { grid-template-columns: 1fr !important; }
  .sr-insights-library__header,
  .elementor .e-con.sr-insights-library__header { grid-template-columns: 1fr !important; }
  .sr-insights-library__header .sr-project-filters { justify-content: flex-start; }
}
@media (max-width: 680px) {
  .sr-featured-story__copy,
  .elementor .e-con.sr-featured-story__copy {
    width: 100%;
    padding: 32px 25px !important;
    background: linear-gradient(90deg, rgba(4,49,118,.88), rgba(4,49,118,.56));
  }
  .sr-insights-hero__copy .sr-heading,
  .sr-insights-hero__copy .elementor-heading-title,
  .sr-contact-hero__copy .sr-heading,
  .sr-contact-hero__copy .elementor-heading-title { font-size: clamp(42px, 12vw, 64px) !important; }
}
.sr-reveal { opacity: 0; transform: translateY(18px); transition: opacity .52s ease, transform .52s ease; }
.sr-reveal.is-visible { opacity: 1; transform: translateY(0); }
.sr-tag { display:inline-block; padding:6px 9px; background:#e1f6f5; color:#065d70; font-size:12px; font-weight:680; line-height:1.2; border-radius:3px; margin: 3px 3px 0 0; }

.sr-article { width:min(780px, calc(100vw - 48px)); margin:0 auto; padding: 88px 0; }
.sr-article h1 { color:var(--sr-ink); font-size:clamp(44px,5vw,70px); line-height:1; letter-spacing:-.065em; font-weight:530; }
.sr-article h2 { color:var(--sr-ink); font-size:34px; letter-spacing:-.05em; margin-top:50px; }
.sr-article p, .sr-article li { color:#365b7d; font-size:19px; }
.sr-story { background: #fff; }
.sr-story__hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .88fr); min-height: 640px; background: #e8f6f4; }
.sr-story__hero-copy { padding: clamp(62px, 9vw, 132px) clamp(28px, 8vw, 120px); display: flex; flex-direction: column; justify-content: center; }
.sr-story__hero h1 { margin: 8px 0 24px; font-size: clamp(44px, 5vw, 75px); line-height: .98; letter-spacing: -.06em; color: var(--sr-ink); }
.sr-story__lead { max-width: 640px; margin: 0; font-size: 20px; line-height: 1.5; color: #365b7d; }
.sr-story__image { min-height: 100%; background: #0a55a2; }
.sr-story__image img { width: 100%; height: 100%; display: block; object-fit: cover; }

/* Book a Call uses the same shared split-hero, shell, and card language as
   Contact and Insights. The page intentionally has no page-level stylesheet:
   these are reusable booking components owned by the Sarolta theme. */
.sr-booking-hero,
.elementor .e-con.sr-booking-hero {
  min-height: 640px !important;
  display: grid !important;
  grid-template-columns: .92fr 1.08fr !important;
  padding: 0 !important;
  background: #edf9f7 !important;
}
.sr-booking-hero__copy,
.elementor .e-con.sr-booking-hero__copy {
  width: 100% !important;
  max-width: 590px !important;
  align-self: center !important;
  justify-self: end !important;
  padding: 70px 70px 70px 24px !important;
  gap: 0 !important;
}
.sr-booking-hero__copy .sr-heading,
.sr-booking-hero__copy .elementor-heading-title {
  margin: 18px 0 0 !important;
  color: var(--sr-ink) !important;
  font-size: clamp(48px, 5.1vw, 68px) !important;
  font-weight: 500 !important;
  line-height: .99 !important;
  letter-spacing: -.06em !important;
}
.sr-booking-hero__copy .sr-heading em,
.sr-booking-hero__copy .elementor-heading-title em {
  color: var(--sr-blue) !important;
  font-style: normal;
}
.sr-booking-hero__copy .sr-copy { margin-top: 26px; max-width: 500px; font-size: 18px; }
.sr-booking-hero__copy .sr-button { margin-top: 28px; }
.sr-booking-hero__image,
.elementor .e-con.sr-booking-hero__image {
  min-height: 640px !important;
  background-color: #dff8f5 !important;
  background-image: url("assets/imagery/contact-build-sequence-v1.webp") !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}
.sr-booking-section,
.elementor .e-con.sr-booking-section {
  padding: clamp(76px, 8vw, 118px) 0 !important;
  background: #fff !important;
}
.sr-booking-section__inner,
.elementor .e-con.sr-booking-section__inner {
  width: var(--sr-width) !important;
  max-width: var(--sr-width) !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
.sr-booking-section__inner > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, .9fr) minmax(520px, 1.1fr) !important;
  align-items: start !important;
  gap: clamp(42px, 6vw, 78px) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.sr-booking-copy,
.elementor .e-con.sr-booking-copy {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  gap: 0 !important;
}
.sr-booking-copy .sr-heading,
.sr-booking-copy .elementor-heading-title {
  margin: 18px 0 0 !important;
  color: var(--sr-ink) !important;
  font-size: var(--sr-section-heading-size) !important;
  font-weight: 500 !important;
  line-height: 1.04 !important;
  letter-spacing: -.05em !important;
}
.sr-booking-copy .sr-copy { margin-top: 24px; font-size: 17px; }
.sr-booking-note { margin: 18px 0 0; color: var(--sr-ink); font-size: 16px; }
.sr-booking-note a { color: var(--sr-blue); font-weight: 600; text-decoration: none; }
.sr-booking-details {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  gap: 0 !important;
  margin-top: 42px !important;
  padding: 0 !important;
  border-top: 1px solid var(--sr-line);
  border-bottom: 1px solid var(--sr-line);
}
.sr-booking-details > .e-con-inner,
.elementor .e-con.sr-booking-details > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
  width: 100% !important;
  min-width: 100% !important;
  flex: 1 1 100% !important;
  align-self: stretch !important;
  max-width: none !important;
  padding: 0 !important;
}
.sr-booking-detail,
.elementor .e-con.sr-booking-detail {
  min-height: 150px !important;
  padding: 24px 20px !important;
  border: 0 !important;
  border-right: 1px solid var(--sr-line) !important;
  background: var(--sr-aqua-light) !important;
}
.sr-booking-detail:last-child { border-right: 0 !important; }
.sr-booking-detail__title .elementor-heading-title {
  margin: 0 !important;
  color: var(--sr-ink) !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  line-height: 1.08 !important;
  letter-spacing: -.04em !important;
}
.sr-booking-detail__text,
.sr-booking-detail__text p {
  margin: 10px 0 0 !important;
  color: #4c6c89 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}
.sr-booking-calendar,
.elementor .e-con.sr-booking-calendar {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 0 !important;
  background: #f3fbfa !important;
  border: 1px solid var(--sr-line) !important;
  border-radius: var(--sr-radius) !important;
  box-shadow: var(--sr-shadow) !important;
  overflow: hidden !important;
}
.sr-booking-calendar .e-con-inner { width: 100% !important; max-width: none !important; padding: 0 !important; }
.sr-booking-calendar .elementor-shortcode,
.sr-booking-calendar #calendly-inline-widget { width: 100% !important; max-width: none !important; min-width: 0 !important; }
.sr-booking-calendar #calendly-inline-widget { height: 860px !important; min-height: 860px !important; }
.sr-booking-calendar iframe { display: block !important; width: 100% !important; height: 860px !important; min-height: 860px !important; border: 0 !important; }

/* The booking introduction is a page-wide lead; the scheduler follows beneath it. */
.sr-booking-section__inner > .e-con-inner,
.elementor .e-con.sr-booking-section__inner > .e-con-inner {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 56px !important;
}
.sr-booking-copy .e-con-inner { width: 100% !important; max-width: none !important; }
.sr-booking-copy .sr-heading,
.sr-booking-copy .elementor-heading-title { max-width: 100% !important; }
.sr-booking-calendar { grid-column: 1 !important; }

@media (max-width: 920px) {
  .sr-booking-hero,
  .elementor .e-con.sr-booking-hero { min-height: 770px !important; grid-template-columns: 1fr !important; grid-template-rows: 57% 43% !important; }
  .sr-booking-hero__copy,
  .elementor .e-con.sr-booking-hero__copy { max-width: 680px !important; justify-self: center !important; padding: 64px 24px 48px !important; }
  .sr-booking-hero__image,
  .elementor .e-con.sr-booking-hero__image { min-height: 0 !important; height: 100% !important; }
  .sr-booking-section__inner > .e-con-inner { grid-template-columns: 1fr !important; gap: 44px !important; }
}
@media (max-width: 680px) {
  .sr-booking-hero__copy .sr-heading,
  .sr-booking-hero__copy .elementor-heading-title { font-size: clamp(42px, 12vw, 64px) !important; }
  .sr-booking-details,
  .sr-booking-details > .e-con-inner { grid-template-columns: 1fr !important; }
  .sr-booking-detail { min-height: 0 !important; border-right: 0 !important; border-bottom: 1px solid var(--sr-line) !important; }
  .sr-booking-detail:last-child { border-bottom: 0 !important; }
  .sr-booking-calendar #calendly-inline-widget,
  .sr-booking-calendar iframe { height: 780px !important; min-height: 780px !important; }
}
.sr-story__body { width: min(760px, var(--sr-width)); margin: 76px auto 96px; font-size: 19px; line-height: 1.7; color: #365b7d; }
.sr-story--custom-hero .sr-story__body { width: 100%; max-width: none; margin: 0; padding: 0; }
.sr-story__body > h2 { margin: 48px 0 14px; color: var(--sr-ink); font-size: 34px; line-height: 1.06; letter-spacing: -.04em; }
.elementor .elementor-widget-heading h2.elementor-heading-title { margin: 0 !important; }
.sr-story__body p { margin: 0 0 22px; }
.sr-story__body blockquote { margin: 36px 0; padding: 24px 28px; border-left: 4px solid var(--sr-teal); background: #e8f6f4; color: var(--sr-ink); }
.sr-story__body blockquote strong { display: block; margin-bottom: 6px; }
.sr-menu-toggle {
  display: none;
  width: 43px;
  height: 43px;
  padding: 0;
  border: 1px solid rgba(7, 58, 112, .16);
  border-radius: 8px;
  background: rgba(255, 255, 255, .58);
  color: var(--sr-ink);
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.sr-menu-toggle__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.sr-menu-toggle__icon,
.sr-menu-toggle__icon::before,
.sr-menu-toggle__icon::after {
  display: block;
  width: 19px;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
  transition: transform .2s ease, opacity .2s ease;
}
.sr-menu-toggle__icon { position: relative; }
.sr-menu-toggle__icon::before,
.sr-menu-toggle__icon::after { content: ""; position: absolute; left: 0; }
.sr-menu-toggle__icon::before { top: -6px; }
.sr-menu-toggle__icon::after { top: 6px; }
.sr-menu-toggle[aria-expanded="true"] .sr-menu-toggle__icon { background: transparent; }
.sr-menu-toggle[aria-expanded="true"] .sr-menu-toggle__icon::before { top: 0; transform: rotate(45deg); }
.sr-menu-toggle[aria-expanded="true"] .sr-menu-toggle__icon::after { top: 0; transform: rotate(-45deg); }

.sr-skip-link {
  position: fixed;
  z-index: 9999;
  top: 10px;
  left: 14px;
  padding: 11px 15px;
  border-radius: 6px;
  background: #fff;
  color: var(--sr-ink);
  box-shadow: var(--sr-shadow);
  transform: translateY(-160%);
  transition: transform .18s ease;
}
.sr-skip-link:focus { transform: translateY(0); }
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible {
  outline: 3px solid var(--sr-yellow);
  outline-offset: 3px;
}

/*
 * Narrow-laptop layouts: protect readable copy before the mobile menu breakpoint.
 * The destination artwork is illustrative, so it yields to the content when the
 * split would leave the explanatory column too narrow.
 */
@media (max-width: 1180px) {
  .elementor .e-con.sr-routes-section .e-con.sr-split {
    min-height: 0 !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .elementor .e-con.sr-routes-section .e-con.sr-split__copy {
    width: min(100%, 900px) !important;
    margin: 0 auto !important;
    padding: clamp(62px, 8vw, 92px) clamp(30px, 7vw, 76px) !important;
  }
  .elementor .e-con.sr-routes-section .e-con.sr-split__image {
    display: none !important;
  }
  .sr-work-route__grid,
  .elementor .e-con.sr-work-route__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  .sr-work-receive__grid,
  .elementor .e-con.sr-work-receive__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .sr-work-route__item,
  .sr-work-receive__item {
    border-bottom: 1px solid var(--sr-line);
  }
}

@media (max-width: 920px) {
  .elementor .e-con.sr-evidence-proof__head,
  .elementor .e-con.sr-evidence-proof__grid,
  .elementor .e-con.sr-evidence-agent__grid,
  .elementor .e-con.sr-evidence-views__head,
  .elementor .e-con.sr-evidence-views__grid,
  .elementor .e-con.sr-evidence-impact__grid {
    grid-template-columns: 1fr !important;
  }
  .elementor .e-con.sr-evidence-view--wide { grid-column: auto !important; }
  .elementor .e-con.sr-evidence-proof__task {
    grid-template-columns: 28px minmax(0, 1fr) !important;
  }
  .sr-evidence-proof__tag { display: none !important; }
  .sr-header__inner { position: relative; gap: 16px; }
  .sr-menu-toggle { display: inline-flex; margin-left: auto; flex: 0 0 auto; }
  .sr-nav {
    display: none;
    position: absolute;
    z-index: 100;
    top: calc(100% - 2px);
    left: 0;
    right: 0;
    padding: 12px;
    border: 1px solid rgba(7, 58, 112, .12);
    border-radius: 0 0 12px 12px;
    background: rgba(239, 249, 248, .98);
    box-shadow: 0 18px 34px rgba(7, 42, 78, .13);
  }
  .sr-nav.is-open { display: block; }
  .sr-nav ul { display: grid; gap: 0; }
  .sr-nav li + li { border-top: 1px solid rgba(7, 58, 112, .09); }
  .sr-nav a { display: block; padding: 13px 10px; font-size: 16px; }
  .sr-footer__inner { grid-template-columns: 1fr; text-align:center; padding:28px 0; }
  .elementor .e-con.sr-footer__inner > .e-con-inner { grid-template-columns: 1fr !important; }
  .sr-footer__logo, .sr-footer__links ul { justify-content:center; }
  .sr-footer__meta { text-align:center; }
  .sr-hero { min-height: 700px; }
  .sr-grid--four { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .sr-process { grid-template-columns: repeat(3,1fr); row-gap:30px; }
  .sr-process::before { display:none; }
  .sr-contact__inner { grid-template-columns:1fr; gap:40px; }
  .sr-story__hero { grid-template-columns: 1fr; }
  .sr-story__image { min-height: 380px; }
  .elementor .e-con.sr-grid--four {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .elementor .e-con.sr-hero { min-height: 700px !important; }
  .elementor .e-con.sr-contact__inner {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }
  .elementor .e-con.sr-cta { grid-template-columns: 1fr !important; }
  .sr-services-hero,
  .elementor .e-con.sr-services-hero {
    min-height: 770px !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: 57% 43% !important;
  }
  .sr-services-hero__copy,
  .elementor .e-con.sr-services-hero__copy {
    padding: 64px max(24px, calc((100vw - 680px) / 2)) 48px !important;
  }
  .sr-services-hero__image,
  .sr-services-hero__image .elementor-widget-container,
  .sr-services-hero__image img {
    min-height: 0;
    height: 100% !important;
  }
  .sr-service-list,
  .elementor .e-con.sr-service-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .sr-destination-grid,
  .elementor .e-con.sr-destination-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .sr-destination-item {
    grid-column: auto;
    border-bottom: 1px solid var(--sr-line);
  }
  .elementor .e-con.sr-destination-item { grid-column: auto !important; }
  .sr-destination-grid--three-up .sr-destination-item,
  .elementor .e-con.sr-destination-grid--three-up .sr-destination-item {
    grid-column: auto !important;
  }
  .sr-platform-strip,
  .elementor .e-con.sr-platform-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .sr-platform-strip__item { border-bottom: 1px solid var(--sr-line); }
  .sr-work-hero,
  .elementor .e-con.sr-work-hero {
    min-height: 770px !important;
    height: auto !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: 57% 43% !important;
  }
  .sr-work-hero__copy,
  .elementor .e-con.sr-work-hero__copy {
    padding: 64px max(24px, calc((100vw - 680px) / 2)) 48px !important;
  }
  .sr-work-hero__image { min-height: 0; height: 100%; }
  .sr-evidence-hero,
  .elementor .e-con.sr-evidence-hero {
    min-height: 770px !important;
    height: auto !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: 57% 43% !important;
  }
  .sr-evidence-hero__copy,
  .elementor .e-con.sr-evidence-hero__copy {
    padding: 64px max(24px, calc((100vw - 680px) / 2)) 48px !important;
  }
  .sr-evidence-hero__image,
  .elementor .e-con.sr-evidence-hero__image {
    min-height: 0 !important;
    height: 100% !important;
  }
  .sr-evidence-hero__image img {
    min-height: 0;
    height: 100%;
  }
  .sr-evidence-intro,
  .elementor .e-con.sr-evidence-intro {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }
  .sr-evidence-flow,
  .elementor .e-con.sr-evidence-flow {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .sr-evidence-flow__arrow { transform: rotate(90deg); }
  .sr-work-start,
  .elementor .e-con.sr-work-start,
  .sr-work-involved,
  .elementor .e-con.sr-work-involved {
    grid-template-columns: 1fr !important;
    gap: 46px !important;
  }
  .sr-work-route__grid,
  .elementor .e-con.sr-work-route__grid,
  .sr-work-receive__grid,
  .elementor .e-con.sr-work-receive__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .sr-work-route__item { border-bottom: 1px solid var(--sr-line); }
  .elementor .e-con.sr-about-hero .e-con.sr-split,
  .elementor .e-con.sr-about-guidance .e-con.sr-split {
    min-height: 0 !important;
    grid-template-columns: 1fr !important;
  }
  .elementor .e-con.sr-about-hero .e-con.sr-split__image { min-height: 360px !important; }
  .elementor .e-con.sr-about-guidance .e-con.sr-split__image { min-height: 340px !important; }
  .sr-about-history__inner,
  .elementor .e-con.sr-about-history__inner {
    grid-template-columns: 1fr !important;
    gap: 34px !important;
  }
  .sr-about-team__intro-copy,
  .elementor .e-con.sr-about-team__intro-copy {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
  .sr-about-team__grid,
  .elementor .e-con.sr-about-team__grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 680px) {
  :root { --sr-width: min(100% - 32px, 1180px); }
  body { font-size:16px; }
  .sr-header { min-height:68px; position:sticky; top:0; }
  .sr-header__inner { min-height:68px; }
  .sr-logo__mark { width:28px; height:28px; } .sr-logo__word { width:96px; }
  .sr-header__inner { position: relative; }
  .sr-menu-toggle { display: inline-flex; margin-left: auto; flex: 0 0 auto; }
  .sr-nav {
    display: none;
    position: absolute;
    z-index: 100;
    top: calc(100% - 2px);
    left: 0;
    right: 0;
    padding: 12px;
    border: 1px solid rgba(7, 58, 112, .12);
    border-radius: 0 0 12px 12px;
    background: rgba(239, 249, 248, .98);
    box-shadow: 0 18px 34px rgba(7, 42, 78, .13);
  }
  .sr-nav.is-open { display: block; }
  .sr-nav ul { display: grid; gap: 0; }
  .sr-nav li + li { border-top: 1px solid rgba(7, 58, 112, .09); }
  .sr-nav a { display: block; padding: 13px 10px; font-size: 16px; }
  .sr-header__cta { margin-left:0; font-size:12px; padding:11px 13px; }
  .sr-footer__inner { gap: 14px; text-align: left; }
  .sr-footer__logo,
  .sr-footer__links ul { justify-content: flex-start; }
  .sr-footer__logo,
  .sr-footer__links,
  .sr-footer__meta {
    width: 100%;
    min-width: 0;
  }
  .sr-footer__links ul {
    flex-wrap: wrap;
    row-gap: 10px;
  }
  .sr-footer .sr-footer__links .elementor-widget-container,
  .sr-footer .sr-footer__links p { justify-content: flex-start; row-gap: 10px; }
  .sr-footer__meta { text-align: left; }
  .sr-hero { min-height: 700px; background-position: 63% center; }
  .sr-hero::before { background: linear-gradient(90deg, rgba(3,51,107,.78),rgba(3,51,107,.43)); }
  .sr-section { padding: 64px 0; }
  .sr-grid--two,.sr-grid--three,.sr-grid--four,.sr-split,.sr-contact__inner { grid-template-columns:1fr; }
  .sr-work-card { min-height: 0; }
  .sr-entry-card { min-height: 0; }
  .elementor .e-con.sr-entry-card { min-height: 0 !important; }
  .elementor .e-con.sr-working,
  .elementor .e-con.sr-platforms {
    grid-template-columns: 1fr !important;
  }
  .elementor .e-con.sr-working__progress {
    grid-template-columns: 1fr !important;
  }
  .elementor .e-con.sr-routes-section .sr-split {
    min-height: 0 !important;
    grid-template-columns: 1fr !important;
  }
  .elementor .e-con.sr-routes-section .sr-split__image {
    min-height: 340px !important;
    order: -1;
  }
  .sr-split__image { min-height: 280px; order:-1; }
  .sr-split__copy { padding: 54px 24px; }
  .sr-about-history__timeline,
  .elementor .e-con.sr-about-history__timeline {
    display: none !important;
  }
  .sr-person-card__copy,
  .elementor .e-con.sr-person-card__copy {
    padding: 30px 24px 34px !important;
  }
  .sr-row,
  .elementor .e-con.sr-row {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    padding: 18px 0 !important;
  }
  .sr-process { grid-template-columns:1fr 1fr; }
  .sr-cta { width:var(--sr-width); margin:0 auto; padding:31px 25px; grid-template-columns:1fr; }
  .elementor .e-con.sr-cta { padding:31px 25px !important; grid-template-columns:1fr !important; }
  .sr-contact { padding:64px 0; }
  .sr-card { padding:27px; }
  .elementor .e-con.sr-grid--two,
  .elementor .e-con.sr-grid--three,
  .elementor .e-con.sr-grid--four,
  .elementor .e-con.sr-split,
  .elementor .e-con.sr-contact__inner {
    grid-template-columns: 1fr !important;
  }
  .elementor .e-con.sr-card { padding:27px !important; }
  .sr-services-hero__copy .sr-heading,
  .sr-services-hero__copy .elementor-heading-title {
    font-size: clamp(44px, 12vw, 64px) !important;
  }
  .sr-service-list,
  .elementor .e-con.sr-service-list,
  .sr-destination-grid,
  .elementor .e-con.sr-destination-grid,
  .sr-platform-strip,
  .elementor .e-con.sr-platform-strip,
  .sr-service-output,
  .elementor .e-con.sr-service-output {
    grid-template-columns: 1fr !important;
  }
  .sr-service-item,
  .sr-destination-item {
    grid-column: auto;
    min-height: 0;
  }
  .elementor .e-con.sr-destination-item {
    grid-column: auto !important;
    min-height: 0 !important;
  }
  .sr-destination-grid--three-up .sr-destination-item,
  .elementor .e-con.sr-destination-grid--three-up .sr-destination-item {
    grid-column: auto !important;
  }
  .sr-platform-strip__item { text-align: left; border-right: 0; }
  .sr-work-hero__copy .sr-heading,
  .sr-work-hero__copy .elementor-heading-title {
    font-size: clamp(44px, 12vw, 64px) !important;
  }
  .sr-work-involved__points,
  .elementor .e-con.sr-work-involved__points,
  .sr-work-route__grid,
  .elementor .e-con.sr-work-route__grid,
  .sr-work-receive__grid,
  .elementor .e-con.sr-work-receive__grid {
    grid-template-columns: 1fr !important;
  }
  .sr-work-route__item,
  .elementor .e-con.sr-work-route__item,
  .sr-work-receive__item,
  .elementor .e-con.sr-work-receive__item {
    min-height: 0 !important;
  }
}

@media (max-width: 420px) {
  .sr-header__cta { display: none; }
}

/* Keep the route guide readable: the decorative technical image disappears
   before it can compress the content on phones and narrow tablets. */
@media (max-width: 760px) {
  .elementor .e-con.sr-destination-guide__header {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    margin-bottom: 28px !important;
  }
  .elementor .e-con.sr-destination-guide__image,
  .elementor .e-con.sr-destination-guide__head {
    display: none !important;
  }
  .elementor .e-con.sr-destination-guide__row {
    grid-template-columns: 1fr !important;
    gap: 9px !important;
    padding: 18px 0 !important;
  }
  .sr-destination-guide__copy .sr-heading .elementor-heading-title {
    font-size: clamp(38px, 11vw, 52px) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}

/* Homepage: destination routes. These are native Elementor containers/widgets;
   keep their visual language aligned with the two entry cards immediately above. */
.elementor .e-con.sr-route-cards-section {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  padding: clamp(72px, 8vw, 112px) 0 !important;
  background: linear-gradient(135deg, #eefaf7 0%, #e5f6f3 100%) !important;
}
.elementor .e-con.sr-route-cards-section > .e-con-inner {
  display: block !important;
  width: var(--sr-width) !important;
  max-width: var(--sr-width) !important;
  margin: 0 auto !important;
}
/* Elementor's nested-container markup uses direct children here (not an
   inner wrapper). Keep the colour band full-bleed while centring its content
   on the same column as the rest of the homepage. */
.elementor .e-con.sr-route-cards-section > .e-con.sr-route-cards__head,
.elementor .e-con.sr-route-cards-section > .e-con.sr-route-cards__grid {
  width: min(var(--sr-width), calc(100% - 48px)) !important;
  max-width: var(--sr-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.elementor .e-con.sr-route-cards__head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: end !important;
  gap: 30px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 32px !important;
}
.elementor .e-con.sr-route-cards__intro {
  display: block !important;
  width: 100% !important;
  max-width: 720px !important;
}
.sr-route-cards__intro .elementor-widget-text-editor:first-child {
  margin-bottom: 13px !important;
}
.sr-route-cards__intro .elementor-widget-heading {
  margin-bottom: 16px !important;
}
.sr-route-cards__intro .elementor-heading-title {
  color: var(--sr-ink) !important;
  font-family: "Figtree", sans-serif !important;
  font-size: clamp(38px, 4.4vw, 60px) !important;
  font-weight: 500 !important;
  letter-spacing: -.055em !important;
  line-height: .98 !important;
}
.sr-route-cards__intro .elementor-widget-text-editor p {
  max-width: 650px !important;
  color: #42627d !important;
  font-size: 17px !important;
  line-height: 1.55 !important;
}
.elementor .e-con.sr-route-cards__toplink {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  width: auto !important;
  padding: 0 0 5px !important;
}
.sr-route-cards__all .elementor-button,
.sr-route-card__link .elementor-button {
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--sr-blue) !important;
  font-family: "Figtree", sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}
.sr-route-cards__all .elementor-button:hover,
.sr-route-card__link .elementor-button:hover {
  color: #006f88 !important;
  transform: none !important;
}
.elementor .e-con.sr-route-cards__grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 14px !important;
  width: 100% !important;
  max-width: none !important;
}
.elementor .e-con.sr-route-card {
  display: flex !important;
  flex-direction: column !important;
  width: auto !important;
  max-width: none !important;
  min-height: 338px !important;
  padding: 29px !important;
  background: rgba(255,255,255,.94) !important;
  border: 1px solid #d7e5eb !important;
  border-radius: 24px 8px 24px 8px !important;
  box-shadow: 0 14px 30px rgba(12, 54, 82, .08) !important;
  transition: transform .24s ease, box-shadow .24s ease !important;
}
.elementor .e-con.sr-route-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 20px 40px rgba(12, 54, 82, .14) !important;
}
.sr-route-card .elementor-widget-heading {
  margin: 0 0 9px !important;
}
.sr-route-card .elementor-heading-title {
  color: var(--sr-ink) !important;
  font-family: "Figtree", sans-serif !important;
  font-size: 27px !important;
  font-weight: 600 !important;
  letter-spacing: -.045em !important;
  line-height: 1.04 !important;
}
.sr-route-card > .elementor-element:nth-child(2) {
  margin-bottom: 12px !important;
}
.sr-route-card > .elementor-element:nth-child(2) p {
  margin: 0 !important;
  color: #4c6b84 !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
}
.sr-route-card > .elementor-element:nth-child(3) {
  margin: 0 0 8px !important;
}
.sr-route-card > .elementor-element:nth-child(3) p {
  margin: 0 !important;
  color: #008b95 !important;
  font-family: "DM Mono", monospace !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: .085em !important;
  line-height: 1.35 !important;
  text-transform: uppercase !important;
}
.sr-route-card .elementor-widget-icon-list {
  margin: 0 0 20px !important;
}
.sr-route-card .elementor-icon-list-items {
  display: flex !important;
  flex-direction: column !important;
  gap: 5px !important;
}
.sr-route-card .elementor-icon-list-item {
  align-items: flex-start !important;
}
.sr-route-card .elementor-icon-list-icon {
  margin-top: 3px !important;
}
.sr-route-card .elementor-icon-list-icon i,
.sr-route-card .elementor-icon-list-icon svg {
  color: #00aeb0 !important;
  fill: #00aeb0 !important;
}
.sr-route-card .elementor-icon-list-text {
  color: #42627d !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
}
.sr-route-card .sr-route-card__link {
  margin-top: auto !important;
  padding-top: 10px !important;
}

@media (max-width: 980px) {
  .elementor .e-con.sr-route-cards__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 700px) {
  .elementor .e-con.sr-route-cards-section {
    padding: 64px 0 !important;
  }
  .elementor .e-con.sr-route-cards__head {
    grid-template-columns: 1fr !important;
    align-items: start !important;
    gap: 16px !important;
    margin-bottom: 25px !important;
  }
  .elementor .e-con.sr-route-cards__toplink {
    justify-content: flex-start !important;
    padding: 0 !important;
  }
  .elementor .e-con.sr-route-cards__grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  .elementor .e-con.sr-route-cards-section > .e-con.sr-route-cards__head,
  .elementor .e-con.sr-route-cards-section > .e-con.sr-route-cards__grid {
    width: min(var(--sr-width), calc(100% - 32px)) !important;
  }
  .elementor .e-con.sr-route-card {
    min-height: 0 !important;
    padding: 27px !important;
  }
  .sr-route-cards__intro .elementor-heading-title {
    font-size: clamp(36px, 10vw, 49px) !important;
  }
}
.sr-gpu-outcome-section { background: var(--sr-gradient-impact) !important; }
.elementor .e-con.sr-gpu-outcome, .sr-gpu-outcome { display: grid !important; grid-template-columns: .8fr 1.2fr !important; gap: 64px !important; align-items: start !important; color: #fff !important; }
.sr-gpu-outcome .sr-eyebrow { color: #a7edef !important; }
.sr-gpu-outcome .sr-heading .elementor-heading-title { color: #fff !important; }
.sr-gpu-outcome .sr-heading em { color: var(--sr-yellow) !important; font-style: normal; }
.sr-gpu-outcome__lead { display: grid !important; gap: 24px !important; }
.sr-gpu-outcome__image img { display: block !important; width: 100% !important; height: 250px !important; object-fit: cover !important; object-position: 70% center !important; border: 1px solid rgba(255,255,255,.3) !important; }
.elementor .e-con.sr-gpu-outcome__detail { display: grid !important; grid-template-columns: 1fr 42px 1fr !important; gap: 14px !important; align-items: stretch !important; }
.elementor .e-con.sr-gpu-outcome__stat { padding: 20px !important; border: 1px solid rgba(255,255,255,.26) !important; background: rgba(6,43,99,.25) !important; }
.elementor .e-con.sr-gpu-outcome__stat--before { opacity: .58 !important; }
.sr-gpu-outcome__stat .elementor-heading-title { margin: 0 !important; color: var(--sr-yellow) !important; font-size: 34px !important; line-height: 1.05 !important; letter-spacing: -.045em !important; }
.sr-gpu-outcome__before-title .elementor-heading-title { color: #d6e2e8 !important; }
.sr-gpu-outcome__stat-copy p { margin: 8px 0 0 !important; color: #e4f4fb !important; font-size: 14px !important; line-height: 1.4 !important; }
.sr-gpu-outcome__arrow, .sr-gpu-outcome__arrow .elementor-widget-container { display: grid !important; place-items: center !important; color: var(--sr-yellow) !important; font-size: 32px !important; }
.sr-gpu-outcome__arrow p { margin: 0 !important; }
.sr-gpu-outcome__throughput, .sr-gpu-outcome__throughput .elementor-widget-container, .sr-gpu-outcome__steps, .sr-gpu-outcome__steps .elementor-widget-container { grid-column: 1 / -1 !important; }
.sr-gpu-outcome__throughput p { margin: 4px 0 0 !important; color: #fff !important; font-size: 16px !important; }
.sr-gpu-outcome__throughput strong { color: var(--sr-yellow) !important; font-size: 20px !important; }
.sr-gpu-outcome__steps ul { margin: 0 !important; padding: 0 !important; list-style: none !important; border-top: 1px solid rgba(255,255,255,.26) !important; }
.sr-gpu-outcome__steps li { padding: 10px 0 !important; border-bottom: 1px solid rgba(255,255,255,.17) !important; color: #e4f4fb !important; font-size: 14px !important; line-height: 1.35 !important; }
.sr-gpu-outcome__steps strong { color: #fff !important; }
@media (max-width: 767px) { .elementor .e-con.sr-gpu-outcome, .elementor .e-con.sr-gpu-outcome__detail { grid-template-columns: 1fr !important; } .sr-gpu-outcome__arrow { transform: rotate(90deg); min-height: 34px; } .sr-gpu-outcome__throughput, .sr-gpu-outcome__steps { grid-column: auto !important; } .sr-gpu-outcome__image img { height: 210px !important; } }

/* Shared case-study system: reusable across Selected Work pages. */
.sr-story:not(:has(.sr-case-study)) .sr-story__body {
  width: var(--sr-width) !important;
  max-width: var(--sr-width) !important;
}
.sr-story:has(.sr-case-study) .sr-story__body { width: 100%; max-width: none; margin: 0; padding: 0; }
.sr-story__body .sr-case-study { width: 100%; overflow: clip; background: #fff; }
.elementor .e-con.sr-case-section { padding: clamp(78px, 8vw, 116px) 0 !important; }
.elementor .e-con.sr-case-shell { width: var(--sr-width) !important; max-width: var(--sr-width) !important; margin-inline: auto !important; }
.sr-case-section--white { background: #fff !important; }
.sr-case-section--mint { background: #effbf9 !important; }
.sr-case-section--gradient { background: var(--sr-gradient-impact) !important; }
.sr-case-section--gradient .sr-eyebrow,
.sr-case-section--gradient .sr-eyebrow p { color: #a7edef !important; }
.sr-case-section--gradient .sr-heading { color: #fff !important; }
.sr-case-section--gradient .sr-heading em { color: var(--sr-yellow) !important; font-style: normal; }
.sr-case-section--gradient .sr-heading .elementor-heading-title,
.sr-case-section--gradient .sr-copy,
.sr-case-section--gradient .sr-copy p { color: #fff !important; }
.elementor .e-con.sr-case-split { display: grid !important; grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr) !important; gap: clamp(48px, 8vw, 108px) !important; align-items: start !important; }
.sr-case-head { display: grid !important; grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr) !important; gap: clamp(48px, 8vw, 108px) !important; align-items: start !important; margin-bottom: 42px !important; }
.sr-case-head .sr-copy p { margin-top: 0 !important; }
.sr-case-solution { margin-top: 26px !important; padding: 17px 19px !important; border-left: 3px solid var(--sr-yellow) !important; background: #fffbed !important; }
.sr-case-solution p { margin: 0 !important; color: #315a79 !important; font-size: 15px !important; line-height: 1.5 !important; }
.sr-case-solution strong { display: block; margin-bottom: 5px; color: var(--sr-teal); font-family: "DM Mono",monospace; font-size: 11px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; }

.elementor .e-con.sr-case-flow { display: grid !important; grid-template-columns: repeat(7, minmax(0, auto)) !important; gap: 12px !important; align-items: stretch !important; margin-top: 46px !important; }
.elementor .e-con.sr-case-flow--five { grid-template-columns: repeat(9, minmax(0, auto)) !important; }
.elementor .e-con.sr-case-step { min-width: 0 !important; padding: 24px 20px !important; border: 1px solid #cde1e4 !important; border-radius: 13px !important; background: rgba(255,255,255,.7) !important; }
.sr-case-step .elementor-heading-title { margin: 0 0 10px !important; color: var(--sr-ink) !important; font-size: 18px !important; font-weight: 600 !important; line-height: 1.18 !important; letter-spacing: -.025em !important; }
.sr-case-step .sr-copy p { margin: 0 !important; color: #42627d !important; font-size: 13px !important; line-height: 1.45 !important; }
.sr-case-arrow, .sr-case-arrow .elementor-widget-container { display: grid !important; place-items: center !important; min-width: 18px; color: var(--sr-teal) !important; }
.sr-case-arrow i { font-size: 17px !important; }

.sr-case-outcome .sr-heading em { color: var(--sr-yellow) !important; font-style: normal; }
.sr-case-outcome__lead { display: grid !important; gap: 24px !important; }
.sr-case-outcome__image img { display: block !important; width: 100% !important; height: 250px !important; object-fit: cover !important; object-position: center !important; border: 1px solid rgba(255,255,255,.3) !important; }
.elementor .e-con.sr-case-outcome__detail { display: grid !important; grid-template-columns: 1fr 42px 1fr !important; gap: 14px !important; align-items: stretch !important; }
.elementor .e-con.sr-case-metric { padding: 20px !important; border: 1px solid rgba(255,255,255,.25) !important; background: rgba(5,43,99,.25) !important; }
.sr-case-metric--before { opacity: .58 !important; }
.sr-case-section--gradient .sr-case-metric .elementor-heading-title { margin: 0 !important; color: var(--sr-yellow) !important; font-size: 32px !important; font-weight: 600 !important; line-height: 1.05 !important; letter-spacing: -.04em !important; }
.sr-case-section--gradient .sr-case-metric--before .elementor-heading-title { color: #d7e3ea !important; }
.sr-case-metric .sr-copy p { margin: 8px 0 0 !important; color: #e5f4fb !important; font-size: 14px !important; line-height: 1.4 !important; }
.sr-case-outcome__statement,
.sr-case-outcome__actions { grid-column: 1 / -1 !important; }
.sr-case-outcome__statement p { margin: 5px 0 0 !important; color: #fff !important; font-size: 17px !important; }
.sr-case-outcome__statement strong { color: var(--sr-yellow) !important; font-size: 20px !important; }
.sr-case-outcome__actions .elementor-icon-list-items { margin: 0 !important; border-top: 1px solid rgba(255,255,255,.25) !important; }
.sr-case-outcome__actions .elementor-icon-list-item { padding: 10px 0 !important; border-bottom: 1px solid rgba(255,255,255,.17) !important; }
.sr-case-outcome__actions .elementor-icon-list-text { color: #e5f4fb !important; font-size: 14px !important; line-height: 1.4 !important; }
.sr-case-outcome__actions strong { color: #fff; font-weight: 600; }

.elementor .e-con.sr-case-proof-grid { display: grid !important; grid-template-columns: 1.08fr .92fr !important; gap: 20px !important; align-items: stretch !important; }
.elementor .e-con.sr-case-runbook,
.elementor .e-con.sr-case-decision { padding: 31px 31px 27px !important; border: 1px solid #cee1e5 !important; border-radius: 17px !important; background: #fff !important; }
.elementor .e-con.sr-case-decision { background: linear-gradient(145deg, #0b5d83, #185cac 62%, #6353df) !important; }
.sr-case-decision .sr-eyebrow,
.sr-case-decision .sr-eyebrow p { color: #a7edef !important; }
.elementor .sr-case-decision .elementor-heading-title,
.sr-case-decision .sr-copy,
.sr-case-decision .sr-copy p { color: #fff !important; }
.sr-case-task { display: grid !important; grid-template-columns: 26px 1fr auto !important; gap: 11px !important; align-items: start !important; padding: 14px 0 !important; border-top: 1px solid #d4e4e5 !important; }
.sr-case-task__check { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; color: #087f7f; background: #ddf5ef; font-size: 13px; }
.sr-case-task .elementor-heading-title { margin: 0 0 3px !important; color: var(--sr-ink) !important; font-size: 16px !important; font-weight: 600 !important; }
.sr-case-task .sr-copy p { margin: 0 !important; color: #42627d !important; font-size: 13px !important; line-height: 1.4 !important; }
.sr-case-task__tag { align-self: center; padding: 4px 8px; border-radius: 99px; color: #08787a; background: #def4ef; white-space: nowrap; }
.elementor .sr-case-task__tag,
.elementor .sr-case-task__tag p,
.elementor .sr-case-task__tag span { margin: 0 !important; color: inherit !important; font-family: "DM Mono", monospace !important; font-size: 10px !important; font-weight: 600 !important; line-height: 1 !important; letter-spacing: 0 !important; }
.elementor .e-con.sr-case-authority { padding: 16px !important; border: 1px solid rgba(255,255,255,.23) !important; border-radius: 9px !important; background: rgba(6,39,101,.18) !important; }
.sr-case-authority + .sr-case-authority { margin-top: 10px !important; }
.sr-case-authority .elementor-heading-title { margin: 0 0 5px !important; font-size: 15px !important; font-weight: 600 !important; }
.sr-case-authority .sr-copy p { margin: 0 !important; font-size: 12px !important; line-height: 1.4 !important; }

.elementor .e-con.sr-case-tech-row { display: flex !important; flex-flow: row nowrap !important; align-items: center !important; justify-content: center !important; gap: clamp(18px,3vw,34px) !important; margin-top: 20px !important; padding: 22px 20px !important; border: 1px solid #cfe3e5 !important; border-radius: 12px !important; background: #e7f7f4 !important; overflow-x: auto !important; }
.sr-case-tech-row .elementor-widget-image { flex: 0 0 auto !important; width: auto !important; }
.sr-case-tech-row img { display: block !important; width: auto !important; height: 31px !important; max-width: 92px !important; object-fit: contain !important; filter: grayscale(1) sepia(.25) saturate(5) hue-rotate(145deg) brightness(.68) !important; }

.sr-case-views__grid { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 24px !important; }
.elementor .e-con.sr-case-view { gap: 0 !important; overflow: hidden !important; padding: 0 0 27px !important; border: 1px solid #d5e5e6 !important; border-radius: 15px !important; background: #fff !important; }
.sr-case-view--wide { grid-column: 1 / -1 !important; }
.sr-case-view img { display: block !important; width: 100% !important; aspect-ratio: 16/9 !important; object-fit: cover !important; object-position: top center !important; border-bottom: 1px solid #d5e5e6 !important; }
.sr-case-view .sr-heading,
.sr-case-view .sr-copy { margin-inline: 20px !important; }
.sr-case-view .sr-heading { margin-top: 19px !important; }
.sr-case-view .elementor-heading-title { font-size: 20px !important; font-weight: 600 !important; }
.sr-case-view .sr-copy p { margin: 5px 0 0 !important; font-size: 14px !important; }

.sr-case-architecture__cards,
.sr-case-discipline__cards { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 16px !important; }
.elementor .e-con.sr-case-architecture__card,
.elementor .e-con.sr-case-discipline__card { padding: 24px 22px !important; border: 1px solid #cfe1e5 !important; border-top: 4px solid var(--sr-teal) !important; background: #f5fbfb !important; }
.elementor .e-con.sr-case-architecture__card:nth-child(2),
.elementor .e-con.sr-case-discipline__card:nth-child(2) { border-top-color: var(--sr-yellow) !important; background: #fffbed !important; }
.elementor .e-con.sr-case-architecture__card:nth-child(3),
.elementor .e-con.sr-case-discipline__card:nth-child(3) { border-top-color: var(--sr-violet) !important; background: #f7f5ff !important; }
.sr-case-label,
.sr-case-label p { margin: 0 0 13px !important; color: #087b86 !important; font-family: "DM Mono",monospace !important; font-size: 10px !important; font-weight: 500 !important; letter-spacing: .07em !important; text-transform: uppercase !important; }
.sr-case-architecture__card .elementor-heading-title,
.sr-case-discipline__card .elementor-heading-title { margin: 0 0 12px !important; color: var(--sr-ink) !important; font-size: 19px !important; font-weight: 600 !important; line-height: 1.15 !important; }
.sr-case-architecture__card .sr-copy p,
.sr-case-discipline__card .sr-copy p { margin: 0 !important; color: #42627d !important; font-size: 14px !important; line-height: 1.5 !important; }
.sr-case-architecture__list .elementor-icon-list-items { margin-top: 14px !important; border-top: 1px solid #cfe1e5 !important; }
.sr-case-architecture__list .elementor-icon-list-item { padding: 8px 0 !important; border-bottom: 1px solid #cfe1e5 !important; }
.sr-case-architecture__list .elementor-icon-list-text { color: #42627d !important; font-size: 13px !important; }
.sr-case-architecture__foot { display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)) !important; margin-top: 14px !important; border: 1px solid #cfe1e5 !important; background: rgba(255,255,255,.55) !important; }
.elementor .e-con.sr-case-architecture__foot-item { padding: 14px !important; border-right: 1px solid #cfe1e5 !important; }
.sr-case-architecture__foot-item:last-child { border-right: 0 !important; }
.sr-case-architecture__foot-item .sr-copy p { margin: 0 !important; color: #42627d !important; font-size: 12px !important; line-height: 1.4 !important; }
.sr-case-architecture__foot-item strong { display: block; color: var(--sr-ink); font-family: "DM Mono",monospace; font-size: 10px; font-weight: 500; letter-spacing: .05em; text-transform: uppercase; }

.elementor .e-con.sr-case-discipline__card { background: rgba(6,43,99,.25) !important; border-color: rgba(255,255,255,.13) !important; }
.elementor .e-con.sr-case-discipline__card:nth-child(1) { border-top-color: var(--sr-teal) !important; }
.elementor .e-con.sr-case-discipline__card:nth-child(2),
.elementor .e-con.sr-case-discipline__card:nth-child(3) { background: rgba(6,43,99,.25) !important; }
.sr-case-discipline__card .sr-case-label,
.sr-case-discipline__card .sr-case-label p { color: #a7edef !important; font-size: 11px !important; font-weight: 600 !important; }
.sr-case-discipline__card .elementor-heading-title { color: #fff !important; font-weight: 400 !important; }
.sr-case-discipline__card .sr-copy p { color: #d9f1f5 !important; font-size: 15px !important; }

.sr-case-lifecycle__summary { display: grid !important; gap: 10px !important; }
.elementor .e-con.sr-case-summary-item { padding: 13px 15px !important; border-left: 3px solid var(--sr-teal) !important; background: rgba(255,255,255,.64) !important; }
.sr-case-summary-item .elementor-heading-title { margin: 0 0 3px !important; color: var(--sr-ink) !important; font-size: 15px !important; font-weight: 600 !important; }
.sr-case-summary-item .sr-copy p { margin: 0 !important; color: #42627d !important; font-size: 13px !important; }

.sr-case-choices { width: var(--sr-width) !important; max-width: var(--sr-width) !important; margin-inline: auto !important; display: grid !important; grid-template-columns: .8fr 1.2fr !important; gap: clamp(48px,8vw,105px) !important; padding: 0 !important; }
.sr-case-choices__list .elementor-icon-list-item { align-items: flex-start !important; padding: 15px 0 !important; border-top: 1px solid #cfe1e5 !important; }
.sr-case-choices__list .elementor-icon-list-item:last-child { border-bottom: 1px solid #cfe1e5 !important; }
.sr-case-choices__list .elementor-icon-list-text { color: #385c78 !important; font-size: 15px !important; line-height: 1.5 !important; }

@media (max-width: 1024px) {
  .elementor .e-con.sr-case-flow,
  .elementor .e-con.sr-case-flow--five { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .sr-case-arrow { display: none !important; }
  .sr-case-architecture__foot { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width: 767px) {
  /* Evidence case-study heroes must form a single, full-width column on
     phones. Elementor can retain a container's desktop basis otherwise,
     which creates a clipped second column. */
  .elementor .e-con.sr-evidence-hero {
    display: flex !important;
    flex-flow: column nowrap !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto !important;
    width: 100% !important;
    overflow: hidden !important;
  }
  .elementor .e-con.sr-evidence-hero__copy,
  .elementor .e-con.sr-evidence-hero__image {
    width: 100% !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
  }
  .elementor .e-con.sr-case-section { padding: 64px 0 !important; }
  .elementor .e-con.sr-case-split,
  .sr-case-head,
  .elementor .e-con.sr-case-proof-grid,
  .sr-case-architecture__cards,
  .sr-case-discipline__cards,
  .sr-case-views__grid,
  .sr-case-choices { grid-template-columns: 1fr !important; gap: 28px !important; }
  .elementor .e-con.sr-case-flow,
  .elementor .e-con.sr-case-flow--five { grid-template-columns: 1fr !important; gap: 12px !important; }
  .elementor .e-con.sr-case-outcome__detail { grid-template-columns: 1fr !important; }
  .sr-case-outcome__statement,
  .sr-case-outcome__actions { grid-column: auto !important; }
  .sr-case-view--wide { grid-column: auto !important; }
  .sr-case-task { grid-template-columns: 24px 1fr !important; }
  .sr-case-task__tag { grid-column: 2 !important; justify-self: start !important; }
  .sr-case-architecture__foot { grid-template-columns: 1fr !important; }
  .elementor .e-con.sr-case-architecture__foot-item { border-right: 0 !important; border-bottom: 1px solid #cfe1e5 !important; }
  .sr-case-tech-row { justify-content: flex-start !important; }
}
.sr-story__hero-copy h1,
.sr-story__hero-copy h1 .elementor-heading-title {
    font-family: inherit !important;
}
