.solution-page { background: #fff; }
.solution-page .site-header { background: rgba(255,255,255,.94); }
.solution-page .nav-link.is-current { color: var(--blue); font-weight: 600; }
.solution-page .nav-link.is-current::after { transform: scaleX(1); }
.solution-page main [id] { scroll-margin-top: 126px; }

.solution-mobile-menu { position: fixed; z-index: 98; top: var(--header-height); right: 0; left: 0; visibility: hidden; display: none; padding: 12px 24px 28px; background: #fff; border-top: 1px solid #e5eaf1; box-shadow: 0 22px 40px rgba(17,49,89,.14); opacity: 0; pointer-events: none; transform: translateY(-8px); transition: opacity .22s, transform .22s, visibility .22s; }
.solution-mobile-menu.is-open { visibility: visible; opacity: 1; pointer-events: auto; transform: translateY(0); }
.solution-mobile-menu a { min-height: 49px; display: flex; align-items: center; color: #31415a; border-bottom: 1px solid #e8ecf2; font-size: 14px; }
.solution-mobile-menu a::after { content: "›"; margin-left: auto; color: #9aa5b5; font-size: 22px; font-weight: 300; }
.solution-mobile-menu a.is-current { color: var(--blue); font-weight: 600; }

.solution-subnav { position: fixed; z-index: 90; top: var(--header-height); right: 0; left: 0; height: 52px; background: rgba(255,255,255,.96); border-bottom: 1px solid #e3e8f1; backdrop-filter: blur(12px); }
.solution-subnav-inner { height: 100%; display: flex; align-items: center; }
.solution-subnav-brand { margin-right: 38px; color: #18263e; font-size: 15px; font-weight: 600; white-space: nowrap; }
.solution-subnav-links { height: 100%; display: flex; align-items: center; gap: 28px; }
.solution-subnav-links a { position: relative; height: 100%; display: flex; align-items: center; color: #5e6b81; font-size: 12px; white-space: nowrap; transition: color .2s; }
.solution-subnav-links a::after { content: ""; position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; background: var(--blue); opacity: 0; transform: scaleX(.4); transition: opacity .2s, transform .2s; }
.solution-subnav-links a:hover,.solution-subnav-links a.is-active { color: var(--blue); }
.solution-subnav-links a.is-active::after { opacity: 1; transform: scaleX(1); }
.solution-subnav-contact { min-width: 82px; height: 32px; display: grid; place-items: center; margin-left: auto; color: #fff; background: var(--blue); font-size: 11px; font-weight: 600; }
.solution-subnav-contact:hover { background: #005bd8; }

.solution-main { padding-top: calc(var(--header-height) + 52px); }
.solution-eyebrow { color: #1a7de4; font-size: 11px; font-weight: 600; letter-spacing: .16em; }
.solution-hero { position: relative; overflow: hidden; padding: 78px 0 0; background: linear-gradient(120deg,#f7fbff 0%,#eef7ff 55%,#e2f2ff 100%); }
.solution-hero::before { content: ""; position: absolute; top: -320px; right: -210px; width: 870px; height: 870px; border: 1px solid rgba(31,132,221,.12); border-radius: 50%; box-shadow: 0 0 0 100px rgba(255,255,255,.15),0 0 0 200px rgba(45,151,235,.035); }
.solution-hero-main { position: relative; z-index: 1; min-height: 470px; display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 55px; }
.solution-hero-copy { padding-bottom: 44px; }
.solution-hero-copy h1 { margin: 10px 0 20px; color: #101d35; font-size: clamp(44px,5vw,68px); font-weight: 500; line-height: 1.18; letter-spacing: -.05em; }
.solution-hero-copy > p { max-width: 660px; margin: 0; color: #52627c; font-size: 16px; line-height: 1.9; }
.solution-hero-actions { display: flex; gap: 14px; margin-top: 30px; }
.solution-hero-assurances { display: flex; gap: 0; margin: 43px 0 0; padding: 0; list-style: none; }
.solution-hero-assurances li { min-width: 125px; padding-right: 34px; border-right: 1px solid rgba(83,119,163,.24); }
.solution-hero-assurances li + li { padding-left: 34px; }
.solution-hero-assurances li:last-child { border-right: 0; }
.solution-hero-assurances strong,.solution-hero-assurances span { display: block; }
.solution-hero-assurances strong { color: #173b67; font-family: Arial,sans-serif; font-size: 25px; font-weight: 600; }
.solution-hero-assurances span { margin-top: 2px; color: #748198; font-size: 10px; }

.solution-hero-architecture { position: relative; height: 420px; overflow: hidden; }
.solution-architecture-grid { position: absolute; inset: 4%; background-image: linear-gradient(rgba(41,122,195,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(41,122,195,.1) 1px,transparent 1px); background-size: 38px 38px; mask-image: radial-gradient(ellipse,#000 12%,transparent 72%); }
.solution-hero-architecture > svg { position: absolute; inset: 0; width: 100%; height: 100%; fill: none; stroke: rgba(38,126,206,.24); stroke-dasharray: 5 6; stroke-width: 1.2; }
.solution-architecture-core { position: absolute; z-index: 3; top: 50%; left: 50%; width: 170px; height: 110px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #fff; background: linear-gradient(135deg,#086dd5,#149de7); border: 1px solid rgba(255,255,255,.8); box-shadow: 0 22px 48px rgba(21,101,181,.22); transform: translate(-50%,-50%); }
.solution-architecture-core span { color: #cdeaff; font-size: 10px; }
.solution-architecture-core strong { margin-top: 6px; font-size: 21px; font-weight: 500; }
.solution-architecture-node { position: absolute; z-index: 4; min-width: 118px; height: 48px; display: flex; align-items: center; gap: 10px; padding: 0 13px; color: #33506e; background: rgba(255,255,255,.94); border: 1px solid #d6e6f5; box-shadow: 0 10px 25px rgba(30,87,142,.12); font-size: 11px; }
.solution-architecture-node i { width: 21px; height: 21px; display: block; background: #e8f4ff; border: 1px solid #83c3f4; }
.solution-architecture-node--compute { top: 66px; left: 62px; }.solution-architecture-node--network { top: 56px; right: 45px; }.solution-architecture-node--data { bottom: 58px; left: 48px; }.solution-architecture-node--security { right: 55px; bottom: 50px; }

.solution-fast-grid { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(4,1fr); background: #fff; border-top: 1px solid #dfe7f0; border-left: 1px solid #dfe7f0; box-shadow: 0 16px 38px rgba(21,66,115,.08); transform: translateY(1px); }
.solution-fast-grid a { position: relative; min-height: 158px; padding: 24px 44px 22px 25px; border-right: 1px solid #dfe7f0; border-bottom: 1px solid #dfe7f0; transition: background .2s, transform .2s; }
.solution-fast-grid a:hover { z-index: 2; background: #f8fbff; transform: translateY(-3px); }
.solution-fast-grid span { color: #1985e8; font-family: Arial,sans-serif; font-size: 10px; }
.solution-fast-grid strong { display: block; margin: 8px 0 7px; color: #243550; font-size: 17px; font-weight: 600; }
.solution-fast-grid p { margin: 0; color: #78859a; font-size: 11px; line-height: 1.75; }
.solution-fast-grid i { position: absolute; top: 27px; right: 22px; color: #90a0b5; font-style: normal; transition: color .2s, transform .2s; }
.solution-fast-grid a:hover i { color: var(--blue); transform: translateX(3px); }

.solution-section { padding: 104px 0; }
.solution-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 55px; margin-bottom: 43px; }
.solution-heading > div > span,.solution-heading > span { display: block; margin-bottom: 8px; color: #78879c; font-size: 11px; letter-spacing: .1em; }
.solution-heading h2 { margin: 0; color: #152239; font-size: clamp(30px,3vw,42px); font-weight: 500; line-height: 1.35; letter-spacing: -.035em; }
.solution-heading > p { max-width: 520px; margin: 0 0 5px; color: #65738a; font-size: 14px; line-height: 1.8; }
.solution-heading--center { display: block; text-align: center; }
.solution-heading--center > p { max-width: 680px; margin: 12px auto 0; }

.solution-industry-section { background: #fff; }
.solution-category-layout { display: grid; grid-template-columns: 270px minmax(0,1fr); border: 1px solid #dfe6ef; }
.solution-category-tabs { background: #f4f7fb; border-right: 1px solid #dfe6ef; }
.solution-category-tabs button { position: relative; width: 100%; min-height: 82px; display: grid; grid-template-columns: 32px 1fr; grid-template-rows: auto auto; align-content: center; padding: 12px 20px; color: #3c4d66; background: transparent; border: 0; border-bottom: 1px solid #e2e8f0; text-align: left; cursor: pointer; transition: color .2s, background .2s; }
.solution-category-tabs button::before { content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 3px; background: var(--blue); opacity: 0; }
.solution-category-tabs button span { grid-row: 1/3; align-self: center; color: #9ba6b6; font-family: Arial,sans-serif; font-size: 10px; }
.solution-category-tabs button strong { font-size: 14px; font-weight: 600; }
.solution-category-tabs button small { margin-top: 3px; color: #8995a7; font-size: 9px; }
.solution-category-tabs button:hover,.solution-category-tabs button:focus-visible { color: var(--blue); outline: 0; }
.solution-category-tabs button.is-active { color: var(--blue); background: #fff; }
.solution-category-tabs button.is-active::before { opacity: 1; }
.solution-detail-panel { --solution-accent:#1479df; --solution-soft:#eaf5ff; min-height: 492px; display: grid; grid-template-columns: 1.04fr .96fr; background: #fff; }
.solution-detail-panel[data-tone="retail"] { --solution-accent:#167bd1; --solution-soft:#eef7ff; }.solution-detail-panel[data-tone="manufacturing"] { --solution-accent:#107f9e; --solution-soft:#eaf7f8; }.solution-detail-panel[data-tone="media"] { --solution-accent:#2671ca; --solution-soft:#edf4ff; }.solution-detail-panel[data-tone="game"] { --solution-accent:#365fb8; --solution-soft:#f0f3ff; }.solution-detail-panel[data-tone="government"] { --solution-accent:#3d6d9e; --solution-soft:#eef4f8; }
.solution-detail-copy { display: flex; flex-direction: column; justify-content: center; padding: 48px 48px 45px; }
.solution-detail-label { color: var(--solution-accent); font-size: 11px; font-weight: 600; letter-spacing: .08em; }
.solution-detail-copy h3 { margin: 11px 0 14px; color: #17253d; font-size: 30px; font-weight: 500; line-height: 1.4; }
.solution-detail-copy > p { max-width: 620px; margin: 0; color: #64738a; font-size: 13px; line-height: 1.85; }
.solution-detail-copy ul { display: grid; gap: 10px; margin: 24px 0 29px; padding: 0; list-style: none; }
.solution-detail-copy li { position: relative; padding-left: 19px; color: #43536b; font-size: 12px; }
.solution-detail-copy li::before { content: ""; position: absolute; top: 8px; left: 0; width: 6px; height: 3px; border-bottom: 1px solid var(--solution-accent); border-left: 1px solid var(--solution-accent); transform: rotate(-45deg); }
.solution-detail-actions { display: flex; gap: 12px; }
.solution-detail-actions button { cursor: pointer; }
.solution-detail-visual { position: relative; overflow: hidden; margin: 34px 34px 34px 0; padding: 64px 28px 28px; background: linear-gradient(145deg,#f7fbff,var(--solution-soft)); border: 1px solid #dce8f4; }
.solution-detail-visual::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(65,130,190,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(65,130,190,.07) 1px,transparent 1px); background-size: 28px 28px; mask-image: linear-gradient(150deg,#000,transparent 78%); }
.solution-visual-title { position: absolute; z-index: 2; top: 19px; right: 22px; left: 22px; display: flex; justify-content: space-between; padding-bottom: 12px; border-bottom: 1px solid #dce5ef; }
.solution-visual-title span { color: #31445e; font-size: 11px; font-weight: 600; }.solution-visual-title i { color: #668aa8; font-size: 8px; font-style: normal; }
.solution-visual-layer { position: relative; z-index: 2; min-height: 75px; display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 15px; padding: 15px; background: rgba(255,255,255,.84); border: 1px solid #dbe6f0; box-shadow: 0 9px 20px rgba(35,82,128,.06); }
.solution-visual-layer > span { width: 70px; color: #8190a4; font-size: 9px; }
.solution-visual-layer b,.solution-visual-layer i { flex: 1; height: 32px; display: grid; place-items: center; color: #466077; background: #f0f6fb; border: 1px solid #e0e8f0; font-size: 9px; font-style: normal; font-weight: 500; }
.solution-visual-layer--access i { max-width: 70px; height: 7px; background: var(--solution-accent); border: 0; opacity: .55; }
.solution-visual-layer--service { border-left: 2px solid var(--solution-accent); }
.solution-visual-layer--base b { color: var(--solution-accent); background: var(--solution-soft); }

.solution-general-section { background: #f4f7fb; }
.solution-general-tabs { display: grid; grid-template-columns: repeat(6,1fr); margin-bottom: 18px; background: #fff; border: 1px solid #dfe6ef; }
.solution-general-tabs button { position: relative; height: 60px; color: #5e6d83; background: transparent; border: 0; border-right: 1px solid #e5eaf1; cursor: pointer; transition: color .2s, background .2s; }
.solution-general-tabs button:last-child { border-right: 0; }
.solution-general-tabs button::after { content: ""; position: absolute; right: 24px; bottom: -1px; left: 24px; height: 2px; background: var(--blue); opacity: 0; }
.solution-general-tabs button:hover,.solution-general-tabs button:focus-visible,.solution-general-tabs button.is-active { color: var(--blue); outline: 0; }
.solution-general-tabs button.is-active { background: #f8fbff; font-weight: 600; }
.solution-general-tabs button.is-active::after { opacity: 1; }
.solution-general-panel { --general-accent:#1277dd; min-height: 446px; display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; background: #fff; border: 1px solid #dfe6ef; }
.solution-general-panel[data-tone="continuity"] { --general-accent:#376db6; }.solution-general-panel[data-tone="global"] { --general-accent:#087fa7; }.solution-general-panel[data-tone="security"] { --general-accent:#2f6da3; }.solution-general-panel[data-tone="cloudnative"] { --general-accent:#176fae; }.solution-general-panel[data-tone="data"] { --general-accent:#2268a8; }
.solution-general-copy { display: flex; flex-direction: column; justify-content: center; padding: 46px 52px; }
.solution-general-copy > span { color: var(--general-accent); font-size: 11px; font-weight: 600; letter-spacing: .08em; }
.solution-general-copy h3 { margin: 11px 0 14px; color: #17253d; font-size: 29px; font-weight: 500; line-height: 1.4; }
.solution-general-copy > p { margin: 0; color: #64738a; font-size: 13px; line-height: 1.85; }
.solution-general-values { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin: 27px 0 28px; }
.solution-general-values div { min-height: 72px; padding: 13px 12px; background: #f6f9fc; border: 1px solid #e5eaf1; }
.solution-general-values strong,.solution-general-values small { display: block; }.solution-general-values strong { color: #31435d; font-size: 11px; }.solution-general-values small { margin-top: 5px; color: #8793a5; font-size: 9px; line-height: 1.6; }
.solution-general-flow { position: relative; min-width: 0; display: grid; grid-template-columns: 1fr 145px 1fr; align-items: center; padding: 45px 38px; background: linear-gradient(140deg,#f5faff,#e7f3ff); }
.solution-general-flow::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(47,122,185,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(47,122,185,.07) 1px,transparent 1px); background-size: 32px 32px; mask-image: radial-gradient(ellipse,#000,transparent 74%); }
.solution-flow-stage { position: relative; z-index: 2; min-height: 190px; display: flex; flex-direction: column; gap: 11px; padding: 22px; background: rgba(255,255,255,.9); border: 1px solid #d8e5f0; box-shadow: 0 14px 32px rgba(29,81,131,.08); }
.solution-flow-stage > span { padding-bottom: 11px; color: #354a65; border-bottom: 1px solid #e2e8ef; font-size: 12px; font-weight: 600; }
.solution-flow-stage i { height: 43px; display: grid; place-items: center; color: #68788d; background: #f2f6fa; border: 1px solid #e6ebf1; font-size: 10px; font-style: normal; }
.solution-flow-stage--target { border-top: 3px solid var(--general-accent); }
.solution-flow-arrow { position: relative; z-index: 2; text-align: center; }
.solution-flow-arrow b { position: relative; display: block; height: 1px; margin: 0 16px 15px; background: var(--general-accent); }
.solution-flow-arrow b::after { content: ""; position: absolute; top: -4px; right: 0; width: 8px; height: 8px; border-top: 1px solid var(--general-accent); border-right: 1px solid var(--general-accent); transform: rotate(45deg); }
.solution-flow-arrow span { color: #718196; font-size: 8px; }

.solution-practice-section { background: #fff; }
.solution-practice-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid #dfe6ef; border-left: 1px solid #dfe6ef; }
.solution-practice-grid article { min-height: 330px; display: flex; flex-direction: column; padding: 27px 25px 24px; border-right: 1px solid #dfe6ef; border-bottom: 1px solid #dfe6ef; transition: border-color .25s, box-shadow .25s, transform .25s; }
.solution-practice-grid article:hover { z-index: 2; border-color: #a8cef6; box-shadow: 0 16px 38px rgba(28,74,123,.1); transform: translateY(-4px); }
.solution-practice-grid article > span { color: var(--blue); font-size: 10px; font-weight: 600; }
.solution-practice-grid h3 { margin: 12px 0 11px; color: #23334d; font-size: 19px; font-weight: 500; line-height: 1.45; }
.solution-practice-grid p { margin: 0; color: #728096; font-size: 12px; line-height: 1.8; }
.solution-practice-grid ul { display: flex; flex-wrap: wrap; gap: 7px; margin: 19px 0 24px; padding: 0; list-style: none; }
.solution-practice-grid li { padding: 4px 8px; color: #68798f; background: #f3f7fb; font-size: 9px; }
.solution-practice-grid button { width: max-content; margin-top: auto; padding: 0; color: #276da8; background: transparent; border: 0; font-size: 11px; cursor: pointer; }
.solution-practice-grid button:hover { color: var(--blue); }

.solution-cases-section { background: #f4f7fb; }
.solution-case-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.solution-case-grid article { min-height: 305px; display: flex; flex-direction: column; padding: 27px 27px 24px; background: #fff; border: 1px solid #dfe6ef; transition: border-color .25s, box-shadow .25s, transform .25s; }
.solution-case-grid article:hover { border-color: #a9cff8; box-shadow: 0 15px 36px rgba(27,74,124,.09); transform: translateY(-4px); }
.solution-case-head { display: flex; align-items: center; justify-content: space-between; padding-bottom: 19px; border-bottom: 1px solid #e5eaf1; }
.solution-case-head span { color: var(--blue); font-size: 10px; }.solution-case-head strong { color: #738095; font-size: 10px; font-weight: 500; }
.solution-case-grid h3 { margin: 23px 0 10px; color: #25354e; font-size: 20px; font-weight: 500; }
.solution-case-grid p { margin: 0; color: #718096; font-size: 12px; line-height: 1.8; }
.solution-case-grid dl { display: grid; grid-template-columns: 1fr 1fr; margin: auto 0 0; padding-top: 20px; border-top: 1px solid #e6ebf1; }
.solution-case-grid dl div + div { padding-left: 20px; border-left: 1px solid #e6ebf1; }
.solution-case-grid dt { color: #8995a7; font-size: 9px; }.solution-case-grid dd { margin: 3px 0 0; color: #214f80; font-size: 16px; font-weight: 600; }

.solution-contact-section { position: relative; overflow: hidden; padding: 85px 0; color: #fff; background: linear-gradient(110deg,#0a4d98,#0877cd); }
.solution-contact-section::before { content: ""; position: absolute; top: -340px; right: -220px; width: 760px; height: 760px; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; box-shadow: 0 0 0 90px rgba(255,255,255,.025),0 0 0 180px rgba(255,255,255,.025); }
.solution-contact-layout { position: relative; z-index: 2; display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 90px; }
.solution-contact-copy > span { color: #9dd9ff; font-size: 11px; letter-spacing: .12em; }
.solution-contact-copy h2 { margin: 12px 0 17px; font-size: 37px; font-weight: 500; line-height: 1.4; }
.solution-contact-copy > p { max-width: 560px; margin: 0; color: #c9e6fb; font-size: 13px; line-height: 1.9; }
.solution-contact-copy ul { display: grid; gap: 11px; margin: 27px 0 0; padding: 0; list-style: none; }
.solution-contact-copy li { position: relative; padding-left: 20px; color: #e3f4ff; font-size: 12px; }
.solution-contact-copy li::before { content: "✓"; position: absolute; left: 0; color: #7dd2ff; }
.solution-contact-form { padding: 30px 32px; color: #26354c; background: #fff; box-shadow: 0 25px 65px rgba(4,39,82,.24); }
.solution-contact-form h3 { margin: 0; font-size: 23px; font-weight: 500; }.solution-contact-form > p { margin: 5px 0 23px; color: #7a8799; font-size: 11px; }
.solution-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.solution-contact-form label { display: block; }.solution-contact-form label > span { display: block; margin-bottom: 6px; color: #57667c; font-size: 10px; }
.solution-contact-form input,.solution-contact-form select,.solution-contact-form textarea { width: 100%; color: #26354c; background: #f7f9fc; border: 1px solid #dce3ec; outline: 0; font: inherit; transition: border-color .2s, box-shadow .2s; }
.solution-contact-form input,.solution-contact-form select { height: 42px; padding: 0 12px; }.solution-contact-form textarea { resize: vertical; min-height: 82px; padding: 10px 12px; }
.solution-contact-form input:focus,.solution-contact-form select:focus,.solution-contact-form textarea:focus { border-color: #6db5f3; box-shadow: 0 0 0 3px rgba(0,110,255,.07); }
.solution-form-requirement { margin-top: 14px; }
.solution-contact-form .button { margin-top: 19px; cursor: pointer; }
.solution-contact-form > small { display: block; margin-top: 10px; color: #9aa4b2; font-size: 8px; }

.solution-toast { position: fixed; z-index: 300; bottom: 35px; left: 50%; min-width: 220px; padding: 11px 18px; color: #fff; background: rgba(13,28,50,.94); box-shadow: 0 12px 34px rgba(0,0,0,.22); text-align: center; opacity: 0; pointer-events: none; transform: translate(-50%,15px); transition: opacity .25s, transform .25s; }
.solution-toast.is-visible { opacity: 1; transform: translate(-50%,0); }
.solution-reveal { opacity: 0; transform: translateY(23px); transition: opacity .65s var(--ease), transform .65s var(--ease); }
.solution-reveal.is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 1260px) {
  .solution-subnav-links { gap: 21px; }
  .solution-hero-main { gap: 28px; }
  .solution-detail-copy { padding-right: 34px; padding-left: 34px; }
  .solution-general-copy { padding-right: 38px; padding-left: 38px; }
  .solution-general-flow { grid-template-columns: 1fr 110px 1fr; padding-right: 27px; padding-left: 27px; }
}

@media (max-width: 1050px) {
  .solution-mobile-menu { display: block; }
  .solution-subnav-brand { margin-right: 24px; }
  .solution-subnav-links { gap: 18px; overflow-x: auto; scrollbar-width: none; }.solution-subnav-links::-webkit-scrollbar { display: none; }
  .solution-hero { padding-top: 62px; }
  .solution-hero-main { grid-template-columns: 1fr; }
  .solution-hero-copy { max-width: 760px; padding-bottom: 0; }
  .solution-hero-architecture { height: 370px; }
  .solution-fast-grid { grid-template-columns: repeat(2,1fr); }
  .solution-category-layout { grid-template-columns: 220px minmax(0,1fr); }
  .solution-category-tabs button { padding-right: 13px; padding-left: 15px; }
  .solution-detail-panel { grid-template-columns: 1fr; }
  .solution-detail-visual { height: 360px; margin: 0 30px 30px; }
  .solution-general-panel { grid-template-columns: 1fr; }
  .solution-general-flow { min-height: 360px; }
  .solution-practice-grid { grid-template-columns: repeat(2,1fr); }
  .solution-case-grid { grid-template-columns: repeat(2,1fr); }.solution-case-grid article:last-child { grid-column: 1/-1; }
  .solution-contact-layout { grid-template-columns: 1fr; gap: 45px; }.solution-contact-copy { max-width: 700px; }
}

@media (max-width: 720px) {
  .solution-page main [id] { scroll-margin-top: 112px; }
  .solution-mobile-menu { top: 58px; max-height: calc(100vh - 58px); overflow-y: auto; }
  .solution-subnav { top: 58px; height: 48px; }
  .solution-subnav-inner { width: 100%; padding: 0 16px; }
  .solution-subnav-brand,.solution-subnav-contact { display: none; }
  .solution-subnav-links { width: 100%; gap: 24px; }
  .solution-subnav-links a { flex: 0 0 auto; }
  .solution-main { padding-top: 106px; }
  .solution-hero { padding-top: 50px; }
  .solution-hero-main { min-height: auto; }
  .solution-hero-copy { text-align: center; }
  .solution-hero-copy h1 { margin-top: 7px; font-size: 40px; }
  .solution-hero-copy > p { font-size: 13px; }
  .solution-hero-actions { justify-content: center; }
  .solution-hero-assurances { justify-content: center; margin-top: 33px; }
  .solution-hero-assurances li { min-width: 0; flex: 1; padding-right: 15px; }.solution-hero-assurances li + li { padding-left: 15px; }
  .solution-hero-assurances strong { font-size: 21px; }
  .solution-hero-architecture { height: 310px; margin: 15px -8px 0; }
  .solution-architecture-core { width: 140px; height: 90px; }.solution-architecture-core strong { font-size: 17px; }
  .solution-architecture-node { min-width: 93px; height: 40px; padding: 0 9px; font-size: 9px; }.solution-architecture-node i { width: 16px; height: 16px; }
  .solution-architecture-node--compute { top: 43px; left: 5px; }.solution-architecture-node--network { top: 38px; right: 3px; }.solution-architecture-node--data { bottom: 35px; left: 1px; }.solution-architecture-node--security { right: 4px; bottom: 31px; }
  .solution-fast-grid { grid-template-columns: 1fr; margin-top: 5px; }.solution-fast-grid a { min-height: 125px; }
  .solution-section { padding: 68px 0; }
  .solution-heading,.solution-heading--center { display: block; margin-bottom: 28px; text-align: left; }.solution-heading h2 { font-size: 29px; }.solution-heading > p,.solution-heading--center > p { margin: 10px 0 0; font-size: 12px; }
  .solution-category-layout { display: block; border: 0; }
  .solution-category-tabs { display: flex; overflow-x: auto; margin: 0 -16px 13px; padding: 0 16px; background: transparent; border: 0; scrollbar-width: none; }.solution-category-tabs::-webkit-scrollbar { display: none; }
  .solution-category-tabs button { min-width: 158px; min-height: 72px; flex: 0 0 auto; margin-right: 8px; padding: 10px 13px; background: #f5f8fc; border: 1px solid #e1e7ef; }.solution-category-tabs button.is-active { border-color: #8fc2f2; }.solution-category-tabs button::before { top: auto; right: 12px; bottom: -1px; left: 12px; width: auto; height: 2px; }
  .solution-detail-panel { min-height: 0; border: 1px solid #dfe6ef; }
  .solution-detail-copy { padding: 28px 23px; }.solution-detail-copy h3 { font-size: 24px; }.solution-detail-actions { flex-direction: column; }.solution-detail-actions .button { width: 100%; }
  .solution-detail-visual { height: 300px; margin: 0 12px 12px; padding-right: 13px; padding-left: 13px; }.solution-visual-layer { gap: 5px; padding: 10px 7px; }.solution-visual-layer > span { width: 55px; }.solution-visual-layer b { font-size: 8px; }
  .solution-general-tabs { display: flex; overflow-x: auto; margin-right: -16px; margin-left: -16px; padding: 0 16px; background: transparent; border: 0; scrollbar-width: none; }.solution-general-tabs::-webkit-scrollbar { display: none; }.solution-general-tabs button { min-width: 112px; flex: 0 0 auto; background: #fff; border-top: 1px solid #dfe6ef; border-bottom: 1px solid #dfe6ef; }
  .solution-general-copy { padding: 29px 23px; }.solution-general-copy h3 { font-size: 24px; }.solution-general-values { grid-template-columns: 1fr; }.solution-general-values div { min-height: 0; }
  .solution-general-flow { min-height: 300px; grid-template-columns: 1fr 64px 1fr; padding: 28px 12px; }.solution-flow-stage { min-height: 170px; padding: 12px; }.solution-flow-arrow span { display: none; }.solution-flow-arrow b { margin-right: 7px; margin-left: 7px; }
  .solution-practice-grid { grid-template-columns: 1fr; }.solution-practice-grid article { min-height: 280px; }
  .solution-case-grid { grid-template-columns: 1fr; }.solution-case-grid article:last-child { grid-column: auto; }
  .solution-contact-section { padding: 68px 0; }.solution-contact-copy h2 { font-size: 29px; }.solution-contact-form { padding: 24px 20px; }.solution-form-grid { grid-template-columns: 1fr; }
  .solution-toast { right: 18px; bottom: 22px; left: 18px; min-width: 0; transform: translateY(15px); }.solution-toast.is-visible { transform: translateY(0); }
}

@media (max-width: 430px) {
  .solution-hero-actions { flex-direction: column; }.solution-hero-actions .button { width: 100%; }
  .solution-hero-copy h1 { font-size: 37px; }
  .solution-hero-architecture { height: 285px; }
  .solution-contact-form .button { width: 100%; }
}
