/* Two independent home business sections: Security&Infra, then Cloud. */
.page-home .home-foundation {
  --foundation-bg: #f0f4f9;
  --foundation-card: #fff;
  --foundation-line: #d4dfec;
  --foundation-hub: #e7effb;
  padding: clamp(7.2rem, 8vw, 12rem) clamp(2.4rem, 5vw, 9.6rem);
  border-block: 1px solid var(--foundation-line);
  background: var(--foundation-bg);
  color: var(--home-ink);
  scroll-margin-top: calc(var(--site-header-height) + 2.4rem);
}

html[data-theme="dark"] .page-home .home-foundation {
  --foundation-bg: #070b12;
  --foundation-card: #0d1520;
  --foundation-line: #29394c;
  --foundation-hub: #101e30;
}

.page-home .home-foundation__inner { width: min(100%, 121.6rem); margin-inline: auto; }
.page-home .home-foundation__heading { text-align: center; }
.page-home .home-foundation__heading .home-section-index { margin: 0 auto 2rem; }
.page-home .home-foundation__heading > p { margin-inline: auto; }
.page-home .home-foundation__heading h2 { color: var(--home-ink); font-size: clamp(3.2rem, 3.6vw, 5.6rem); line-height: 1.3; }
.page-home .home-foundation__heading h2 em { color: var(--home-blue); font-style: normal; }
.page-home .home-foundation--cloud { --foundation-bg: #fff; border-top: 0; }
html[data-theme="dark"] .page-home .home-foundation--cloud { --foundation-bg: #0c1422; }
.page-home .home-foundation--infra .home-foundation__capabilities { margin-top: 4.8rem; }
.page-home .home-foundation__ecosystem { margin-top: 4.8rem; }
.page-home .home-foundation__ecosystem a { color: inherit; text-decoration: none; }
.page-home .home-foundation__ecosystem svg { flex: 0 0 auto; width: 4rem; height: 4rem; fill: none; stroke: var(--home-blue); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }

.page-home .home-foundation__cloud {
  position: relative;
  display: flex;
  width: min(100%, 42rem);
  min-height: 11.2rem;
  align-items: center;
  justify-content: center;
  gap: 2.4rem;
  margin-inline: auto;
  padding: 2.4rem 4.8rem 2.4rem 3.2rem;
  border: 1px solid var(--foundation-line);
  border-radius: 1.2rem;
  background: var(--foundation-hub);
}
.page-home .home-foundation__cloud strong { display: block; font-size: 3rem; line-height: 1.25; letter-spacing: -.03em; }
.page-home .home-foundation__cloud strong + span { display: block; margin-top: .6rem; color: var(--home-muted); font-size: 1.5rem; }
.page-home .home-foundation__cloud::after { position: absolute; top: 100%; left: 50%; height: 2.5rem; border-left: 1px solid var(--foundation-line); content: ""; }

.page-home .home-foundation__scopes { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.4rem; padding-top: 4.8rem; }
.page-home .home-foundation__scopes::before { position: absolute; top: 2.4rem; left: calc((100% - 4.8rem) / 6); right: calc((100% - 4.8rem) / 6); border-top: 1px solid var(--foundation-line); content: ""; }
.page-home .home-foundation__scope {
  position: relative;
  display: block;
  min-width: 0;
  padding: 2.8rem;
  border: 1px solid var(--foundation-line);
  border-radius: 1.2rem;
  background: var(--foundation-card);
}
.page-home .home-foundation__scope::before { position: absolute; bottom: 100%; left: 50%; height: 2.5rem; border-left: 1px solid var(--foundation-line); content: ""; }
.page-home .home-foundation__scope h3 { margin: 2rem 0 1.2rem; color: var(--home-ink); font-size: clamp(1.8rem, 1.8vw, 2.4rem); font-weight: 750; line-height: 1.3; letter-spacing: -.025em; overflow-wrap: anywhere; }
.page-home .home-foundation__scope p { margin: 0; color: var(--home-muted); font-size: 1.5rem; line-height: 1.8; }
.page-home .home-foundation__arrow { position: absolute; top: 2.4rem; right: 2.4rem; color: var(--home-blue); font-size: 2rem; line-height: 1; }

.page-home .home-foundation__capabilities {
  margin-top: 2.4rem;
  padding: 2.4rem 2.8rem;
  border: 1px solid var(--foundation-line);
  border-radius: 1.2rem;
  background: var(--foundation-card);
}
.page-home .home-foundation__capabilities-label { margin: 0 0 2rem; color: var(--home-muted); font-size: 1.4rem; font-weight: 650; letter-spacing: .04em; }
.page-home .home-foundation__capability-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.4rem; }
.page-home .home-foundation__capability { position: relative; display: block; min-width: 0; min-height: 6.4rem; padding-right: 4rem; }
.page-home .home-foundation__capability:not(:last-child) { border-right: 1px solid var(--foundation-line); }
.page-home #home-foundation .home-foundation__capability h3 { margin: 0 0 .8rem; color: var(--home-ink); font-size: clamp(1.8rem, 1.6vw, 2.1rem); font-weight: 750; line-height: 1.4; }
.page-home .home-foundation__capability p { margin: 0; color: var(--home-muted); font-size: 1.4rem; line-height: 1.8; }
.page-home .home-foundation__capability .home-foundation__arrow { top: .4rem; right: 1.6rem; color: var(--home-blue); }
.page-home .home-foundation__capability:hover h3 { text-decoration: underline; text-underline-offset: .4rem; }
.page-home .home-foundation__capability--ecosystem { padding-right: 0; }
.page-home .home-foundation__capability--ecosystem:hover h3 { text-decoration: none; }
.page-home .home-foundation__ecosystem-links { display: flex; flex-wrap: wrap; gap: 0 1.6rem; margin-top: .8rem; }
.page-home .home-foundation__ecosystem-links a { display: inline-flex; align-items: center; gap: .6rem; min-height: 4.4rem; color: var(--home-blue); font-size: 1.4rem; font-weight: 700; }
.page-home .home-foundation__ecosystem-links a:hover { text-decoration: underline; text-underline-offset: .4rem; }

.page-home .home-foundation a:hover { border-color: var(--home-blue); }
.page-home .home-foundation a:hover .home-foundation__arrow { text-decoration: underline; text-underline-offset: .4rem; }
.page-home .home-foundation a:focus-visible { outline: 3px solid var(--home-blue); outline-offset: 5px; }

@media (max-width: 1023px) {
  .page-home .home-foundation__scope { padding: 2.4rem 2rem; }
  .page-home .home-foundation__scope p br { display: none; }
  .page-home .home-foundation__capability-list { gap: 1.6rem; }
}

@media (max-width: 767px) {
  .page-home .home-foundation { padding: 7.2rem 2.4rem; }
  .page-home .home-foundation__ecosystem { margin-top: 3.2rem; }
  .page-home .home-foundation__cloud { width: 100%; min-height: 10.4rem; gap: 1.6rem; padding-inline: 2rem 4rem; }
  .page-home .home-foundation__cloud strong { font-size: 2.8rem; }
  .page-home .home-foundation__cloud strong + span { font-size: 1.4rem; }
  .page-home .home-foundation__scopes { grid-template-columns: minmax(0, 1fr); gap: 1.6rem; padding: 2.4rem 0 0 1.6rem; }
  .page-home .home-foundation__scopes::before { inset: 0 auto 0 0; border-top: 0; border-left: 1px solid var(--foundation-line); }
  .page-home .home-foundation__cloud::after { left: 0; width: 50%; height: 2.5rem; border-left: 0; border-right: 1px solid var(--foundation-line); border-bottom: 1px solid var(--foundation-line); }
  .page-home .home-foundation__scope { display: grid; grid-template-columns: 3.2rem minmax(0, 1fr); column-gap: 1.6rem; padding: 2.4rem 2rem; }
  .page-home .home-foundation__scope::before { inset: 50% 100% auto auto; width: 1.7rem; height: 0; border-left: 0; border-top: 1px solid var(--foundation-line); }
  .page-home .home-foundation__scope svg { grid-row: span 2; width: 3.2rem; height: 3.2rem; }
  .page-home .home-foundation__scope h3 { margin: 0 0 .8rem; font-size: 1.8rem; }
  .page-home .home-foundation__scope p { font-size: 1.4rem; }
  .page-home .home-foundation__arrow { top: 2rem; right: 1.6rem; }
  .page-home .home-foundation__capabilities { padding: 2.4rem 2rem; }
  .page-home .home-foundation__capabilities-label { margin-bottom: .8rem; }
  .page-home .home-foundation__capability-list { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .page-home .home-foundation__capability { padding-block: 1.6rem; }
  .page-home .home-foundation__capability:not(:last-child) { border-right: 0; border-bottom: 1px solid var(--foundation-line); }
  .page-home .home-foundation__capability .home-foundation__arrow { top: 2rem; right: 0; }
}
.page-home .home-opening__title--second { width:calc(100% - 48px);max-width:1200px;font-size:clamp(2.8rem,5.1vw,8.2rem);line-height:1.2;text-align:center;word-break:keep-all; }
