:root {
  --home-blue: #0b22b1;
  --home-deep: #001b78;
  --home-cyan: #29ccff;
  --home-yellow: #ffc41a;
  --home-white: #f8f9ff;
}

html {
  scroll-padding-top: 150px;
}

body.pa-body {
  background: var(--home-blue);
  color: #fff;
}

.pa-site {
  width: 100%;
  max-width: none;
  margin: 0 auto;
  overflow: hidden;
  background-color: var(--home-blue);
}

.pa-header {
  top: 38px;
  width: min(1536px, calc(100vw - 96px));
  height: 108px;
  overflow: visible;
  border: 0;
  background: #f8f8f8;
  box-shadow: 0 9px 0 rgba(0, 16, 91, .7), 0 18px 30px rgba(0, 13, 78, .2);
  color: #00156e;
}

.pa-header.is-scrolled {
  top: 20px;
  box-shadow: 0 8px 0 rgba(0, 16, 91, .72), 0 16px 30px rgba(0, 13, 78, .22);
}

.pa-nav {
  display: flex;
  gap: 62px;
  padding: 0 72px;
}

.pa-header .pa-brand {
  flex: 0 0 112px;
  width: 112px;
  height: 84px;
  margin-right: auto;
}

.pa-header .pa-brand img {
  filter: none;
}

.pa-nav a {
  color: #00156e;
  font-size: 16px;
}

.pa-nav-link {
  min-width: 148px;
  min-height: 56px;
  padding: 0 22px;
}

.pa-nav-link:hover,
.pa-nav-link:focus-visible {
  color: #00156e;
  background: rgba(0, 23, 149, .08);
}

.pa-nav-link.is-active,
.pa-nav-link[aria-current="page"] {
  color: #00156e;
  border-color: rgba(0, 23, 149, .04);
  background: rgba(255,255,255,.28);
  box-shadow: inset 0 0 0 1px rgba(0,23,149,.025);
}

.pa-nav-spark {
  color: #29ccff;
  font-size: 20px;
}

.home-hero,
.home-video-section,
.home-projects-overview,
.home-alpha-summary,
.home-generation,
.home-contact {
  position: relative;
}

.home-hero {
  height: 990px;
  background: #0733b6 url("../images/home/hero-background.png") center / cover no-repeat;
}

.home-hero-copy {
  position: absolute;
  z-index: 4;
  left: 111px;
  top: 278px;
}

.home-hero h1 {
  margin: 0;
  font-weight: 400;
  letter-spacing: -.035em;
  line-height: .88;
  text-transform: uppercase;
}

.home-hero h1 span {
  display: block;
  margin-bottom: 28px;
  font-size: 40px;
  line-height: 1;
  letter-spacing: -.02em;
  text-transform: none;
}

.home-hero h1 strong {
  display: block;
  font-size: 120px;
  font-weight: 900;
}

.home-button {
  min-width: 268px;
  min-height: 70px;
  padding: 0 34px;
  border: 1px solid #fff;
  border-radius: 999px;
  background: #001b78;
  box-shadow: 0 9px 15px rgba(0, 10, 70, .45);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  font-size: 21px;
  font-weight: 400;
  line-height: 1;
  text-decoration: none;
  transition: transform .2s ease, background-color .2s ease;
}

.home-button:hover,
.home-button:focus-visible {
  background: #062ca8;
  color: #fff;
  transform: translateY(-2px);
}

.home-hero .home-button {
  margin-top: 58px;
}

.home-hero-portal {
  position: absolute;
  z-index: 2;
  top: 188px;
  right: 113px;
  width: 635px;
  height: 635px;
  transition: transform .45s cubic-bezier(.2,.75,.2,1);
  will-change: transform;
}

.home-orbit,
.home-alpha-mark {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.home-orbit--outer {
  width: 635px;
  height: 635px;
  animation: home-spin 35s linear infinite;
}

.home-orbit--inner {
  width: 490px;
  height: 490px;
  animation: home-spin-reverse 27s linear infinite;
}

.home-alpha-mark {
  z-index: 3;
  width: 515px;
  height: 515px;
  object-fit: contain;
  filter: drop-shadow(18px 26px 16px rgba(0, 17, 99, .5));
}

.home-framed-icon {
  position: absolute;
  z-index: 4;
  width: 90px;
  height: 90px;
  filter: drop-shadow(0 8px 8px rgba(0, 14, 80, .34));
}

.home-framed-icon--robot { left: -24px; top: 142px; }
.home-framed-icon--puzzle { right: -24px; top: 74px; }
.home-framed-icon--laptop { right: 126px; bottom: -26px; }

.home-spark {
  position: absolute;
  z-index: 3;
  pointer-events: none;
  transform-origin:center;
  animation:home-sparkle-drift 4.8s ease-in-out infinite alternate;
}

.home-spark--hero-a { left: 562px; top: 328px; width: 120px; }
.home-spark--hero-b { left: 670px; top: 276px; width: 64px; animation-delay:-1.4s; animation-duration:4.1s; }
.home-spark--hero-c { left: 718px; bottom: 68px; width: 45px; animation-delay:-2.6s; animation-duration:5.4s; }

.home-video-section {
  position: relative;
  min-height: 1060px;
  padding-top: 32px;
  background: var(--home-blue);
}

.home-scroll-story-anchor {
  position: absolute;
  display: block;
  pointer-events: none;
}

.home-scroll-story-anchor--video {
  left: 8%;
  bottom: 34px;
  width: clamp(130px, 11vw, 190px);
  height: clamp(130px, 11vw, 190px);
}

.home-generation-heading {
  position: relative;
}

.home-scroll-story-anchor--generation {
  left: 0;
  top: 18%;
  width: 13%;
  height: 72%;
}

.home-scroll-story-anchor--cards {
  left: 50%;
  bottom: 8px;
  width: clamp(132px, 9vw, 165px);
  height: clamp(132px, 9vw, 165px);
  transform: translateX(-50%);
}

.pa-scroll-story {
  position: fixed;
  z-index: 7;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  opacity: 1;
  transition: opacity .22s linear;
  contain: strict;
}

.pa-scroll-story.is-behind-video,
.pa-scroll-story.is-behind-projects,
.pa-scroll-story.is-behind-contact {
  z-index: 1;
}

.pa-scroll-story-stage {
  position: absolute;
  transform-origin: center;
  will-change: left, top, width, height, transform;
}

.pa-scroll-story-stage::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -10%;
  border: 2px solid rgba(42, 220, 255, .7);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(59, 220, 255, .3), rgba(89, 42, 255, 0) 68%);
  opacity: calc(var(--pa-story-morph, 0) * .72);
  transform: scale(calc(.82 + var(--pa-story-morph, 0) * .3));
  filter: blur(5px);
}

.pa-scroll-story-layer {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: contain;
  opacity: 0;
  transform-origin: center;
  will-change: opacity, transform, filter;
  filter: drop-shadow(0 18px 18px rgba(0, 13, 75, .3));
}

.pa-scroll-story-layer--flatAlpha {
  object-fit: cover;
  object-position: left center;
}

.pa-scroll-story-active .home-alpha-mark,
.pa-scroll-story-active .home-alpha-summary-visual,
.pa-scroll-story-active .home-program-visual,
.pa-scroll-story-active .home-contact-copy > [data-scroll-story-anchor="contact"] {
  opacity: 0 !important;
  transition: opacity .22s linear;
}

.pa-scroll-story-active.pa-scroll-story-ended .home-contact-copy > [data-scroll-story-anchor="contact"] {
  opacity: 1 !important;
}

.home-video-frame {
  position: relative;
  z-index: 2;
  isolation: isolate;
  width: 1555px;
  height: 876px;
  margin: 0 auto;
  padding: 18px;
  border-radius: 42px;
  background: linear-gradient(135deg, #2fd0ff, #0c6fd2 42%, #25d8ff);
  box-shadow: 0 12px 26px rgba(0, 13, 81, .2);
}

.home-video-frame::before,
.home-video-frame::after {
  content: "";
  position: absolute;
  z-index: 2;
  width: 146px;
  height: 146px;
  border-radius: 28px;
  background: #27ceff;
}

.home-video-frame::before { left: 0; top: 0; }
.home-video-frame::after { right: 0; bottom: 0; }

.home-video-placeholder {
  position: absolute;
  z-index: 3;
  inset: 18px;
  border-radius: 34px;
  background: #082663;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.home-video-frame video {
  position: relative;
  z-index: 4;
  width: 100%;
  height: 100%;
  border-radius: 34px;
  background: #061f69;
  object-fit: cover;
  opacity: 0;
  transition: opacity .25s ease;
}

.home-video-frame.is-playing video { opacity: 1; }
.home-video-frame .home-video-preview { opacity:.78; filter:saturate(.92) brightness(.82); }

.home-video-frame button {
  position: absolute;
  z-index: 5;
  left: 50%;
  top: 50%;
  width: 162px;
  height: 162px;
  padding: 0;
  transform: translate(-50%, -50%);
  border: 0;
  border-radius: 50%;
  background: #eef5fa;
  box-shadow: 0 0 28px rgba(41, 204, 255, .85);
  cursor: pointer;
}

.home-video-frame button span {
  display: block;
  width: 0;
  height: 0;
  margin-left: 65px;
  border-top: 22px solid transparent;
  border-bottom: 22px solid transparent;
  border-left: 34px solid #001b78;
}

.home-pill {
  width: max-content;
  min-height: 50px;
  padding: 0 26px;
  border: 1px solid rgba(77, 138, 255, .95);
  border-radius: 999px;
  background: linear-gradient(180deg, #1f56ce, #1738a7);
  box-shadow: 0 8px 12px rgba(0, 8, 72, .35);
  color: #29ccff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  font-weight: 900;
  text-decoration: none;
}

.home-pill--projects {
  position: absolute;
  left: 50%;
  bottom: 28px;
  transform: translateX(-50%);
  text-transform: uppercase;
}

.home-projects-overview {
  position: relative;
  min-height: 1120px;
  padding-top: 58px;
  background-color: var(--home-blue);
  overflow: hidden;
}

.home-projects-overview::before {
  content: none;
}

.home-project-stars,
.home-project-card-art,
.home-alpha-summary-card {
  display: none;
}

.home-projects-overview .home-section-heading,
.home-projects-overview .home-project-deck {
  position: relative;
  z-index: 1;
}

.home-section-heading {
  text-align: center;
}

.home-section-heading h2 {
  margin: 0;
  font-weight: 400;
  line-height: .92;
  text-transform: none;
}

.home-section-heading strong {
  display: block;
  font-size: 88px;
  font-weight: 900;
  letter-spacing: -.035em;
  text-transform: uppercase;
}

.home-section-heading span {
  display: block;
  margin-top: 18px;
  font-size: 40px;
}

.home-section-heading em {
  display: block;
  margin-top: 7px;
  color: var(--home-yellow);
  font-size: 24px;
  font-style: normal;
  font-weight: 900;
}

.home-project-deck {
  position: relative;
  width: 1560px;
  height: 675px;
  margin: 78px auto 0;
}

.home-project-card {
  position: absolute;
  z-index: 3;
  width: 360px;
  height: 520px;
  padding: 62px 43px 40px;
  overflow: visible;
  border: 2px solid rgba(255, 255, 255, .5);
  border-radius: 34px;
  background: linear-gradient(145deg, #327eff, #23cced);
  box-shadow: inset 0 0 0 17px rgba(20, 43, 177, .65), 0 18px 24px rgba(0, 9, 75, .4);
  color: #fff;
  text-decoration: none;
  transform-origin: 50% 90%;
  transition: transform .25s ease;
}

.home-project-card::after {
  content: "";
  position: absolute;
  right: 18px;
  top: -36px;
  width: 65px;
  height: 76px;
  border: 7px solid #fff;
  border-left-color: transparent;
  border-bottom-color: transparent;
  border-radius: 50%;
  transform: rotate(-35deg);
}

.home-project-card:hover,
.home-project-card:focus-visible {
  z-index: 8;
}

.home-project-card small {
  color: #124bc0;
  font-size: 16px;
  text-transform: uppercase;
}

.home-project-card > strong {
  display: block;
  margin-top: 33px;
  font-size: 38px;
  font-weight: 400;
  line-height: .92;
}

.home-project-card > span {
  position: absolute;
  left: 47px;
  right: 47px;
  bottom: 48px;
  height: 210px;
  border-radius: 32px;
  display: grid;
  place-items: center;
}

.home-project-card > span img {
  width: 82%;
  max-height: 125px;
  object-fit: contain;
}

.home-project-card--tecpro { left: 35px; top: 88px; transform: rotate(-14deg); }
.home-project-card--digital { left: 408px; top: 10px; transform: rotate(4deg); }
.home-project-card--spark { left: 792px; top: 104px; transform: rotate(-3deg); }
.home-project-card--garden { right: 32px; top: 22px; transform: rotate(10deg); }
.home-project-card--tecpro:hover { transform: rotate(-14deg) translateY(-12px); }
.home-project-card--digital:hover { transform: rotate(4deg) translateY(-12px); }
.home-project-card--spark:hover { transform: rotate(-3deg) translateY(-12px); }
.home-project-card--garden:hover { transform: rotate(10deg) translateY(-12px); }
.home-project-card--tecpro > span { background: linear-gradient(145deg, #ef0050, #920031); }
.home-project-card--digital > span { background: linear-gradient(145deg, #ffca27, #dda800); }
.home-project-card--spark > span { background: linear-gradient(145deg, #68cfc0, #289785); }
.home-project-card--garden > span { background: linear-gradient(145deg, #07948e, #005b62); }

.home-project-grid-zone {
  position: relative;
  width: 100%;
  overflow: hidden;
  background-color: var(--home-blue);
  background-image: url("../images/home/ambient-grid.png");
  background-repeat: repeat-y;
  background-position: center top;
  background-size: 100% auto;
}

.home-alpha-summary {
  min-height: 780px;
}

.home-alpha-summary-visual {
  position: absolute;
  left: 106px;
  top: 0;
  width: 720px;
  height: 720px;
  object-fit: contain;
}

.home-alpha-summary-copy {
  position: absolute;
  left: 950px;
  top: 176px;
  width: 600px;
}

.home-alpha-summary-copy > span {
  display: block;
  width: 100%;
  height: 2px;
  margin-bottom: 43px;
  background: linear-gradient(90deg, #35d5ff, #203ee8);
}

.home-alpha-summary-copy h2 {
  margin: 0 0 22px;
  color: var(--home-yellow);
  font-size: 36px;
  font-weight: 900;
  line-height: 1.05;
  text-transform: uppercase;
}

.home-alpha-summary-copy p {
  margin: 0;
  max-width: 560px;
  font-size: 19px;
  line-height: 1.4;
}

.home-programs {
  position: relative;
  padding: 38px 0 80px;
}

.home-program {
  position: relative;
  display: block;
  width: 1555px;
  height: 610px;
  margin: 0 auto 178px;
  border-radius: 38px;
  box-shadow: 0 22px 28px rgba(0, 8, 70, .36);
  color: inherit;
  scroll-margin-top: 55px;
  text-decoration: none;
}

.home-program:hover,
.home-program:focus-visible { color: inherit; }

.home-program::before,
.home-program::after {
  content: "";
  position: absolute;
  z-index: 1;
  width: 330px;
  height: 190px;
  border-radius: 30px 30px 0 0;
  background: rgba(255, 255, 255, .23);
  transform: skewX(26deg);
}

.home-program::before { top: -72px; }
.home-program::after { top: 28px; }

.home-program--tecpro { background: linear-gradient(105deg, #f20b53, #fa75a7); }
.home-program--digital { background: linear-gradient(105deg, #ffbf16, #ffdb76); color: #05239f; }
.home-program--spark { background: linear-gradient(105deg, #98ffa2, #64d66f); color: #05239f; }
.home-program--garden { background: linear-gradient(105deg, #079f98, #36b8ad); }
.home-program--tecpro::before,.home-program--tecpro::after { right: 35px; }
.home-program--digital::before,.home-program--digital::after { left: 35px; }
.home-program--spark::before,.home-program--spark::after { right: 35px; }
.home-program--garden::before,.home-program--garden::after { left: 35px; }

.home-program-logo {
  position: absolute;
  z-index: 5;
  top: -62px;
  width: 620px;
  height: 112px;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 13px 20px rgba(0, 12, 75, .26);
  display: grid;
  place-items: center;
}

.home-program--tecpro .home-program-logo,
.home-program--spark .home-program-logo { left: 0; }
.home-program--digital .home-program-logo,
.home-program--garden .home-program-logo { right: 0; }

.home-program-logo img {
  width: 390px;
  height: 88px;
  object-fit: contain;
}

.home-program-logo picture { display: contents; }

.home-program--digital .home-program-logo img { width: 430px; }
.home-program--spark .home-program-logo img { width: 330px; }
.home-program--garden .home-program-logo img { width: 300px; }

.home-program--digital .home-program-logo img {
  width: 62%;
  transform: translateX(-9%);
  filter: brightness(0) saturate(100%) invert(12%) sepia(88%) saturate(2845%) hue-rotate(220deg) brightness(69%) contrast(111%);
}

.home-program--digital .home-program-logo::after {
  content: "Schools";
  position: absolute;
  left: 70%;
  top: 50%;
  padding: .45em .7em;
  transform: translate(-50%, -50%);
  border-radius: .55em;
  background: #071966;
  color: #fff;
  font-size: 18px;
  font-weight: 900;
  line-height: 1;
}

.home-program-copy {
  position: absolute;
  z-index: 4;
  top: 138px;
  width: 690px;
}

.home-program--tecpro .home-program-copy,
.home-program--spark .home-program-copy { left: 155px; }
.home-program--digital .home-program-copy,
.home-program--garden .home-program-copy { left: 845px; }

.home-program-copy h2 {
  margin: 0 0 28px;
  font-size: 52px;
  font-weight: 900;
  line-height: 1.02;
}

.home-program-copy h3 {
  margin: 0 0 10px;
  font-size: 23px;
  font-weight: 900;
}

.home-program-copy p {
  max-width: 665px;
  margin: 0;
  font-size: 20px;
  line-height: 1.38;
}

.home-program-copy .home-button {
  position: absolute;
  top: 298px;
  left: -4px;
}

.home-program-copy .home-program-cta {
  width: 312px;
  min-width: 0;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.home-program-copy .home-program-cta img {
  display: block;
  width: 100%;
  height: auto;
}

.home-program-copy .home-program-cta:hover,
.home-program-copy .home-program-cta:focus-visible {
  background: transparent;
  box-shadow: none;
}

.home-program-visual {
  position: absolute;
  z-index: 3;
  overflow: visible;
  pointer-events: none;
}

.home-program-visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.home-program-visual--tecpro { right: 25px; top: -88px; width: 650px; height: 720px; }
.home-program-visual--digital { left: 5px; top: -92px; width: 750px; height: 735px; }
.home-program-visual--spark { right: 22px; top: -66px; width: 655px; height: 670px; }
.home-program-visual--garden { left: 24px; top: -90px; width: 720px; height: 720px; }

.home-generation {
  min-height: 1260px;
  padding-top: 100px;
  background: var(--home-blue);
}

.home-generation-heading {
  text-align: center;
}

.home-generation-heading p {
  margin: 34px 0 8px;
  font-size: 42px;
}

.home-generation-heading h2 {
  position: relative;
  width: min(1035px, 54.5vw);
  height: min(180px, 9.5vw);
  margin: 0 auto;
  font-size: 0;
  font-weight: 900;
  line-height: 1;
}

.home-generation-wordmark {
  position: absolute;
  z-index: 8;
  left: 0;
  right: 0;
  top: 22%;
  display: grid;
  grid-template-columns: clamp(72px,5.3vw,100px) auto clamp(52px,4.1vw,76px) auto;
  justify-content: center;
  align-items: center;
  gap: clamp(16px,1.4vw,28px);
  color: #fff;
  text-align: center;
}

.home-generation-wordmark strong {
  font-size: clamp(58px, 4.55vw, 86px);
  font-weight: 900;
  letter-spacing: -.045em;
  line-height: 1;
}

.home-generation-alpha-slot,
.home-generation-brand-star {
  position: static;
  display: block;
  aspect-ratio: 1;
  object-fit: contain;
  clip-path: none;
}

.home-generation-alpha-slot { width:clamp(72px,5.3vw,100px); height:clamp(72px,5.3vw,100px); }
.home-generation-brand-star { width:clamp(52px,4.1vw,76px); height:clamp(52px,4.1vw,76px); }

@media (min-width: 761px) and (max-width: 1100px) {
  .home-generation-heading h2 {
    width: calc(100vw - 32px);
    height: clamp(110px, 16vw, 154px);
  }

  .home-generation-wordmark {
    left: 0;
    right: 0;
    grid-template-columns: clamp(48px,7.2vw,68px) auto clamp(34px,5.2vw,48px) auto;
    gap: clamp(10px,1.6vw,16px);
  }

  .home-generation-wordmark strong {
    min-width: 0;
    font-size: clamp(42px, 6.8vw, 58px);
  }

  .home-generation-alpha-slot { width:clamp(48px,7.2vw,68px); height:clamp(48px,7.2vw,68px); }
  .home-generation-brand-star { width:clamp(34px,5.2vw,48px); height:clamp(34px,5.2vw,48px); }
}

.home-generation-spark {
  position: absolute;
  z-index: 7;
  pointer-events: none;
  transform-origin:center;
  animation:home-sparkle-drift 5.2s ease-in-out infinite alternate;
}

.home-generation-spark--left-outline { left:-12%; top:35%; width:5.2%; }
.home-generation-spark--right-outline { right:-10%; top:-12%; width:6%; animation-delay:-1.8s; animation-duration:6.1s; }
.home-generation-spark--right-filled { right:-7.5%; top:36%; width:4.8%; animation-delay:-3.2s; animation-duration:4.4s; }

.home-framed-icon { animation:home-decor-float 5.8s ease-in-out infinite alternate; }
.home-framed-icon--puzzle { animation-delay:-1.7s; animation-duration:6.6s; }
.home-framed-icon--laptop { animation-delay:-3.1s; animation-duration:5.1s; }

@keyframes home-sparkle-drift {
  0% { transform:translate3d(0,0,0) rotate(-5deg) scale(.92); filter:brightness(.9); }
  45% { transform:translate3d(7px,-10px,0) rotate(5deg) scale(1.08); filter:brightness(1.18); }
  100% { transform:translate3d(-5px,6px,0) rotate(-2deg) scale(.98); filter:brightness(1.02); }
}
@keyframes home-decor-float {
  0% { transform:translate3d(0,0,0) rotate(-2deg); }
  100% { transform:translate3d(4px,-11px,0) rotate(2deg); }
}

html.reduced-motion .home-spark,
html.reduced-motion .home-generation-spark,
html.reduced-motion .home-framed-icon { animation:none; }

@media (max-width: 760px) {
  .home-generation-heading h2 { width:82vw; height:24vw; }
  .home-generation-heading p { margin-bottom:0; }
  .home-generation-wordmark {
    left:0;
    right:0;
    top:28%;
    grid-template-columns:clamp(34px,10vw,46px) auto clamp(25px,7vw,34px) auto;
    gap:clamp(6px,2vw,10px);
  }
  .home-generation-wordmark strong { font-size:clamp(27px,8vw,38px); }
  .home-generation-alpha-slot { width:clamp(34px,10vw,46px); height:clamp(34px,10vw,46px); }
  .home-generation-brand-star { width:clamp(25px,7vw,34px); height:clamp(25px,7vw,34px); }
  .home-scroll-story-anchor--generation { width:15%; height:72%; }
  .home-generation-spark--left-outline { left:-5%; top:34%; width:7%; }
  .home-generation-spark--right-outline { right:-4%; top:-5%; width:7%; }
  .home-generation-spark--right-filled { right:-1%; top:39%; width:6%; }
}

.home-generation-card {
  position: relative;
  width: 1555px;
  height: 625px;
  margin: 38px auto 0;
  border: 2px solid #77dfff;
  border-radius: 24px;
  background: linear-gradient(110deg, #0b58cf, #0950c3 65%, #082c9e);
  box-shadow: 0 15px 30px rgba(0, 7, 70, .25);
}

.home-generation-mobile-art { display:none; }

.home-generation-copy {
  position: absolute;
  z-index: 8;
  left: 130px;
  top: 66px;
  width: 880px;
}

.home-generation-copy h3 {
  margin: 0;
  font-size: 53px;
  font-weight: 900;
  line-height: 1.02;
}

.home-generation-copy mark {
  padding: 0;
  background: transparent;
  color: var(--home-yellow);
}

.home-generation-copy > p {
  width: 790px;
  margin: 31px 0 42px;
  font-size: 18px;
  line-height: 1.42;
}

.home-generation-copy ul {
  width: 860px;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px 30px;
  list-style: none;
}

.home-generation-copy li {
  min-width: 0;
}

.home-generation-copy li img {
  display: block;
  width: 100%;
  height: auto;
}

.home-brochure {
  position: absolute;
  left: 520px;
  top: 544px;
  min-width: 290px;
}

.home-generation-photo-wrap {
  position: absolute;
  z-index: 8;
  right: 24px;
  top: 18px;
  width: 500px;
  height: 585px;
}

.home-generation-photo-crop {
  position: absolute;
  inset: 0;
  overflow: visible;
  border: 0;
  background: transparent;
}

.home-generation-photo-source {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.home-generation-icon {
  position: absolute;
  z-index: 3;
  width: 90px;
  height: 90px;
  transform: rotate(-4deg);
}

.home-generation-icon--laptop { left: -8px; top: 116px; }
.home-generation-icon--puzzle { right: 16px; bottom: 10px; }

.home-scroll-divider {
  position: absolute;
  left: 50%;
  bottom: 90px;
  width: 86px;
  height: 86px;
  transform: translateX(-50%);
  border: 1px solid #3654d9;
  border-radius: 50%;
  background: #153cc1;
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 40px;
  text-decoration: none;
}

.home-scroll-divider::before,
.home-scroll-divider::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 690px;
  height: 2px;
  background: linear-gradient(90deg, #05bdec, #7425ff);
}

.home-scroll-divider::before { right: calc(100% + 58px); }
.home-scroll-divider::after { left: calc(100% + 58px); transform: scaleX(-1); }

.home-contact {
  min-height: 1050px;
  padding-top: 76px;
}

.home-contact-copy {
  position: absolute;
  z-index: 2;
  left: 145px;
  top: 165px;
  width: 840px;
  height: 615px;
  padding: 76px 72px;
  border: 1px solid #63ceff;
  border-radius: 0 0 0 70px;
  background: linear-gradient(115deg, rgba(20, 83, 210, .94), rgba(9, 36, 166, .9));
}

.home-contact-copy::after {
  content: "";
  position: absolute;
  left: -1px;
  bottom: -1px;
  width: 145px;
  height: 145px;
  border-radius: 0 0 0 70px;
  background: linear-gradient(135deg, #eaf7ff 0 46%, #4a66da 52%, #0924a5 72%);
  clip-path: polygon(0 0, 100% 100%, 0 100%);
}

.home-contact-copy h2 {
  position: relative;
  z-index: 8;
  margin: 54px 0 0;
  font-size: 54px;
  font-weight: 400;
  line-height: 1.1;
}

.home-contact-copy > img {
  position: absolute;
  z-index: 2;
  left: 50%;
  bottom: -105px;
  width: 380px;
  height: 380px;
  object-fit: contain;
  transform: translateX(-50%);
}

.home-contact-form-shell {
  position: absolute;
  z-index: 4;
  right: 146px;
  top: 72px;
  width: 625px;
  min-height: 820px;
  padding: 52px 60px 34px;
  border-radius: 28px;
  background: #f4f7fb;
  box-shadow: 0 0 46px rgba(0, 8, 66, .75);
  color: #07194a;
}

.home-contact-form-shell h3 {
  margin: 0 0 28px;
  color: #0822a5;
  font-size: 26px;
  line-height: 1.25;
}

.home-contact-form,
.home-contact-form .pa-form-grid {
  margin: 0;
}

.home-contact-form .pa-form-grid > p { margin: 0; }
.home-contact-form .pa-form-grid br { display: none; }

.home-contact-form .wpcf7-form-control-wrap {
  display: block;
}

.home-contact-form label {
  display: block;
  margin-bottom: 17px;
  font-size: 14px;
  font-weight: 400;
}

.home-contact-form input {
  width: 100%;
  height: 39px;
  margin-top: 8px;
  padding: 0 16px;
  border: 1px solid #b6c8e0;
  border-radius: 4px;
  background: #e8f0fb;
  color: #07194a;
  font: 14px var(--pa-global-font);
}

.home-contact-form input:focus {
  border-color: #0b52cc;
  outline: 3px solid rgba(41, 204, 255, .35);
}

.home-contact-form button,
.home-contact-form input[type="submit"] {
  width: 100%;
  height: 62px;
  margin-top: 6px;
  border: 1px solid #28d8ff;
  border-radius: 999px;
  background: linear-gradient(180deg, #062aa8, #001978);
  box-shadow: 0 8px 14px rgba(0, 16, 95, .3);
  color: #fff;
  font: 20px var(--pa-global-font);
  cursor: pointer;
}

.home-contact-form .wpcf7-not-valid-tip {
  margin-top: 5px;
  color: #b90038;
  font-size: 12px;
}

.home-contact-form .wpcf7-response-output {
  margin: 14px 0 0;
  padding: 10px 14px;
  border-radius: 8px;
  font-size: 13px;
}

.home-contact-form .wpcf7-spinner {
  position: absolute;
  right: 70px;
  bottom: 46px;
}

.home-contact-status {
  min-height: 20px;
  margin: 12px 0 0;
  color: #0822a5;
  font-size: 13px;
  text-align: center;
}

.pa-footer {
  width: min(1536px, calc(100vw - 96px));
  min-height: 178px;
  margin: -72px auto 48px;
  padding: 30px 76px;
  border: 0;
  border-radius: 34px;
  background: #0826a7;
  box-shadow: 0 11px 18px rgba(0, 7, 66, .55), inset 0 0 24px rgba(0, 6, 80, .3);
  grid-template-columns: 165px 1fr;
  gap: 72px;
}

.pa-footer-brand {
  width: 116px;
  height: 116px;
}

.pa-footer-content {
  padding-right: 120px;
}

.pa-footer-nav {
  gap: 82px;
}

.pa-footer-nav a,
.pa-footer-meta p,
.pa-footer-meta a {
  font-size: 13px;
}

.pa-footer-rule {
  margin: 20px 0 17px;
  background: rgba(42, 205, 255, .45);
}

.pa-footer-decoration {
  top: -42px;
  right: 72px;
  transform: rotate(28deg) scale(.82);
}

@keyframes home-spin {
  to { transform: translate(-50%, -50%) rotate(360deg); }
}

@keyframes home-spin-reverse {
  to { transform: translate(-50%, -50%) rotate(-360deg); }
}

html.reduced-motion .home-orbit { animation: none; }

@media (max-width: 1500px) {
  .pa-site,
  .pa-footer,
  .pa-header { min-width: 0; }

  .home-hero { height: clamp(720px, 56vw, 900px); }
  .home-hero-copy { left: 6.4vw; top: clamp(210px, 16vw, 255px); }
  .home-hero h1 span { margin-bottom: 20px; font-size: clamp(28px, 2.3vw, 38px); }
  .home-hero h1 strong { font-size: clamp(76px, 6.5vw, 108px); }
  .home-hero .home-button { margin-top: 42px; }
  .home-hero-portal { top: clamp(170px, 12vw, 190px); right: 6vw; width: clamp(440px, 36.7vw, 600px); height: auto; aspect-ratio: 1; }
  .home-orbit--outer { width: 100%; height: 100%; }
  .home-orbit--inner { width: 77%; height: 77%; }
  .home-alpha-mark { width: 81%; height: 81%; }
  .home-framed-icon { width: 14.2%; height: 14.2%; }

  .home-video-section { min-height: 0; padding: 32px 0 120px; }
  .home-video-frame { width: min(1555px, calc(100vw - 8vw)); height: auto; aspect-ratio: 1555 / 876; }
  .home-video-frame button { width: clamp(94px, 9.4vw, 150px); height: clamp(94px, 9.4vw, 150px); }
  .home-video-frame button span { margin-left: 43%; border-top-width: 16px; border-bottom-width: 16px; border-left-width: 25px; }

  .home-projects-overview { min-height: 0; padding: 55px 0 130px; }
  .home-section-heading strong { font-size: clamp(62px, 5.3vw, 84px); }
  .home-section-heading span { font-size: clamp(28px, 2.5vw, 38px); }
  .home-project-deck { width: min(1560px, calc(100vw - 7vw)); height: auto; margin-top: 70px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: start; gap: 24px; }
  .home-project-card { position: relative; inset: auto; width: 100%; height: auto; aspect-ratio: 360 / 520; padding: 17% 12% 10%; }
  .home-project-card--tecpro { transform: rotate(-7deg); }
  .home-project-card--digital { transform: rotate(2deg); }
  .home-project-card--spark { transform: rotate(-2deg); }
  .home-project-card--garden { transform: rotate(6deg); }
  .home-project-card > strong { margin-top: 10%; font-size: clamp(25px, 2.25vw, 36px); }
  .home-project-card > span { left: 13%; right: 13%; bottom: 9%; height: 40%; }

  .home-alpha-summary { width: min(1450px, calc(100% - 8vw)); min-height: 0; margin: 0 auto; padding: 0 0 110px; display: grid; grid-template-columns: 1fr .9fr; align-items: center; gap: 7vw; }
  .home-alpha-summary-visual { position: relative; left: auto; top: auto; width: 100%; height: auto; aspect-ratio: 1; }
  .home-alpha-summary-copy { position: relative; left: auto; top: auto; width: 100%; }

  .home-program { width: min(1555px, calc(100vw - 8vw)); height: clamp(500px, 35vw, 610px); }
  .home-program-copy { top: 22%; width: 44%; }
  .home-program--tecpro .home-program-copy,
  .home-program--spark .home-program-copy { left: 9%; }
  .home-program--digital .home-program-copy,
  .home-program--garden .home-program-copy { left: 55%; }
  .home-program-copy h2 { font-size: clamp(38px, 3.1vw, 50px); }
  .home-program-copy p { font-size: clamp(16px, 1.2vw, 19px); }
  .home-program-copy .home-button { top: clamp(240px, 17vw, 290px); }
  .home-program-visual--tecpro,
  .home-program-visual--spark { width: 42%; }
  .home-program-visual--digital,
  .home-program-visual--garden { width: 46%; }

  .home-generation { min-height: 1120px; }
  .home-generation-heading h2 { font-size: clamp(68px, 5.5vw, 88px); }
  .home-generation-card { width: min(1555px, calc(100vw - 8vw)); }
  .home-generation-copy { left: 7%; width: 58%; }
  .home-generation-copy h3 { font-size: clamp(40px, 3.2vw, 51px); }
  .home-generation-copy > p,
  .home-generation-copy ul { width: 100%; }
  .home-generation-photo-wrap { right: -2%; width: 34%; height: auto; aspect-ratio: 1; }
  .home-brochure { left: 33%; }

  .home-contact-copy { left: 6vw; width: 50vw; }
  .home-contact-form-shell { right: 6vw; width: 39vw; }
}

@media (max-width: 1100px) {
  .pa-header { top: 18px; width: calc(100vw - 32px); height: 76px; border-radius: 26px; }
  .pa-header.is-scrolled { top: 10px; }
  .pa-nav { padding: 0 22px; gap: 0; }
  .pa-header .pa-brand { flex-basis: 198px; width: 198px; height: 64px; margin-right: auto; }

  .home-hero { height: 720px; }
  .home-hero-copy { top: 190px; }
  .home-hero-copy { width: 49%; }
  .home-hero h1 strong { font-size: clamp(62px, 7.2vw, 78px); }
  .home-hero-portal { top: 170px; right: 1.5vw; width: 43vw; min-width: 360px; }
  .home-spark { display: none; }

  .home-project-deck { width: min(850px, calc(100% - 70px)); grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 60px 46px; }
  .home-project-card > strong { font-size: clamp(28px, 4vw, 36px); }

  .home-alpha-summary { grid-template-columns: .9fr 1fr; gap: 35px; }

  .home-program { height: 500px; margin-bottom: 130px; }
  .home-program-logo { width: 45%; height: 96px; }
  .home-program-logo img { max-width: 75%; }
  .home-program-copy { top: 120px; width: 49%; }
  .home-program--tecpro .home-program-copy,
  .home-program--spark .home-program-copy { left: 6%; }
  .home-program--digital .home-program-copy,
  .home-program--garden .home-program-copy { left: 51%; }
  .home-program-copy h2 { font-size: 37px; }
  .home-program-copy h3 { font-size: 19px; }
  .home-program-copy p { font-size: 16px; }
  .home-program-copy .home-button { top: 260px; }
  .home-program-visual { transform: scale(.8); transform-origin: center bottom; }

  .home-generation { min-height: calc(1380px + clamp(47px, calc(9.34vw - 25px), 78px)); }
  .home-generation-card { height: 980px; }
  .home-generation-copy { position: relative; left: auto; top: auto; width: 100%; padding: 58px 60px 0; }
  .home-generation-copy > p { max-width: 760px; }
  .home-generation-photo-wrap { right: 7%; top: 490px; width: 420px; }
  .home-brochure { left: 60px; top: 850px; }

  .home-contact { min-height: 1560px; padding: 70px 40px 160px; display: grid; gap: 40px; }
  .home-contact-copy,
  .home-contact-form-shell { position: relative; inset: auto; width: min(800px, 100%); margin: 0 auto; }
  .home-contact-copy { height: 560px; }
  .home-contact-copy > img { left: 50%; bottom: -70px; width: 300px; height: 300px; transform: translateX(-50%); }
  .home-contact-form-shell { min-height: 800px; }

  .pa-footer { width: calc(100vw - 32px); margin-top: -90px; padding: 36px 28px; grid-template-columns: 1fr; justify-items: center; gap: 20px; }
  .pa-footer-brand { width: 104px; height: 104px; }
  .pa-footer-content { width: 100%; padding: 0; }
  .pa-footer-nav { flex-wrap: wrap; justify-content: center; gap: 18px 30px; }
  .pa-footer-meta { justify-content: center; gap: 16px 30px; flex-wrap: wrap; }
  .pa-footer-decoration { display: none; }
}

@media (max-width: 760px) {
  .home-hero { height: auto; min-height: 790px; padding: 140px 22px 55px; }
  .home-hero-copy { position: relative; left: auto; top: auto; }
  .home-hero-copy { width: 100%; }
  .home-hero h1 span { font-size: clamp(24px, 7vw, 32px); }
  .home-hero h1 strong { font-size: clamp(52px, 14vw, 74px); line-height: .92; }
  .home-hero .home-button { min-width: 220px; min-height: 58px; margin-top: 34px; font-size: 18px; }
  .home-hero-portal { position: relative; top: auto; right: auto; width: min(82vw, 470px); min-width: 0; margin: 55px auto 0; }

  .home-video-section { padding: 24px 0 100px; }
  .home-video-frame { width: calc(100vw - 32px); padding: 8px; border-radius: 22px; }
  .home-video-placeholder { inset: 8px; border-radius: 17px; }
  .home-video-frame video { border-radius: 17px; }
  .home-video-frame::before,
  .home-video-frame::after { width: 62px; height: 62px; border-radius: 15px; }
  .home-video-frame button { width: 72px; height: 72px; }
  .home-video-frame button span { border-top-width: 11px; border-bottom-width: 11px; border-left-width: 18px; }
  .home-pill { min-height: 42px; padding: 0 18px; font-size: 13px; }
  .home-pill--projects { bottom: 28px; }

  .home-projects-overview { padding: 50px 0 105px; }
  .home-section-heading strong { font-size: clamp(54px, 15vw, 72px); }
  .home-section-heading span { padding: 0 20px; font-size: 25px; }
  .home-section-heading em { padding:0 24px; font-size:18px; line-height:1.25; }
  .home-project-deck { width: min(390px, calc(100% - 60px)); grid-template-columns: 1fr; gap: 45px; }
  .home-project-card { transform: none; }
  .home-project-card:hover,
  .home-project-card:focus-visible { transform: translateY(-7px); }
  .home-project-card > strong { font-size: 34px; }

  .home-alpha-summary { width: calc(100% - 40px); grid-template-columns: 1fr; padding-bottom: 90px; text-align: center; }
  .home-alpha-summary-visual { width: min(480px, 100%); margin: auto; }
  .home-alpha-summary-copy > span { margin-bottom: 30px; }
  .home-alpha-summary-copy h2 { font-size: 30px; }
  .home-alpha-summary-copy p { font-size: 17px; }

  .home-programs { padding-inline: 16px; }
  .home-program { width: 100%; height: 690px; margin-bottom: 115px; border-radius: 28px; }
  .home-program-logo { left: 0 !important; right: 0 !important; top: -48px; width: 100%; height: 90px; }
  .home-program-copy,
  .home-program--tecpro .home-program-copy,
  .home-program--digital .home-program-copy,
  .home-program--spark .home-program-copy,
  .home-program--garden .home-program-copy { left: 28px; top: 80px; width: calc(100% - 56px); }
  .home-program-copy h2 { font-size: 38px; }
  .home-program-copy .home-button { top: 255px; }
  .home-program-copy .home-program-cta { width: 220px; min-width: 0; min-height: 0; }
  .home-program-visual { left: 0; right: 0; top: auto; bottom: 0; width: 100%; height: 330px; transform: none; opacity: .95; }
  .home-program-visual img { transform: none; }

  .home-generation { min-height: calc(1483px + 23.85vw); padding: 80px 16px 0; }
  .home-generation-heading p { font-size: 30px; }
  .home-generation-heading h2 { font-size: clamp(53px, 14vw, 72px); }
  .home-generation-card { width: 100%; height: 1180px; margin-top: 55px; }
  .home-generation-copy { padding: 44px 26px 0; }
  .home-generation-copy h3 { font-size: 37px; }
  .home-generation-copy > p { margin: 24px 0 30px; font-size: 16px; }
  .home-generation-copy ul { grid-template-columns: 1fr; gap: 12px; }
  .home-generation-photo-wrap { right: 50%; top: 730px; width: min(320px, 78vw); transform: translateX(50%); }
  .home-brochure { left: 50%; top: 1080px; min-width: 230px; transform: translateX(-50%); }
  .home-scroll-divider { bottom: 35px; width: 66px; height: 66px; }
  .home-scroll-divider::before,
  .home-scroll-divider::after { width: 32vw; }

  .home-contact { min-height: 0; padding: 65px 16px 140px; }
  .home-contact-copy { height: 500px; padding: 50px 28px; border-radius: 0 0 0 45px; }
  .home-contact-copy h2 { font-size: 40px; }
  .home-contact-copy > img { left: 50%; bottom: -35px; width: 280px; height: 280px; transform: translateX(-50%); }
  .home-contact-form-shell { min-height: 0; padding: 38px 24px 28px; border-radius: 22px; }
  .home-contact-form-shell h3 { font-size: 23px; }

  .pa-footer { margin: -80px auto 24px; min-height: 0; border-radius: 25px; }
  .pa-footer-nav { gap: 16px 22px; }
}

@media (max-width: 520px) {
  .pa-header { top:12px; width:calc(100vw - 32px); height:64px; border-radius:22px; }
  .pa-header.is-scrolled { top:8px; }
  .pa-header .pa-brand { flex-basis:148px; width:148px; }
  .pa-nav.is-open .pa-brand { flex:0 0 54px; width:148px; height:54px; margin-bottom:2px; }

  .home-hero { min-height: 720px; padding-inline: 18px; }
  .home-hero h1 strong { font-size: clamp(42px, 12vw, 48px); letter-spacing: -.055em; }
  .home-hero h1 span { font-size: 24px; }
  .home-hero .home-button { min-width: 0; width: min(250px, 100%); padding-inline: 20px; font-size: 15px; }

  .home-generation { min-height:0; padding:80px 14px 120px; }
  .home-generation-heading h2 { width: calc(100vw - 28px); height: 25vw; }
  .home-generation-wordmark {
    left:0;
    right:0;
    grid-template-columns:clamp(32px,9vw,40px) auto clamp(23px,6.5vw,30px) auto;
    justify-content:center;
    gap:clamp(5px,1.5vw,7px);
  }
  .home-generation-wordmark strong { min-width:0; font-size: clamp(20px, 6.3vw, 26px); }
  .home-generation-heading p { font-size: 26px; }
  .home-generation-card {
    height:auto;
    min-height:0;
    margin-top:36px;
    padding:28px 14px 32px;
  }
  .home-generation-card > .home-generation-copy,
  .home-generation-card > .home-generation-photo-wrap { display:none; }
  .home-generation-mobile-art {
    position:relative;
    z-index:8;
    width:100%;
    display:grid;
    gap:14px;
  }
  .home-generation-mobile-art img { display:block; max-width:100%; height:auto; }
  .home-generation-mobile-title {
    width:100%;
    margin-bottom:-25px;
    clip-path:inset(0 0 23% 0);
  }
  .home-generation-mobile-description {
    position:relative;
    width:100%;
    margin:0;
    padding-top:13px;
    color:#fff;
    font-size:13px;
    line-height:1.42;
  }
  .home-generation-mobile-description::before {
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:0;
    height:2px;
    background:linear-gradient(90deg,#23d6ff,#9e3bff);
  }
  .home-generation-mobile-features {
    display:grid;
    gap:10px;
  }
  .home-generation-mobile-features img { width:100%; }
  .home-generation-mobile-photo {
    position:relative;
    width:min(305px,88%);
    margin:8px auto 0;
  }
  .home-generation-mobile-photo-main { width:100%; }
  .home-generation-mobile-node {
    position:absolute;
    z-index:2;
    width:68px;
    filter:drop-shadow(0 7px 8px rgba(0,10,90,.22));
  }
  .home-generation-mobile-node--laptop { left:-20px; top:42%; }
  .home-generation-mobile-node--puzzle { right:-14px; bottom:7%; }
  .home-generation-mobile-cta {
    width:min(300px,90%);
    margin:0 auto;
    display:block;
    border-radius:999px;
    transition:transform .2s ease,filter .2s ease;
  }
  .home-generation-mobile-cta:hover,
  .home-generation-mobile-cta:focus-visible {
    transform:translateY(-3px);
    filter:brightness(1.08);
  }
  .home-generation-mobile-cta:focus-visible {
    outline:3px solid #fff;
    outline-offset:4px;
  }

  .home-projects-overview { padding-bottom:90px; }
  .home-project-deck { gap:24px; }
  .home-project-card {
    aspect-ratio:360 / 440;
    padding:12% 12% 8%;
    border-radius:28px;
    box-shadow:inset 0 0 0 12px rgba(20,43,177,.65),0 14px 20px rgba(0,9,75,.34);
  }
  .home-project-card::after { top:-28px; width:58px; height:66px; border-width:6px; }
  .home-project-card > strong { margin-top:7%; }
  .home-project-card > span { bottom:7%; height:42%; }

  .home-section-heading strong { padding-inline: 14px; font-size: clamp(40px, 12vw, 47px); overflow-wrap: anywhere; }
  .home-section-heading span { font-size: 21px; }
  .home-project-deck { width: calc(100% - 40px); }
  .home-project-card { padding-inline: 36px; }

  .home-alpha-summary {
    width:calc(100% - 28px);
    min-height:0;
    padding-bottom:64px;
    row-gap:12px;
  }
  .home-alpha-summary-visual { width:min(200px,55vw); }
  .home-alpha-summary-copy { position:relative; z-index:10; }
  .home-alpha-summary-copy > span { margin-bottom:20px; }
  .home-alpha-summary-copy h2 { font-size: 27px; }
  .home-alpha-summary-copy p { font-size: 15px; }

  .home-programs { padding:24px 16px 0; }
  .home-program { height:540px; margin-bottom:52px; border-radius:24px; }
  .home-program-logo { top:-34px; height:76px; border-radius:20px; }
  .home-program-logo,.home-program-copy { z-index:10; }
  .home-program-copy,
  .home-program--tecpro .home-program-copy,
  .home-program--digital .home-program-copy,
  .home-program--spark .home-program-copy,
  .home-program--garden .home-program-copy { left:22px; top:58px; width:calc(100% - 44px); }
  .home-program-copy h2 { margin-bottom:15px; font-size:29px; line-height:1.02; }
  .home-program-copy h3 { margin-bottom:10px; font-size: 16px; line-height:1.24; }
  .home-program-copy p { max-width:100%; font-size: 13px; line-height:1.42; }
  .home-program-copy .home-button { top:190px; }
  .home-program-copy .home-program-cta { width:184px; min-width:0; min-height:0; }
  .home-program-visual { bottom:8px; height:235px; }
  .home-scroll-story-anchor--cards {
    left:50%;
    transform:translateX(-50%);
  }
  .pa-scroll-story-layer--flatAlpha { object-fit:contain; }
}

@media (max-width: 480px) {
  .home-contact-copy > img {
    bottom: -94px;
    width: 230px;
    height: 230px;
  }
}

/* Keep the 1728 composition visually consistent on desktop displays using
   100–125% scaling. Percentages remain stable where fixed CSS pixels do not. */
@media (min-width: 1101px) {
  html { scroll-padding-top: 7.8vw; }

  .pa-header {
    top: clamp(24px, 2vw, 38px);
    width: 88vw;
    height: clamp(76px, 5.625vw, 108px);
  }

  .pa-nav { grid-template-columns:1.75fr repeat(4,1fr); padding-inline:clamp(34px,3.1vw,60px); gap:clamp(8px,1vw,20px); }
  .pa-header .pa-brand { flex-basis:clamp(230px,17.5vw,315px); width:clamp(230px,17.5vw,315px); height:clamp(52px,3.8vw,68px); justify-self:start; }
  .pa-nav a { font-size: clamp(14px, .925vw, 18px); }

  .home-video-section {
    min-height: 61.35vw;
    padding-top: 1.85vw;
  }

  .home-video-frame {
    width: 90vw;
    height: auto;
    aspect-ratio: 1555 / 876;
    padding: 1.04vw;
    border-radius: 2.43vw;
    box-shadow: 0 .7vw 1.5vw rgba(0, 13, 81, .2);
  }

  .home-video-frame::before,
  .home-video-frame::after {
    width: 8.45vw;
    height: 8.45vw;
    border-radius: 1.62vw;
  }

  .home-video-placeholder {
    inset: 1.04vw;
    border-radius: 1.97vw;
  }

  .home-video-frame video { border-radius: 1.97vw; }

  .home-video-frame button {
    width: 9.375vw;
    height: 9.375vw;
    box-shadow: 0 0 1.62vw rgba(41, 204, 255, .85);
  }

  .home-video-frame button span {
    margin-left: 40%;
    border-top-width: 1.27vw;
    border-bottom-width: 1.27vw;
    border-left-width: 1.97vw;
  }

  .home-pill {
    min-height: 2.9vw;
    padding-inline: 1.5vw;
    font-size: .98vw;
  }

  .home-pill--projects { bottom: 1.62vw; }

  .home-projects-overview { min-height: 0; padding: 7vw 0 7vw; }
  .home-section-heading strong { font-size: 4.65vw; }
  .home-section-heading span { margin-top: .95vw; font-size: 2.1vw; }

  .home-project-deck {
    width: 90vw;
    height: auto;
    margin-top: 4vw;
    display: grid;
    grid-template-columns: repeat(4, 19vw);
    justify-content: space-between;
    align-items: start;
    gap: 0;
  }

  .home-project-card {
    position: relative;
    inset: auto;
    width: 19vw;
    height: auto;
    aspect-ratio: 360 / 520;
    padding: 3.25vw 2.25vw 2.1vw;
    border-radius: 1.8vw;
    box-shadow: inset 0 0 0 .9vw rgba(20, 43, 177, .65), 0 .95vw 1.3vw rgba(0, 9, 75, .4);
  }

  .home-project-card small { font-size: .84vw; }
  .home-project-card > strong { margin-top: 1.75vw; font-size: 2vw; }
  .home-project-card > span { left: 2.5vw; right: 2.5vw; bottom: 2.5vw; height: 10.9vw; border-radius: 1.7vw; }
  .home-project-card > span img { max-height: 6.5vw; }
  .home-project-card::after { right: .95vw; top: -1.9vw; width: 3.4vw; height: 4vw; border-width: .36vw; }

  .home-project-card--tecpro { transform: rotate(-8deg); }
  .home-project-card--digital { transform: rotate(3deg); }
  .home-project-card--spark { transform: rotate(-2deg); }
  .home-project-card--garden { transform: rotate(7deg); }
  .home-project-card--tecpro:hover,
  .home-project-card--tecpro:focus-visible { transform: rotate(-8deg) translateY(-.65vw); }
  .home-project-card--digital:hover,
  .home-project-card--digital:focus-visible { transform: rotate(3deg) translateY(-.65vw); }
  .home-project-card--spark:hover,
  .home-project-card--spark:focus-visible { transform: rotate(-2deg) translateY(-.65vw); }
  .home-project-card--garden:hover,
  .home-project-card--garden:focus-visible { transform: rotate(7deg) translateY(-.65vw); }

  .home-programs { padding: 2.2vw 0 4.6vw; }

  .home-program {
    width: 90vw;
    height: 20.5vw;
    margin: 0 auto 19vw;
    border-radius: 2.2vw;
    box-shadow: 0 1.27vw 1.62vw rgba(0, 8, 70, .36);
    color: #fff;
    display: block;
    scroll-margin-top: 1.8vw;
    text-decoration: none;
    transition: transform .25s ease, box-shadow .25s ease;
  }

  .home-program--digital,
  .home-program--spark { color: #05239f; }

  .home-program:hover,
  .home-program:focus-visible {
    color: inherit;
    transform: translateY(-.35vw);
    box-shadow: 0 1.55vw 2vw rgba(0, 8, 70, .43);
  }

  .home-program:focus-visible { outline: .18vw solid #fff; outline-offset: .35vw; }

  .home-program::before,
  .home-program::after {
    width: 19.1vw;
    height: 11vw;
    border-radius: 1.74vw 1.74vw 0 0;
  }

  .home-program::before { top: -4.17vw; }
  .home-program::after { top: 1.62vw; }
  .home-program--tecpro::before,
  .home-program--tecpro::after,
  .home-program--spark::before,
  .home-program--spark::after { right: 2.03vw; }
  .home-program--digital::before,
  .home-program--digital::after,
  .home-program--garden::before,
  .home-program--garden::after { left: 2.03vw; }

  .home-program-logo {
    top: -1.8vw;
    width: 35.9vw;
    height: 5.3vw;
    border-radius: 1.4vw;
    box-shadow: 0 .75vw 1.16vw rgba(0, 12, 75, .26);
  }

  .home-program-logo img { width: 22.57vw; height: 5.1vw; }
  .home-program--digital .home-program-logo img { width: 20.5vw; }
  .home-program--spark .home-program-logo img { width: 19.1vw; }
  .home-program--garden .home-program-logo img { width: 17.36vw; }
  .home-program--digital .home-program-logo::after { font-size: 1.04vw; }

  .home-program-copy { top: 5.75vw; width: 39.93vw; }
  .home-program--tecpro .home-program-copy,
  .home-program--spark .home-program-copy { left: 8.97vw; }
  .home-program--digital .home-program-copy,
  .home-program--garden .home-program-copy { left: 48.9vw; }
  .home-program-copy h2 { margin-bottom: 1.62vw; font-size: 3vw; }
  .home-program-copy h3 { margin-bottom: .58vw; font-size: 1.33vw; }
  .home-program-copy p { max-width: 38.5vw; font-size: 1.16vw; }

  .home-button {
    min-width: 15.5vw;
    min-height: 4.05vw;
    padding-inline: 1.97vw;
    gap: .93vw;
    font-size: 1.21vw;
    box-shadow: 0 .52vw .87vw rgba(0, 10, 70, .45);
  }

  .home-program-copy .home-button { top: 12.75vw; left: -.23vw; }
  .home-program-copy .home-program-cta { width: 18.05vw; min-width:0; min-height:0; }

  .home-program-visual img { width: 100%; height: 100%; }
  .home-program-visual--tecpro { right: 1.4vw; top: -5.1vw; width: 37.6vw; height: 41.7vw; }
  .home-program-visual--digital { left: .3vw; top: -5.3vw; width: 43.4vw; height: 42.5vw; }
  .home-program-visual--spark { right: 1.3vw; top: -3.8vw; width: 37.9vw; height: 38.8vw; }
  .home-program-visual--garden { left: 1.4vw; top: -5.2vw; width: 41.7vw; height: 41.7vw; }

  .home-program:last-child { margin-bottom: 8vw; }

  .home-generation { min-height: calc(72.9vw + clamp(13px, calc(120px - 6.2vw), 52px)); }
  .home-generation-heading p { margin: 1.97vw 0 .35vw; font-size: 2.43vw; }
  .home-generation-heading h2 { font-size: 5.32vw; }
  .home-generation-card {
    width: 87.5vw;
    height: 36.17vw;
    margin: 2vw auto 0;
    border-radius: 1.39vw;
  }
  .home-generation-copy { left: 5.5vw; top: 3.82vw; width: 47vw; }
  .home-generation-copy h3 { font-size: 3.07vw; }
  .home-generation-copy > p { width: 45.72vw; margin: 1.8vw 0 2.43vw; font-size: 1.04vw; }
  .home-generation-copy ul { width: 49.6vw; gap: 1.04vw 1.74vw; }
  .home-generation-copy li {
    min-width: 0;
  }
  .home-brochure { left: 30.1vw; top: 31.48vw; min-width: 16.78vw; }
  .home-generation-photo-wrap { right: 1.45vw; top: 1.05vw; width: 29vw; height: 34vw; }
  .home-generation-photo-source { width: 100%; height: 100%; }
  .home-generation-icon { width: 5.2vw; height: 5.2vw; }
  .home-generation-icon--laptop { left: -.45vw; top: 6.6vw; }
  .home-generation-icon--puzzle { right: .95vw; bottom: .55vw; }
  .home-scroll-divider { bottom: 5.2vw; width: 4.98vw; height: 4.98vw; font-size: 2.31vw; }
  .home-scroll-divider::before,
  .home-scroll-divider::after { width: 39.93vw; }
  .home-scroll-divider::before { right: calc(100% + 3.36vw); }
  .home-scroll-divider::after { left: calc(100% + 3.36vw); }

  .home-contact { min-height: 60.76vw; padding-top: 4.4vw; }
  .home-contact-copy {
    left: 8.39vw;
    top: 9.55vw;
    width: 48.61vw;
    height: 35.59vw;
    padding: 4.4vw 4.17vw;
    border-radius: 0 0 0 4.05vw;
  }
  .home-contact-copy::after { width: 8.39vw; height: 8.39vw; border-radius: 0 0 0 4.05vw; }
  .home-contact-copy h2 { margin-top: 3.12vw; font-size: 3.12vw; }
  .home-contact-copy > img { left: 50%; bottom: -6.1vw; width: 22vw; height: 22vw; transform: translateX(-50%); }
  .home-contact-form-shell {
    right: 8.45vw;
    top: 4.17vw;
    width: 36.17vw;
    min-height: 47.45vw;
    padding: 3.01vw 3.47vw 1.97vw;
    border-radius: 1.62vw;
    box-shadow: 0 0 2.66vw rgba(0, 8, 66, .75);
  }
  .home-contact-form-shell h3 { margin-bottom: 1.62vw; font-size: 1.5vw; }
  .home-contact-form label { margin-bottom: .98vw; font-size: .81vw; }
  .home-contact-form input { height: 2.26vw; margin-top: .46vw; padding-inline: .93vw; font-size: .81vw; }
  .home-contact-form button,
  .home-contact-form input[type="submit"] { height: 3.59vw; font-size: 1.16vw; }

  .pa-footer {
    width: 88.9vw;
    min-height: 10.3vw;
    margin: -4.17vw auto 2.78vw;
    padding: 1.74vw 4.4vw;
    border-radius: 1.97vw;
    grid-template-columns: 9.55vw 1fr;
    gap: 4.17vw;
  }
}

/* Desktop composition updated from the final Figma exports. Mobile keeps the
   compact vertical experience defined above. */
@media (min-width: 1101px) {
  .home-projects-overview {
    min-height: 0;
    padding: 6.4vw 0 4.6vw;
    isolation: isolate;
  }

  .home-projects-overview .home-section-heading {
    z-index: 2;
  }

  .home-section-heading strong {
    font-size: clamp(72px, 4.8vw, 96px);
    line-height: .87;
  }

  .home-section-heading span {
    margin-top: 1vw;
    font-size: clamp(30px, 2.05vw, 41px);
  }

  .home-section-heading em {
    margin-top: .15vw;
    font-size: clamp(19px, 1.32vw, 27px);
  }

  .home-project-deck {
    width: 80.5vw;
    height: 14.5vw;
    margin-top: 2.7vw;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.7vw;
  }

  .home-project-card,
  .home-project-card--tecpro,
  .home-project-card--digital,
  .home-project-card--spark,
  .home-project-card--garden {
    width: 100%;
    aspect-ratio: 640 / 516;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 1.7vw;
    background: transparent;
    box-shadow: 0 .8vw 1.35vw rgba(0, 13, 86, .22);
    transform: none;
    transition: transform .28s ease, filter .28s ease;
  }

  .home-project-card:hover,
  .home-project-card:focus-visible,
  .home-project-card--tecpro:hover,
  .home-project-card--digital:hover,
  .home-project-card--spark:hover,
  .home-project-card--garden:hover {
    transform: translateY(-.45vw) scale(1.015);
    filter: brightness(1.035);
  }

  .home-project-card:focus-visible {
    outline: .18vw solid #fff;
    outline-offset: .35vw;
  }

  .home-project-card::after,
  .home-project-card > small,
  .home-project-card > strong,
  .home-project-card > span {
    display: none;
  }

  .home-project-card-art {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .home-project-stars {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: block;
    pointer-events: none;
  }

  .home-project-star {
    position: absolute;
    width: clamp(26px, 2.4vw, 48px);
    height: auto;
    animation: pa-star-float 5.8s ease-in-out infinite;
    filter: drop-shadow(0 0 .8vw rgba(38, 215, 255, .22));
  }

  .home-project-star--one { left: 9%; top: 15%; animation-delay: -.8s; }
  .home-project-star--two { right: 9%; top: 8%; width: clamp(30px, 2.9vw, 58px); animation-delay: -2.9s; }
  .home-project-star--three { left: 6%; bottom: 8%; width: clamp(22px, 1.9vw, 38px); animation-delay: -4.1s; }
  .home-project-star--four { right: 5%; bottom: 14%; width: clamp(24px, 2.15vw, 43px); animation-delay: -1.9s; }

  .home-project-grid-zone::before,
  .home-project-grid-zone::after {
    content: "";
    position: absolute;
    z-index: 1;
    width: 2.4vw;
    aspect-ratio: 1;
    background: url("../images/home/desktop-v2/star-outline.png") center / contain no-repeat;
    pointer-events: none;
    animation: pa-star-float 6.4s ease-in-out infinite;
  }

  .home-project-grid-zone::before { left: 7.5vw; top: 29vw; }
  .home-project-grid-zone::after {
    right: 7vw;
    top: 34vw;
    width: 3.2vw;
    background-image: url("../images/home/desktop-v2/star-filled.png");
    animation-delay: -2.7s;
  }

  .home-alpha-summary {
    position: relative;
    z-index: 2;
    width: 82vw;
    min-height: 34vw;
    margin: 0 auto;
    padding: 1vw 0 2vw;
    display: grid;
    grid-template-columns: 1fr 1.05fr;
    align-items: center;
    gap: 5vw;
  }

  .home-alpha-summary-visual {
    position: relative;
    left: auto;
    top: auto;
    justify-self: center;
    width: 31vw;
    height: 31vw;
  }

  .home-alpha-summary-copy {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
  }

  .home-alpha-summary-card {
    display: block;
    width: 100%;
    height: auto;
  }

  .home-alpha-summary-copy > span,
  .home-alpha-summary-copy > h2,
  .home-alpha-summary-copy > p {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  .home-program {
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    box-shadow: none;
  }

  .home-program--tecpro {
    color: #06248f;
    background-image: url("../images/home/desktop-v2/band-tecpro.png");
  }

  .home-program--digital { background-image: url("../images/home/desktop-v2/band-digital.png"); }
  .home-program--spark { background-image: url("../images/home/desktop-v2/band-spark.png"); }
  .home-program--garden {
    color: #fff;
    background-image: url("../images/home/desktop-v2/band-garden.png");
  }

  .home-program:hover,
  .home-program:focus-visible {
    box-shadow: none;
    filter: brightness(1.02);
  }

  .home-program-logo {
    top: -1.55vw;
    width: 36.2vw;
    height: auto;
    aspect-ratio: 1352 / 292;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .home-program-logo img,
  .home-program--digital .home-program-logo img,
  .home-program--spark .home-program-logo img,
  .home-program--garden .home-program-logo img {
    width: 100%;
    max-width: none;
    height: 100%;
    object-fit: contain;
    transform: none;
    filter: none;
  }

  .home-program-logo picture {
    display: block;
    width: 100%;
    height: 100%;
  }

  .home-program--digital .home-program-logo::after { content: none; }

  .home-program::before,
  .home-program::after {
    width: 21vw;
    height: 7.2vw;
    border-radius: 1.6vw;
    opacity: .75;
  }

  .home-program::before { top: -3.4vw; }
  .home-program::after { top: 2.2vw; }

  .home-program-visual--tecpro {
    right: 7vw;
    top: -4.4vw;
    width: 31vw;
    height: 32vw;
  }

  .home-program-visual--digital {
    left: 5.3vw;
    top: -4.3vw;
    width: 38vw;
    height: 37vw;
  }

  .home-program-visual--spark {
    right: 7.4vw;
    top: -3.1vw;
    width: 31.5vw;
    height: 32vw;
  }

  .home-program--spark .home-program-copy { top: 4.8vw; }
  .home-program--spark .home-program-copy .home-button { top: 14vw; }

  .home-program-visual--garden {
    left: 6.5vw;
    top: -4.8vw;
    width: 34vw;
    height: 34vw;
  }
}

@keyframes pa-star-float {
  0%, 100% { transform: translate3d(0, 0, 0) scale(.92) rotate(0deg); opacity: .72; }
  50% { transform: translate3d(0, -.7vw, 0) scale(1.08) rotate(8deg); opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .home-project-star,
  .home-project-grid-zone::before,
  .home-project-grid-zone::after {
    animation: none;
  }
}
