/* CMU backdrop — Figma node 43433:59880, artboard 1440×760 */

.pm-backdrop-scaler {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 0;
}

.pm-cmu {
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 1440px;
  height: 760px;
  margin-left: -720px;
  background: #f7f6fb;
  transform: scale(min(1, 100vw / 1440));
  transform-origin: bottom center;
}

.pm-cmu__layer {
  position: absolute;
  box-sizing: border-box;
}

.pm-cmu__gutter-left,
.pm-cmu__gutter-right,
.pm-cmu__spread-right {
  will-change: transform;
}

/* Hero: side scenery spread — tune via heroBackdropConfig.js */
.pm-cmu--hero {
  --pm-hero-spread-left: 72px;
  --pm-hero-spread-right: 72px;
  transform: scale(min(1, 100vw / 1440));
  transform-origin: bottom center;
}

.pm-cmu--hero .pm-cmu__gutter-left {
  transform: translateX(calc(var(--pm-hero-spread-left) * -1));
}

.pm-cmu--hero .pm-cmu__gutter-right {
  transform: translateX(var(--pm-hero-spread-right));
}

.pm-cmu--hero .pm-cmu__spread-right {
  transform: translateX(calc(var(--pm-hero-spread-right) * 1.2));
}

.pm-cmu--hero .pm-cmu__hero-building-spread {
  transform: translateX(calc(var(--pm-hero-spread-left) * -1));
}

.pm-cmu--hero .pm-cmu__n59898.pm-cmu__gutter-right {
  transform: translateX(calc(-50% + var(--pm-hero-spread-right)));
}

.pm-cmu--hero .pm-cmu__n60119.pm-cmu__gutter-left {
  transform: translateX(calc(-50% - var(--pm-hero-spread-left)));
}

@media (max-width: 900px) {
  .pm-cmu--hero .pm-cmu__gutter-left {
    transform: translateX(calc(var(--pm-hero-spread-left) * -0.4));
  }

  .pm-cmu--hero .pm-cmu__gutter-right {
    transform: translateX(calc(var(--pm-hero-spread-right) * 0.4));
  }

  .pm-cmu--hero .pm-cmu__spread-right {
    transform: translateX(calc(var(--pm-hero-spread-right) * 0.55));
  }

  .pm-cmu--hero .pm-cmu__hero-building-spread {
    transform: translateX(calc(var(--pm-hero-spread-left) * -0.4));
  }

  .pm-cmu--hero .pm-cmu__n59898.pm-cmu__gutter-right {
    transform: translateX(calc(-50% + var(--pm-hero-spread-right) * 0.4));
  }

  .pm-cmu--hero .pm-cmu__n60119.pm-cmu__gutter-left {
    transform: translateX(calc(-50% - var(--pm-hero-spread-left) * 0.4));
  }
}

/* Mobile hero: drop campus scenery; solid section bg only */
@media (max-width: 768px) {
  .pm-backdrop-scaler:not(.pm-backdrop-scaler--section) {
    display: none;
  }
}

/* Section: right-anchored campus vignette for ProblemMoments */
.pm-backdrop-scaler--section {
  mask-image: linear-gradient(
    to right,
    transparent 0%,
    transparent 46%,
    rgba(0, 0, 0, 0.25) 54%,
    rgba(0, 0, 0, 0.6) 62%,
    black 72%,
    black 100%
  );
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0%,
    transparent 46%,
    rgba(0, 0, 0, 0.25) 54%,
    rgba(0, 0, 0, 0.6) 62%,
    black 72%,
    black 100%
  );
}

.pm-cmu--section {
  --pm-section-spread-right: 0px;
  --pm-section-spread-down: 0px;
  --pm-section-building-x: 150px;
  --pm-section-building-down: 0px;
  --pm-section-hill-down: 0px;
  --pm-section-hill-rotate-ccw: 0;
  left: auto;
  right: 0;
  margin-left: 0;
  background: transparent;
  transform: translateX(var(--pm-section-spread-right))
    translateY(var(--pm-section-spread-down));
  transform-origin: bottom right;
}

.pm-cmu__section-hill,
.pm-cmu__section-building,
.pm-cmu__section-accents {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 1440px;
  height: 760px;
  pointer-events: none;
}

.pm-cmu__section-hill {
  z-index: 1;
  transform: translateY(var(--pm-section-hill-down))
    rotate(calc(var(--pm-section-hill-rotate-ccw) * -1deg));
  transform-origin: bottom right;
  overflow: visible;
}

/* Right-anchored placement overrides (artboard 1440x760, bottom-aligned) */
.pm-cmu--section .pm-cmu__n59898 {
  bottom: 0;
  left: auto;
  right: -120px;
  width: 1180px;
  height: 520px;
  transform: none;
  z-index: 1;
}

.pm-cmu__section-building {
  z-index: 3;
  width: 46%;
  overflow: hidden;
  transform: translateY(var(--pm-section-building-down));
}

.pm-cmu__section-building-flip {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 1440px;
  height: 760px;
  transform: scaleX(-1) translateX(calc(var(--pm-section-building-x) * -1));
  transform-origin: 50% 100%;
}

.pm-cmu__section-accents {
  z-index: 4;
}

.pm-cmu--section .pm-cmu__n60116 {
  inset: auto;
  right: 0;
  bottom: 0;
  width: 760px;
  height: 150px;
}

/* Lamp on the hill */
.pm-cmu--section .pm-cmu__n60121 {
  left: auto;
  right: 132px;
  top: auto;
  bottom: 60px;
  width: 132px;
  height: 250px;
}

/* Clouds above */
.pm-cmu--section .pm-cmu__n59899 {
  left: auto;
  right: 300px;
  top: 60px;
  width: 220px;
  height: 76px;
}

.pm-cmu--section .pm-cmu__n59910 {
  left: auto;
  right: 120px;
  top: 130px;
  width: 110px;
  height: 45px;
}

@media (max-width: 1320px) {
  .pm-backdrop-scaler--section {
    mask-image: linear-gradient(
      to right,
      transparent 0%,
      transparent 54%,
      rgba(0, 0, 0, 0.2) 62%,
      black 74%,
      black 100%
    );
    -webkit-mask-image: linear-gradient(
      to right,
      transparent 0%,
      transparent 54%,
      rgba(0, 0, 0, 0.2) 62%,
      black 74%,
      black 100%
    );
  }

  .pm-cmu--section {
    transform: translateX(calc(var(--pm-section-spread-right) * 0.75))
      translateY(calc(var(--pm-section-spread-down) * 0.75));
  }

  .pm-cmu__section-building-flip {
    transform: scaleX(-1) translateX(calc(var(--pm-section-building-x) * -0.75));
  }
}

@media (max-width: 900px) {
  .pm-backdrop-scaler--section {
    mask-image: linear-gradient(
      to right,
      transparent 0%,
      transparent 50%,
      rgba(0, 0, 0, 0.25) 58%,
      black 70%,
      black 100%
    );
    -webkit-mask-image: linear-gradient(
      to right,
      transparent 0%,
      transparent 50%,
      rgba(0, 0, 0, 0.25) 58%,
      black 70%,
      black 100%
    );
  }

  .pm-cmu--section {
    transform: translateX(calc(var(--pm-section-spread-right) * 0.4))
      translateY(calc(var(--pm-section-spread-down) * 0.4));
  }

  .pm-cmu__section-building-flip {
    transform: scaleX(-1) translateX(calc(var(--pm-section-building-x) * -0.4));
  }
}

.pm-cmu__campus-building {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.pm-cmu__layer > img {
  position: absolute;
  display: block;
  inset: 0;
  max-width: none;
  width: 100%;
  height: 100%;
}

.pm-cmu__mirror {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  container-type: size;
}

.pm-cmu__mirror-inner {
  flex: none;
  width: 100cqw;
  height: 100cqh;
  transform: scaleX(-1);
  position: relative;
}

.pm-cmu__mirror-inner > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
}

/* 43433:59881 Clip path group */
.pm-cmu__n59881 {
  inset: 27.11% -2.12% 7.38% 41.88%;
}

/* 43433:59885 Group 34370 */
.pm-cmu__n59885 {
  left: 75px;
  top: 418.72px;
  width: 39.333px;
  height: 53.144px;
}

/* 43433:59898 Vector 46 */
.pm-cmu__n59898 {
  bottom: -288.51px;
  left: calc(100% - 66.06px);
  width: 1440px;
  height: 593.51px;
  transform: translateX(-50%);
}

/* 43433:59899 Union cloud */
.pm-cmu__n59899 {
  left: calc(66.67% - 32px);
  top: 56px;
  width: 247.355px;
  height: 84.287px;
}

/* 43433:59910 Vector 50 */
.pm-cmu__n59910 {
  left: calc(91.67% - 62.58px);
  top: 30.17px;
  width: 125.587px;
  height: 51.457px;
}

/* 43433:59911 Group 34369 */
.pm-cmu__n59911 {
  left: -65px;
  top: -47px;
  width: 205.727px;
  height: 205.727px;
}

/* 43433:59916 Group 34382 */
.pm-cmu__n59916 {
  left: 0;
  top: 259px;
  width: 82.554px;
  height: 214.766px;
}

/* Campus group 43433:59933 */
.pm-cmu__n59935-wrap {
  inset: 46.76% 44.29% 19.82% 45.26%;
}

.pm-cmu__n59960 {
  inset: 46.76% 78.86% 19.82% 10.69%;
}

.pm-cmu__n59985 { inset: 47.72% 50.92% 19.78% 17.08%; }
.pm-cmu__n59986 { inset: 72.97% 50.92% 19.78% 17.08%; }
.pm-cmu__n59987 { inset: 47.72% 57.14% 19.78% 22.81%; }
.pm-cmu__n59988 { inset: 47.72% 61.27% 19.78% 27.43%; }
.pm-cmu__n59989 { inset: 47.34% 50.22% 49.83% 15.99%; }
.pm-cmu__n59990 { inset: 46.99% 49.62% 51.66% 15.39%; }
.pm-cmu__n59991 { inset: 39.95% 49.62% 53.01% 15.39%; }
.pm-cmu__n59992 { inset: 60.85% 73.07% 38.1% 16.6%; }
.pm-cmu__n59993 { inset: 60.85% 50.41% 38.1% 38.62%; }
.pm-cmu__n59994 { inset: 51.73% 56.68% 40.22% 40.51%; }
.pm-cmu__n60002 { inset: 47.72% 61.27% 41.51% 27.43%; }
.pm-cmu__n60003 { inset: 51.73% 52.5% 40.22% 44.69%; }
.pm-cmu__n60011 { inset: 62.85% 56.68% 29.1% 40.51%; }
.pm-cmu__n60019 { inset: 62.85% 52.5% 29.1% 44.69%; }
.pm-cmu__n60027 { inset: 51.73% 78.91% 40.22% 18.27%; }
.pm-cmu__n60035 { inset: 51.73% 74.73% 40.22% 22.46%; }
.pm-cmu__n60043 { inset: 53.59% 65.12% 39.93% 30.86%; }
.pm-cmu__n60054 { inset: 62.85% 78.91% 29.1% 18.27%; }
.pm-cmu__n60062 { inset: 62.85% 74.73% 29.1% 22.46%; }

.pm-cmu__n60071 { inset: 38.68% 59.99% 50.05% 25.76%; }
.pm-cmu__n60072 { inset: 41.13% 60.49% 50.05% 26.16%; }
.pm-cmu__n60073 { inset: 41.13% 60.49% 50.05% 26.16%; }
.pm-cmu__n60076 { inset: 50.9% 69.4% 27.77% 28.69%; }
.pm-cmu__n60081 { inset: 50.9% 71.74% 27.77% 26.35%; }
.pm-cmu__n60086 { inset: 72.21% 60.95% 26.41% 26.51%; }
.pm-cmu__n60087 { inset: 73.54% 60.95% 25.08% 26.51%; }
.pm-cmu__n60088 { inset: 74.88% 60.95% 23.74% 26.51%; }
.pm-cmu__n60089 { inset: 76.21% 60.95% 22.41% 26.51%; }
.pm-cmu__n60090 { inset: 77.56% 60.95% 21.07% 26.51%; }
.pm-cmu__n60091 { inset: 78.89% 60.95% 19.74% 26.51%; }
.pm-cmu__n60092 { inset: 72.15% 68.99% 19.75% 25.91%; }
.pm-cmu__n60094 { inset: 50.9% 60.7% 27.77% 37.39%; }
.pm-cmu__n60099 { inset: 50.9% 63.04% 27.77% 35.05%; }
.pm-cmu__n60104 { inset: 72.15% 60.29% 19.75% 34.61%; }
.pm-cmu__n60105 { inset: 49.21% 60.3% 48.96% 26.04%; }

.pm-cmu__n60106 { inset: 62.25% 65.7% 27.79% 31.44%; }
.pm-cmu__n60114 { inset: 43.62% 66.01% 52.02% 31.74%; }
.pm-cmu__n60115 { inset: 44.4% 66.42% 52.8% 32.14%; }

.pm-cmu__n60116 { inset: 76% 77.41% 19.77% 15.29%; }
.pm-cmu__n60117 { inset: 76.01% 45.61% 19.75% 47.08%; }
.pm-cmu__n60118 { inset: 76.27% 57.26% 19.49% 35.44%; }

/* 43433:60119 Vector 61 */
.pm-cmu__n60119 {
  bottom: -299.51px;
  left: calc(4.17% + 43.25px);
  width: 1490.202px;
  height: 593.51px;
  transform: translateX(-50%);
}

/* 43433:60121 Group 34362 */
.pm-cmu__n60121 {
  left: calc(83.33% + 34px);
  top: 248px;
  width: 205.727px;
  height: 402.745px;
}

/* 43433:60142 Ellipse 28 */
.pm-cmu__n60142 {
  left: -66.68px;
  top: 589.16px;
  width: 1737.23px;
  height: 425.628px;
}

/* 43433:60160 Group 34381 */
.pm-cmu__n60160 {
  left: calc(100% - 53px);
  top: 438px;
  width: 42.263px;
  height: 109.946px;
}

/* 43433:60177 Group 34390 */
.pm-cmu__n60177 {
  left: calc(91.67% - 47px);
  top: 431px;
  width: 24.53px;
  height: 33.328px;
}

