/* AiSolv identity: Plex typography, Carbon blue, and Studio / Factory color accents. */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/plex-mono-400.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/plex-mono-500.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 300;
  font-stretch: 100%;
  font-display: swap;
  src: url(assets/fonts/plex-sans-300.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(assets/fonts/plex-sans-400.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(assets/fonts/plex-sans-500.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(assets/fonts/plex-sans-600.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --ink: #161616;
  --paper: #f4f4f4;
  --blue: #0f62fe;
  --blue-light: #78a9ff;
  --violet: #a56eff;
  --cyan: #3ddbd9;
  --pink: #ff7eb6;
  --line: #393939;
  --pad: clamp(24px, 5vw, 96px);
  --mono: 'IBM Plex Mono', 'SFMono-Regular', Consolas, monospace;
  --spectrum: linear-gradient(90deg, #ff4f8b 0%, #a855f7 38%, #0f62fe 70%, #22d3ee 100%);
}
body { font-family: 'IBM Plex Sans', 'Helvetica Neue', sans-serif; color: #f4f4f4; }
html { scroll-padding-top: 100px; }
::selection { background: #0f62fe; color: #fff; }
button:focus-visible, a:focus-visible, input:focus-visible, [tabindex='0']:focus-visible { outline-color: #78a9ff; }
.eyebrow, .text-link, .corner-link { letter-spacing: 0; }
.eyebrow { font-size: 10px; line-height: 1.6; }
.text-link { font-size: 14px; font-weight: 400; }
.corner-link { border-radius: 0; min-width: 180px; min-height: 56px; font: 14px/1.2 'IBM Plex Sans', sans-serif; padding: 18px 42px 18px 18px; align-items: center; }
.corner-link > span { right: 16px; top: 15px; font-size: 23px; }
.button-white { background: #0f62fe; border-color: #0f62fe; color: #fff; }
.button-white:hover { background: #0353e9; border-color: #0353e9; }
.brand { font-family: 'IBM Plex Sans', sans-serif; font-size: 24px; font-weight: 600; letter-spacing: -.5px; gap: 9px; }
.brand img { width: 32px; height: 32px; filter: none; }
.brand-period { display: none; }
.spectrum-square { display: inline-block; width: .15em; height: .15em; background: var(--spectrum); margin-left: .09em; vertical-align: .04em; }
.section-label { display: flex; align-items: center; gap: 15px; font: 10px/1.4 var(--mono); color: #525252; letter-spacing: .05em; margin-bottom: 24px; }
.section-label > span { color: #0f62fe; border-right: 1px solid #c6c6c6; padding-right: 15px; }
.heading-stack { padding-top: 0 !important; }
.section-heading .heading-stack > .section-label { font: 10px/1.4 var(--mono); letter-spacing: .05em; margin-bottom: 24px; }
.section-heading h2 { font-weight: 400; letter-spacing: -.045em; font-size: clamp(36px, 3.7vw, 58px); }
.section-heading > p, .section-heading > div > p { font-weight: 300; font-size: 17px; line-height: 1.6; letter-spacing: 0; }
.section-heading { grid-template-columns: 2fr 1fr; gap: 10%; padding-top: 78px; padding-bottom: 56px; }
.large-heading { padding-top: 82px; padding-bottom: 55px; }
.large-heading h2 { font-weight: 400; font-size: clamp(54px, 6.3vw, 92px); letter-spacing: -.05em; }
.large-heading > div:not(.heading-stack) { padding-top: 37px; }

/* A single light navigation bar comes from the current AiSolv site. */
.site-header { position: absolute; inset: 0 0 auto; gap: 28px; align-items: center; padding: 0 var(--pad); min-height: 85px; background: #fff; color: #161616; border-bottom: 1px solid #dedee3; }
.site-header::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--spectrum); }
.nav-shell { height: 82px; padding: 0; gap: 55px; border: 0; border-radius: 0; background: transparent; backdrop-filter: none; }
.desktop-nav { gap: 26px; }
.desktop-nav a, .desktop-nav button { font: 13px 'IBM Plex Sans', sans-serif; }
.desktop-nav button { display: flex; align-items: center; gap: 7px; height: 100%; padding: 0; background: none; color: #393939; position: relative; }
.desktop-nav button > span { font-size: 14px; color: #6f6f6f; }
.desktop-nav button[aria-expanded='true'] { color: var(--blue); }
.desktop-nav button[aria-expanded='true']::after { content: ''; position: absolute; left: 0; right: 0; bottom: 14px; height: 2px; background: var(--spectrum); }
.desktop-nav a::after { background: var(--blue); }
.desktop-nav a:hover, .desktop-nav button:hover { color: var(--blue); }
.search-toggle { font-size: 12px; color: #525252; }
.nav-contact { background: #0f62fe; color: #fff; border: 1px solid #0f62fe; min-width: 179px; min-height: 47px; font-size: 12px; padding: 15px 39px 15px 15px; backdrop-filter: none; }
.nav-contact > span { top: 11px; right: 12px; font-size: 22px; }
.nav-contact:hover { color: #fff; background: #0353e9; border-color: #0353e9; }
.mega-menu { position: absolute; top: 100%; left: 0; right: 0; display: grid; grid-template-columns: 1fr 3fr; gap: 50px; padding: 37px var(--pad) 42px; background: #f4f4f4; border-bottom: 1px solid #c6c6c6; box-shadow: 0 20px 40px #0003; color: #161616; }
.mega-intro { padding-right: 28px; border-right: 1px solid #d3d3d3; }
.mega-intro > .eyebrow { color: #525252; font-size: 9px; }
.mega-intro h2 { font-size: 32px; font-weight: 400; line-height: 1.1; letter-spacing: -.035em; margin-top: 16px; max-width: 210px; }
.mega-intro .text-link { color: #0f62fe; margin-top: 25px; font-size: 12px; }
.mega-columns { display: grid; grid-template-columns: repeat(3, 1fr); gap: 36px; }
.mega-group { padding-top: 13px; border-top: 2px solid var(--group-color, #0f62fe); }
.mega-group h3 { font: 10px var(--mono); text-transform: uppercase; letter-spacing: .035em; margin-bottom: 17px; color: #525252; }
.mega-group a { display: block; font-size: 13px; line-height: 1.5; padding: 7px 0; }
.mega-group a:hover { color: #0f62fe; text-decoration: underline; text-underline-offset: 4px; }
.mega-close { position: absolute; top: 7px; right: 14px; width: 28px; height: 28px; font-size: 24px; background: none; color: #525252; }

/* The Factory's numbered working surfaces, used as an editorial hero. */
.hero { background: #161616; padding-top: 153px; min-height: 0; }
.hero-network { opacity: .19; }
.hero-shade { background: linear-gradient(90deg, #16161699 10%, transparent 100%); }
.hero-top { grid-template-columns: 1.3fr 1fr; gap: 8%; align-items: center; }
.hero-eyebrow { display: flex; align-items: center; gap: 10px; color: #78a9ff; font-size: 12px; line-height: 1.5; font-weight: 400; margin-bottom: 23px; }
.tiny-square { width: 6px; height: 6px; flex-shrink: 0; background: var(--spectrum); }
.hero h1 { font-family: 'IBM Plex Sans', sans-serif; font-weight: 400; font-size: clamp(64px, 6.8vw, 104px); letter-spacing: -.065em; line-height: .99; }
.hero-description { max-width: 515px; font-size: 16px; line-height: 1.65; font-weight: 300; color: #c6c6c6; margin-top: 28px; }
.hero-links { display: flex; flex-wrap: wrap; align-items: center; gap: 28px; margin-top: 29px; }
.hero-cta { width: 203px; background: var(--blue); border-color: var(--blue); min-height: 54px; }
.hero-cta:hover { background: #0353e9; border-color: #0353e9; color: #fff; }
.hero-links .text-link { font-size: 12px; gap: 17px; color: #c6c6c6; }
.hero-aside { padding-top: 45px; font-size: 16px; font-weight: 400; letter-spacing: 0; }
.operating-model { background: #1c1c1cf0; border: 1px solid #393939; position: relative; }
.operating-model::before { content: ''; position: absolute; left: -1px; right: -1px; top: -1px; height: 2px; background: var(--spectrum); }
.operating-model-head { display: flex; justify-content: space-between; align-items: center; padding: 19px 22px; border-bottom: 1px solid #393939; gap: 20px; }
.operating-model-head .eyebrow { color: #a8a8a8; font-size: 8px; letter-spacing: .06em; }
.model-mark { font: 12px var(--mono); color: #8d8d8d; white-space: nowrap; }
.model-row { display: grid; grid-template-columns: 22px 1fr 17px; gap: 16px; padding: 26px 22px; border-bottom: 1px solid #393939; --category: var(--blue-light); }
.model-row:nth-of-type(2) { --category: var(--violet); }
.model-row:nth-of-type(3) { --category: var(--cyan); }
.model-row:hover { background: #262626; }
.model-index { font: 10px var(--mono); color: var(--category); padding-top: 8px; }
.model-row h2 { font-size: 31px; line-height: 1.1; letter-spacing: -.035em; font-weight: 400; }
.model-row p { color: #c6c6c6; font-size: 13px; line-height: 1.5; font-weight: 300; margin-top: 8px; }
.model-tags { display: block; color: var(--category); font: 7px/1.6 var(--mono); letter-spacing: .05em; margin-top: 13px; }
.model-arrow { color: var(--category); font-size: 20px; line-height: 1.4; }
.model-footer { padding: 18px 22px; display: flex; align-items: center; gap: 9px; color: #c6c6c6; font-size: 11px; line-height: 1.4; }
.model-footer > span:last-child { margin-left: auto; font-size: 17px; }
.status-dot { background: #3ddbd9; box-shadow: none; border-radius: 0; }
.hero-bottom { margin-top: 53px; padding-top: 18px; padding-bottom: 20px; align-items: center; border-top: 1px solid #393939; }
.hero-caption { padding: 0; font-size: 8px; color: #8d8d8d; letter-spacing: .05em; }
.hero-bottom-note { color: #a8a8a8; font: 9px var(--mono); }
.hero-actions { gap: 23px; align-items: center; }
.motion-toggle { color: #c6c6c6; width: 25px; height: 25px; border-radius: 0; border-color: #525252; }
.trusted { background: #fff; color: #525252; padding-top: 31px; padding-bottom: 35px; border-bottom: 1px solid #e0e0e0; }
.trusted > p { color: #6f6f6f; font-size: 12px; font-weight: 300; }
.logo-grid { margin-top: 28px; gap: 30px; }
.logo-grid img { filter: brightness(0); opacity: .52; height: 38px; max-width: 12%; }
.client-wordmark { color: #6f6f6f; font-size: 15px; }

.industries { background: #f4f4f4; }
.industry-tabs { gap: 26px; border-top: 1px solid #e0e0e0; }
.industry-tabs button { padding-top: 19px; padding-bottom: 19px; font-family: 'IBM Plex Sans', sans-serif; font-size: 12px; font-weight: 400; }
.industry-tabs button[aria-selected='true'] { color: #0f62fe; }
.industry-tabs button[aria-selected='true']::after { background: var(--spectrum); bottom: 0; height: 3px; }
.industry-panel { min-height: 590px; padding-top: 60px; padding-bottom: 64px; }
.industry-card { border-radius: 0; padding: 30px; background: #161616f7; box-shadow: none; width: min(1040px, 86%); position: relative; }
.industry-card::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--spectrum); }
.industry-card h3 { font-size: clamp(33px, 3.5vw, 50px); font-weight: 400; letter-spacing: -.04em; line-height: 1.04; }
.industry-card-right > p { font-size: 17px; font-weight: 300; letter-spacing: 0; line-height: 1.5; color: #c6c6c6; }
.industry-card .eyebrow { color: #78a9ff; font-size: 9px; }
.industry-card .corner-link { width: 178px; min-height: 56px; font-size: 12px; }
.industry-apps ul { font-weight: 300; font-size: 13px; }
.industry-apps li::before { color: #3ddbd9; }
.industry-count { font-size: 9px; }

/* Forge's category system becomes a useful filter for AiSolv's real services. */
.solutions { background: #161616; color: #f4f4f4; padding-bottom: 80px; }
.solutions .section-label, .solutions .section-heading > div > p { color: #c6c6c6; }
.solutions .section-label > span { color: #a56eff; border-color: #525252; }
.solutions .section-heading .heading-stack > .section-label { color: #a8a8a8; }
.solutions .section-heading .text-link { color: #78a9ff; }
.solution-toolbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 33px; gap: 25px; }
.solution-filters { display: flex; gap: 8px; flex-wrap: wrap; }
.solution-filters button { background: none; border: 1px solid #525252; color: #c6c6c6; font-size: 12px; padding: 10px 13px; display: flex; align-items: center; gap: 9px; }
.solution-filters button > span { font: 8px var(--mono); color: #a8a8a8; margin-left: 3px; }
.solution-filters button > i { width: 6px; height: 6px; background: #78a9ff; }
.solution-filters button[data-filter='build'] > i { background: #a56eff; }
.solution-filters button[data-filter='adopt'] > i { background: #3ddbd9; }
.solution-filters button:hover { background: #262626; border-color: #c6c6c6; }
.solution-filters button[aria-pressed='true'] { background: #0f62fe20; border-color: #78a9ff; color: #fff; }
.solution-count { font: 9px/1.5 var(--mono); color: #a8a8a8; white-space: nowrap; }
.solutions-layout { grid-template-columns: 1fr 1.05fr; gap: 6%; }
.solution-item { border-color: #393939; position: relative; }
.solution-item:last-child { border-color: #393939; }
.solution-item.active { border-color: #393939; }
.solution-list { border-top: 2px solid transparent; border-image: var(--spectrum) 1; }
.solution-item.active::before { content: ''; position: absolute; left: -14px; top: 22px; bottom: 24px; width: 3px; background: var(--spectrum); }
.solution-trigger { color: #c6c6c6; padding-top: 22px; padding-bottom: 22px; }
.solution-trigger > span:nth-child(2) { font-family: 'IBM Plex Sans', sans-serif; font-size: 22px; font-weight: 400; letter-spacing: -.015em; }
.solution-trigger:hover, .solution-item.active .solution-trigger { color: #fff; }
.solution-number { color: #a8a8a8; font-size: 9px; }
.solution-item.active .solution-number { color: #78a9ff; }
.solution-toggle { color: #a8a8a8; font-size: 21px; }
.solution-body > p { color: #c6c6c6; font-size: 14px; line-height: 1.65; font-weight: 300; }
.solution-body .text-link { color: #78a9ff; font-size: 12px; }
.solution-visual { border-color: #393939; background-color: #1c1c1c; background-image: radial-gradient(#52525288 .7px, transparent .7px); border-radius: 0; padding: 24px; }
.diagram-top .eyebrow { color: #a8a8a8; font-size: 9px; }
.diagram-code { color: #78a9ff; font-size: 9px; }
.diagram-inputs > span { background: #262626; border-color: #525252; color: #c6c6c6; box-shadow: 0 4px 0 #161616; border-radius: 0; font-size: 8px; }
.diagram-inputs > span:nth-child(1) { border-top: 2px solid #78a9ff; }
.diagram-inputs > span:nth-child(2) { border-top: 2px solid #a56eff; }
.diagram-inputs > span:nth-child(3) { border-top: 2px solid #3ddbd9; }
.diagram-connectors { border-color: #525252; }
.diagram-connectors span, .diagram-stem, .intelligence-core::before { background: #525252; }
.core-orbit { border-color: #78a9ff66; }
.orbit-two { border-color: #a56eff66; }
.orbit-three { border-color: #3ddbd944; }
.core-orbit::after { background: #78a9ff; box-shadow: none; }
.orbit-two::after { background: #a56eff; }
.orbit-three::after { background: #3ddbd9; }
.core-center { background: #262626; border-color: #525252; box-shadow: 0 9px 0 -1px #1c1c1c, 0 10px 0 #525252, 0 19px 0 -1px #161616, 0 20px 0 #393939; }
.core-center::before { content: ''; position: absolute; top: -1px; left: -1px; right: -1px; height: 2px; background: var(--spectrum); }
.core-center > span { font-family: 'IBM Plex Sans', sans-serif; font-size: 25px; font-weight: 500; }
.core-center small { color: #a8a8a8; font-size: 7px; }
.diagram-output { background: #262626; border: 1px solid #525252; border-left: 3px solid #3ddbd9; border-radius: 0; padding: 18px 14px; margin-left: 0; margin-right: 0; }
.output-check { color: #3ddbd9; border-color: #3ddbd966; border-radius: 0; }
.diagram-output .eyebrow { color: #a8a8a8; font-size: 7px; }
.diagram-output strong { font-weight: 300; font-size: 15px; }
.diagram-output > span:last-child { color: #3ddbd9; }
.diagram-foot { color: #a8a8a8; }
.visual-caption { color: #a8a8a8; font-size: 12px; font-weight: 300; }

.deployment-band { background: #eaf0ff; color: #0f2860; padding-top: 35px; padding-bottom: 42px; position: relative; }
.deployment-band::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--spectrum); }
.deployment-band > .eyebrow { color: #0f62fe; }
.deployment-band h2 { font-weight: 400; font-size: clamp(30px, 3.5vw, 53px); }
.deployment-band .corner-link:hover { background: #0353e9; border-color: #0353e9; }
.customers { background: #f4f4f4; color: #161616; padding-bottom: 75px; }
.customers .section-heading { padding-top: 75px; padding-bottom: 55px; }
.customers .section-heading > div .corner-link { background: transparent; border-color: #a8a8a8; font-size: 12px; }
.customers .section-heading > div .corner-link:hover { border-color: #0f62fe; background: #0f62fe; color: #fff; }
.impact-strip > div { border-color: #c6c6c6; }
.impact-strip strong { font-family: 'IBM Plex Sans', sans-serif; font-weight: 300; letter-spacing: -.05em; color: #0f62fe; }
.impact-strip > div:nth-child(2) strong { color: #6929c4; }
.impact-strip > div:nth-child(3) strong { color: #007d79; }
.impact-strip > div:nth-child(4) strong { color: #161616; }
.impact-strip > div > span { color: #525252; font-size: 13px; font-weight: 300; }
.metrics-note { color: #6f6f6f; font-size: 8px; }
.story { border-color: #c6c6c6; }
.story:last-child { border-color: #c6c6c6; }
.story-trigger { color: #161616; }
.story-trigger > span:first-child { font-size: 34px; font-weight: 400; }
.story-sector { color: #525252; font-size: 10px; }
.story-trigger:hover > span:first-child { color: #0f62fe; }
.story-copy > .eyebrow { color: #0f62fe; font-size: 9px; }
.story-copy h4 { font-size: clamp(29px, 3.2vw, 47px); font-weight: 400; letter-spacing: -.04em; }
.story-copy > p:not(.eyebrow) { color: #525252; font-weight: 300; font-size: 15px; }
.story-copy .text-link { color: #0f62fe; font-size: 13px; }
.story-body { gap: 8%; padding-top: 18px; padding-bottom: 42px; }
.testimonial { background: #161616; color: #f4f4f4; padding: 30px 28px 26px; border: 1px solid #393939; position: relative; }
.testimonial::before { content: ''; position: absolute; left: -1px; top: -1px; bottom: -1px; width: 3px; background: linear-gradient(180deg, #a56eff, #0f62fe 60%, #3ddbd9); }
.quote-mark { top: 14px; left: 24px; color: #a56eff; font-size: 53px; }
.testimonial blockquote { font-size: clamp(19px, 1.8vw, 25px); font-weight: 300; line-height: 1.45; letter-spacing: -.01em; margin-top: 17px; }
.testimonial figcaption { margin-top: 24px; }
.testimonial figcaption > img { filter: none; border-radius: 0; }
.testimonial figcaption .quote-company { filter: brightness(0) invert(1); }
.testimonial figcaption strong { font-weight: 500; }
.testimonial figcaption span { color: #a8a8a8; }
.approach { background: #fff; border-top: 1px solid #e0e0e0; }
.approach .section-heading { padding-top: 70px; }
.approach-layout { gap: 7%; }
.approach-video { border-radius: 0; }
.video-toggle { border-radius: 0; }
.approach-steps { border-color: #0f62fe; }
.approach-steps article { border-color: #e0e0e0; }
.approach-steps article > span { color: #0f62fe; font-size: 12px; }
.approach-steps article:nth-child(2) > span { color: #8a3ffc; }
.approach-steps article:nth-child(3) > span { color: #007d79; }
.approach-steps h3 { font-weight: 400; font-size: 26px; }
.approach-steps p { font-weight: 300; color: #525252; font-size: 15px; }
.resources { background: #f4f4f4; border-color: #e0e0e0; }
.resources .section-heading { grid-template-columns: 2.5fr 1fr; padding-top: 60px; align-items: end; }
.resources .section-heading h2 { font-weight: 400; font-size: clamp(34px, 3.7vw, 54px); }
.resources .section-heading > .text-link { color: #0f62fe; padding-bottom: 5px; }
.resource-grid { gap: 25px; }
.resource-card { border-color: #c6c6c6; border-top: 3px solid #78a9ff; }
.resource-card:nth-child(2) { border-top-color: #a56eff; }
.resource-card:nth-child(3) { border-top-color: #3ddbd9; }
.resource-image { border-radius: 0; }
.resource-copy { padding-top: 20px; }
.resource-copy h3 { font-weight: 400; font-size: 28px; }
.resource-copy .eyebrow { color: #525252; }
.resource-bottom { color: #0f62fe; font-size: 13px; }
.closing { position: relative; padding-top: 70px; padding-bottom: 65px; }
.closing::before { content: ''; position: absolute; top: 0; left: var(--pad); right: var(--pad); height: 2px; background: var(--spectrum); }
.closing h2 { font-weight: 400; font-size: clamp(42px, 5.8vw, 86px); letter-spacing: -.05em; }
.closing .eyebrow { color: #78a9ff; }
.closing .corner-link { min-height: 67px; font-size: 14px; }
.site-footer { padding-top: 55px; }
.footer-main { grid-template-columns: 1.25fr 1.2fr 1.2fr .8fr; gap: 34px; }
.footer-main h2 { color: #a8a8a8; font-size: 9px; }
.footer-main > div:not(:first-child) > a { color: #c6c6c6; font-size: 12px; font-weight: 300; }
.footer-brand p { color: #a8a8a8; font-weight: 300; }
.footer-main > div:nth-child(2) h2 { color: #78a9ff; }
.footer-main > div:nth-child(3) h2 { color: #a56eff; }
.footer-main > div:nth-child(4) h2 { color: #3ddbd9; }
.footer-bottom { font-size: 9px; color: #a8a8a8; }
.search-dialog { border-radius: 0; border-top: 3px solid #0f62fe; }
.search-heading h2 { font-weight: 400; }

@media (min-width: 1750px) {
  .hero { min-height: 0; padding-top: 185px; }
  .hero-bottom { margin-top: 73px; }
  .hero h1 { font-size: 119px; }
  .model-row { padding-top: 32px; padding-bottom: 32px; }
  .model-row h2 { font-size: 39px; }
  .model-row p { font-size: 16px; }
  .model-tags { font-size: 9px; }
  .operating-model-head .eyebrow { font-size: 10px; }
  .industry-panel { min-height: 680px; }
}
@media (max-width: 1200px) {
  :root { --pad: 40px; }
  .site-header { gap: 20px; }
  .nav-shell { gap: 28px; }
  .desktop-nav { gap: 17px; }
  .desktop-nav a, .desktop-nav button { font-size: 12px; }
  .nav-contact { min-width: 161px; font-size: 11px; }
  .hero-top { gap: 5%; grid-template-columns: 1.15fr 1fr; }
  .hero h1 { font-size: 7.2vw; }
  .hero-eyebrow { font-size: 11px; }
  .hero-description { font-size: 15px; }
  .hero-links { gap: 20px; }
  .hero-links .text-link { font-size: 11px; }
  .model-row { padding: 24px 18px; gap: 11px; }
  .model-row h2 { font-size: 28px; }
  .model-row p { font-size: 12px; }
  .model-tags { font-size: 6px; }
  .operating-model-head { padding: 17px 18px; gap: 10px; }
  .operating-model-head .eyebrow { font-size: 7px; }
  .model-footer { padding-left: 18px; font-size: 10px; }
  .solution-trigger > span:nth-child(2) { font-size: 20px; }
  .solution-visual { padding: 18px; }
  .diagram-output strong { font-size: 13px; }
  .diagram-foot { font-size: 6px; }
  .industry-tabs { gap: 23px; }
  .industry-tabs button { font-size: 11px; }
  .logo-grid { gap: 25px; }
  .footer-main { gap: 26px; }
  .footer-main > div:not(:first-child) > a { font-size: 11px; }
}
@media (max-width: 1000px) and (min-width: 801px) {
  :root { --pad: 28px; }
  .nav-shell { gap: 24px; }
  .desktop-nav { gap: 14px; }
  .search-toggle { font-size: 0; gap: 0; padding-left: 0; }
  .brand { font-size: 22px; }
  .nav-contact { min-width: 155px; }
  .hero-links .text-link { font-size: 12px; }
  .hero-links { gap: 18px; }
  .hero-cta { width: 190px; min-width: 190px; }
  .hero-description { max-width: 370px; }
  .model-row { padding-top: 25px; padding-bottom: 25px; }
  .logo-grid { gap: 18px; }
  .client-wordmark { font-size: 12px; }
}
@media (max-width: 800px) {
  :root { --pad: 28px; }
  .site-header { top: 0; left: 0; right: 0; min-height: 73px; gap: 20px; }
  .nav-shell { height: 72px; padding: 0; }
  .nav-contact { min-width: 162px; min-height: 43px; font-size: 11px; padding-top: 13px; padding-bottom: 13px; }
  .nav-contact > span { top: 10px; }
  .menu-toggle { color: #161616; font-size: 12px; }
  .menu-icon { border-color: #161616; }
  .menu-toggle[aria-expanded='true'] .menu-icon::after { border-color: #161616; }
  .mega-menu { display: none; }
  .mobile-nav:not([hidden]) { inset: 74px 0 0; border: 0; border-radius: 0; padding: 20px var(--pad); color: #f4f4f4; background: #161616fa; }
  .mobile-nav > a { font-family: 'IBM Plex Sans', sans-serif; font-weight: 400; font-size: 32px; border-color: #393939; }
  .mobile-nav > a > span { color: #78a9ff; }
  .mobile-nav .mobile-search { display: flex; color: #c6c6c6; font-size: 17px; margin: 0; padding: 25px 0 6px; width: 100%; justify-content: space-between; }
  .mobile-nav > a:last-child { font-size: 18px; color: #78a9ff; }
  .hero { padding-top: 126px; min-height: 0; }
  .hero-top { grid-template-columns: 1fr; gap: 36px; }
  .hero-eyebrow { font-size: 12px; margin-bottom: 25px; }
  .hero h1 { font-size: clamp(66px, 11vw, 86px); max-width: 660px; }
  .hero-description { max-width: 480px; font-size: 16px; margin-top: 25px; }
  .hero-links { gap: 25px; margin-top: 27px; }
  .hero-links .text-link { font-size: 12px; }
  .hero-aside { display: block; padding-top: 0; max-width: none; }
  .operating-model { display: grid; grid-template-columns: repeat(3, 1fr); }
  .operating-model-head { grid-column: 1/-1; padding: 14px 18px; }
  .operating-model-head .eyebrow { font-size: 8px; }
  .model-row { display: block; position: relative; padding: 20px 16px; border-right: 1px solid #393939; }
  .model-row:nth-of-type(3) { border-right: 0; }
  .model-index { display: block; padding-top: 0; margin-bottom: 14px; font-size: 8px; }
  .model-row h2 { font-size: 28px; }
  .model-row p { font-size: 12px; margin-top: 10px; line-height: 1.5; }
  .model-tags { font-size: 6px; line-height: 1.8; margin-top: 12px; }
  .model-arrow { position: absolute; top: 15px; right: 14px; font-size: 18px; }
  .model-footer { grid-column: 1/-1; padding: 13px 18px; }
  .hero-bottom { margin-top: 36px; padding-top: 15px; padding-bottom: 15px; }
  .hero-bottom-note { font-size: 7px; max-width: 195px; line-height: 1.5; }
  .hero-caption { font-size: 7px; }
  .hero-actions { gap: 13px; }
  .trusted { padding-top: 26px; padding-bottom: 29px; }
  .logo-grid { margin-top: 25px; gap: 27px 22px; }
  .logo-grid img { max-width: 100%; height: 32px; }
  .client-wordmark { font-size: 11px; }
  .section-heading { grid-template-columns: 1.4fr 1fr; gap: 7%; padding-top: 53px; padding-bottom: 37px; }
  .section-heading .heading-stack > .section-label { font-size: 8px; margin-bottom: 17px; }
  .section-label > span { padding-right: 10px; }
  .section-label { gap: 10px; }
  .section-heading h2 { font-size: 38px; }
  .section-heading > p, .section-heading > div > p { font-size: 15px; }
  .section-heading > p { padding-top: 29px; }
  .industry-panel { min-height: 570px; padding-top: 70px; padding-bottom: 45px; }
  .industry-card { width: 100%; padding: 24px; gap: 26px; }
  .industry-card h3 { font-size: 35px; }
  .industry-card-right > p { font-size: 15px; }
  .industry-card .eyebrow { font-size: 8px; }
  .industry-apps ul { font-size: 11px; }
  .industry-card .corner-link { width: 156px; min-width: 156px; font-size: 11px; }
  .large-heading h2 { font-size: 59px; }
  .large-heading > div:not(.heading-stack) { padding-top: 30px; }
  .solution-toolbar { flex-wrap: wrap; margin-bottom: 29px; gap: 15px; }
  .solution-count { font-size: 8px; }
  .solutions-layout { grid-template-columns: 1fr; gap: 30px; }
  .solution-visual-wrap { grid-row: 2; }
  .solution-trigger > span:nth-child(2) { font-size: 22px; }
  .solution-visual { padding: 24px; }
  .solution-visual-wrap .visual-caption { font-size: 11px; }
  .diagram-output { max-width: 430px; margin-left: auto; margin-right: auto; }
  .diagram-output strong { font-size: 15px; }
  .diagram-foot { font-size: 7px; }
  .solutions { padding-bottom: 52px; }
  .deployment-band { padding-top: 31px; padding-bottom: 33px; }
  .deployment-band h2 { font-size: 33px; }
  .deployment-band .corner-link { min-width: 154px; font-size: 12px; }
  .customers .section-heading { padding-top: 55px; padding-bottom: 41px; }
  .customers .section-heading > div .corner-link { width: 154px; min-width: 154px; font-size: 11px; }
  .impact-strip > div > span { font-size: 11px; }
  .story-sector { font-size: 8px; }
  .story-copy h4 { font-size: 31px; }
  .story-copy > p:not(.eyebrow) { font-size: 14px; }
  .story-body { gap: 5%; }
  .testimonial { padding: 27px 20px 23px; }
  .quote-mark { left: 17px; top: 11px; }
  .testimonial blockquote { font-size: 20px; }
  .approach .section-heading { padding-top: 53px; }
  .approach-steps h3 { font-size: 25px; }
  .approach-steps p { font-size: 14px; }
  .resources .section-heading { padding-top: 47px; grid-template-columns: 2fr 1fr; }
  .resources .section-heading h2 { font-size: 37px; }
  .resource-grid { gap: 18px; }
  .resource-copy h3 { font-size: 23px; }
  .resource-bottom { font-size: 11px; }
  .closing { padding-top: 48px; padding-bottom: 45px; }
  .closing h2 { font-size: 51px; }
  .closing .corner-link { width: 167px; min-width: 167px; min-height: 63px; font-size: 12px; }
  .footer-main { grid-template-columns: repeat(3,1fr); gap: 33px 24px; }
  .footer-brand { grid-column: 1/-1; }
  .site-footer { padding-top: 37px; }
  .footer-bottom { font-size: 8px; }
}
@media (max-width: 520px) {
  :root { --pad: 22px; }
  .site-header { gap: 16px; min-height: 69px; }
  .nav-shell { height: 68px; gap: 10px; }
  .brand { font-size: 22px; gap: 7px; }
  .brand img { width: 28px; height: 28px; }
  .nav-contact { font-size: 0; min-width: 42px; width: 42px; min-height: 38px; padding: 0; }
  .nav-contact > span { font-size: 22px; right: 11px; top: 7px; }
  .menu-toggle { font-size: 11px; padding-left: 8px; gap: 10px; }
  .mobile-nav:not([hidden]) { top: 69px; }
  .hero { padding-top: 111px; }
  .hero-eyebrow { font-size: 10px; gap: 8px; margin-bottom: 23px; }
  .hero h1 { font-size: 14.2vw; line-height: 1.01; letter-spacing: -.055em; }
  .hero-description { font-size: 14px; line-height: 1.65; margin-top: 23px; }
  .hero-links { gap: 21px; margin-top: 25px; }
  .hero-cta { min-width: 185px; width: 185px; min-height: 49px; font-size: 12px; padding: 15px 35px 15px 15px; }
  .hero-cta > span { top: 12px; right: 12px; font-size: 21px; }
  .hero-links .text-link { font-size: 12px; gap: 13px; }
  .hero-top { gap: 32px; }
  .operating-model { display: block; }
  .operating-model-head { padding: 14px 16px; }
  .operating-model-head .eyebrow { font-size: 7px; letter-spacing: .015em; }
  .model-mark { font-size: 10px; }
  .model-row { display: grid; grid-template-columns: 18px 1fr 14px; gap: 12px; padding: 19px 16px; border-right: 0; }
  .model-index { padding-top: 6px; margin-bottom: 0; font-size: 8px; }
  .model-row h2 { font-size: 28px; }
  .model-row p { font-size: 12px; margin-top: 6px; }
  .model-tags { font-size: 6px; margin-top: 9px; }
  .model-arrow { position: static; font-size: 19px; }
  .model-footer { padding: 14px 16px; font-size: 10px; }
  .hero-bottom { margin-top: 30px; padding-top: 14px; padding-bottom: 14px; }
  .hero-caption { max-width: none; font-size: 6px; gap: 7px; }
  .hero-bottom-note { display: none; }
  .motion-toggle { width: 24px; height: 24px; }
  .trusted { padding-top: 23px; padding-bottom: 29px; }
  .trusted > p { font-size: 11px; max-width: 100%; }
  .logo-grid { gap: 24px 16px; }
  .logo-grid img { max-width: 100%; height: 29px; }
  .client-wordmark { font-size: 9px; }
  .section-heading { grid-template-columns: 1fr; padding-top: 44px; padding-bottom: 28px; gap: 20px; }
  .section-heading h2 { max-width: 100%; font-size: 39px; }
  .section-heading .heading-stack > .section-label { font-size: 8px; margin-bottom: 18px; }
  .section-heading > p { padding-top: 0; }
  .section-heading > p, .section-heading > div > p { font-size: 14px; max-width: none; }
  .industry-tabs { gap: 23px; }
  .industry-tabs button { font-size: 11px; padding-top: 17px; padding-bottom: 17px; }
  .industry-panel { min-height: 650px; padding-top: 177px; padding-bottom: 34px; }
  .industry-card { padding: 22px; gap: 24px; }
  .industry-card h3 { font-size: 36px; line-height: 1.08; margin-bottom: 22px; }
  .industry-card-right > p { font-size: 14px; }
  .industry-card .corner-link { min-height: 51px; font-size: 11px; }
  .industry-card .corner-link > span { top: 13px; }
  .industry-apps ul { font-size: 12px; }
  .large-heading h2 { font-size: 56px; line-height: 1.03; }
  .large-heading > div:not(.heading-stack) { padding-top: 0; }
  .solution-toolbar { gap: 15px; }
  .solution-filters { gap: 7px; }
  .solution-filters button { font-size: 10px; padding: 9px 10px; gap: 7px; }
  .solution-filters button > span { font-size: 7px; margin-left: 0; }
  .solution-count { font-size: 7px; }
  .solution-trigger > span:nth-child(2) { font-size: 19px; }
  .solution-trigger { gap: 10px; padding-top: 20px; padding-bottom: 20px; }
  .solution-body > p { font-size: 13px; }
  .solution-body .text-link { font-size: 12px; }
  .solution-item.active::before { left: -11px; width: 2px; }
  .solution-visual { padding: 16px; }
  .diagram-top .eyebrow { font-size: 7px; }
  .diagram-inputs > span { font-size: 6px; padding: 15px 4px; min-height: 44px; }
  .diagram-output { padding: 14px 10px; }
  .diagram-output strong { font-size: 12px; }
  .diagram-output .eyebrow { font-size: 6px; }
  .diagram-foot { font-size: 6px; }
  .visual-caption { font-size: 10px; }
  .deployment-band { padding-top: 29px; padding-bottom: 31px; }
  .deployment-band h2 { font-size: 31px; }
  .deployment-band .corner-link { min-height: 52px; }
  .customers .section-heading { padding-top: 44px; padding-bottom: 32px; }
  .customers .large-heading h2 { font-size: 58px; }
  .customers .section-heading > .heading-stack { display: block; }
  .customers .section-heading > div:not(.heading-stack) { gap: 16px; }
  .customers .section-heading > div:not(.heading-stack) > p { font-size: 13px; max-width: 165px; }
  .customers .section-heading > div .corner-link { min-width: 145px; width: 145px; min-height: 55px; font-size: 10px; }
  .impact-strip strong { font-size: clamp(34px, 10.8vw, 46px); white-space: nowrap; }
  .impact-strip > div > span { font-size: 11px; }
  .metrics-note { font-size: 7px; }
  .story-trigger > span:first-child { font-size: 29px; }
  .story-body { grid-template-columns: 1fr; gap: 29px; padding-bottom: 33px; }
  .story-copy h4 { font-size: 35px; }
  .story-copy > p:not(.eyebrow) { font-size: 14px; }
  .testimonial { padding: 30px 22px 25px; }
  .testimonial blockquote { font-size: 21px; }
  .quote-mark { left: 19px; top: 13px; }
  .approach .section-heading { padding-top: 44px; }
  .approach .section-heading h2 { font-size: 39px; }
  .approach-steps h3 { font-size: 23px; }
  .approach-steps p { font-size: 14px; }
  .resources .section-heading { grid-template-columns: 1fr; gap: 22px; padding-top: 44px; }
  .resources .section-heading h2 { font-size: 38px; }
  .resource-grid { gap: 29px; }
  .resource-copy h3 { font-size: 28px; }
  .resource-bottom { font-size: 12px; }
  .closing h2 { font-size: 11.8vw; }
  .closing .corner-link { min-height: 56px; font-size: 13px; }
  .footer-main { grid-template-columns: 1fr 1fr; gap: 32px 22px; }
  .footer-main > div:not(:first-child) > a { font-size: 11px; }
  .site-footer { padding-top: 37px; }
  .footer-bottom { font-size: 8px; }
}
