html:has(.solutions-main) { scroll-behavior:smooth; }
.solutions-main .sp-values .semantic-icon { display:block;width:56px;height:56px;color:#0D7A50;margin:0 auto 12px; }
@media(max-width:640px) { .solutions-main .sp-values .semantic-icon { width:44px;height:44px; } }
.solutions-main { color:#19372D; }
.sp-container { width:min(1220px,90%);margin-inline:auto; }
.sp-hero,.sp-closing { background:#0B211B;color:#fff; }
.sp-hero { padding:40px 0; }
.sp-hero a:focus-visible { outline-color:#8FE3BB; }
.sp-hero-layout { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;align-items:center; }
.sp-eyebrow,.sp-chapter-number { font-size:12px;letter-spacing:1.2px;font-weight:600;color:#8FE3BB; }
.sp-eyebrow { margin-bottom:16px; }
.solutions-main h1 { font-family:inherit;font-size:48px;line-height:1.2;font-weight:700;letter-spacing:-1px; }
.sp-lead { margin-top:24px;max-width:540px;color:#C4D7CD;font-size:18px;line-height:1.75; }
.sp-actions { display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:32px; }
.solutions-main .button { min-height:48px;border-radius:5px; }
.sp-text-link { color:#8FE3BB;font-family:Arial,Helvetica,sans-serif;font-size:15px;font-weight:600;text-decoration:underline;text-underline-offset:5px;transition:color .2s; }
.sp-text-link:hover { color:#fff; }
.sp-hero-image { display:block;width:100%;max-width:400px;height:auto;justify-self:center;object-fit:contain; }
.sp-index { border-bottom:1px solid #DCE9E1;background:#fff; }
.sp-index-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding-block:24px; }
.sp-index a { display:flex;flex-direction:column;gap:8px;min-height:48px;padding-inline:24px;border-right:1px solid #DCE9E1;font-size:16px;font-weight:600;color:#19372D;transition:color .2s; }
.sp-index a:first-child { padding-left:0; }.sp-index a:last-child { border-right:0; }
.sp-index a span { color:#0D7A50;font-size:13px; }.sp-index a:hover { color:#0D7A50; }
.sp-chapter { padding:40px 0;border-bottom:1px solid #DCE9E1;scroll-margin-top:var(--sp-anchor-offset,112px);background:#fff; }

.sp-chapter-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px;row-gap:24px;grid-template-areas:"heading image" "source image" "values image";align-items:start; }
.sp-chapter:nth-of-type(odd) .sp-chapter-grid { grid-template-areas:"image heading" "image source" "image values"; }
.sp-chapter-heading { grid-area:heading; }
.sp-chapter-number { display:flex;align-items:center;gap:12px;color:#0D7A50;margin-bottom:12px; }
.sp-chapter-number::after { content:"";width:48px;height:1px;background:#DCE9E1; }
.solutions-main h2 { font-size:34px;line-height:1.25;letter-spacing:-.6px; }
.sp-orientation { margin-top:16px;font-size:16px;font-weight:600;line-height:1.75;color:#19372D; }
.sp-visual { grid-area:image;align-self:center;position:relative;margin:0;overflow:hidden;border:1px solid #DCE9E1;border-radius:6px;aspect-ratio:var(--crop-width)/var(--crop-height);background:transparent; }
.sp-visual img { display:block;position:absolute;max-width:none;width:calc(100% * var(--source-width) / var(--crop-width));height:auto;left:calc(-100% / var(--crop-width));top:calc(-100% / var(--crop-height)); }
#network .sp-visual { --source-width:376;--crop-width:374;--crop-height:220; }
#compute .sp-visual { --source-width:374;--crop-width:372;--crop-height:220; }
#storage .sp-visual { --source-width:375;--crop-width:373;--crop-height:214; }
#security .sp-visual { --source-width:443;--crop-width:441;--crop-height:226; }

.sp-source { grid-area:source; }.sp-source p { font-size:16px;line-height:1.75;color:#5C7068; }.sp-source p+p { margin-top:16px; }
.sp-values { grid-area:values;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none; }
.sp-values li { padding:0;text-align:center;font-size:15px;line-height:1.5;font-weight:500;color:#19372D; }
.sp-values .bi { display:flex;align-items:center;justify-content:center;width:56px;height:56px;color:#0D7A50;font-size:48px;line-height:1;margin:0 auto 12px;font-style:normal; }
.sp-values .bi::before { display:block;line-height:1; }
#security .sp-values { grid-template-columns:repeat(3,minmax(0,1fr)); }

.sp-closing { position:relative;overflow:hidden;padding:48px 0;text-align:center;background:radial-gradient(ellipse at 0 50%,#14372B55,transparent 40%),radial-gradient(ellipse at 100% 50%,#14372B55,transparent 40%),#0B211B; }
.sp-closing::before,.sp-closing::after { content:"";position:absolute;top:0;bottom:0;width:25%;opacity:.3;background-image:radial-gradient(#8FE3BB 1px,transparent 1.5px);background-size:10px 10px;pointer-events:none;border-radius:50%;mask-image:radial-gradient(ellipse at 0 50%,#000 25%,transparent 75%);transform:perspective(360px) rotateY(35deg) rotateZ(-18deg) scale(1.4); }
.sp-closing::before { left:0; }.sp-closing::after { right:0;transform:perspective(360px) rotateY(-35deg) rotateZ(18deg) scale(-1.4,1.4); }
.sp-closing .sp-container { position:relative;z-index:1; }.sp-closing .sp-actions { justify-content:center; }.sp-closing .sp-closing-eyebrow { margin:0 0 16px;color:#C4D7CD;font-size:12px;letter-spacing:2px;font-weight:600; }
.sp-closing h2 { max-width:1000px;margin-inline:auto; }.sp-closing p { margin-top:24px;max-width:800px;margin-inline:auto;color:#C4D7CD;font-size:16px;line-height:1.75; }
@media(min-width:960px) and (max-width:1279px) { .sp-hero-layout,.sp-chapter-grid { column-gap:32px; }.solutions-main h1 { font-size:44px; } }
@media(max-width:959px) { .sp-hero-layout { grid-template-columns:1fr;gap:32px; }.sp-chapter-grid,.sp-chapter:nth-of-type(odd) .sp-chapter-grid { grid-template-columns:1fr;grid-template-areas:"heading" "image" "source" "values";gap:24px; }.sp-hero-image { justify-self:center; }.solutions-main h1 { max-width:720px;font-size:44px; } }
@media(max-width:640px) { .sp-container { width:calc(100% - 48px); }.sp-hero,.sp-chapter,.sp-closing { padding:48px 0; }.solutions-main h1 { font-size:34px;line-height:1.2;letter-spacing:-.8px; }.solutions-main h2 { font-size:28px;line-height:1.3; }.sp-lead,.sp-orientation,.sp-source p,.sp-closing p { font-size:15px;line-height:1.75; }.sp-values { grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px; }.sp-values li { font-size:15px; }.sp-values .bi { width:44px;height:44px;font-size:36px; }.sp-title-break { display:none; }.sp-index-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 0; }.sp-index a { font-size:15px;padding-inline:16px; }.sp-index a:nth-child(3) { padding-left:0; }.sp-index a:nth-child(2) { border-right:0; }.sp-actions { gap:20px;margin-top:24px; }.sp-chapter { scroll-margin-top:var(--sp-anchor-offset,91px); } }
@media(max-width:359px) { .sp-container { width:calc(100% - 40px); } }
@media(prefers-reduced-motion:reduce) { html:has(.solutions-main) { scroll-behavior:auto; } }

@media(max-width:640px) {
 #security .sp-values { grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px; }
 #security .sp-values > li:nth-child(3) { grid-column:1/-1;justify-self:center;width:calc((100% - 16px)/2); }
}

#network .sp-visual img,#storage .sp-visual img { filter:saturate(.9); }
@media(max-width:640px) { .sp-hero-image { max-height:210px;width:auto;max-width:100%;justify-self:center; } }

.sp-hero .sp-eyebrow { margin-bottom:16px;font-size:12px;line-height:1.5;font-weight:600;letter-spacing:.7px;color:#8FE3BB; }
.sp-hero .sp-lead { margin-top:24px;max-width:540px;font-size:18px;line-height:1.75;font-weight:400;color:#C4D7CD; }
@media(max-width:640px) { .sp-hero .sp-lead { font-size:15px; } }

.sp-hero h1 { font-family:inherit;font-size:clamp(36px,3.25vw,48px);font-weight:700;line-height:1.24;letter-spacing:-1.5px; }
.sp-hero .sp-eyebrow { font-size:12px;font-weight:700;line-height:1.8;letter-spacing:1.8px;color:#8FE3BB;margin-bottom:16px; }
.sp-hero .sp-lead { font-size:13px;font-weight:400;line-height:1.7;color:#C4D7CD;margin-top:16px; }
@media(max-width:1100px) { .sp-hero h1 { font-size:36px; } }
@media(max-width:900px) { .sp-hero h1 { font-size:34px; }.sp-hero .sp-lead { font-size:12px; } }
@media(max-width:640px) {
 .sp-hero h1 { font-size:clamp(28px,7.4vw,34px);line-height:1.2;letter-spacing:-.7px; }
 .sp-hero .sp-eyebrow { font-size:10px;font-weight:700;line-height:1.8;letter-spacing:1.1px;margin-bottom:10px; }
}

@media(max-width:640px) { .sp-hero .sp-lead { font-size:15px; } }
