/* A consistent visual language for service diagrams and existing feature content. */
.sales-story{--story:#2678bd}.sales-private,.sales-colo,.sales-hardware{--story:#b99039}
.sales-moments .moment-pictogram{display:grid;place-items:center;align-self:start;width:50px;height:50px;background:#e1edf8;border:1px solid #b2cce2;border-radius:12px;color:#1e65a4}
.moment-pictogram .visual-icon{width:28px;height:28px}
.advantage-grid>.advantage:not(.feature-card){overflow:hidden;isolation:isolate}
.advantage-grid>.advantage:not(.feature-card)::after{content:"";position:absolute;z-index:-1;right:-58px;top:-64px;width:150px;height:150px;border:1px solid rgba(63,143,201,.13);border-radius:50%;box-shadow:0 0 0 22px rgba(63,143,201,.035),0 0 0 44px rgba(63,143,201,.025)}
.advantage-visual{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:58px}
.advantage-visual-icon{display:grid;place-items:center;width:54px;height:54px;flex:none;border:1px solid #355c7e;border-radius:11px;background:linear-gradient(145deg,#173651,#0c2235);color:#86cef6;box-shadow:inset 0 1px rgba(255,255,255,.05)}
.advantage-visual-icon svg{display:block}
.advantage-visual-stat{display:grid;justify-items:end;gap:3px;min-width:0;text-align:right}
.advantage-visual-stat strong{color:#f0c76d;font:600 clamp(18px,1.7vw,25px)/1 'Space Grotesk',sans-serif;letter-spacing:-.025em}
.advantage-visual-stat small{color:#7f9aad;font-size:9px;font-weight:800;letter-spacing:.13em;line-height:1.25}
.advantage-grid>.advantage:not(.feature-card) h3{margin:27px 0 12px}
@media(max-width:500px){.advantage-visual-stat strong{font-size:22px}.advantage-visual-stat small{font-size:8px}}
.feature-pictogram{display:grid!important;place-items:center;width:52px!important;height:52px!important;border-radius:12px!important;background:#19334d!important;border:1px solid #3c658b;color:#8bc8ff!important;margin:0 0 20px;font-size:inherit!important}
.feature-pictogram>.visual-icon{width:28px;height:28px;flex:none}
.illustrated-feature>h3{margin-top:0!important}
.use-grid .feature-pictogram,.cloud-use-spectrum .feature-pictogram{background:#edf4fd!important;border-color:#b6d0e7;color:#225f98!important}
.openstack-capabilities .illustrated-feature>span:not(.feature-pictogram){display:block;margin-bottom:12px}
.company-principles .feature-pictogram{margin-bottom:24px}
.visual-section{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 95% 15%,#21497333,transparent 55%),#0b1826!important}
.visual-section:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.32;background-image:linear-gradient(#699bc612 1px,transparent 1px),linear-gradient(90deg,#699bc612 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(90deg,transparent 30%,#000)}
.visual-section-heading h2{max-width:1080px;margin-bottom:38px}
.visual-section-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,1.05fr);gap:64px;align-items:start}
.visual-section-copy{min-width:0}
.visual-section-copy>.section-lead{margin:0 0 28px}
.visual-section-copy .editorial-columns,.visual-section-copy .benefit-grid{display:grid!important;grid-template-columns:1fr!important;gap:0!important;margin:0}
.visual-section-copy .illustrated-feature{display:grid;grid-template-columns:52px minmax(0,1fr);column-gap:20px;padding:24px 0!important;border-top:1px solid #36516a!important}
.visual-section-copy .illustrated-feature:first-child{border-top:0!important;padding-top:0!important}
.visual-section-copy .feature-pictogram{grid-column:1;grid-row:1/4;margin:0}
.visual-section-copy .illustrated-feature>h3,.visual-section-copy .illustrated-feature>p{grid-column:2}
.visual-section-copy .illustrated-feature>h3{margin-bottom:9px}
.visual-section-copy .illustrated-feature>p{font-size:16px;margin:0;line-height:1.75}
.service-diagram{margin:0;border:1px solid #355e83;border-radius:16px;background:radial-gradient(ellipse at 95% 5%,#27628c33,transparent 62%),#10283f;color:#fff;overflow:hidden;box-shadow:0 24px 60px #030c1633;position:relative}
.service-diagram>figcaption{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 26px;border-bottom:1px solid #35516b;background:#163650}
.diagram-kicker{font:600 18px/1.4 'Space Grotesk',sans-serif;color:#fff}
.service-diagram>figcaption>.visual-icon{color:#dab66a;width:24px;height:24px;flex:none}
.diagram-body{padding:26px}
.diagram-node{display:flex;align-items:center;gap:14px;padding:17px;border:1px solid #476a89;border-radius:10px;background:#142f48;min-width:0;position:relative}
.diagram-node>.visual-icon{width:30px;height:30px;flex:0 0 30px;color:#91caff}
.diagram-node>div{min-width:0}
.diagram-node strong{display:block;font:600 17px/1.35 'Space Grotesk',sans-serif;color:#fff}
.diagram-node span{display:block;font:400 14px/1.5 Manrope,sans-serif;color:#bed1e1;margin-top:4px}
.diagram-primary{background:linear-gradient(120deg,#23588a,#174771);border-color:#6ca8d9;box-shadow:0 9px 24px #07152444}
.diagram-primary>.visual-icon{color:#f0cd7f;width:36px;height:36px;flex-basis:36px}
.diagram-primary strong{font-size:21px}
.diagram-alert{border-style:dashed;border-color:#ab915d;background:#26323e}
.diagram-alert>.visual-icon,.diagram-blocked>.visual-icon{color:#e2be71}
.diagram-connector{display:flex;justify-content:center;align-items:center;gap:10px;min-height:48px;color:#79b5e4}
.diagram-connector>.visual-icon{height:30px;width:24px}
.diagram-connector>span{font-size:13px;line-height:1.4;color:#bfcede}
.diagram-pair,.diagram-outcomes{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.diagram-pair .diagram-node{align-items:flex-start;padding:15px;flex-direction:column;gap:12px}
.diagram-outcomes .diagram-node{flex-direction:column;align-items:flex-start;gap:12px;min-height:135px}
.diagram-outcomes .diagram-node strong{font-size:16px}
.diagram-blocked{background:#192d3e;border-style:dashed;border-color:#7e795f}
.service-diagram .diagram-footnote{margin:0!important;border-top:1px solid #35516b;padding:18px 26px;color:#b8cadb;font-size:13px;line-height:1.65;background:#0c2033}
.diagram-path-title{display:block;color:#e3c47f;font-size:14px;font-weight:700;margin-bottom:14px}
.transit-path .diagram-node{padding:14px 18px}
.transit-path .diagram-connector{min-height:38px}
.transit-direct{margin-top:24px;padding-top:22px;border-top:1px solid #45617a}
.transit-direct>div{display:grid;grid-template-columns:1fr 28px 1fr;align-items:center;gap:10px}
.transit-direct .diagram-node{flex-direction:column;align-items:flex-start;padding:13px;gap:10px}
.transit-direct .diagram-node strong{font-size:15px}
.direct-arrow{color:#7cb7e5;width:24px;height:24px}
.diagram-sources{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.diagram-sources>span{display:flex;flex-direction:column;gap:12px;align-items:center;background:#142f48;border:1px solid #476a89;border-radius:9px;padding:18px 10px;font-size:15px;color:#e0eaf4}
.diagram-sources .visual-icon{width:30px;height:30px;color:#9bcffd}
.ml-components{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ml-components .diagram-node{flex-direction:column;align-items:flex-start;padding:16px 12px;gap:14px}
.ml-components .diagram-node strong{font-size:16px}.ml-components .diagram-node span{font-size:13px}
.diagram-architecture-line{height:28px;width:1px;background:#709bbd;margin:auto}
.diagram-foundation{border-color:#a28951;background:#28343e}
.diagram-foundation>.visual-icon{color:#e5c477}
.facility-story-photo{margin:0;border-radius:14px;overflow:hidden;border:1px solid #3b5c78;background:#122c43;position:relative}
.facility-story-photo>img{display:block;width:100%;height:auto;aspect-ratio:1.12;object-fit:cover}
.facility-story-photo figcaption{padding:24px;display:flex;flex-direction:column;gap:9px;background:linear-gradient(100deg,#173754,#102840)}
.facility-story-photo figcaption>span{color:#e0bf77;font-size:12px;font-weight:700;letter-spacing:.12em}
.facility-story-photo figcaption>strong{color:#fff;font:500 20px/1.4 'Space Grotesk',sans-serif}
.company-story .facility-story-photo{margin-top:28px;max-width:440px}
.company-story .facility-story-photo>img{aspect-ratio:1.65}
.company-story .facility-story-photo figcaption{padding:18px 20px}
.company-story .facility-story-photo figcaption>strong{font-size:18px}
@media(max-width:1080px){.visual-section-body{gap:36px;grid-template-columns:minmax(0,1fr) minmax(370px,1fr)}.diagram-body{padding:22px}.ml-components{grid-template-columns:1fr}.ml-components .diagram-node{flex-direction:row;align-items:center;padding:13px 16px}.ml-components .diagram-node span{font-size:14px}}
@media(max-width:850px){.visual-section-body{grid-template-columns:1fr;gap:28px}.visual-section-heading h2{margin-bottom:30px}.service-diagram,.visual-section-body>.facility-story-photo{width:100%;max-width:640px;justify-self:center}.ml-components{grid-template-columns:repeat(3,minmax(0,1fr))}.ml-components .diagram-node{flex-direction:column;align-items:flex-start;padding:16px 12px}.visual-section-copy .illustrated-feature{padding:20px 0!important}.facility-story-photo>img{aspect-ratio:1.4}.company-story .facility-story-photo{max-width:100%}}
@media(max-width:520px){.service-diagram>figcaption{padding:18px}.diagram-body{padding:18px}.diagram-kicker{font-size:17px}.diagram-node{padding:15px 13px;gap:12px}.diagram-node strong{font-size:16px}.diagram-primary strong{font-size:19px}.diagram-node span{font-size:14px}.diagram-pair,.diagram-outcomes{gap:10px}.diagram-pair .diagram-node{padding:13px 11px}.diagram-outcomes .diagram-node{padding:13px 11px;min-height:150px}.diagram-connector{gap:4px}.diagram-connector>span{font-size:12px;max-width:108px}.service-diagram .diagram-footnote{padding:16px 18px}.diagram-sources{gap:8px}.diagram-sources>span{padding:15px 8px}.ml-components{grid-template-columns:1fr}.ml-components .diagram-node{flex-direction:row;align-items:center;padding:15px}.ml-components .diagram-node span{font-size:14px}.visual-section-copy .illustrated-feature{grid-template-columns:44px minmax(0,1fr);column-gap:15px}.visual-section-copy .feature-pictogram{width:44px!important;height:44px!important}.visual-section-copy .feature-pictogram>.visual-icon{width:25px;height:25px}.transit-direct>div{gap:6px;grid-template-columns:1fr 22px 1fr}.transit-direct .diagram-node{padding:12px 10px}.transit-direct .diagram-node strong{font-size:14px}.direct-arrow{width:22px}.facility-story-photo figcaption{padding:20px}}
