/* Premium interactive Common Foundation showcase */
.foundation-showcase {
  position: relative;
  padding: 148px 0 156px;
  overflow: hidden;
  border-block: 1px solid rgba(229, 232, 221, .12);
  background: #101a16;
  box-shadow: none;
}
.foundation-showcase::before {
  top: 0;
  right: 0;
  left: 0;
  width: auto;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(185, 243, 91, .72), rgba(158, 196, 255, .48), transparent);
}
.foundation-showcase::after {
  position: absolute;
  top: -290px;
  right: -230px;
  width: 680px;
  height: 680px;
  border: 1px solid rgba(229, 232, 221, .045);
  border-radius: 50%;
  box-shadow: 0 0 0 95px rgba(229, 232, 221, .018), 0 0 0 190px rgba(229, 232, 221, .012);
  content: '';
  pointer-events: none;
}
.foundation-showcase .container { position: relative; z-index: 1; }
.foundation-showcase .system-section-head {
  grid-template-columns: 1.2fr .65fr;
  gap: 10%;
  margin-bottom: 72px;
}
.foundation-showcase .system-section-head h2 {
  max-width: 820px;
  font-size: clamp(2.3rem, 3.8vw, 4.3rem);
}
.foundation-showcase .system-section-head h2 em { color: #d7e8c4; }
.foundation-showcase .eyebrow-lime { color: rgba(244, 246, 241, .62); }
.foundation-showcase .eyebrow-lime span { color: var(--lime); }
.foundation-showcase .system-section-head > p {
  max-width: 390px;
  margin-bottom: 9px;
  color: rgba(244, 246, 241, .66);
  font-size: 14px;
  line-height: 1.78;
}

.foundation-showcase .system-map {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  grid-template-rows: none;
  gap: 0;
  padding: 0;
  border: 1px solid rgba(229, 232, 221, .16);
  background: transparent;
}
.foundation-showcase .system-map .map-card:nth-child(n) {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto 1fr;
  gap: 19px 10px;
  align-content: stretch;
  min-height: 148px;
  padding: 22px 19px 19px;
  border: 0;
  border-right: 1px solid rgba(229, 232, 221, .13);
  background: transparent;
  box-shadow: none;
  color: var(--paper);
  transition: background .35s var(--ease), color .35s, transform .35s var(--ease);
}
.foundation-showcase .system-map .map-card:last-child { border-right: 0; }
.foundation-showcase .system-map .map-card:hover {
  border-color: rgba(229, 232, 221, .13);
  background: rgba(244, 246, 241, .055);
  transform: none;
}
.foundation-showcase .system-map .feature-trigger.is-active {
  border-color: transparent;
  background: #e7e7df;
  box-shadow: none;
  color: var(--ink);
}
.foundation-showcase .foundation-index {
  grid-column: 1 / -1;
  color: rgba(244, 246, 241, .38);
  font-family: var(--serif);
  font-size: 11px;
  letter-spacing: .1em;
}
.foundation-showcase .feature-trigger.is-active .foundation-index { color: #53685a; }
.foundation-showcase .feature-trigger > span:nth-child(2) {
  display: grid;
  align-content: end;
  gap: 7px;
}
.foundation-showcase .map-card strong {
  margin: 0;
  color: inherit;
  font-size: 19px;
  letter-spacing: -.045em;
}
.foundation-showcase .map-card small {
  color: rgba(244, 246, 241, .48);
  font-size: 9px;
  line-height: 1.35;
}
.foundation-showcase .feature-trigger.is-active small { color: #4f6655; }
.foundation-showcase .feature-trigger > i {
  align-self: end;
  color: rgba(244, 246, 241, .35);
  font-size: 15px;
  font-style: normal;
  transition: transform .3s var(--ease), color .3s;
}
.foundation-showcase .feature-trigger.is-active > i {
  color: #657a61;
  transform: translateX(3px);
}
.foundation-showcase .feature-trigger:focus-visible {
  position: relative;
  z-index: 2;
  outline: 2px solid var(--lime);
  outline-offset: -2px;
}

.foundation-showcase .feature-demo {
  --study-accent: #d8edb5;
  --study-glow: rgba(216, 237, 181, .15);
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  gap: 0;
  min-height: 455px;
  margin-top: 28px;
  overflow: hidden;
  border: 0;
  background: #e7e7df;
  color: var(--ink);
  box-shadow: 0 30px 70px rgba(0, 0, 0, .18);
}
.foundation-showcase .feature-demo[data-active-feature="climate"] { --study-accent: #a8c9ef; --study-glow: rgba(168, 201, 239, .15); }
.foundation-showcase .feature-demo[data-active-feature="access"] { --study-accent: #d8d2be; --study-glow: rgba(216, 210, 190, .14); }
.foundation-showcase .feature-demo[data-active-feature="energy"] { --study-accent: #b9f35b; --study-glow: rgba(185, 243, 91, .14); }
.foundation-showcase .feature-demo[data-active-feature="shading"] { --study-accent: #d8c99e; --study-glow: rgba(216, 201, 158, .15); }
.foundation-showcase .feature-demo[data-active-feature="overview"] { --study-accent: #a9c7bd; --study-glow: rgba(169, 199, 189, .15); }
.foundation-showcase .feature-demo-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 58px 62px;
}
.foundation-showcase .feature-demo-kicker {
  margin-bottom: 25px;
  color: #4f6655;
  font-size: 10px;
  letter-spacing: .18em;
}
.foundation-showcase .feature-demo-copy h3 {
  max-width: 520px;
  margin-bottom: 23px;
  color: var(--ink);
  font-size: clamp(2rem, 2.8vw, 3.2rem);
  line-height: 1.02;
}
.foundation-showcase .feature-demo-copy > p:not(.feature-demo-kicker) {
  max-width: 500px;
  margin-bottom: 35px;
  color: #5f6b65;
  font-size: 14px;
  line-height: 1.78;
}
.foundation-showcase .feature-demo-tags { gap: 12px 24px; }
.foundation-showcase .feature-demo-tags span {
  position: relative;
  padding: 0 0 0 12px;
  border: 0;
  color: #35463d;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.foundation-showcase .feature-demo-tags span::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #78906d;
  content: '';
  transform: translateY(-50%);
}
.foundation-showcase .feature-demo-visual {
  position: relative;
  display: flex;
  min-height: 427px;
  margin: 14px;
  padding: 29px 32px 31px;
  overflow: hidden;
  background: #17231e;
}
.foundation-showcase .demo-visual-header {
  position: relative;
  z-index: 2;
  margin-bottom: 0;
  color: rgba(244, 246, 241, .42);
  font-size: 8px;
  letter-spacing: .17em;
  text-transform: uppercase;
}
.foundation-showcase .foundation-art {
  position: relative;
  display: flex;
  flex: 1;
  align-items: flex-end;
  min-height: 275px;
  margin: 26px 0 22px;
  overflow: hidden;
  border-block: 1px solid rgba(244, 246, 241, .12);
}
.foundation-showcase .foundation-art::before {
  position: absolute;
  top: 24%;
  right: 11%;
  width: 184px;
  height: 184px;
  border: 1px solid var(--study-accent);
  border-radius: 50%;
  box-shadow: 0 0 80px var(--study-glow), inset 0 0 70px rgba(255, 255, 255, .025);
  content: '';
  opacity: .72;
  transition: border-color .35s, box-shadow .35s;
}
.foundation-showcase .foundation-art::after {
  position: absolute;
  right: 0;
  bottom: 34%;
  left: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--study-accent), transparent);
  content: '';
  opacity: .58;
}
.foundation-showcase .foundation-art-lines { position: absolute; inset: 0; }
.foundation-showcase .foundation-art-lines i {
  position: absolute;
  top: 14%;
  bottom: 0;
  width: 1px;
  background: linear-gradient(transparent, rgba(244, 246, 241, .18));
  transform: skewX(-18deg);
}
.foundation-showcase .foundation-art-lines i:nth-child(1) { left: 21%; }
.foundation-showcase .foundation-art-lines i:nth-child(2) { left: 48%; }
.foundation-showcase .foundation-art-lines i:nth-child(3) { left: 76%; }
.foundation-showcase .foundation-art-copy {
  position: relative;
  z-index: 2;
  max-width: 420px;
  padding: 0 0 30px 5px;
}
.foundation-showcase .foundation-art-copy span {
  display: block;
  margin-bottom: 12px;
  color: var(--study-accent);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .17em;
  text-transform: uppercase;
}
.foundation-showcase .foundation-art-copy strong {
  display: block;
  color: var(--paper);
  font-family: var(--serif);
  font-size: clamp(2.25rem, 3.8vw, 4.1rem);
  font-weight: 500;
  letter-spacing: -.075em;
  line-height: .9;
}
.foundation-showcase .feature-demo-visual > small {
  position: relative;
  z-index: 2;
  color: rgba(244, 246, 241, .54);
  font-size: 9px;
  letter-spacing: .08em;
}

@media (max-width: 1000px) {
  .foundation-showcase { padding-block: 112px; }
  .foundation-showcase .system-section-head { grid-template-columns: 1fr .7fr; }
  .foundation-showcase .system-map { grid-template-columns: repeat(3, 1fr); }
  .foundation-showcase .system-map .map-card:nth-child(n) {
    min-height: 128px;
    border-bottom: 1px solid rgba(229, 232, 221, .13);
  }
  .foundation-showcase .system-map .map-card:nth-child(3n) { border-right: 0; }
  .foundation-showcase .system-map .map-card:nth-child(n+4) { border-bottom: 0; }
  .foundation-showcase .feature-demo-copy { padding: 46px 42px; }
}

@media (max-width: 760px) {
  .foundation-showcase { padding-block: 86px; }
  .foundation-showcase .system-section-head { display: block; margin-bottom: 44px; }
  .foundation-showcase .system-section-head h2 {
    margin-bottom: 30px;
    font-size: clamp(2.3rem, 10vw, 3.4rem);
  }
  .foundation-showcase .system-section-head > p { margin-top: 0; font-size: 13px; }
  .foundation-showcase .system-map { display: block; }
  .foundation-showcase .system-map .map-card:nth-child(n) {
    grid-template-columns: 38px 1fr auto;
    grid-template-rows: auto;
    gap: 15px;
    align-items: center;
    min-height: 78px;
    padding: 16px 17px;
    border-right: 0;
    border-bottom: 1px solid rgba(229, 232, 221, .13);
  }
  .foundation-showcase .system-map .map-card:last-child { border-bottom: 0; }
  .foundation-showcase .foundation-index { grid-column: auto; }
  .foundation-showcase .feature-trigger > span:nth-child(2) { align-content: center; gap: 3px; }
  .foundation-showcase .map-card strong { font-size: 17px; }
  .foundation-showcase .feature-trigger > i { align-self: center; }
  .foundation-showcase .feature-demo { display: block; min-height: 0; margin-top: 18px; }
  .foundation-showcase .feature-demo-copy { padding: 38px 28px 42px; }
  .foundation-showcase .feature-demo-copy h3 { font-size: 2.1rem; }
  .foundation-showcase .feature-demo-copy > p:not(.feature-demo-kicker) { font-size: 13px; }
  .foundation-showcase .feature-demo-visual {
    min-height: 360px;
    margin: 0 10px 10px;
    padding: 25px 22px;
  }
  .foundation-showcase .foundation-art { min-height: 235px; }
  .foundation-showcase .foundation-art::before { right: 2%; width: 145px; height: 145px; }
  .foundation-showcase .foundation-art-copy strong { font-size: 2.8rem; }
}
