/* Alternative access-focused landing. All selectors are scoped to this page. */
.page-access {
  background:
    radial-gradient(ellipse 65% 690px at 94% 9%, rgba(135, 13, 34, .29), transparent 76%),
    radial-gradient(ellipse 45% 680px at 4% 48%, rgba(112, 14, 31, .16), transparent 75%),
    #080809;
}

.page-access .access-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(0, 1fr);
  align-items: center;
  column-gap: 35px;
  padding-block: 12px 32px;
  min-height: 565px;
}

.page-access .access-copy { position: relative; z-index: 2; padding-block: 25px; }
.page-access .access-label {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 28px;
  color: #e6bfc8;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .01em;
}
.page-access .access-label > span {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #f94361;
  box-shadow: 0 0 12px rgba(255, 57, 91, .6);
}
.page-access .access-copy h1 {
  margin: 0 0 24px;
  font-size: clamp(62px, 5.75vw, 91px);
  line-height: 1.06;
  font-weight: 800;
  letter-spacing: -.065em;
}
.page-access .access-heading-services {
  position: relative;
  display: block;
  height: 1.27em;
  overflow: visible;
  perspective: 760px;
  transform-style: preserve-3d;
  color: #f7f5f6;
}
.page-access .access-word {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  white-space: nowrap;
  padding-bottom: .08em;
  line-height: 1.17;
  font-family: var(--font-sans);
  font-size: .98em;
  font-weight: 650;
  letter-spacing: -.052em;
  font-kerning: none;
  font-synthesis: none;
  opacity: 0;
  transform: translate3d(0, 12px, 0) scale(.99);
  transform-origin: left 82%;
}
.page-access .access-word.is-current { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
.page-access .access-word.is-exiting { opacity: 0; transform: translate3d(0, -9px, 0) scale(.995); }
.page-access .access-word__letter {
  display: inline-block;
  letter-spacing: 0;
  transform-origin: 50% 82%;
  backface-visibility: hidden;
}
.page-access .access-heading-bottom {
  display: block;
  white-space: nowrap;
  font-size: .765em;
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: -.055em;
  padding-bottom: .08em;
}
.page-access .access-lead {
  max-width: 410px;
  margin: 0 0 30px;
  color: #bbb0b9;
  font-size: 15px;
  line-height: 1.85;
  letter-spacing: -.015em;
}
.page-access .access-actions { gap: 27px; }
.page-access .access-actions .hero-cta {
  background: linear-gradient(110deg, #ff3657, #ec173a 58%, #d40e2d);
  box-shadow: inset 0 1px rgba(255, 255, 255, .2), 0 10px 38px rgba(198, 12, 40, .2);
}

.page-access .access-art {
  position: relative;
  width: 100%;
  aspect-ratio: 1;
  min-width: 0;
  isolation: isolate;
  perspective: 1000px;
  outline: none;
}
.page-access .access-art:focus-visible { outline: 1px solid rgba(255, 108, 139, .5); outline-offset: 6px; border-radius: 32px; }
.page-access .access-art__aura {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(ellipse closest-side at 55% 58%, rgba(232, 20, 53, .27), rgba(142, 12, 37, .14) 42%, transparent 96%),
    radial-gradient(ellipse closest-side at 44% 43%, rgba(255, 34, 65, .13), transparent 97%);
}
.page-access .access-art__parallax {
  position: absolute;
  inset: 0;
  transform: translate3d(var(--access-x, 0px), var(--access-y, 0px), 0) rotateX(var(--access-rotate-x, 0deg)) rotateY(var(--access-rotate-y, 0deg));
  transform-style: preserve-3d;
  opacity: 1;
  visibility: visible;
  transition: transform .65s cubic-bezier(.22, 1, .36, 1);
}
.page-access .access-art__poster {
  display: none;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
}
/* The embedded first frame is present before the WebGL imports start. */
@media (min-width: 900px) and (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  html:not(.access-native-only):not(.access-poster-unavailable) .page-access .access-art__poster { display: block; }
  html:not(.access-native-only):not(.access-poster-unavailable) .page-access .access-art__parallax {
    opacity: 0;
    visibility: hidden;
    transition: none;
  }
  html:not(.access-native-only):not(.access-poster-unavailable) .page-access .access-sculpture__float,
  html:not(.access-native-only):not(.access-poster-unavailable) .page-access .access-sculpture__sheen { animation-play-state: paused; }
}
.page-access .access-webgl-host { position: absolute; inset: 0; pointer-events: none; }
.page-access .access-webgl-host canvas {
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0;
}
/* Both layers change in one paint, after the matching canvas frame is drawn. */
.page-access .access-art.is-webgl-ready .access-webgl-host canvas { opacity: 1; }
.page-access .access-art.is-webgl-ready .access-art__poster { visibility: hidden; }
.page-access .access-art.is-webgl-ready .access-art__parallax { opacity: 0; visibility: hidden; transition: none; }
.page-access .access-art.is-webgl-ready .access-sculpture__float,
.page-access .access-art.is-webgl-ready .access-sculpture__sheen { animation-play-state: paused; }
.page-access .access-sculpture__brand {
  position: absolute;
  width: 9%;
  height: auto;
  left: 45.5%;
  bottom: 13%;
  opacity: .44;
}
.page-access .access-heading-bottom {
  width: fit-content;
  max-width: 100%;
  color: #ff829b;
}
@supports ((background-clip: text) or (-webkit-background-clip: text)) {
  .page-access .access-heading-bottom {
    background-image:
      linear-gradient(112deg, transparent 42%, rgba(255, 235, 242, .08) 46%, rgba(255, 235, 242, .3) 50%, rgba(255, 216, 230, .1) 54%, transparent 58%),
      linear-gradient(108deg, #ffd8e0 0%, #ff91a6 22%, #ff4d72 48%, #f02b50 74%, #d91b40 100%);
    background-size: 240% 100%, 100% 100%;
    background-position: 100% 50%, 0% 50%;
    background-repeat: no-repeat;
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    animation: access-title-light 7.5s cubic-bezier(.45, 0, .25, 1) infinite;
  }
}
.page-access .access-hero.is-scene-paused .access-heading-bottom { animation-play-state: paused; }
@keyframes access-title-light {
  0%, 12% { background-position: 100% 50%, 0% 50%; }
  72%, 100% { background-position: 0% 50%, 0% 50%; }
}
.page-access .network-facts { padding-block: 25px; }
.page-access .network-facts strong { font-size: 28px; }
.page-access .feature-network {
  background: radial-gradient(ellipse at 50% 24%, rgba(183, 25, 53, .29), transparent 63%), linear-gradient(146deg, #24131b, #111013 84%);
}
.page-access .section-heading .eyebrow,
.page-access .how-section .eyebrow { display: none; }
.page-access .final-copy .eyebrow { color: #ffd0db; }

@media (hover: hover) {
  .page-access .access-actions .hero-cta:hover { box-shadow: inset 0 1px rgba(255, 255, 255, .2), 0 14px 45px rgba(224, 17, 48, .3); }
}
@media (min-width: 1201px) {
  .page-access .header-nav a { font-size: 13px; }
}
@media (min-width: 1201px) and (max-width: 1350px) {
  .page-access .header-nav { gap: 12px; }
  .page-access .header-nav a { font-size: 12.5px; }
}
@media (max-width: 1200px) {
  .page-access .access-hero { min-height: 505px; padding-top: 16px; column-gap: 15px; }
  .page-access .access-copy h1 { font-size: clamp(57px, 6.4vw, 76px); }
  .page-access .access-lead { max-width: 350px; font-size: 14px; }
}
@media (max-width: 900px) {
  .page-access .access-hero { min-height: auto; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
  .page-access .access-copy h1 { font-size: clamp(48px, 6.2vw, 61px); }
  .page-access .access-label { font-size: 10px; margin-bottom: 20px; }
  .page-access .access-lead { font-size: 13px; margin-bottom: 22px; }
  .page-access .access-actions { gap: 20px; }
  .page-access .access-actions .btn-trial { font-size: 12px; }
}
@media (max-width: 768px) {
  .page-access .access-hero { grid-template-columns: 1fr; row-gap: 0; padding-block: 28px 25px; }
  .page-access .access-copy { padding-block: 0; }
  .page-access .access-copy h1 { font-size: clamp(58px, 10vw, 79px); margin-bottom: 20px; }
  .page-access .access-heading-services { height: 1.27em; }
  .page-access .access-heading-bottom { font-size: .71em; }
  .page-access .access-label { margin-bottom: 22px; }
  .page-access .access-lead { max-width: 430px; font-size: 14px; }
  .page-access .access-actions { gap: 23px; }
  .page-access .access-actions .btn-trial { min-height: 44px; }
  .page-access .access-art { width: min(96%, 330px); margin: 13px auto 2px; }
  .page-access .network-facts { padding-block: 0; }
  .page-access .network-facts strong { font-size: 25px; }
}
@media (max-width: 420px) {
  .page-access .access-hero { padding-top: 24px; }
  .page-access .access-label { display: none; }
  .page-access .access-copy h1 { font-size: clamp(49px, 12.6vw, 55px); }
  .page-access .access-heading-bottom { font-size: .7em; }
  .page-access .access-lead { font-size: 13px; margin-bottom: 23px; }
  .page-access .access-actions { gap: 19px; }
  .page-access .access-actions .hero-cta { flex: 1; min-width: 156px; }
  .page-access .access-actions .btn-trial { font-size: 11px; gap: 8px; }
  .page-access .access-art { margin-top: 12px; }
}
@media (hover: none), (pointer: coarse) {
  .page-access .access-actions .hero-cta:hover { transform: none; }
  .page-access .access-heading-bottom { animation: none; }
}
@media (prefers-reduced-motion: reduce) {
  .page-access .access-word,
  .page-access .access-word__letter,
  .page-access .access-art__parallax { transition: none; }
  .page-access .access-heading-bottom { animation: none; }
  .page-access .access-webgl-host canvas { transition: none; }
}
