body.sc-portal-page,
body.page-template-page-portal {
  --wp--style--global--content-size: 1400px;
  --wp--style--global--wide-size: 1400px;
}

body.sc-portal-page .wp-block-post-content,
body.sc-portal-page .entry-content,
body.sc-portal-page .is-layout-constrained,
body.sc-portal-page .wp-site-blocks > .wp-block-group {
  max-width: none !important;
}

body.sc-portal-page .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: none !important;
}

.sc-portal .sc-ice__hero-copy {
  max-width: 42rem;
}

.sc-portal .sc-ice__close p {
  max-width: 56rem;
}

.sc-portal__prices {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.75rem;
  margin-top: 2.5rem;
  align-items: stretch;
}

.sc-portal__price {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 1rem 1rem 1.25rem;
  border-radius: 1rem;
  background: rgba(143, 202, 231, 0.25);
  color: #0e0b31;
  box-shadow: none;
}

.sc-portal__price--premium {
  background: rgba(143, 202, 231, 1);
  color: #0e0b31;
}

.sc-portal__price-head {
  margin: 0 0 0.25rem;
  padding: 1rem;
  border-radius: 0.5rem;
  background: #009cbd;
}

.sc-portal__price-name {
  margin: 0 1rem;
  padding: 1rem 0;
  border-bottom: 2px solid #1071b7;
  font-family: Poppins, Lato, sans-serif;
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #0e0b31;
}

.sc-portal__price-head .sc-portal__price-name {
  margin: 0;
  padding: 0;
  border-bottom: 0;
  color: #daedff;
}

.sc-portal__banner {
  position: absolute;
  top: 1rem;
  right: 0;
  z-index: 2;
  width: 7.25rem;
  margin: 0;
  padding: 0.65rem 0.55rem 0.65rem 0.85rem;
  background: #141856;
  color: #fff;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
  clip-path: polygon(0.75rem 0, 100% 0, 100% 100%, 0.75rem 100%, 0 50%);
}

.sc-portal__banner--orange {
  background: #ff5400;
}

.sc-portal__price-lede {
  margin: 1rem 1rem 1.15rem;
  font-family: Poppins, Lato, sans-serif;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
  color: #0e0b31;
}

.sc-portal__price:has(.sc-portal__banner):not(.sc-portal__price--premium) .sc-portal__price-lede {
  padding-right: 4.5rem;
}

.sc-portal__price-list {
  flex: 1 1 auto;
  margin: 0 1rem 0;
  padding: 0;
  list-style: none;
}

.sc-portal__price-list li {
  position: relative;
  padding: 0.35rem 0 0.35rem 1.7rem;
  font-size: 0.95rem;
  line-height: 1.45;
}

.sc-portal__price-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55rem;
  width: 0.85rem;
  height: 0.85rem;
  background: #ff5400;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path fill='black' d='M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM227.314 387.314l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.249-16.379-6.249-22.628 0L216 308.118l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.249 16.379 6.249 22.628.001z'/></svg>") center / contain no-repeat;
}

.sc-portal__price-list ul {
  margin: 0.35rem 0 0;
  padding-left: 1.1rem;
}

.sc-portal__price-list ul li::before {
  display: none;
}

.sc-portal__price-cta {
  display: flex;
  flex-direction: column;
  margin-top: auto;
  padding-top: 2rem;
}

.sc-portal__price-foot {
  margin: 0 1rem;
  font-family: Poppins, Lato, sans-serif;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
}

.sc-portal__price-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: calc(100% - 2rem);
  margin: 1rem 1rem 0;
  padding: 0.45rem 0.9rem;
  border-radius: 999px;
  background: #ff5400;
  color: #fff !important;
  font-family: Poppins, Lato, sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
}

.sc-portal__price-btn img {
  width: 22px;
  height: 11px;
}

.sc-portal__price-btn:hover {
  background: #e04b00;
}

.sc-portal__note {
  margin: 0.85rem 1rem 0;
  min-height: 3.3em;
  color: #3b3f5c;
  font-size: 0.78rem;
  line-height: 1.45;
  text-align: center;
}

.sc-portal__note--empty {
  visibility: hidden;
}

.sc-portal__pillars {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
  margin-top: 2.25rem;
}

.sc-portal__pillar {
  text-align: center;
}

.sc-portal__pillar img {
  display: block;
  width: 100%;
  max-width: 400px;
  margin: 0 auto 1rem;
  border-radius: 8px;
}

.sc-portal__pillars-cta {
  display: flex;
  justify-content: center;
  margin-top: 2.5rem;
}

.sc-portal__pillar h3 {
  margin-bottom: 0.55rem;
  font-size: 1.35rem;
}

.sc-portal__stream-tabs {
  display: flex;
  width: 100%;
  gap: 0.7rem;
  margin: 2rem 0 2.5rem;
}

.sc-portal__stream-tab {
  flex: 1 1 0;
  min-width: 0;
  padding: 1em 0.5em;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 4px;
  background: #dce3ea;
  color: #0e0b31;
  font-family: Poppins, Lato, sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  cursor: pointer;
}

.sc-portal__stream-tab.is-active,
.sc-portal__stream-tab:hover {
  background: #cfd8e1;
  border-bottom-color: #ff5400;
  color: #1071b7;
}

.sc-portal__stream-split {
  display: none;
  width: min(66.666%, 920px);
  margin-inline: auto;
  grid-template-columns: minmax(160px, 220px) minmax(0, 1fr);
  gap: 2rem;
  align-items: center;
}

.sc-portal__stream-split.is-active {
  display: grid;
}

.sc-portal__stream-split h3 {
  margin-bottom: 0.55rem;
  color: #1071b7;
  font-size: 1.5rem;
}

.sc-portal__stream-split p {
  margin-bottom: 1.1rem;
  color: #3b3f5c;
  line-height: 1.55;
}

.sc-portal__phones {
  display: grid;
  grid-template-columns: minmax(180px, 240px) minmax(0, 1fr);
  gap: 2.5rem;
  align-items: center;
  margin-top: 2.25rem;
}

.sc-portal__phone {
  display: none;
  margin: 0;
}

.sc-portal__phone.is-active {
  display: block;
}

.sc-portal__phone[hidden] {
  display: none;
}

.sc-portal__phone img {
  display: block;
  width: 100%;
  height: auto;
}

.sc-portal__keys-head h2 {
  margin-bottom: 0.2rem;
  font-size: 2.25rem;
}

.sc-portal__keys {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 1fr) minmax(0, 1fr);
  gap: 2rem 1.75rem;
  align-items: start;
  margin-top: 2.5rem;
}

.sc-portal__key-col {
  display: grid;
  gap: 2.5rem;
  padding-top: 40px;
}

.sc-portal__key-media {
  justify-self: center;
  align-self: start;
  width: 100%;
}

.sc-portal__key h3 {
  margin-bottom: 0.45rem;
  color: #0e0b31;
  font-size: 1.35rem;
  text-align: left;
}

.sc-portal__key p {
  color: #3b3f5c;
  font-size: 1rem;
  line-height: 1.55;
}

.sc-portal__faq-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 3rem 4rem;
  align-items: center;
}

.sc-portal__faq-title {
  margin: 0;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: left;
}

.sc-portal__faq .sc-ice__faq {
  display: grid;
  gap: 1rem;
  margin-top: 0;
}

.sc-portal__faq .sc-ice__faq-item {
  border-bottom: 0;
}

.sc-portal__faq .sc-ice__faq-q {
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0;
  padding: 0;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 2rem;
}

.sc-portal__faq .sc-ice__faq-q::after {
  display: none;
}

.sc-portal__faq-icon {
  position: relative;
  flex: 0 0 1rem;
  width: 1rem;
  height: 1rem;
  margin: 0.5rem 1rem 0 0;
}

.sc-portal__faq-icon::before,
.sc-portal__faq-icon::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  background: #1071b7;
  transform: translate(-50%, -50%);
}

.sc-portal__faq-icon::before {
  width: 1rem;
  height: 2px;
}

.sc-portal__faq-icon::after {
  width: 2px;
  height: 1rem;
}

.sc-portal__faq .sc-ice__faq-item.is-open .sc-portal__faq-icon::after {
  display: none;
}

.sc-portal__faq .sc-ice__faq-a {
  margin: 0;
  padding: 0.35rem 0 0 2rem;
  color: #0e0b31;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.7;
  text-align: left;
}

.sc-portal__mock {
  display: block;
  width: 100%;
  max-width: 900px;
  height: auto;
  margin: 0 auto;
}

@media (max-width: 980px) {
  .sc-portal__prices,
  .sc-portal__pillars,
  .sc-portal__phones,
  .sc-portal__stream-split,
  .sc-portal__faq-grid,
  .sc-portal__keys {
    grid-template-columns: 1fr;
  }

  .sc-portal__stream-tabs {
    flex-wrap: wrap;
  }

  .sc-portal__stream-tab {
    flex: 1 1 30%;
  }

  .sc-portal__stream-split,
  .sc-portal__stream-split.is-active {
    width: 100%;
  }

  .sc-portal__key-media {
    justify-self: center;
  }
}
