.pg-hero { position: relative; overflow: hidden; display: flex; align-items: center; min-height: clamp(400px, 30vw, 440px); background: #f4f0fe; }
.pg-hero__media { position: absolute; inset: 0 0 0 auto; width: min(58%, 860px); }
.pg-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: left center; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 16%); mask-image: linear-gradient(90deg, transparent 0, #000 16%); }
.pg-hero__inner { position: relative; padding-block: clamp(48px, 4.4vw, 64px); }
.pg-hero__copy { max-width: 500px; }
.pg-hero h1 { font-size: clamp(42px, 4.8vw, 68px); line-height: .96; font-weight: 800; letter-spacing: -.035em; color: var(--black); }
.pg-hero__eyebrow { display: block; margin-bottom: 18px; font-size: clamp(11px, 1vw, 13px); font-weight: 700; letter-spacing: .3em; text-transform: uppercase; line-height: 1; }
.pg-hero__tagline { margin-top: 20px; font-size: clamp(11px, 1vw, 13px); font-weight: 800; letter-spacing: .22em; text-transform: uppercase; color: var(--purple-deep); }
.pg-hero__text { margin-top: 14px; font-size: 16.5px; line-height: 1.55; color: var(--ink); max-width: 480px; }
.pg-hero .btn { margin-top: 28px; }
.pg-who { padding-block: clamp(56px, 6vw, 84px); background: var(--white); }
.pg-who__head { display: flex; align-items: center; gap: 28px; margin-bottom: 36px; }
.pg-who__head h2 { font-size: clamp(30px, 3.2vw, 44px); line-height: 1.05; font-weight: 800; letter-spacing: -.025em; white-space: nowrap; }
.pg-who__head p { padding-left: 28px; border-left: 1px solid var(--gray); max-width: 480px; font-size: 15px; color: var(--ink); }
.pg-who__grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; }
.pg-cat { display: flex; flex-direction: column; align-items: center; text-align: center; background: #fff; border: 1px solid var(--gray); border-radius: 10px; padding: 22px 14px 24px; transition: border-color .2s, box-shadow .2s, transform .2s; }
.pg-cat:hover { border-color: rgba(133, 40, 252, .4); box-shadow: var(--shadow); transform: translateY(-2px); }
.pg-cat__icon { display: grid; place-items: center; width: 60px; height: 60px; border-radius: 50%; background: var(--tint-2); color: var(--purple-deep); margin-bottom: 14px; }
.pg-cat__icon svg { width: 30px; height: 30px; stroke: none; }
.pg-cat h3 { font-size: 15px; line-height: 1.25; font-weight: 800; }
.pg-cat p { margin-top: 8px; font-size: 13px; line-height: 1.45; color: var(--ink-soft); }
.pg-feature { position: relative; overflow: hidden; display: flex; align-items: center; min-height: clamp(290px, 22vw, 330px); }
.pg-feature--lavender { background: linear-gradient(90deg, #f3f0fd 0%, #f8f6fe 100%); }
.pg-feature--white { background: var(--white); }
.pg-feature__media { position: absolute; top: 0; bottom: 0; width: min(52%, 760px); }
.pg-feature--right .pg-feature__media { right: 0; }
.pg-feature--left .pg-feature__media { left: 0; }
.pg-feature__media img { width: 100%; height: 100%; object-fit: cover; }
.pg-feature--right .pg-feature__media img { object-position: right center; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 18%); mask-image: linear-gradient(90deg, transparent 0, #000 18%); }
.pg-feature--left .pg-feature__media img { object-position: left center; -webkit-mask-image: linear-gradient(270deg, transparent 0, #000 18%); mask-image: linear-gradient(270deg, transparent 0, #000 18%); }
.pg-feature__inner { position: relative; padding-block: clamp(48px, 4.4vw, 64px); }
.pg-feature--left .pg-feature__inner { display: flex; justify-content: flex-end; }
.pg-feature__copy { max-width: 560px; }
.pg-feature--left .pg-feature__copy { width: 100%; max-width: 560px; margin-right: 0; }
.pg-feature h2 { font-size: clamp(30px, 2.9vw, 40px); line-height: 1.05; font-weight: 800; letter-spacing: -.03em; }
.pg-eyebrow { margin-top: 14px; font-size: 11.5px; font-weight: 800; letter-spacing: .22em; text-transform: uppercase; color: var(--purple-deep); }
.pg-feature__text { margin-top: 14px; font-size: 15.5px; line-height: 1.6; color: var(--ink-soft); }
.pg-feature .btn { margin-top: 26px; }
@media (min-width: 1101px) { .pg-feature h2 { white-space: nowrap; } }
.pg-band { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) minmax(0, 1.2fr); background: linear-gradient(90deg, #f3f0fe 0%, #f8f6fe 100%); padding-left: max(var(--gutter), calc((100% - var(--container)) / 2)); }
.pg-band h2 { font-size: clamp(20px, 1.9vw, 25px); line-height: 1.15; font-weight: 800; letter-spacing: -.02em; }
.pg-band__guard, .pg-band__impact { padding-block: clamp(40px, 3.4vw, 48px); }
.pg-band__guard { padding-right: clamp(20px, 3vw, 44px); }
.pg-band__guard ul { display: grid; gap: 11px; margin-top: 20px; }
.pg-guard__item { display: flex; align-items: center; gap: 14px; font-size: 14px; color: var(--ink-soft); }
.pg-guard__icon { flex: none; display: grid; place-items: center; width: 26px; height: 26px; color: var(--purple-deep); }
.pg-guard__icon svg { width: 22px; height: 22px; }
.pg-band__impact { padding-inline: clamp(20px, 3vw, 44px); border-left: 1px solid rgba(133, 40, 252, .18); }
.pg-band__impact > p { margin-top: 14px; font-size: 14px; line-height: 1.55; color: var(--ink-soft); max-width: 400px; }
.pg-stats { display: grid; grid-template-columns: repeat(3, auto); justify-content: start; margin-top: 24px; }
.pg-stat { display: flex; flex-direction: column; gap: 4px; padding-inline: clamp(12px, 1.6vw, 22px); }
.pg-stat:first-child { padding-left: 0; }
.pg-stat + .pg-stat { border-left: 1px solid rgba(133, 40, 252, .22); }
.pg-stat strong { font-size: clamp(26px, 2.6vw, 36px); line-height: 1; font-weight: 800; letter-spacing: -.02em; color: var(--purple-deep); }
.pg-stat span { font-size: 12px; line-height: 1.3; color: var(--ink-soft); max-width: 96px; }
.pg-band__cta { position: relative; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 22px; padding: clamp(40px, 4vw, 56px) clamp(24px, 3vw, 44px); min-height: 280px; background-size: cover; background-position: 12% center; background-repeat: no-repeat; border-left: 1px solid rgba(133, 40, 252, .18); }
.pg-band__cta h2 { font-size: clamp(22px, 2.1vw, 30px); line-height: 1.12; letter-spacing: -.025em; max-width: 320px; }
@media (max-width: 1100px) {
.pg-hero__media { width: 54%; }
.pg-who__grid { grid-template-columns: repeat(3, 1fr); }
.pg-band { grid-template-columns: 1fr 1fr; padding-left: 0; padding-inline: var(--gutter) 0; }
.pg-band__cta { grid-column: 1 / -1; margin-inline: calc(var(--gutter) * -1) 0; padding-inline: var(--gutter); border-left: 0; align-items: flex-start; }
.pg-band__cta { background-position: 20% center; }
}
@media (max-width: 860px) {
.pg-hero { display: flex; flex-direction: column; align-items: stretch; min-height: 0; }
.pg-hero__inner { order: 1; padding-block: 44px 28px; }
.pg-hero__media { position: relative; inset: auto; width: 100%; order: 2; aspect-ratio: 1184 / 610; }
.pg-hero__media img { -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 18%); mask-image: linear-gradient(180deg, transparent 0, #000 18%); object-position: center; }
.pg-hero .btn { width: 100%; min-width: 0; }
.pg-who__head { flex-direction: column; align-items: flex-start; gap: 12px; }
.pg-who__head h2 { white-space: normal; }
.pg-who__head p { padding-left: 0; border-left: 0; }
.pg-feature { display: flex; flex-direction: column; align-items: stretch; min-height: 0; }
.pg-feature__media, .pg-feature--right .pg-feature__media, .pg-feature--left .pg-feature__media { position: relative; inset: auto; width: 100%; aspect-ratio: 16 / 8; order: 2; }
.pg-feature--right .pg-feature__media img, .pg-feature--left .pg-feature__media img { -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 18%); mask-image: linear-gradient(180deg, transparent 0, #000 18%); object-position: center; }
.pg-feature__inner { order: 1; padding-block: 52px 30px; }
.pg-feature--left .pg-feature__inner { display: block; }
.pg-feature .btn { width: 100%; white-space: normal; text-align: center; }
.pg-band { grid-template-columns: 1fr; padding-inline: var(--gutter) 0; }
.pg-band__impact { padding-inline: 0; border-left: 0; padding-top: 0; }
.pg-band__guard { padding-right: var(--gutter); }
}
@media (max-width: 560px) {
.pg-who__grid { grid-template-columns: repeat(2, 1fr); }
.pg-stats { grid-template-columns: repeat(3, 1fr); }
.pg-band__cta .btn { width: 100%; }
}
@media (max-width: 860px) {
#custom .pg-feature__media img { object-position: 72% center; }
}
