/* Production extensions for Option 2 / Signal. */
@font-face {
  font-family: 'Space Grotesk';
  src: url('../fonts/space-grotesk/SpaceGrotesk-Variable.woff2') format('woff2');
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
}
@font-face {
  font-family: 'Sonsie One';
  src: url('../fonts/sonsie-one/SonsieOne-Regular.woff2') format('woff2');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
:root { color-scheme: light; --brand-green: var(--accent); --header-height: 112px; --header-compact-height: 80px; --logo-width: 92px; --logo-compact-width: 68px; --page-gutter: 56px; }
html { scroll-padding-top: calc(var(--header-height) + 24px); }
body { overflow-wrap: break-word; }
[hidden] { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.signal-top { background: var(--paper); border-bottom: 1px solid var(--line); color: #3f5259; font: 9px/1.5 Arial,sans-serif; letter-spacing: 2px; }
.signal-top > .wrap { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-block: 12px; }
.signal-top > .wrap > span:last-child { letter-spacing: inherit; }
.signal-top > .wrap > span.top-location { color: #50626a; font-size: 10px; letter-spacing: .6px; white-space: nowrap; }
.site-header {
  position: sticky;
  top: 0;
  z-index: 30;
  height: var(--header-height);
  width: 100%;
  margin: 0;
  padding-inline: max(var(--page-gutter), calc((100% - 1232px) / 2));
  gap: 24px;
  background: var(--paper);
  border: 0;
  box-shadow: 0 2px 6px #00000026;
  transition: height .3s ease-in-out;
}
.site-header.is-compact { height: var(--header-compact-height); }
.brand { position: relative; display: inline-block; color: var(--accent); }
.brand-logo { display: block; width: 222px; height: auto; color: var(--accent); }
.brand-ink { flood-color: var(--accent); }
.site-header > .brand { display: block; flex-shrink: 0; }
.site-header > .brand .brand-logo { width: var(--logo-width); height: auto; transition: width .3s ease-in-out; }
.site-header.is-compact > .brand .brand-logo { width: var(--logo-compact-width); }
.site-nav { gap: 24px; }
.site-nav > a[aria-current] { color: var(--accent); }
.site-nav > a.button[aria-current] { color: #f8fbfc; }
.site-footer.compact-footer { background: #ffffff; padding: 30px 0 24px; }
.footer-main { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 36px; }
.footer-logo { width: 68px; }
.footer-logo .brand-logo { width: 68px; height: auto; }
.footer-nav { display: flex; flex-wrap: wrap; justify-self: end; gap: 22px; font: 12px/1.6 Arial,sans-serif; color: #3f5259; }
.footer-nav a:hover { color: var(--accent); text-decoration: underline; text-underline-offset: 5px; }
.footer-meta { display: flex; justify-content: space-between; gap: 20px; margin-top: 22px; font: 10px/1.7 Arial,sans-serif; color: #5c6e76; }
.page-hero { padding: 48px 0 56px; border-bottom: 1px solid var(--line); }
.page-hero .eyebrow { margin-bottom: 26px; color: #3d4f57; }
.page-hero h1 { max-width: 1000px; font-size: clamp(46px,5.6vw,78px); line-height: 1.06; }
.page-hero h1 em, .suite-hero h1 em { color: var(--accent); font: italic 1.05em Georgia,serif; }
.page-hero > p { max-width: 730px; font-size: 17px; color: #45585f; margin-top: 26px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 25px; align-items: center; margin-top: 28px; }
.hero-actions .text-link { color: #263840; }
.content-layout { display: grid; grid-template-columns: minmax(0,1fr) 265px; gap: 90px; padding: 62px 0 85px; align-items: start; }
.article-content { min-width: 0; font-size: 15px; line-height: 1.85; color: #3f5159; }
.article-content h2 { color: #162930; font-size: 30px; letter-spacing: -.8px; line-height: 1.25; margin: 42px 0 20px; }
.article-content h2:first-child { margin-top: 0; }
.article-content h3, .article-content h4 { color: #1b2e35; font-size: 23px; margin: 28px 0 16px; }
.article-content p { margin: 0 0 23px; line-height: 1.9; }
.article-content ul, .article-content ol { padding-left: 24px; margin: 12px 0 28px; }
.article-content li { padding-left: 5px; margin: 9px 0; }
.article-content li::marker { color: var(--accent); }
.article-content a { color: #0f5e72; text-decoration: underline; text-underline-offset: 4px; }
.article-content img { max-height: 380px; object-fit: contain; margin: 24px 0; background: #182b32; }
.article-content .article-note { display: block; color: #0f5e72; font: 12px/1.8 Arial,sans-serif; margin: 25px 0 8px; }
.article-content table { display: block; overflow-x: auto; width: 100%; border-collapse: collapse; margin: 25px 0; }
.article-content th, .article-content td { padding: 15px; border: 1px solid var(--line); text-align: left; }
.related-panel { background: #f7fafb; border: 1px solid #cedce2; padding: 26px; }
.related-panel h2 { font: 11px/1.5 Arial,sans-serif; letter-spacing: 1.5px; text-transform: uppercase; margin-bottom: 16px; color: var(--accent); }
.related-panel a { display: block; font: 13px/1.6 Arial,sans-serif; padding: 12px 0; border-bottom: 1px solid #d5e1e6; color: #41535b; }
.related-panel a[aria-current], .related-panel a:hover { color: var(--accent); }
.related-panel p { font-size: 12px; margin-top: 25px; color: #44565e; }
.related-panel .button { margin-top: 22px; color: #f8fbfc; font-size: 12px; border: 0; padding: 15px; }
.signal-hero.ai-hero { grid-template-columns: 1.08fr 1fr; padding-top: 55px; gap: 35px; }
.ai-hero .signal-copy h1 { font-size: clamp(56px,5.65vw,82px); line-height: 1.03; letter-spacing: -3.8px; }
.ai-hero .signal-copy h1 em { letter-spacing: -3.8px; }
.ai-hero .signal-copy > p { max-width: 470px; font-size: 16px; line-height: 1.8; }
.ai-hero .hero-actions .text-link { font-size: 12px; }
.ai-note { border: 1px solid #beced4; padding: 16px 20px; color: #3d4f57; font: 12px/1.7 Arial,sans-serif; margin: 20px 0 0; }
.ai-note strong { color: #1a2d34; font-weight: 500; }
.home-ai { background: #182b32; color: #ebf2f5; padding: 80px 0; }
.home-ai .eyebrow::before { background: #1d86a2; }
.home-ai .section-top p { color: #a2b2b9; }
.ai-stages { display: grid; grid-template-columns: repeat(4,1fr); gap: 30px; }
.ai-stages article { border-top: 1px solid #45575f; padding-top: 22px; }
.ai-stages article > span { font: 10px Arial,sans-serif; letter-spacing: 1.4px; color: #3990a9; }
.ai-stages h3 { margin: 22px 0 14px; font-size: 23px; font-weight: 400; }
.ai-stages p { font-size: 13px; color: #a2b2b9; }
.home-ai .text-link { margin-top: 36px; }
.home-products { padding: 80px 0; border-bottom: 1px solid var(--line); }
.suite-ribbon { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.suite-ribbon a { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 25px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.suite-ribbon a:hover { background: #eff6f7; }
.suite-ribbon .product-wordmark { font-size: 20px; }
.suite-ribbon a > span:last-child { color: var(--accent); }
.suite-hero { display: grid; grid-template-columns: 1.25fr 1fr; gap: 90px; align-items: end; padding: 50px 0 60px; }
.suite-hero .eyebrow { margin-bottom: 28px; }
.suite-hero h1 { font-size: clamp(52px,5.8vw,83px); letter-spacing: -3.5px; }
.suite-hero p { color: #45585f; font-size: 16px; max-width: 400px; }
.suite-hero .text-link { margin-top: 25px; color: var(--accent); }
.suite-nav { display: flex; flex-wrap: wrap; gap: 12px; padding: 24px 0; border-block: 1px solid var(--line); }
.suite-nav a { border: 1px solid #bdccd3; border-radius: 30px; padding: 12px 21px; font: 12px Arial,sans-serif; color: #2e4148; }
.suite-nav a:hover { background: #d8e4e8; color: var(--accent); }
.product-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; padding: 45px 0 80px; }
.product-card { background: #f7fafb; border: 1px solid #cedce1; padding: 34px; scroll-margin-top: 0; display: flex; flex-direction: column; }
.product-top { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 30px; }
.product-top > span { font: 9px Arial,sans-serif; color: #51636b; letter-spacing: 1.5px; }
.product-icon { width: 45px; height: 45px; stroke: #0f5e72; fill: none; stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; }
.product-wordmark { font: 400 28px/1.3 'Sonsie One',cursive; font-synthesis: none; letter-spacing: 0; color: #0f5e72; }
.suite-nav a { font-family: 'Sonsie One',cursive; letter-spacing: .2px; }
.product-wordmark span { color: #ffbf45; }
.product-card h3 { font: 400 22px/1.35 Arial,sans-serif; margin: 22px 0 16px; letter-spacing: -.5px; }
.product-card p { font-size: 14px; color: #44565e; }
.product-tags { display: flex; flex-wrap: wrap; gap: 8px; padding: 22px 0 28px; }
.product-tags span { border: 1px solid #c0cfd5; color: #3d5057; padding: 8px 10px; font: 10px Arial,sans-serif; }
.product-actions { display: flex; justify-content: space-between; gap: 22px; align-items: center; border-top: 1px solid #cedce2; padding-top: 23px; margin-top: auto; }
.product-actions .text-link { color: var(--accent); }
.product-actions > a:last-child { font: 12px Arial,sans-serif; color: #3a4d54; }
.product-actions > a:last-child:hover { text-decoration: underline; }
.product-detail-hero { display: grid; grid-template-columns: 1.2fr 1fr; align-items: center; gap: 90px; padding: 50px 0 65px; }
.product-detail-hero .product-wordmark { font-size: 30px; display: block; margin: 25px 0 22px; }
.product-detail-hero h1 { font-size: clamp(44px,4.6vw,65px); line-height: 1.08; letter-spacing: -2.5px; }
.product-detail-hero p { color: #3f5159; font-size: 15px; margin-top: 25px; max-width: 540px; }
.product-flow { padding: 32px; border: 1px solid #c5d4da; background: radial-gradient(ellipse at top,#d2dfe4 0%,#f9fbfc 70%); }
.flow-label { font: 9px Arial,sans-serif; letter-spacing: 1.8px; color: #3f5159; padding-bottom: 22px; border-bottom: 1px solid #c6d5db; }
.product-flow > .product-icon { width: 85px; height: 85px; display: block; margin: 32px auto; }
.flow-step { display: flex; gap: 20px; padding: 19px 0; border-top: 1px solid #c6d5db; font: 16px/1.5 Arial,sans-serif; }
.flow-step > span { color: #50626a; font: 10px/2 Arial,sans-serif; }
.product-features { background: #182b32; color: #ebf2f5; padding: 70px 0; }
.product-features .eyebrow::before { background: #1d86a2; }
.feature-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 30px; margin-top: 38px; }
.feature-grid article { border-top: 1px solid #3f5159; padding-top: 23px; }
.feature-grid h3 { font-size: 22px; font-weight: 400; }
.feature-grid p { color: #a0b1b7; font-size: 14px; margin-top: 15px; }
.feature-grid ul { color: #a0b1b7; font-size: 14px; line-height: 1.8; padding-left: 20px; margin: 14px 0 0; }
.feature-grid li { margin-top: 7px; padding-left: 3px; }
.product-feature-group { margin-top: 46px; }
.product-feature-group > h3 { font-size: 26px; font-weight: 500; }
.product-feature-group .feature-grid { margin-top: 24px; }
.feature-grid h4 { font: 400 22px/1.25 Arial,sans-serif; letter-spacing: -.7px; margin: 0; }
.product-return { padding-block: 30px 40px; }
.product-return .text-link { color: var(--accent); }
.product-screenshot { padding: 65px 0; }
.product-screenshot img { width: min(820px,100%); margin: 30px auto 0; }
.product-screenshot figcaption { color: #4c5f66; text-align: center; font-size: 12px; margin-top: 15px; }
.legal-page .content-layout { grid-template-columns: minmax(0,850px) 230px; gap: 65px; }
.news-page .article-content > div > div > div > .article-note { margin-top: 35px; }
.error-page .page-hero { padding-block: 90px; }
@media (max-width:1100px) {
  :root { --header-height: 96px; --header-compact-height: 72px; --logo-width: 84px; --logo-compact-width: 62px; }
  .menu-button { display: block; }
  .site-nav { display: none; position: absolute; top: calc(100% - 8px); left: var(--page-gutter); right: var(--page-gutter); background: #f8fbfc; border: 1px solid #bfced5; padding: 20px; flex-direction: column; align-items: stretch; gap: 0; box-shadow: 0 20px 30px #0004; max-height: calc(100dvh - var(--header-height) - 18px); overflow-y: auto; }
  .site-header.is-compact .site-nav { max-height: calc(100dvh - var(--header-compact-height) - 18px); }
  .site-nav.open { display: flex; }
  .site-nav > a { padding: 15px 0; }
  .site-nav .button { margin: 15px 0 0; }
  .content-layout, .legal-page .content-layout { gap: 38px; grid-template-columns: minmax(0,1fr) 230px; }
  .footer-main { gap: 24px; }
  .footer-nav { gap: 16px; }
  .suite-hero, .product-detail-hero { gap: 40px; }
  .suite-ribbon .product-wordmark { font-size: 19px; }
}
@media (max-width:1050px) {
  :root { --page-gutter: 32px; }
}
@media (max-width:780px) {
  :root { --page-gutter: 20px; --logo-width: 76px; --logo-compact-width: 58px; }
  .signal-top > .wrap { padding-block: 10px; font-size: 8px; letter-spacing: 1.6px; }
  .signal-top > .wrap > span.top-location { font-size: 9px; letter-spacing: .3px; }
  .site-header { gap: 16px; }
  .signal-hero.ai-hero, .content-layout, .legal-page .content-layout, .suite-hero, .product-detail-hero { grid-template-columns: 1fr; }
  .signal-hero.ai-hero { gap: 35px; padding-top: 28px; }
  .ai-hero .signal-copy h1 { font-size: clamp(44px,10.7vw,71px); letter-spacing: -2.8px; }
  .ai-hero .signal-copy h1 em { letter-spacing: -2.8px; }
  .ai-hero .signal-copy > p { font-size: 15px; }
  .signal-caption { font-size: 7px; letter-spacing: 1px; }
  .ai-stages, .feature-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
  .home-ai, .home-products, .product-features { padding: 52px 0; }
  .suite-ribbon { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .suite-ribbon a { padding: 21px 15px; gap: 10px; }
  .suite-ribbon .product-wordmark { font-size: 17px; }
  .site-footer.compact-footer { padding: 28px 0 22px; }
  .footer-main { grid-template-columns: 1fr; gap: 19px; }
  .footer-nav { justify-self: start; gap: 20px; }
  .footer-meta { flex-direction: column; gap: 5px; margin-top: 22px; }
  .page-hero { padding: 35px 0 40px; }
  .page-hero h1 { font-size: clamp(36px,9.2vw,60px); letter-spacing: -2px; }
  .page-hero > p { font-size: 15px; }
  .content-layout { padding: 40px 0 55px; gap: 35px; }
  .article-content { font-size: 15px; }
  .article-content h2 { font-size: 27px; }
  .suite-hero { gap: 28px; padding: 35px 0 40px; }
  .suite-hero h1 { font-size: clamp(43px,10.6vw,65px); letter-spacing: -2px; }
  .suite-hero p { font-size: 15px; }
  .suite-nav { gap: 9px; padding: 20px 0; }
  .suite-nav a { padding: 12px 15px; }
  .product-grid { grid-template-columns: 1fr; gap: 20px; padding: 30px 0 50px; }
  .product-card { padding: 26px; }
  .product-wordmark { font-size: 26px; }
  .product-top { margin-bottom: 22px; }
  .product-detail-hero { padding: 35px 0 45px; gap: 35px; }
  .product-detail-hero h1 { font-size: clamp(38px,9.4vw,58px); letter-spacing: -1.8px; }
  .product-flow { padding: 26px; }
  .signal-cta h2 { font-size: clamp(35px,9vw,55px); letter-spacing: -1.8px; }
}
@media (max-width:420px) {
  .ai-stages, .feature-grid { grid-template-columns: 1fr; }
  .suite-ribbon .product-wordmark { font-size: 15px; letter-spacing: 0; }
  .suite-ribbon a { padding: 20px 11px; }
  .product-actions { align-items: start; gap: 15px; }
  .contact-method-value { font-size: 18px; }
}
@media print {
  .site-header { position: static; }
}

/* Current capability and industry content. */
.solution-hero { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(280px,.85fr); gap: 78px; padding: 50px 0 65px; align-items: start; }
.solution-hero .eyebrow { margin-bottom: 25px; }
.solution-hero h1 { font-size: clamp(44px,4.7vw,68px); line-height: 1.08; letter-spacing: -2.8px; }
.solution-hero h1 em { font: italic 1.04em/1.06 Georgia,serif; color: var(--accent); }
.solution-hero > div > p { color: #3f5159; font-size: 16px; line-height: 1.85; margin-top: 27px; max-width: 670px; }
.scope-panel { background: #f7fafb; border: 1px solid #c6d5db; padding: 28px; margin-top: 7px; }
.scope-label { font: 9px/1.5 Arial,sans-serif; letter-spacing: 1.7px; color: #41545b; }
.scope-panel ol { list-style: none; margin: 22px 0 0; padding: 0; }
.scope-panel li { display: flex; gap: 18px; align-items: baseline; border-top: 1px solid #cddbe1; padding: 16px 0; font: 16px/1.5 Arial,sans-serif; }
.scope-panel li > span { color: #61737a; font: 9px/1.5 Arial,sans-serif; }
.scope-panel > p { color: #4e6068; font: 11px/1.9 Arial,sans-serif; border-top: 1px solid #cddbe1; padding-top: 20px; }
.solution-section { padding: 68px 0 80px; border-top: 1px solid var(--line); }
.solution-section .section-top h2 { max-width: 700px; font-size: 42px; }
.solution-section .section-top > p { font-size: 14px; }
.offer-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 40px; }
.mobile-stack-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.offer-grid article { border-top: 1px solid #c1d1d7; padding: 26px 0; }
.offer-index { display: block; color: #44565e; font: 10px/1.5 Arial,sans-serif; letter-spacing: 1.4px; margin-bottom: 22px; }
.offer-grid h3 { color: #162930; font-size: 26px; font-weight: 400; letter-spacing: -.7px; }
.offer-grid p { color: #43565d; font-size: 15px; line-height: 1.85; margin-top: 18px; }
.offer-grid ul { padding-left: 19px; margin: 18px 0 0; color: #374951; font-size: 13px; line-height: 1.8; }
.offer-grid li { padding-left: 4px; margin-top: 9px; }
.offer-grid li::marker { color: var(--accent); }
.workflow-section { background: #182b32; color: #ebf2f5; padding: 65px 0; }
.workflow-section .eyebrow::before { background: #1d86a2; }
.workflow-section .eyebrow { color: #afbfc6; margin-bottom: 24px; }
.workflow-section h2 { font-size: 42px; }
.workflow-section .section-top p { color: #a2b2b9; }
.workflow-strip { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 30px; list-style: none; margin: 38px 0 0; padding: 0; }
.workflow-strip li { border-top: 1px solid #45575f; padding-top: 20px; }
.workflow-strip li > span { font: 10px/1.5 Arial,sans-serif; color: #308ca7; }
.workflow-strip h3 { font-size: 22px; font-weight: 400; letter-spacing: -.5px; margin-top: 18px; line-height: 1.4; }
.solution-section .workflow-strip li { border-color: #c1d1d7; }
.solution-section .workflow-strip li > span { color: #44565e; }
.modernization-section { display: grid; grid-template-columns: 1fr 1.25fr; gap: 85px; padding: 80px 0; }
.modernization-section .eyebrow { margin-bottom: 24px; }
.modernization-section h2 { font-size: 40px; }
.modernization-section p { font-size: 15px; color: #41535b; line-height: 1.9; }
.modernization-section p + p { margin-top: 20px; }
.modernization-section ul { color: #32454c; font-size: 14px; line-height: 1.8; padding-left: 20px; margin: 22px 0 0; }
.modernization-section li { margin-top: 12px; padding-left: 4px; }
.modernization-section li::marker { color: var(--accent); }
.related-capabilities { padding: 0 0 70px; }
.related-capabilities > .eyebrow { margin-bottom: 25px; }
.related-capabilities > div:last-child { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid var(--line); }
.related-capabilities a { display: flex; justify-content: space-between; align-items: start; gap: 18px; font: 14px/1.7 Arial,sans-serif; color: #2e4048; padding: 22px 25px 22px 0; }
.related-capabilities a:hover { color: var(--accent); text-decoration: underline; text-underline-offset: 4px; }
.related-capabilities a > span { color: var(--accent); }
.overview-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 26px; padding: 45px 0 75px; }
.overview-card { background: #f7fafb; border: 1px solid #cedce1; padding: 32px; display: flex; flex-direction: column; align-items: start; transition: border-color .2s,background .2s; }
.overview-card:hover { border-color: #167993; background: #edf5f7; }
.overview-card h2 { font-size: 29px; line-height: 1.25; letter-spacing: -.8px; }
.overview-card p { color: #44565e; font-size: 14px; margin-top: 20px; }
.stack-tags { display: flex; flex-wrap: wrap; gap: 10px; }
.stack-tags > span { font: 11px/1.5 Arial,sans-serif; color: #374951; border: 1px solid #bfcfd5; padding: 9px 12px; }
.overview-card .stack-tags { margin: 23px 0 28px; }
.overview-card > .text-link { margin-top: auto; color: var(--accent); }
.supporting-skills { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 35px; }
.supporting-skills article { border-top: 1px solid #45575f; padding-top: 23px; }
.supporting-skills h3 { font-size: 24px; font-weight: 400; }
.supporting-skills p { font-size: 14px; color: #a2b2b9; margin-top: 17px; }
.home-stack .stack-tags > span { color: #c4d4da; border-color: #45575f; font-size: 13px; }
.home-stack .text-link { color: #ebf2f5; }
.careers-note { color: #a2b2b9; max-width: 680px; margin-top: 22px; font-size: 15px; }
.careers-note a { color: #ebf2f5; text-decoration: underline; text-underline-offset: 4px; }
.about-page .workflow-section .hero-actions .text-link { color: #ebf2f5; }
.list-return { padding-top: 22px; }
.list-return .text-link { color: var(--accent); font-size: 13px; gap: 12px; }
.list-return-bottom { padding-top: 0; padding-bottom: 45px; }
@media (max-width:1100px) {
  .solution-hero { gap: 40px; grid-template-columns: minmax(0,1.3fr) minmax(250px,.9fr); }
  .solution-hero h1 { font-size: 55px; }
  .scope-panel { padding: 24px; }
  .modernization-section { gap: 45px; }
  .modernization-section h2 { font-size: 35px; }
}
@media (max-width:780px) {
  .solution-hero { grid-template-columns: 1fr; gap: 30px; padding: 35px 0 45px; }
  .solution-hero h1 { font-size: clamp(36px,9.6vw,58px); letter-spacing: -1.8px; }
  .solution-hero > div > p { font-size: 15px; margin-top: 23px; }
  .scope-panel { margin-top: 0; }
  .scope-panel li { font-size: 15px; padding: 14px 0; }
  .solution-section { padding: 45px 0 50px; }
  .solution-section .section-top h2 { font-size: 34px; }
  .offer-grid { grid-template-columns: 1fr; gap: 6px; }
  .offer-grid article { padding: 23px 0; }
  .offer-grid h3 { font-size: 25px; }
  .offer-grid p { font-size: 14px; }
  .workflow-section { padding: 48px 0; }
  .workflow-section h2 { font-size: 34px; }
  .workflow-strip { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 26px; margin-top: 30px; }
  .workflow-strip h3 { font-size: 20px; }
  .modernization-section { grid-template-columns: 1fr; gap: 25px; padding: 50px 0; }
  .modernization-section h2 { font-size: 33px; }
  .modernization-section p { font-size: 14px; }
  .related-capabilities { padding-bottom: 45px; }
  .related-capabilities > div:last-child { grid-template-columns: 1fr; }
  .related-capabilities a { padding: 18px 0; border-bottom: 1px solid var(--line); }
  .overview-grid { grid-template-columns: 1fr; padding: 30px 0 50px; gap: 20px; }
  .overview-card { padding: 25px; }
  .overview-card h2 { font-size: 27px; }
  .supporting-skills { grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width:360px) {
  .workflow-strip { grid-template-columns: 1fr; }
}
