:root {
  --si-ivory: #f6f6f8;
  --si-white: #ffffff;
  --si-indigo: #2e3192;
  --si-indigo-hover: #252878;
  --si-indigo-deep: #1d205e;
  --si-navy: #0f132f;
  --si-gold: #fdcd23;
  --si-gold-hover: #f3bd09;
  --si-sky: #78d4f4;
  --si-body: #30354f;
  --si-muted: #5d6279;
  --si-border: #d8dae4;
  --si-header-surface: #f2f3f8;
}

html:not([data-si-enhanced="true"]) body {
  opacity: 0;
}

html[data-si-enhanced="true"] body {
  opacity: 1;
  transition: opacity 360ms cubic-bezier(.22, 1, .36, 1);
}

body {
  --token-83b03504-602b-4981-a102-2dcfc3c15751: var(--si-ivory) !important;
  --token-3079aa7c-a211-45fd-8569-811e1cda20b6: var(--si-white) !important;
  --token-144e382c-cd5b-4ed7-9684-9db9c45475a1: var(--si-border) !important;
  --token-425d5885-8b67-4657-91de-de73d3d0dc86: var(--si-navy) !important;
  --token-dac978b0-f703-49fb-9974-997c803defc4: var(--si-indigo) !important;
  --token-7c7e4f49-64db-419e-93c1-b3a8b0df0905: var(--si-navy) !important;
  --token-2d773909-501e-402e-b13e-ab729607d2b8: #b4b8ca !important;
  --token-97d25101-49d5-41d7-b222-c638c22197b3: var(--si-muted) !important;
  --token-6d1aafe4-006c-417f-95c0-5fa6d5faa66c: #b4b8ca !important;
  --token-d776bea5-fb07-45e7-ad94-3398de2199d6: var(--si-gold) !important;
  --token-30866d99-a97d-472f-8d3e-869b2af6eed2: var(--si-ivory) !important;
  --token-f60d6c03-7d94-486b-bb49-360260c97862: var(--si-body) !important;
  --token-05bbfc87-0727-4ef4-a274-a1aecf207dc9: #5357bd !important;
  --token-b4000e29-5414-4b3f-9f3e-ced835c0a03d: #10142f2e !important;
  background: var(--si-ivory) !important;
}

::selection {
  color: var(--si-navy);
  background: var(--si-gold);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 3px solid var(--si-gold) !important;
  outline-offset: 3px;
}

#__framer-badge-container,
[data-framer-name="Buy Template Module"],
#template-overlay {
  display: none !important;
}

[data-framer-name="Logo Wrapper"] [data-framer-name="Logo"] {
  width: 170px !important;
  height: 52px !important;
  overflow: hidden !important;
  background-color: transparent !important;
  background-image: url("./scaling-assets/scaling-ideas-logo-on-dark.png") !important;
  background-position: left center !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
}

[data-framer-name="Logo Wrapper"] img[data-si-brand-logo] {
  object-fit: contain !important;
  object-position: left center !important;
  background: transparent !important;
  mix-blend-mode: normal !important;
  filter: none !important;
  opacity: 0 !important;
}

[data-framer-name="Logo Wrapper"] [style*="filter"] {
  filter: none !important;
  -webkit-filter: none !important;
}

nav[data-framer-name="Desktop"],
nav[data-framer-name="Mobile"] {
  background-color: transparent !important;
  border-bottom: 1px solid transparent;
}

nav[data-framer-name="Desktop Scroll"],
nav[data-framer-name="Mobile Scroll"] {
  background-color: rgb(255 255 255 / 97%) !important;
  border-bottom: 1px solid rgb(15 19 47 / 12%);
  box-shadow: 0 4px 10px rgb(15 19 47 / 5%);
}

nav[data-framer-name="Desktop Scroll"] [data-framer-name="Logo"],
nav[data-framer-name="Mobile Scroll"] [data-framer-name="Logo"] {
  background-image: url("./scaling-assets/scaling-ideas-logo-transparent.png") !important;
}

nav[data-framer-name="Desktop"] [data-framer-name="Link Container"],
nav[data-framer-name="Desktop Scroll"] [data-framer-name="Link Container"],
nav[data-framer-name="Mobile"] [data-framer-name="Link Container"],
nav[data-framer-name="Mobile Scroll"] [data-framer-name="Link Container"] {
  background-color: transparent !important;
}

nav[data-framer-name="Desktop"] nav[data-framer-name="Normal"],
nav[data-framer-name="Desktop Scroll"] nav[data-framer-name="Normal"],
nav[data-framer-name="Mobile"] nav[data-framer-name="Normal"],
nav[data-framer-name="Mobile Scroll"] nav[data-framer-name="Normal"] {
  background-color: var(--si-header-surface) !important;
  box-shadow: inset 0 0 0 1px rgb(15 19 47 / 7%);
}

[data-framer-name="Arrow Wrap"] {
  background-color: var(--si-gold) !important;
  --token-97d25101-49d5-41d7-b222-c638c22197b3: var(--si-navy) !important;
  --token-144e382c-cd5b-4ed7-9684-9db9c45475a1: var(--si-navy) !important;
}

[data-framer-name="Arrow Wrap"] svg,
[data-framer-name="Arrow Wrap"] use,
[data-framer-name="Arrow Wrap"] path,
[data-framer-name="Arrow Wrap"] [data-framer-name="Arrow"] {
  color: var(--si-navy) !important;
  stroke: var(--si-navy) !important;
}

.si-arrow-symbol path {
  fill: transparent !important;
  stroke: var(--si-navy) !important;
}

[data-framer-name="Arrow Wrap"]:hover {
  background-color: var(--si-gold-hover) !important;
}

button[style*="rgb(0, 59, 240)"],
button[style*="#003bf0"],
button[style*="#003BF0"] {
  background-color: var(--si-indigo) !important;
}

button[style*="rgb(0, 59, 240)"]:hover,
button[style*="#003bf0"]:hover,
button[style*="#003BF0"]:hover {
  background-color: var(--si-indigo-hover) !important;
}

a,
button,
select {
  transition: color 220ms cubic-bezier(.22, 1, .36, 1), background-color 220ms cubic-bezier(.22, 1, .36, 1), border-color 220ms cubic-bezier(.22, 1, .36, 1), transform 220ms cubic-bezier(.22, 1, .36, 1) !important;
}

.si-replaced-heading {
  animation: si-headline-reveal 760ms cubic-bezier(.22, 1, .36, 1) both;
}

@keyframes si-headline-reveal {
  from {
    opacity: .01;
    filter: blur(8px);
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    filter: blur(0);
    transform: translateY(0);
  }
}

.si-home-hero {
  background-color: var(--si-navy) !important;
}

.si-home-hero [data-framer-name="Image Wrapper"] > [data-framer-name="Wrap"] {
  display: none !important;
}

.si-home-introduction {
  margin-top: -1px;
  background: var(--si-indigo) !important;
}

.si-home-introduction [data-framer-name="Container"] {
  max-width: 1600px !important;
}

.si-home-introduction [data-framer-name="Wrap"] {
  max-width: 1120px !important;
}

.si-home-introduction__headline {
  display: block !important;
  max-width: 980px;
  color: var(--si-white) !important;
  font: 500 clamp(46px, 6.7vw, 96px)/.95 "Geist", "Geist Placeholder", sans-serif !important;
  letter-spacing: -.035em !important;
  text-wrap: balance;
}

.si-home-introduction [data-framer-name="Wrap"] svg,
.si-home-introduction [data-framer-name="Wrap"] [data-framer-component-type="SVG"] {
  display: none !important;
}

.si-home-expertise {
  background: var(--si-indigo) !important;
  border-top: 1px solid rgb(255 255 255 / 14%);
}

.si-home-expertise__intro h2,
.si-home-expertise__intro h3,
.si-home-expertise__intro p {
  --framer-text-color: var(--si-white) !important;
  color: var(--si-white) !important;
}

.si-home-expertise__intro [data-framer-name="Light"] svg,
.si-home-expertise__intro [data-framer-name="Light"] path,
.si-home-expertise__intro [data-framer-component-type="SVG"] {
  color: var(--si-white) !important;
  fill: var(--si-white) !important;
}

.si-home-introduction [data-framer-name="Button Wrap"],
.si-home-expertise__intro [data-framer-name="Button Wrap"] {
  background-color: var(--si-white) !important;
}

.si-home-introduction [data-framer-name="Button Wrap"] p,
.si-home-expertise__intro [data-framer-name="Button Wrap"] p {
  --framer-text-color: var(--si-navy) !important;
  color: var(--si-navy) !important;
}

.si-home-expertise__services a[data-framer-name="Desktop"],
.si-home-expertise__services a[data-framer-name="Tablet"],
.si-home-expertise__services a[data-framer-name="Mobile"] {
  background-color: var(--si-ivory) !important;
  border-color: rgb(15 19 47 / 13%) !important;
}

.si-home-expertise a:focus-visible,
.si-home-expertise button:focus-visible {
  outline-color: var(--si-gold) !important;
}

img[data-si-replaced-photo],
img[data-si-hero-replacement] {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

img[src*="framerusercontent.com/images"][src*=".webp"]:not([data-si-replaced-photo]),
img[src*="framerusercontent.com/images"][src*=".jpg"]:not([data-si-replaced-photo]),
img[src*="/vendor/framerusercontent.com/images/"][src*=".webp"]:not([data-si-replaced-photo]),
img[src*="/vendor/framerusercontent.com/images/"][src*=".jpg"]:not([data-si-replaced-photo]) {
  opacity: 0 !important;
}

img[data-si-replaced-photo],
img[data-si-hero-replacement] {
  opacity: 1 !important;
}

img[data-si-hero-replacement] {
  object-position: center center !important;
  animation: si-hero-drift 16s ease-in-out infinite alternate;
}

html[data-si-route="home"] img[data-si-hero-replacement] {
  object-position: 58% center !important;
}

html[data-si-route="about"] img[data-si-hero-replacement] {
  object-position: 60% center !important;
}

@keyframes si-hero-drift {
  from { transform: scale(1.001); }
  to { transform: scale(1.045); }
}

.si-proof-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 10px 16px;
  color: var(--si-navy);
  border: 1px solid var(--si-border);
  background: var(--si-white);
  font: 600 12px/1.25 "Geist", "Manrope", sans-serif;
  letter-spacing: 0.02em;
  text-align: center;
  text-transform: uppercase;
}

.si-hide {
  display: none !important;
}

.si-form-note {
  margin-top: 12px;
  color: var(--si-muted);
  font: 500 13px/1.5 "Geist", "Manrope", sans-serif;
}

.si-form-note a {
  color: var(--si-indigo);
}

.si-service-field {
  display: grid;
  gap: 10px;
  width: 100%;
  color: var(--si-navy);
  font: 600 14px/1.35 "Geist", "Manrope", sans-serif;
}

.si-service-field select {
  width: 100%;
  min-height: 52px;
  padding: 0 16px;
  color: var(--si-navy);
  border: 1px solid var(--si-border);
  border-radius: 0;
  background: var(--si-white);
  font: 500 16px/1.3 "Geist", "Manrope", sans-serif;
}

.si-service-field select:hover {
  border-color: var(--si-indigo);
}

.si-consultation-guide {
  padding: clamp(72px, 9vw, 132px) clamp(20px, 5vw, 72px);
  color: var(--si-white);
  background: var(--si-navy);
}

.si-consultation-guide__inner {
  width: min(1240px, 100%);
  margin: 0 auto;
}

.si-consultation-guide__eyebrow {
  margin: 0 0 22px;
  color: var(--si-gold);
  font: 700 13px/1.2 "Geist", "Manrope", sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.si-consultation-guide h2 {
  max-width: 860px;
  margin: 0;
  color: var(--si-white);
  font: 500 clamp(42px, 6vw, 80px)/.98 "Geist", "Manrope", sans-serif;
  letter-spacing: -.05em;
}

.si-consultation-guide ol {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin: clamp(46px, 7vw, 88px) 0 0;
  padding: 0;
  list-style: none;
  background: #ffffff2a;
}

.si-consultation-guide li {
  display: grid;
  align-content: space-between;
  min-height: 210px;
  padding: 28px;
  background: var(--si-navy);
}

.si-consultation-guide li span {
  color: var(--si-gold);
  font: 700 13px/1 "Geist", "Manrope", sans-serif;
}

.si-consultation-guide li strong {
  max-width: 280px;
  color: var(--si-white);
  font: 500 clamp(20px, 2.2vw, 30px)/1.15 "Geist", "Manrope", sans-serif;
}

.si-consultation-guide__proof {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 1px;
  padding: 24px 28px;
  color: var(--si-navy);
  background: var(--si-gold);
  font: 600 14px/1.4 "Geist", "Manrope", sans-serif;
}

@media (max-width: 809.98px) {
  [data-framer-name="Logo Wrapper"] [data-framer-name="Logo"] {
    width: 142px !important;
    height: 44px !important;
  }

  .si-home-introduction__headline {
    font-size: clamp(40px, 12.4vw, 64px) !important;
    line-height: .98 !important;
    letter-spacing: -.035em !important;
    text-wrap: pretty;
  }

  html[data-si-route="home"] img[data-si-hero-replacement] {
    object-position: 65% center !important;
  }

  .si-consultation-guide ol {
    grid-template-columns: 1fr;
  }

  .si-consultation-guide li {
    min-height: 150px;
  }

  .si-consultation-guide__proof {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }

  img[data-si-hero-replacement] {
    animation: none;
  }
}
