:root {
  --pgh-ink: #f8fbff;
  --pgh-muted: rgba(232, 239, 247, .62);
  --pgh-line: rgba(255, 255, 255, .14);
  --pgh-cyan: #5bbada;
  --pgh-violet: #6b46c2;
  --pgh-pink: #ff4dc4;
  --pgh-black: #020307;
  --pgh-ease: cubic-bezier(.16, 1, .3, 1);
  --pgh-soft: cubic-bezier(.25, .8, .28, 1);
}

html:has(.pgh-journey),
body.pumraw-graphics-journey-page {
  width: 100%;
  height: 100%;
  overflow: hidden !important;
  overscroll-behavior: none;
  background: var(--pgh-black);
}

.pgh-journey,
.pgh-journey * { box-sizing: border-box; }

.pgh-journey {
  position: relative;
  z-index: 0;
  width: 100%;
  height: 100svh;
  min-height: 620px;
  overflow: hidden;
  color: var(--pgh-ink);
  background: var(--pgh-black);
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  isolation: isolate;
}

/* The atmospheric veil enters once after the hero, then stays in place. */
.pgh-journey::before {
  content: "";
  position: absolute;
  z-index: -2;
  inset: 0;
  background: rgba(2, 3, 7, .78);
  opacity: 0;
  pointer-events: none;
  transition: opacity 900ms var(--pgh-ease);
}

.pgh-journey.has-left-hero::before { opacity: 1; }

body.admin-bar .pgh-journey {
  height: calc(100svh - 32px);
}

.pgh-sky {
  position: absolute;
  z-index: -3;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  background: var(--pgh-black);
}

.pgh-sky .top-aurora,
.pgh-sky .full-starfield { position: absolute; inset: 0; }

.pgh-sky #graphicsAuroraCanvas {
  width: 100%;
  height: 100%;
  opacity: .85;
  filter: saturate(.92) contrast(1.03) brightness(.68);
  transform: scale(1.03);
}

.pgh-sky-vignette {
  position: absolute;
  z-index: 2;
  inset: 0;
  background:
    radial-gradient(circle at 50% 48%, transparent 0 22%, rgba(2, 3, 7, .16) 54%, rgba(2, 3, 7, .72) 100%),
    linear-gradient(180deg, rgba(2, 3, 7, .06), rgba(2, 3, 7, .34));
}

.pgh-panels,
.pgh-panel {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.pgh-panel {
  z-index: 0;
  visibility: hidden;
  overflow: hidden;
  opacity: 0;
  transform: translate3d(0, 13vh, 0) scale(.985);
  filter: blur(16px);
  pointer-events: none;
  transition:
    opacity 760ms var(--pgh-soft),
    transform 980ms var(--pgh-ease),
    filter 900ms var(--pgh-ease),
    visibility 0s linear 980ms;
  will-change: opacity, transform, filter;
}

.pgh-panel::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: rgba(2, 3, 7, .58);
}

.pgh-panel.is-before {
  visibility: visible;
  opacity: 0;
  transform: translate3d(0, -13vh, 0) scale(.985);
  filter: blur(16px);
  transition-delay: 0s;
}

.pgh-panel.is-active {
  z-index: 3;
  visibility: visible;
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  filter: blur(0);
  pointer-events: auto;
  transition-delay: 0s;
}

.pgh-panel.is-after {
  visibility: visible;
  opacity: 0;
  transform: translate3d(0, 13vh, 0) scale(.985);
  filter: blur(16px);
  transition-delay: 0s;
}

/* Past the hero only the content transitions; the shared veil does not replay. */
.pgh-panel:not(.pgh-panel--hero),
.pgh-panel:not(.pgh-panel--hero).is-before,
.pgh-panel:not(.pgh-panel--hero).is-after {
  visibility: hidden;
  opacity: 1;
  transform: none;
  filter: none;
  transition: visibility 0s linear 900ms;
}

.pgh-panel:not(.pgh-panel--hero).is-active {
  visibility: visible;
  opacity: 1;
  transform: none;
  filter: none;
  transition-delay: 0s;
}

.pgh-panel:not(.pgh-panel--hero)::before { display: none; }

.pgh-panel-inner {
  position: relative;
  width: 100%;
  height: 100%;
  padding: clamp(104px, 13vh, 150px) clamp(30px, 5.7vw, 110px) clamp(34px, 6vh, 72px);
}

.pgh-section-index {
  position: absolute;
  top: clamp(88px, 9.6vh, 116px);
  left: clamp(30px, 5.7vw, 110px);
  display: flex;
  align-items: center;
  gap: 20px;
  color: rgba(255,255,255,.62);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.pgh-section-index span:first-child { color: var(--pgh-cyan); }
.pgh-section-index::after {
  content: "";
  width: 54px;
  height: 1px;
  background: linear-gradient(90deg, var(--pgh-cyan), transparent);
}

.pgh-panel-title {
  margin: 0;
  font-size: clamp(46px, 7.1vw, 136px);
  font-weight: 400;
  line-height: .94;
  letter-spacing: -.065em;
}

.pgh-panel-title em,
.pgh-copy-block em,
.pgh-list-heading em,
.pgh-faq-heading em {
  color: var(--pgh-cyan);
  font-weight: 500;
  font-style: italic;
}

/* Approved hero, kept as the opening frame. */
.pgh-panel--hero::before { display: none; }
.pgh-panel--hero .viewport {
  position: absolute;
  inset: 0;
  top: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  background: transparent;
}

.pgh-panel--hero .stage { contain: layout paint style; }
.pgh-panel--hero .flower__sculpt {
  -webkit-mask-image: var(--pgh-flower-front);
  mask-image: var(--pgh-flower-front);
}

.pgh-hero-copy {
  position: absolute;
  z-index: 5;
  left: 3.2vw;
  bottom: 4.1vh;
  width: min(39vw, 590px);
  text-shadow: 0 3px 20px rgba(0,0,0,.78);
}

.pgh-hero-copy .pgh-kicker {
  margin: 0 0 12px;
  color: var(--pgh-cyan);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.pgh-hero-copy h2 {
  max-width: 520px;
  margin: 0 0 12px;
  font-size: clamp(22px, 2.1vw, 40px);
  font-weight: 500;
  line-height: 1.04;
  letter-spacing: -.045em;
}

.pgh-hero-copy > p:last-child {
  max-width: 540px;
  margin: 0;
  color: rgba(255,255,255,.68);
  font-size: clamp(11px, .87vw, 15px);
  line-height: 1.55;
}

.pgh-panel--hero .support-copy--right { z-index: 5; }

html.anim .pgh-hero-copy {
  animation: pgh-copy-in 780ms var(--pgh-ease) 760ms both;
}

@keyframes pgh-copy-in {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Why us */
.pgh-panel--why::before {
  background:
    linear-gradient(90deg, rgba(2,3,7,.96) 0 43%, rgba(2,3,7,.5) 73%, rgba(2,3,7,.7)),
    radial-gradient(circle at 82% 46%, rgba(107,70,194,.15), transparent 32%);
}

.pgh-why-layout { display: flex; align-items: center; }

.pgh-copy-block {
  position: relative;
  z-index: 3;
  width: min(48vw, 820px);
}

.pgh-copy-block h2 {
  margin: 0 0 26px;
  font-size: clamp(54px, 7vw, 132px);
  font-weight: 400;
  line-height: .88;
  letter-spacing: -.075em;
}

.pgh-copy-block p {
  width: min(560px, 86%);
  margin: 0 0 30px;
  color: var(--pgh-muted);
  font-size: clamp(15px, 1.1vw, 20px);
  line-height: 1.65;
}

.pgh-copy-block--center {
  position: absolute;
  top: 50%;
  left: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: min(86vw, 1080px);
  text-align: center;
  transform: translate(-50%, -50%);
}

.pgh-copy-block--center p {
  width: 100%;
  margin: 0 0 clamp(30px, 4vh, 46px);
  color: rgba(248,251,255,.9);
  font-size: clamp(26px, 3vw, 56px);
  font-weight: 400;
  line-height: 1.24;
  letter-spacing: -.035em;
  text-wrap: balance;
}

.pgh-why-echo {
  position: absolute;
  right: -2vw;
  bottom: -1vh;
  display: flex;
  flex-direction: column;
  color: rgba(255,255,255,.035);
  font-size: clamp(92px, 15vw, 290px);
  font-weight: 600;
  line-height: .72;
  letter-spacing: -.08em;
  text-align: right;
  pointer-events: none;
}

.pgh-orbit-art {
  position: absolute;
  top: 50%;
  right: 6vw;
  width: min(38vw, 590px);
  aspect-ratio: 1;
  transform: translateY(-48%);
}

.pgh-orbit-art i {
  position: absolute;
  inset: calc(var(--ring, 0) * 9%);
  border: 1px solid rgba(91,186,218,.22);
  border-radius: 50%;
  transform: rotate(calc(var(--ring, 0) * 21deg)) scaleY(calc(1 - var(--ring, 0) * .09));
}
.pgh-orbit-art i:nth-child(1) { --ring: 0; }
.pgh-orbit-art i:nth-child(2) { --ring: 1; border-color: rgba(255,77,196,.2); }
.pgh-orbit-art i:nth-child(3) { --ring: 2; border-color: rgba(107,70,194,.3); }
.pgh-orbit-art span {
  position: absolute;
  top: 22%; left: 30%;
  width: 14px; height: 14px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 25px 7px rgba(91,186,218,.72), 0 0 70px 18px rgba(107,70,194,.35);
  animation: pgh-orbit 9s ease-in-out infinite alternate;
}
@keyframes pgh-orbit { to { transform: translate(210px, 170px); } }

/* Shared Pumraw button */
.pumraw-orbit-button {
  --mx: 50%;
  --my: 50%;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  min-width: 212px;
  min-height: 52px;
  padding: 15px 18px 15px 24px;
  overflow: hidden;
  color: #fff;
  border: 1px solid rgba(255,255,255,.3);
  border-radius: 999px;
  background: rgba(5,8,13,.72);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.025), 0 10px 36px rgba(0,0,0,.34);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .16em;
  text-decoration: none;
  text-transform: uppercase;
  transition: transform 350ms var(--pgh-ease), border-color 350ms ease, box-shadow 350ms ease;
}

.pumraw-orbit-button::before {
  content: "";
  position: absolute;
  inset: -70%;
  background: radial-gradient(circle at var(--mx) var(--my), rgba(91,186,218,.9) 0 2%, rgba(91,186,218,.3) 7%, rgba(107,70,194,.2) 15%, transparent 29%);
  opacity: .72;
  transition: opacity 300ms ease;
}
.pumraw-orbit-button::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(112deg, transparent 20%, rgba(91,186,218,.55) 45%, rgba(255,77,196,.18) 52%, transparent 70%);
  transform: translateX(-130%);
  transition: transform 700ms var(--pgh-ease);
}
.pumraw-orbit-button span { position: relative; z-index: 2; }
.pumraw-orbit-button span:last-child { font-size: 17px; font-weight: 400; }
.pumraw-orbit-button:hover,
.pumraw-orbit-button:focus-visible {
  color: #fff;
  border-color: rgba(91,186,218,.78);
  box-shadow: 0 0 0 1px rgba(91,186,218,.12), 0 0 34px rgba(91,186,218,.2), 0 14px 42px rgba(0,0,0,.42);
  transform: translateY(-2px);
}
.pumraw-orbit-button:hover::after,
.pumraw-orbit-button:focus-visible::after { transform: translateX(130%); }

/* Approved shared Pumraw CTA: dark glass, cursor-following cyan energy and edge light. */
.pumraw-glow-button {
  --button-blue: #5bbada;
  --button-cyan: #7ef0e0;
  --mx: 50%;
  --my: 50%;
  position: relative;
  isolation: isolate;
  display: inline-grid;
  place-items: center;
  min-width: 194px;
  min-height: 54px;
  padding: 0 27px;
  overflow: visible;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: rgba(244,246,249,.86);
  box-shadow: none;
  font-size: .8125rem;
  font-weight: 500;
  letter-spacing: .055em;
  text-decoration: none;
  text-transform: uppercase;
  transform: translateZ(0) scale(1);
  transition: color 300ms ease, transform 480ms var(--pgh-ease);
}

.pumraw-glow-button::before {
  content: "";
  position: absolute;
  z-index: -3;
  inset: -15px;
  border-radius: inherit;
  background: radial-gradient(78px 48px at var(--mx) var(--my), rgba(91,186,218,.55), rgba(91,186,218,.18) 42%, transparent 74%);
  filter: blur(15px);
  opacity: 0;
  transition: opacity 420ms ease;
  pointer-events: none;
}

.pumraw-glow-button__shell {
  position: absolute;
  z-index: -2;
  inset: 0;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(255,255,255,.035), transparent 44%), rgba(2,5,8,.92);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.045), 0 10px 28px rgba(0,0,0,.26);
}

.pumraw-glow-button__shell::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: -1px;
  padding: 1px;
  border-radius: inherit;
  background: radial-gradient(58px 38px at var(--mx) var(--my), rgba(255,255,255,.95), rgba(126,240,224,.88) 14%, rgba(91,186,218,.68) 34%, transparent 72%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: 0;
  transition: opacity 300ms ease;
  pointer-events: none;
}

.pumraw-glow-button__energy {
  position: absolute;
  z-index: 1;
  left: var(--mx);
  top: var(--my);
  width: 112px;
  height: 112px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,.96) 0 2%, rgba(126,240,224,.92) 4%, rgba(91,186,218,.76) 15%, rgba(45,121,255,.34) 34%, transparent 68%);
  filter: blur(5px) saturate(1.18);
  opacity: 0;
  mix-blend-mode: screen;
  transform: translate(-50%, -50%) scale(.35);
  transition: opacity 280ms ease, transform 520ms var(--pgh-ease);
  pointer-events: none;
}

.pumraw-glow-button__energy::before,
.pumraw-glow-button__energy::after {
  content: "";
  position: absolute;
  inset: 46% -64%;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(91,186,218,.18) 18%, rgba(126,240,224,.92) 49%, rgba(255,255,255,.92) 52%, rgba(91,186,218,.22) 70%, transparent);
  filter: blur(.5px);
  transform: rotate(-8deg) scaleX(.45);
  transition: transform 650ms var(--pgh-ease);
}

.pumraw-glow-button__energy::after {
  inset: 51% -34%;
  height: 1px;
  opacity: .72;
  transform: rotate(9deg) scaleX(.32);
}

.pumraw-glow-button__label {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 16px;
  white-space: nowrap;
  text-shadow: 0 1px 1px rgba(0,0,0,.72);
}

.pumraw-glow-button:is(:hover, :focus-visible) {
  color: #fff;
  transform: translateZ(0) scale(1.05);
}
.pumraw-glow-button:is(:hover, :focus-visible)::before { opacity: 1; }
.pumraw-glow-button:is(:hover, :focus-visible) .pumraw-glow-button__shell::after { opacity: 1; }
.pumraw-glow-button:is(:hover, :focus-visible) .pumraw-glow-button__energy { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.pumraw-glow-button:is(:hover, :focus-visible) .pumraw-glow-button__energy::before { transform: rotate(-8deg) scaleX(1); }
.pumraw-glow-button:is(:hover, :focus-visible) .pumraw-glow-button__energy::after { transform: rotate(9deg) scaleX(.78); }
.pumraw-glow-button:focus-visible { outline: 2px solid var(--button-blue); outline-offset: 5px; }

/* Pressure statement */
.pgh-panel--pressure::before {
  background: linear-gradient(120deg, rgba(2,3,7,.97) 9%, rgba(2,3,7,.7) 53%, rgba(2,3,7,.87));
}

.pgh-pressure-stack {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding-right: 8vw;
}
.pgh-pressure-stack h2,
.pgh-pressure-stack p {
  margin: 0;
  font-size: clamp(36px, 5.65vw, 108px);
  font-weight: 400;
  line-height: .98;
  letter-spacing: -.065em;
}
.pgh-pressure-stack h2 { width: min(1040px, 76vw); }
.pgh-pressure-stack p {
  color: rgba(255,255,255,.24);
  transition: color 700ms ease, transform 700ms var(--pgh-ease);
}
.pgh-pressure-stack p:nth-child(2) { margin-top: 4.2vh; margin-left: 12vw; }
.pgh-pressure-stack p:nth-child(3) { margin-top: 1.4vh; margin-left: 25vw; }
.pgh-panel.is-active .pgh-pressure-stack p { color: rgba(255,255,255,.62); }

.pgh-capacity-meter {
  position: absolute;
  right: 5.7vw;
  bottom: 8vh;
  display: flex;
  align-items: flex-end;
  gap: 6px;
  height: 110px;
}
.pgh-capacity-meter span {
  width: 4px;
  height: calc(16px + var(--i, 1) * 13px);
  background: linear-gradient(180deg, var(--pgh-pink), var(--pgh-cyan));
  box-shadow: 0 0 16px rgba(91,186,218,.28);
  transform-origin: bottom;
  animation: pgh-meter 1.8s ease-in-out infinite alternate;
}
.pgh-capacity-meter span:nth-child(1) { --i:1; animation-delay:-.2s; }
.pgh-capacity-meter span:nth-child(2) { --i:2; animation-delay:-.8s; }
.pgh-capacity-meter span:nth-child(3) { --i:3; animation-delay:-1.1s; }
.pgh-capacity-meter span:nth-child(4) { --i:4; animation-delay:-.5s; }
.pgh-capacity-meter span:nth-child(5) { --i:5; animation-delay:-1.5s; }
.pgh-capacity-meter span:nth-child(6) { --i:6; animation-delay:-.9s; }
@keyframes pgh-meter { to { transform: scaleY(.28); opacity:.45; } }

/* Pain grid */
.pgh-panel--pain::before { background: rgba(2,3,7,.88); }
.pgh-panel--pain .pgh-panel-inner { display: grid; grid-template-columns: .78fr 1.55fr; gap: 5vw; align-items: center; }
.pgh-panel--pain .pgh-panel-title {
  align-self: center;
  max-width: 560px;
  font-size: clamp(38px, 4.25vw, 80px);
  line-height: 1.08;
  letter-spacing: -.045em;
}
.pgh-pain-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pgh-pain-card {
  position: relative;
  min-height: 150px;
  padding: 22px 24px 20px 42px;
  border-top: 1px solid var(--pgh-line);
  transition: background 350ms ease, transform 350ms var(--pgh-ease), border-color 350ms ease;
}
.pgh-pain-card:nth-last-child(-n+2) { border-bottom: 1px solid var(--pgh-line); }
.pgh-pain-card:nth-child(odd) { border-right: 1px solid var(--pgh-line); }
.pgh-pain-card > span {
  position: absolute;
  top: 25px; left: 8px;
  color: var(--pgh-cyan);
  font-size: 9px;
  letter-spacing: .12em;
}
.pgh-pain-card h3 { margin: 0 0 10px; font-size: clamp(15px, 1.1vw, 20px); font-weight: 500; letter-spacing: -.025em; }
.pgh-pain-card p { margin: 0; color: var(--pgh-muted); font-size: clamp(11px, .74vw, 14px); line-height: 1.52; }
.pgh-pain-card:hover { z-index: 2; border-color: rgba(91,186,218,.45); background: rgba(91,186,218,.07); transform: translateY(-4px); }

/* Scope manifesto */
.pgh-panel--scope::before {
  background:
    radial-gradient(circle at 70% 48%, rgba(107,70,194,.24), transparent 30%),
    radial-gradient(circle at 81% 58%, rgba(255,77,196,.12), transparent 24%),
    linear-gradient(90deg, rgba(2,3,7,.97), rgba(2,3,7,.58));
}
.pgh-scope-layout { display: flex; flex-direction: column; justify-content: center; }
.pgh-scope-layout h2 {
  width: min(1150px, 82vw);
  margin: 0;
  font-size: clamp(55px, 9vw, 172px);
  font-weight: 400;
  line-height: .84;
  letter-spacing: -.08em;
}
.pgh-scope-layout > p {
  width: min(630px, 46vw);
  margin: 40px 0 0 auto;
  color: rgba(255,255,255,.72);
  font-size: clamp(16px, 1.25vw, 23px);
  line-height: 1.55;
}
.pgh-aurora-type {
  position: absolute;
  bottom: 4.2vh;
  left: 5.7vw;
  color: transparent;
  background: linear-gradient(90deg, var(--pgh-cyan), var(--pgh-violet), var(--pgh-pink));
  -webkit-background-clip: text;
  background-clip: text;
  font-size: clamp(12px, 1vw, 18px);
  font-weight: 600;
  letter-spacing: .3em;
  opacity: .82;
}

/* Services editorial list */
.pgh-panel--design::before,
.pgh-panel--industries::before { background: rgba(2,3,7,.9); }
.pgh-list-layout { display: grid; grid-template-columns: .72fr 1.28fr; gap: 8vw; align-items: center; }
.pgh-list-heading p { margin: 0 0 22px; color: var(--pgh-muted); font-size: 13px; line-height: 1.55; text-transform: uppercase; letter-spacing: .18em; }
.pgh-list-heading h2 { margin: 0; font-size: clamp(60px, 8.5vw, 164px); font-weight: 400; line-height: .82; letter-spacing: -.08em; }
.pgh-editorial-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-height: 68vh;
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--pgh-line);
}
.pgh-editorial-list li {
  display: flex;
  align-items: center;
  gap: 16px;
  min-height: 7.6vh;
  padding: 9px 14px;
  border-bottom: 1px solid var(--pgh-line);
  color: rgba(255,255,255,.82);
  font-size: clamp(12px, 1vw, 18px);
  transition: color 260ms ease, padding 400ms var(--pgh-ease), background 260ms ease;
}
.pgh-editorial-list li:nth-child(odd) { border-right: 1px solid var(--pgh-line); }
.pgh-editorial-list li span { color: rgba(91,186,218,.62); font-size: 8px; }
.pgh-editorial-list li:hover { padding-left: 24px; color: #fff; background: linear-gradient(90deg, rgba(91,186,218,.1), transparent); }

/* Industries */
.pgh-panel--industries .pgh-panel-title { position: absolute; top: 15vh; left: 5.7vw; }
.pgh-industry-cloud {
  position: absolute;
  inset: 23vh 5.7vw 13vh;
  display: flex;
  align-content: center;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: clamp(10px, 1.2vw, 22px) clamp(16px, 2.1vw, 42px);
}
.pgh-industry-cloud span {
  color: rgba(255,255,255,.62);
  font-size: clamp(17px, 1.65vw, 32px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -.04em;
  transition: color 300ms ease, transform 400ms var(--pgh-ease), text-shadow 300ms ease;
}
.pgh-industry-cloud span:nth-child(4n+1) { color:rgba(255,255,255,.42); font-size:clamp(15px,1.25vw,24px); }
.pgh-industry-cloud span:nth-child(4n+2) { color:rgba(255,255,255,.84); font-size:clamp(20px,2.05vw,40px); }
.pgh-industry-cloud span:nth-child(4n+3) { color:rgba(255,255,255,.57); font-size:clamp(17px,1.5vw,29px); }
.pgh-industry-cloud span::after { content: "·"; margin-left: clamp(16px, 2.1vw, 42px); color: rgba(91,186,218,.5); }
.pgh-industry-cloud span:hover { z-index: 2; color: #fff; transform: scale(1.08); text-shadow: 0 0 28px rgba(91,186,218,.45); }
.pgh-scope-footer { position: absolute; left: 5.7vw; bottom: 5.8vh; margin: 0; color: var(--pgh-cyan); font-size: clamp(14px, 1vw, 19px); }

/* Work */
.pgh-panel--work .pgh-panel-title {
  width: min(900px, 70vw);
  margin-top: 4vh;
  font-size: clamp(42px, 5vw, 92px);
  line-height: .98;
  letter-spacing: -.055em;
}
.pgh-work-intro { max-width: 600px; color: var(--pgh-muted); }
.pgh-work-grid,
.pgh-work-reel { position: absolute; left: 5.7vw; right: 5.7vw; bottom: 5.5vh; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(10px, 1.2vw, 22px); }
.pgh-work-card { display: block; min-width: 0; color: #fff; text-decoration: none; }
.pgh-work-image,
.pgh-work-reel > div {
  position: relative;
  width: 100%;
  height: min(34vh, 350px);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.16);
  background-position: center;
  background-size: cover;
}
.pgh-work-image::before { content:""; position:absolute; inset:0; border:1px solid transparent; transition:border-color 350ms ease, box-shadow 350ms ease; }
.pgh-work-image::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 48%,rgba(2,3,7,.44)); transition:opacity 300ms ease; }
.pgh-work-card:hover .pgh-work-image::after { opacity:.3; }
.pgh-work-card:hover .pgh-work-image::before { border-color:rgba(91,186,218,.45); box-shadow:inset 0 0 38px rgba(91,186,218,.1); }
.pgh-work-card > span { display:block; margin-top:12px; color:var(--pgh-cyan); font-size:9px; letter-spacing:.18em; text-transform:uppercase; }
.pgh-work-card h3 { margin:5px 0 0; font-size:18px; font-weight:500; }
.pgh-work-reel > div {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 20px;
  background:
    linear-gradient(135deg, rgba(91,186,218,.16), transparent 42%),
    radial-gradient(circle at 80% 20%, rgba(255,77,196,.2), transparent 24%),
    rgba(255,255,255,.025);
  transition: transform 600ms var(--pgh-ease), border-color 300ms ease;
}
.pgh-work-reel > div:nth-child(2) { background:linear-gradient(145deg,rgba(107,70,194,.22),transparent 55%),rgba(255,255,255,.025); }
.pgh-work-reel > div:nth-child(3) { background:linear-gradient(155deg,rgba(255,77,196,.16),transparent 54%),rgba(255,255,255,.025); }
.pgh-work-reel > div:hover { transform: translateY(-12px); border-color:rgba(91,186,218,.6); }
.pgh-work-reel > div:nth-child(2):hover { transform: translateY(-12px); }
.pgh-work-reel span { color:var(--pgh-cyan); font-size:10px; }
.pgh-work-reel strong { font-size:clamp(25px,3.1vw,58px); font-weight:500; letter-spacing:-.055em; writing-mode:vertical-rl; align-self:flex-end; }

/* CTA */
.pgh-panel--cta::before {
  background:
    radial-gradient(ellipse at 50% 50%, rgba(91,186,218,.12), transparent 28%),
    linear-gradient(140deg, rgba(2,3,7,.96), rgba(2,3,7,.68));
}
.pgh-cta-layout { display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.pgh-cta-layout > p { margin:0 0 22px; color:var(--pgh-cyan); font-size:11px; font-weight:600; letter-spacing:.22em; text-transform:uppercase; }
.pgh-cta-layout h2 { width:min(980px,76vw); margin:0 0 34px; font-size:clamp(32px,3.8vw,68px); font-weight:400; line-height:1.08; letter-spacing:-.045em; text-wrap:balance; }
.pgh-cta-actions { position:relative; z-index:2; display:flex; align-items:center; justify-content:center; gap:16px; }
.pgh-cta-actions .pumraw-glow-button { min-width:188px; }
.pgh-cta-actions .pumraw-glow-button--secondary { color:rgba(244,246,249,.7); }
.pgh-cta-actions .pumraw-glow-button--secondary .pumraw-glow-button__shell { background:rgba(2,5,8,.62); border-color:rgba(255,255,255,.1); }
.pgh-cta-layout::after { content:""; position:absolute; width:58vw; height:58vw; max-width:900px; max-height:900px; border:1px solid rgba(91,186,218,.15); border-radius:50%; box-shadow:0 0 0 7vw rgba(107,70,194,.025),0 0 0 14vw rgba(255,77,196,.016); pointer-events:none; }

/* FAQ */
.pgh-panel--faq::before { background:rgba(2,3,7,.94); }
.pgh-faq-layout { display:grid; grid-template-columns:.68fr 1.32fr; gap:6vw; align-items:center; }
.pgh-faq-heading h2 { margin:0 0 28px; font-size:clamp(50px,6.2vw,112px); font-weight:400; line-height:.96; letter-spacing:-.06em; }
.pgh-faq-heading p { margin:0; color:var(--pgh-muted); font-size:14px; line-height:1.55; }
.pgh-faq-cta { min-width:184px; margin-top:32px; }
.pgh-faq-list { max-height:68vh; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:rgba(91,186,218,.45) transparent; border-top:1px solid var(--pgh-line); }
.pgh-faq-item { border-bottom:1px solid var(--pgh-line); }
.pgh-faq-item button { display:grid; grid-template-columns:38px 1fr 28px; align-items:center; gap:12px; width:100%; padding:19px 4px; color:#fff; border:0; background:transparent; font:inherit; text-align:left; cursor:pointer; }
.pgh-faq-item button > span { color:var(--pgh-cyan); font-size:8px; letter-spacing:.13em; }
.pgh-faq-item button strong { font-size:clamp(13px,1.02vw,19px); font-weight:500; }
.pgh-faq-item button i { position:relative; width:16px; height:16px; }
.pgh-faq-item button i::before,.pgh-faq-item button i::after { content:""; position:absolute; top:50%; left:0; width:16px; height:1px; background:rgba(255,255,255,.8); transition:transform 400ms var(--pgh-ease); }
.pgh-faq-item button i::after { transform:rotate(90deg); }
.pgh-faq-item button[aria-expanded="true"] i::after { transform:rotate(0); }
.pgh-faq-answer { display:grid; grid-template-rows:0fr; transition:grid-template-rows 500ms var(--pgh-ease); }
.pgh-faq-answer > div { overflow:hidden; }
.pgh-faq-answer p { margin:0; padding:0 46px 20px 50px; color:var(--pgh-muted); font-size:clamp(11px,.8vw,15px); line-height:1.65; }
.pgh-faq-item.is-open .pgh-faq-answer { grid-template-rows:1fr; }

/* Vertical journey indicator */
.pgh-progress {
  position:absolute;
  z-index:20;
  right:20px;
  top:50%;
  display:grid;
  justify-items:center;
  gap:10px;
  transform:translateY(-50%);
  color:rgba(255,255,255,.5);
  font-size:8px;
  font-weight:600;
  letter-spacing:.12em;
  pointer-events:none;
}
.pgh-progress-current { color:var(--pgh-cyan); }
.pgh-progress-track { position:relative; width:1px; height:96px; background:rgba(255,255,255,.14); }
.pgh-progress-track i { position:absolute; top:0; left:-1px; width:3px; height:10%; background:linear-gradient(180deg,var(--pgh-cyan),var(--pgh-pink)); box-shadow:0 0 10px rgba(91,186,218,.7); transition:height 800ms var(--pgh-ease); }
.pgh-progress p { margin:15px 0 0; writing-mode:vertical-rl; text-transform:uppercase; }

.pgh-live-region.screen-reader-text {
  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;
}

/* Entrance choreography inside each scene. */
.pgh-panel [data-reveal],
.pgh-panel .pgh-section-index,
.pgh-panel .pgh-panel-title,
.pgh-panel .pgh-copy-block,
.pgh-panel .pgh-why-echo,
.pgh-panel .pgh-orbit-art,
.pgh-panel .pgh-pressure-stack,
.pgh-panel .pgh-pain-grid,
.pgh-panel .pgh-list-heading,
.pgh-panel .pgh-editorial-list,
.pgh-panel .pgh-industry-cloud,
.pgh-panel .pgh-scope-footer,
.pgh-panel .pgh-aurora-type,
.pgh-panel .pgh-work-grid,
.pgh-panel .pgh-work-reel,
.pgh-panel .pgh-cta-layout > *,
.pgh-panel .pgh-faq-heading,
.pgh-panel .pgh-faq-list {
  transition:opacity 680ms var(--pgh-soft) 180ms, transform 880ms var(--pgh-ease) 120ms;
}
.pgh-panel:not(.is-active) .pgh-section-index,
.pgh-panel:not(.is-active) .pgh-panel-title,
.pgh-panel:not(.is-active) .pgh-copy-block,
.pgh-panel:not(.is-active) .pgh-why-echo,
.pgh-panel:not(.is-active) .pgh-orbit-art,
.pgh-panel:not(.is-active) .pgh-pressure-stack,
.pgh-panel:not(.is-active) .pgh-pain-grid,
.pgh-panel:not(.is-active) .pgh-list-heading,
.pgh-panel:not(.is-active) .pgh-editorial-list,
.pgh-panel:not(.is-active) .pgh-industry-cloud,
.pgh-panel:not(.is-active) .pgh-scope-footer,
.pgh-panel:not(.is-active) .pgh-aurora-type,
.pgh-panel:not(.is-active) .pgh-work-grid,
.pgh-panel:not(.is-active) .pgh-work-reel,
.pgh-panel:not(.is-active) .pgh-cta-layout > *,
.pgh-panel:not(.is-active) .pgh-faq-heading,
.pgh-panel:not(.is-active) .pgh-faq-list { opacity:0; transform:translateY(26px); }

/* Directional content movement without reanimating each panel's backdrop. */
.pgh-panel.is-before:not(.is-active) :where(
  [data-reveal],
  .pgh-section-index,
  .pgh-panel-title,
  .pgh-copy-block,
  .pgh-why-echo,
  .pgh-orbit-art,
  .pgh-pain-grid,
  .pgh-list-heading,
  .pgh-editorial-list,
  .pgh-industry-cloud,
  .pgh-scope-footer,
  .pgh-aurora-type,
  .pgh-work-grid,
  .pgh-cta-layout > *,
  .pgh-faq-heading,
  .pgh-faq-list
) { transform: translateY(-26px); }

@media (max-width: 1180px) {
  .pgh-panel-inner { padding-left:5vw; padding-right:5vw; }
  .pgh-section-index { left:5vw; }
  .pgh-panel--pain .pgh-panel-inner { grid-template-columns:.65fr 1.35fr; gap:3vw; }
  .pgh-pain-card { min-height:140px; padding:18px 18px 16px 36px; }
  .pgh-orbit-art { opacity:.65; }
}

@media (max-width: 900px), (max-aspect-ratio: 4 / 5) {
  .pgh-journey { min-height:600px; }
  .pgh-panel-inner { padding:100px 24px 30px; }
  .pgh-section-index { top:78px; left:24px; }
  .pgh-progress { right:8px; }

  .pgh-hero-copy { left:22px; bottom:8.5svh; width:min(61vw,460px); }
  .pgh-hero-copy h2 { font-size:clamp(19px,4.2vw,32px); }
  .pgh-hero-copy > p:last-child { font-size:11px; line-height:1.42; }
  .pgh-panel--hero .support-copy--right { bottom:3svh; font-size:11px; }

  .pgh-copy-block { width:min(78vw,660px); }
  .pgh-copy-block h2 { font-size:clamp(52px,10vw,96px); }
  .pgh-copy-block--center { width:min(84vw,860px); }
  .pgh-copy-block--center p { width:100%; font-size:clamp(24px,4.5vw,45px); line-height:1.28; }
  .pgh-orbit-art { right:-11vw; width:56vw; opacity:.42; }
  .pgh-why-echo { font-size:21vw; }

  .pgh-pressure-stack h2 { width:90vw; }
  .pgh-pressure-stack p:nth-child(2) { margin-left:5vw; }
  .pgh-pressure-stack p:nth-child(3) { margin-left:12vw; }

  .pgh-panel--pain .pgh-panel-inner { display:block; }
  .pgh-panel--pain .pgh-panel-title { max-width:620px; margin-top:5vh; font-size:clamp(34px,6.4vw,54px); line-height:1.1; }
  .pgh-pain-grid { margin-top:4vh; }
  .pgh-pain-card { min-height:122px; }
  .pgh-pain-card p { font-size:10.5px; }

  .pgh-scope-layout h2 { width:88vw; }
  .pgh-scope-layout > p { width:70vw; }

  .pgh-list-layout { grid-template-columns:.5fr 1.5fr; gap:4vw; }
  .pgh-editorial-list li { min-height:7vh; }
  .pgh-industry-cloud { inset:23vh 5vw 13vh; }

  .pgh-faq-layout { grid-template-columns:.48fr 1.52fr; gap:4vw; }
}

@media (max-width: 700px) {
  .pgh-journey { min-height:560px; }
  .pgh-panel-inner { padding:92px 20px 24px; }
  .pgh-section-index { top:70px; left:20px; }
  .pgh-section-index::after { width:32px; }
  .pgh-progress { display:none; }

  .pgh-hero-copy { left:18px; right:18px; bottom:11svh; width:auto; }
  .pgh-hero-copy .pgh-kicker { margin-bottom:7px; font-size:8px; }
  .pgh-hero-copy h2 { width:58vw; margin-bottom:7px; font-size:clamp(18px,5vw,25px); }
  .pgh-hero-copy > p:last-child { width:63vw; font-size:9.5px; line-height:1.38; }
  .pgh-panel--hero .support-copy--right { width:35vw; right:18px; bottom:3svh; }

  .pgh-copy-block { width:92vw; padding-right:12vw; }
  .pgh-copy-block h2 { font-size:clamp(48px,15vw,78px); }
  .pgh-copy-block p { width:84vw; font-size:13px; line-height:1.55; }
  .pgh-copy-block--center { width:86vw; padding-right:0; }
  .pgh-copy-block--center p { width:100%; margin-bottom:30px; font-size:clamp(22px,6.8vw,36px); line-height:1.3; }
  .pgh-orbit-art { top:36%; right:-34vw; width:92vw; opacity:.28; }
  .pgh-why-echo { display:none; }
  .pumraw-orbit-button { min-width:190px; min-height:48px; padding:13px 16px 13px 21px; }

  .pgh-pressure-stack { padding-right:0; }
  .pgh-pressure-stack h2,.pgh-pressure-stack p { font-size:clamp(34px,10.8vw,58px); }
  .pgh-pressure-stack h2 { width:93vw; }
  .pgh-pressure-stack p:nth-child(2) { margin-top:5vh; margin-left:0; }
  .pgh-pressure-stack p:nth-child(3) { margin-top:2vh; margin-left:0; }
  .pgh-capacity-meter { right:22px; bottom:26px; height:80px; opacity:.55; }

  .pgh-panel--pain .pgh-panel-title { max-width:88vw; margin-top:2.5vh; font-size:clamp(32px,9vw,46px); line-height:1.1; letter-spacing:-.04em; }
  .pgh-pain-grid { grid-template-columns:1fr; max-height:67vh; margin-top:2vh; overflow-y:auto; overscroll-behavior:contain; }
  .pgh-pain-card { min-height:auto; padding:13px 10px 13px 34px; border-right:0 !important; }
  .pgh-pain-card:nth-last-child(-n+2) { border-bottom:0; }
  .pgh-pain-card:last-child { border-bottom:1px solid var(--pgh-line); }
  .pgh-pain-card > span { top:15px; left:5px; }
  .pgh-pain-card h3 { margin-bottom:5px; font-size:13px; }
  .pgh-pain-card p { font-size:9px; line-height:1.42; }

  .pgh-scope-layout { justify-content:center; }
  .pgh-scope-layout h2 { width:94vw; font-size:clamp(52px,16vw,82px); line-height:.88; }
  .pgh-scope-layout > p { width:84vw; margin:28px 0 0; font-size:14px; line-height:1.55; }
  .pgh-aurora-type { left:20px; bottom:4vh; font-size:8px; letter-spacing:.2em; }

  .pgh-list-layout { display:block; }
  .pgh-list-heading { display:flex; align-items:flex-end; justify-content:space-between; margin:1vh 0 2vh; }
  .pgh-list-heading p { margin:0; font-size:8px; }
  .pgh-list-heading h2 { font-size:14vw; }
  .pgh-editorial-list { max-height:68vh; grid-template-columns:1fr; overflow-y:auto; overscroll-behavior:contain; }
  .pgh-editorial-list li { min-height:42px; padding:8px 10px; border-right:0 !important; font-size:11px; }

  .pgh-panel--industries .pgh-panel-title { top:13vh; left:20px; font-size:14vw; }
  .pgh-industry-cloud { inset:23vh 20px 13vh; align-content:center; gap:10px 16px; overflow:hidden; }
  .pgh-industry-cloud span,
  .pgh-industry-cloud span:nth-child(4n+1),
  .pgh-industry-cloud span:nth-child(4n+2),
  .pgh-industry-cloud span:nth-child(4n+3) { font-size:clamp(13px,4.5vw,22px); }
  .pgh-industry-cloud span::after { margin-left:16px; }
  .pgh-scope-footer { left:20px; bottom:4vh; font-size:11px; }

  .pgh-panel--work .pgh-panel-title { width:88vw; margin-top:1vh; font-size:clamp(34px,9.8vw,52px); line-height:1; }
  .pgh-work-grid,.pgh-work-reel { left:20px; right:20px; bottom:4vh; grid-template-columns:repeat(3,1fr); gap:6px; }
  .pgh-work-image,.pgh-work-reel > div { height:42vh; padding:10px; }
  .pgh-work-card > span { margin-top:8px; line-height:1.35; }
  .pgh-work-reel strong { font-size:5.8vw; }
  .pgh-work-card > span { font-size:7px; }
  .pgh-work-card h3 { font-size:11px; }

  .pgh-cta-layout h2 { width:89vw; margin-bottom:28px; font-size:clamp(27px,7.2vw,43px); line-height:1.1; letter-spacing:-.04em; }
  .pgh-cta-actions { width:90vw; gap:10px; }
  .pgh-cta-actions .pumraw-glow-button { min-width:0; min-height:49px; flex:1; padding:0 16px; font-size:10px; }
  .pgh-cta-actions .pumraw-glow-button__label { gap:9px; }
  .pgh-cta-layout::after { width:110vw; height:110vw; }

  .pgh-faq-layout { display:block; }
  .pgh-faq-heading { display:block; margin:0 0 3vh; }
  .pgh-faq-heading h2 { margin:0 0 17px; font-size:clamp(43px,12vw,68px); line-height:.96; letter-spacing:-.055em; }
  .pgh-faq-heading p { width:auto; margin:0; font-size:10px; line-height:1.5; text-align:left; }
  .pgh-faq-cta { min-width:168px; min-height:48px; margin-top:22px; padding:0 20px; font-size:10px; }
  .pgh-faq-list { max-height:67vh; }
  .pgh-faq-item button { grid-template-columns:25px 1fr 20px; gap:7px; padding:14px 2px; }
  .pgh-faq-item button strong { font-size:11px; }
  .pgh-faq-answer p { padding:0 22px 15px 32px; font-size:9px; }
}

@media (max-height: 600px) and (orientation: landscape) {
  .pgh-journey { min-height:100svh; }
  .pgh-panel-inner { padding-top:70px; padding-bottom:18px; }
  .pgh-section-index { top:52px; }
  .pgh-hero-copy { bottom:4svh; width:38vw; }
  .pgh-hero-copy h2 { font-size:19px; }
  .pgh-hero-copy > p:last-child { font-size:8.5px; }
  .pgh-copy-block h2 { font-size:11vh; }
  .pgh-pain-card { min-height:17vh; padding-top:10px; }
  .pgh-pain-card > span { top:12px; }
  .pgh-editorial-list { max-height:72vh; }
  .pgh-editorial-list li { min-height:9vh; }
  .pgh-work-image,.pgh-work-reel > div { height:40vh; }
  .pgh-faq-list { max-height:72vh; }
}

@media (max-width: 782px) {
  body.admin-bar .pgh-journey { height:calc(100svh - 46px); }
}

@media (prefers-reduced-motion: reduce) {
  .pgh-panel { transition:opacity 260ms ease, visibility 0s linear 260ms; transform:none !important; filter:none !important; }
  .pgh-orbit-art span,.pgh-capacity-meter span { animation:none; }
  .pgh-panel * { scroll-behavior:auto !important; }
  .pumraw-glow-button,
  .pumraw-glow-button::before,
  .pumraw-glow-button__shell::after,
  .pumraw-glow-button__energy,
  .pumraw-glow-button__energy::before,
  .pumraw-glow-button__energy::after { transition:none; }
}

@media (prefers-reduced-transparency: reduce) {
  .pumraw-orbit-button { backdrop-filter:none; -webkit-backdrop-filter:none; background:#070a0f; }
}
