.pyp-wl {
  --pink:#ec5fbd;
  --magenta:#c72b89;
  --purple:#72317c;
  --ink:#0e0811;
  width:100vw;
  max-width:100vw;
  margin:0 calc(50% - 50vw);
  overflow:hidden;
  color:#fff;
  background:#0a070d;
}
.pyp-wl * { box-sizing:border-box; }
.pyp-wl__hero {
  position:relative;
  min-height:min(760px,78vh);
  display:flex;
  align-items:center;
  padding:clamp(50px,6vw,105px);
  background-size:cover;
  background-position:center;
  isolation:isolate;
  justify-content:flex-end;
}
.pyp-wl__hero-overlay {
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    radial-gradient(circle at 79% 48%,rgba(25,8,28,.75) 0%,rgba(9,4,12,.38) 31%,transparent 58%),
    linear-gradient(270deg,rgba(6,3,8,.82) 0%,rgba(7,4,9,.52) 34%,rgba(7,4,9,.18) 64%,rgba(7,4,9,.48) 100%),
    linear-gradient(0deg,rgba(8,4,10,.52),transparent 48%);
}
.pyp-wl__hero::after {
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--pink),var(--purple),transparent);
}
.pyp-wl__hero-panel {
  position:relative;
  width:min(590px,100%);
  padding:clamp(24px,3vw,38px) 0;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  text-shadow:0 3px 24px rgba(0,0,0,.72);
}
.pyp-wl__eyebrow {
  margin:0 0 17px;
  color:var(--pink) !important;
  font:700 13px/1.2 system-ui,sans-serif;
  letter-spacing:.34em;
  text-transform:uppercase;
}
.pyp-wl__hero h1 {
  margin:0 0 24px;
  color:#fff !important;
  font:700 clamp(47px,4.5vw,68px)/.98 system-ui,sans-serif;
  letter-spacing:-.045em;
}
.pyp-wl__hero h1 span {
  display:block;
  margin:0 0 -8px;
  color:#bd75b8;
  font-family:"Brothersign","Snell Roundhand",cursive;
  font-size:1.25em;
  font-weight:400;
  line-height:.85;
  letter-spacing:0;
  transform:rotate(-2deg);
  transform-origin:left center;
}
.pyp-wl__hero-panel>p:not(.pyp-wl__eyebrow) {
  max-width:500px;
  margin:0 0 30px;
  color:rgba(255,255,255,.78) !important;
  font:400 clamp(16px,1.4vw,19px)/1.65 system-ui,sans-serif;
}
.pyp-wl .pyp-button-primary {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:15px;
  white-space:nowrap;
  text-decoration:none !important;
}
.pyp-wl .pyp-button-primary b { font-size:20px; transition:transform .25s ease; }
.pyp-wl .pyp-button-primary:hover b { transform:translateX(4px); }
.pyp-wl__scroll {
  position:absolute;
  left:50%;
  bottom:24px;
  width:30px;
  height:48px;
  border:1px solid rgba(255,255,255,.5);
  border-radius:999px;
  transform:translateX(-50%);
}
.pyp-wl__scroll span {
  position:absolute;
  left:50%;
  top:9px;
  width:4px;
  height:8px;
  border-radius:999px;
  background:var(--pink);
  transform:translateX(-50%);
  animation:pypWlScroll 1.8s ease infinite;
}
@keyframes pypWlScroll { 0%{opacity:0;transform:translate(-50%,0)} 30%{opacity:1} 80%,100%{opacity:0;transform:translate(-50%,18px)} }

.pyp-wl__experience,.pyp-wl__steps {
  position:relative;
  isolation:isolate;
  padding:clamp(70px,8vw,125px) clamp(20px,6vw,90px);
  background:
    radial-gradient(circle at 7% 22%,rgba(199,43,137,.2),transparent 30%),
    radial-gradient(circle at 94% 76%,rgba(114,49,124,.25),transparent 32%),
    linear-gradient(145deg,#170b19,#0c0810 58%,#16091c);
}
.pyp-wl__glow { position:absolute; z-index:-1; width:440px; height:440px; border-radius:50%; filter:blur(100px); opacity:.2; pointer-events:none; }
.pyp-wl__glow--one { left:-220px; top:30%; background:var(--pink); }
.pyp-wl__glow--two { right:-230px; bottom:0; background:#8947bd; }
.pyp-wl__section-heading,.pyp-wl__contrast-heading {
  max-width:1050px;
  margin:0 auto clamp(42px,5vw,70px);
  text-align:center;
}
.pyp-wl__section-heading h2,.pyp-wl__contrast-heading h2,.pyp-wl__cta h2 {
  margin:0;
  color:#fff !important;
  font:400 clamp(38px,5.2vw,72px)/1.1 "Aboreto","Playfair Display",serif;
  text-wrap:balance;
}
.pyp-wl__section-heading>p:last-child,.pyp-wl__contrast-heading>p:last-child {
  max-width:860px;
  margin:22px auto 0;
  color:rgba(255,255,255,.69) !important;
  font:400 clamp(16px,1.5vw,20px)/1.7 system-ui,sans-serif;
}
.pyp-wl__cards {
  max-width:1380px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(18px,2.4vw,34px);
}
.pyp-wl__card {
  position:relative;
  isolation:isolate;
  min-height:580px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.23);
  border-radius:28px;
  background:rgba(21,11,25,.72);
  box-shadow:0 25px 55px rgba(0,0,0,.3);
  transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease;
}
.pyp-wl__card:hover { transform:translateY(-8px); border-color:rgba(236,95,189,.7); box-shadow:0 32px 70px rgba(0,0,0,.42),0 0 32px rgba(236,95,189,.1); }
.pyp-wl__card-image { position:absolute; inset:0; z-index:-3; background-size:cover; background-position:center; transition:transform .6s ease; }
.pyp-wl__card:hover .pyp-wl__card-image { transform:scale(1.045); }
.pyp-wl__card-shade { position:absolute; inset:0; z-index:-2; background:linear-gradient(180deg,rgba(5,3,7,.12) 0%,rgba(8,4,10,.55) 38%,rgba(10,5,13,.97) 77%); }
.pyp-wl__card-content { position:absolute; inset:auto 0 0; padding:30px; }
.pyp-wl__number { position:absolute; top:-300px; right:24px; color:rgba(255,255,255,.55); font:600 12px/1 system-ui,sans-serif; letter-spacing:.12em; }
.pyp-wl__card-kicker { margin:0 0 9px; color:var(--pink) !important; font:700 12px/1.3 system-ui,sans-serif; letter-spacing:.19em; text-transform:uppercase; }
.pyp-wl__card h3 { margin:0; color:#fff !important; font:400 clamp(29px,2.5vw,42px)/1.14 "Aboreto","Playfair Display",serif; }
.pyp-wl__card-copy { margin:16px 0 22px; color:rgba(255,255,255,.71) !important; font:400 15px/1.65 system-ui,sans-serif; }
.pyp-wl__card-button { display:flex; align-items:center; justify-content:space-between; width:100%; padding:13px 0 0; color:#fff; background:transparent; border:0; border-top:1px solid rgba(255,255,255,.18); cursor:pointer; font:700 13px/1.2 system-ui,sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.pyp-wl__card-button i { display:grid; place-items:center; width:32px; height:32px; color:var(--pink); border:1px solid rgba(236,95,189,.55); border-radius:50%; font:400 20px/1 system-ui,sans-serif; transition:.3s ease; }
.pyp-wl__card-details { display:grid; grid-template-rows:0fr; transition:grid-template-rows .4s ease; }
.pyp-wl__card-details>ul { min-height:0; overflow:hidden; margin:0; padding:0; list-style:none; }
.pyp-wl__card-details li { position:relative; padding:9px 0 0 22px; color:rgba(255,255,255,.8); font:500 14px/1.4 system-ui,sans-serif; }
.pyp-wl__card-details li::before { content:""; position:absolute; left:1px; top:14px; width:8px; height:8px; border:1px solid var(--pink); border-radius:50%; }
.pyp-wl__card.is-open .pyp-wl__card-details { grid-template-rows:1fr; }
.pyp-wl__card.is-open .pyp-wl__card-button i { transform:rotate(45deg); background:rgba(236,95,189,.13); }

.pyp-wl__contrast {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:clamp(70px,7vw,105px) clamp(20px,6vw,90px);
  background:
    radial-gradient(circle at 86% 58%,rgba(140,54,144,.25),transparent 34%),
    radial-gradient(circle at 5% 18%,rgba(199,43,137,.14),transparent 28%),
    linear-gradient(140deg,#160b19 0%,#0b080e 55%,#16091d 100%);
  color:#fff;
}
.pyp-wl__contrast::before {
  content:"EXPERIENCE";
  position:absolute;
  z-index:-1;
  left:50%;
  top:44%;
  color:rgba(255,255,255,.022);
  font:400 clamp(100px,16vw,270px)/1 "Aboreto","Playfair Display",serif;
  letter-spacing:.04em;
  transform:translate(-50%,-50%);
  white-space:nowrap;
  pointer-events:none;
}
.pyp-wl__contrast .pyp-wl__eyebrow { color:var(--pink) !important; }
.pyp-wl__contrast-heading {
  position:relative;
  z-index:1;
  max-width:1180px;
  margin:0 auto 55px;
  padding:0;
  text-align:left;
}
.pyp-wl__contrast-heading::after {
  display:none;
}
.pyp-wl__contrast-heading h2 {
  max-width:1030px;
  margin:0;
  color:#fff !important;
  font-size:clamp(38px,4.7vw,68px);
}
.pyp-wl__contrast-heading>p:last-child {
  max-width:720px;
  margin:18px 0 0;
  color:rgba(255,255,255,.66) !important;
}
.pyp-wl__contrast-grid {
  position:relative;
  z-index:1;
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(260px,.72fr) 74px minmax(0,1.28fr);
  align-items:center;
}
.pyp-wl__problem,.pyp-wl__solution {
  min-height:0;
}
.pyp-wl__problem { padding:24px 22px 24px 0; color:#fff; }
.pyp-wl__solution {
  position:relative;
  overflow:hidden;
  padding:clamp(34px,4vw,55px);
  color:#fff;
  background:
    radial-gradient(circle at 94% 4%,rgba(236,95,189,.25),transparent 35%),
    linear-gradient(135deg,rgba(48,20,54,.78),rgba(14,8,18,.65));
  border:1px solid rgba(255,255,255,.2);
  border-radius:30px;
  box-shadow:0 30px 70px rgba(0,0,0,.35),0 0 45px rgba(199,43,137,.08);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.pyp-wl__solution::after {
  content:"";
  position:absolute;
  right:-70px;
  bottom:-100px;
  width:260px;
  height:260px;
  border:1px solid rgba(236,95,189,.13);
  border-radius:50%;
  box-shadow:0 0 0 35px rgba(236,95,189,.025),0 0 0 70px rgba(114,49,124,.022);
}
.pyp-wl__problem>span,.pyp-wl__solution>span { color:var(--pink); font:700 11px/1 system-ui,sans-serif; letter-spacing:.25em; text-transform:uppercase; }
.pyp-wl__problem ul { margin:20px 0 0; padding:0; list-style:none; }
.pyp-wl__problem li { position:relative; padding:13px 0 13px 30px; border-bottom:1px solid rgba(255,255,255,.1); color:rgba(255,255,255,.56); font:500 15px/1.35 system-ui,sans-serif; text-decoration:line-through; text-decoration-color:rgba(236,95,189,.48); }
.pyp-wl__problem li::before { content:"×"; position:absolute; left:0; color:var(--pink); font-size:18px; text-decoration:none; }
.pyp-wl__solution h3 { position:relative; z-index:1; max-width:650px; margin:24px 0 15px; color:#fff !important; font:400 clamp(31px,3.4vw,50px)/1.12 "Aboreto","Playfair Display",serif; }
.pyp-wl__solution p { position:relative; z-index:1; max-width:680px; margin:0; color:rgba(255,255,255,.73) !important; font:400 16px/1.7 system-ui,sans-serif; }
.pyp-wl__outcomes { position:relative; z-index:1; display:flex; flex-wrap:nowrap; gap:8px; margin-top:25px; }
.pyp-wl__outcomes em { flex:1 1 0; display:inline-flex; align-items:center; justify-content:center; padding:9px 10px; color:rgba(255,255,255,.86); background:rgba(255,255,255,.055); border:1px solid rgba(236,95,189,.34); border-radius:999px; white-space:nowrap; font:600 10px/1.1 system-ui,sans-serif; letter-spacing:.035em; font-style:normal; }
.pyp-wl__transform { display:grid; place-items:center; position:relative; }
.pyp-wl__transform::before { content:""; position:absolute; left:0; right:0; height:1px; background:linear-gradient(90deg,rgba(255,255,255,.12),var(--pink),var(--purple)); }
.pyp-wl__transform span { position:relative; z-index:1; display:grid; place-items:center; width:50px; height:50px; color:#fff; background:linear-gradient(90deg,var(--pink),var(--purple)); border-radius:50%; font-size:25px; box-shadow:0 8px 22px rgba(114,49,124,.28); }
.pyp-wl__transform small { position:absolute; top:calc(50% + 38px); width:110px; color:rgba(255,255,255,.43); font:700 9px/1.45 system-ui,sans-serif; letter-spacing:.11em; text-align:center; text-transform:uppercase; }

.pyp-wl__steps { border-top:1px solid rgba(255,255,255,.13); }
.pyp-wl__timeline { position:relative; max-width:1380px; margin:0 auto; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; }
.pyp-wl__timeline::before { content:""; position:absolute; left:8%; right:8%; top:38px; height:1px; background:linear-gradient(90deg,var(--pink),var(--purple)); opacity:.65; }
.pyp-wl__timeline article { position:relative; padding:0 15px; text-align:center; }
.pyp-wl__timeline article>span { position:relative; z-index:1; display:grid; place-items:center; width:76px; height:76px; margin:0 auto 25px; color:#fff; background:rgba(14,8,17,.92); border:1px solid var(--pink); border-radius:50%; box-shadow:0 0 0 8px #110a15,0 12px 30px rgba(0,0,0,.25); font:700 15px/1 system-ui,sans-serif; }
.pyp-wl__timeline h3 { margin:0 0 12px; color:#fff !important; font:400 22px/1.25 "Aboreto","Playfair Display",serif; }
.pyp-wl__timeline p { margin:0; color:rgba(255,255,255,.62) !important; font:400 14px/1.65 system-ui,sans-serif; }

.pyp-wl__cta {
  position:relative;
  padding:clamp(70px,9vw,130px) 24px;
  text-align:center;
  background:
    radial-gradient(circle at 50% 120%,rgba(114,49,124,.48),transparent 45%),
    linear-gradient(180deg,#0a070d,#130918);
  border-top:1px solid rgba(255,255,255,.12);
}
.pyp-wl__cta h2 { max-width:1050px; margin:0 auto; }
.pyp-wl__cta>p:not(.pyp-wl__eyebrow) { max-width:720px; margin:22px auto 30px; color:rgba(255,255,255,.68) !important; font:400 17px/1.7 system-ui,sans-serif; }

@media(max-width:980px) {
  .pyp-wl__cards { grid-template-columns:1fr; max-width:620px; }
  .pyp-wl__card { min-height:540px; }
  .pyp-wl__contrast-heading { text-align:center; }
  .pyp-wl__contrast-heading>p:last-child { margin-left:auto; margin-right:auto; }
  .pyp-wl__contrast-grid { grid-template-columns:1fr; gap:18px; max-width:680px; }
  .pyp-wl__problem { padding:26px; background:rgba(255,255,255,.035); border:1px solid rgba(255,255,255,.12); border-radius:24px; }
  .pyp-wl__transform { height:55px; }
  .pyp-wl__transform::before { left:50%; right:auto; top:0; bottom:0; width:1px; height:auto; background:linear-gradient(180deg,#574d58,var(--pink),var(--purple)); }
  .pyp-wl__transform span { transform:rotate(90deg); }
  .pyp-wl__transform small { display:none; }
  .pyp-wl__outcomes { flex-wrap:wrap; }
  .pyp-wl__outcomes em { flex:1 1 calc(50% - 8px); }
  .pyp-wl__timeline { grid-template-columns:repeat(2,minmax(0,1fr)); gap:50px 25px; }
  .pyp-wl__timeline::before { display:none; }
}
@media(max-width:620px) {
  .pyp-wl__hero { min-height:690px; align-items:flex-end; padding:35px 14px 70px; background-position:57% center; }
  .pyp-wl__hero-overlay { background:linear-gradient(0deg,rgba(6,3,8,.98) 0%,rgba(6,3,8,.78) 47%,rgba(6,3,8,.3) 78%,rgba(6,3,8,.2)); }
  .pyp-wl__hero-panel { padding:27px 12px; }
  .pyp-wl__hero h1 { font-size:49px; }
  .pyp-wl__hero h1 span { font-size:1.2em; }
  .pyp-wl__hero-panel>p:not(.pyp-wl__eyebrow) { font-size:15px; line-height:1.55; }
  .pyp-wl__scroll { display:none; }
  .pyp-wl__experience,.pyp-wl__steps,.pyp-wl__contrast { padding-left:14px; padding-right:14px; }
  .pyp-wl__section-heading h2,.pyp-wl__contrast-heading h2,.pyp-wl__cta h2 { font-size:38px; }
  .pyp-wl__card { min-height:510px; border-radius:23px; }
  .pyp-wl__card-content { padding:24px; }
  .pyp-wl__problem,.pyp-wl__solution { min-height:0; padding:28px 23px; border-radius:23px; }
  .pyp-wl__timeline { grid-template-columns:1fr; gap:38px; }
  .pyp-wl__timeline article { display:grid; grid-template-columns:60px 1fr; column-gap:18px; text-align:left; }
  .pyp-wl__timeline article>span { grid-row:1/3; width:60px; height:60px; margin:0; box-shadow:0 0 0 6px #110a15; }
  .pyp-wl__timeline h3 { align-self:end; font-size:19px; }
  .pyp-wl__timeline p { align-self:start; }
}
@media(prefers-reduced-motion:reduce) {
  .pyp-wl *,.pyp-wl *::before,.pyp-wl *::after { animation-duration:.01ms !important; transition-duration:.01ms !important; }
}
