.pyp-faq {
  --pyp-pink: #ec5fbd;
  --pyp-magenta: #c72b89;
  --pyp-purple: #72317c;
  --pyp-ink: #110915;
  --pyp-panel: rgba(22, 11, 26, .82);
  position: relative;
  isolation: isolate;
  overflow: hidden;
  width: 100vw;
  max-width: 100vw;
  margin: 30px calc(50% - 50vw) 0;
  padding: clamp(54px, 6vw, 92px) clamp(18px, 5vw, 76px);
  box-sizing: border-box;
  color: #fff;
  background:
    radial-gradient(circle at 8% 20%, rgba(199,43,137,.24), transparent 31%),
    radial-gradient(circle at 92% 75%, rgba(114,49,124,.26), transparent 34%),
    linear-gradient(145deg, #170b19 0%, #0e0913 58%, #160a1d 100%);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 0;
  box-shadow: 0 28px 70px rgba(0,0,0,.28);
}
.pyp-faq * { box-sizing: border-box; }
.pyp-faq__glow { position:absolute; width:420px; height:420px; border-radius:50%; filter:blur(90px); opacity:.22; z-index:-1; pointer-events:none; }
.pyp-faq__glow--one { background:#e83fa7; left:-220px; top:25%; }
.pyp-faq__glow--two { background:#7d3cc0; right:-220px; bottom:5%; }
.pyp-faq__hero { max-width:1050px; margin:0 auto 38px; text-align:center; }
.pyp-faq__kicker { margin:0 0 16px; color:var(--pyp-pink) !important; font:700 14px/1.2 system-ui,sans-serif; letter-spacing:.38em; text-transform:uppercase; }
.pyp-faq__hero h1, .pyp-faq__cta h2 { margin:0; color:#fff !important; font-family:"Aboreto","Playfair Display",serif; font-weight:400; text-wrap:balance; }
.pyp-faq__hero h1 { font-size:clamp(40px,5.3vw,82px); line-height:1.08; letter-spacing:.01em; }
.pyp-faq__subtitle { max-width:790px; margin:20px auto 0; color:rgba(255,255,255,.74) !important; font:400 clamp(17px,1.5vw,21px)/1.6 system-ui,sans-serif; }
.pyp-faq__search-panel { max-width:980px; margin:0 auto 58px; text-align:center; }
.pyp-faq__search-panel>p { max-width:760px; margin:0 auto 23px; color:rgba(255,255,255,.66) !important; font:400 16px/1.65 system-ui,sans-serif; }
.pyp-faq__search { position:relative; display:block; max-width:700px; margin:0 auto; }
.pyp-faq__search svg { position:absolute; left:22px; top:50%; width:22px; transform:translateY(-50%); fill:none; stroke:#8d728f; stroke-width:1.8; stroke-linecap:round; }
.pyp-faq__search input { appearance:none; width:100%; height:64px; padding:0 58px; color:#211724; background:rgba(255,255,255,.97); border:2px solid transparent; border-radius:999px; outline:0; box-shadow:0 15px 35px rgba(0,0,0,.24); font:500 17px/1 system-ui,sans-serif; transition:.2s ease; }
.pyp-faq__search input:focus { border-color:var(--pyp-pink); box-shadow:0 0 0 5px rgba(236,95,189,.14),0 15px 35px rgba(0,0,0,.24); }
.pyp-faq__search button { display:none; position:absolute; right:14px; top:50%; width:38px; height:38px; transform:translateY(-50%); color:#6f5b71; background:transparent; border:0; border-radius:50%; cursor:pointer; font-size:27px; line-height:1; }
.pyp-faq__search button.is-visible { display:block; }
.pyp-faq__filters { position:relative; left:50%; transform:translateX(-50%); display:flex; justify-content:flex-start; gap:10px; width:min(1180px, calc(100vw - 48px)); max-width:none; margin-top:22px; padding:0 2px 6px; overflow-x:auto; scroll-padding-left:2px; scrollbar-width:none; }
.pyp-faq__filters::-webkit-scrollbar { display:none; }
.pyp-faq__filters button { flex:0 0 auto; padding:11px 18px; color:rgba(255,255,255,.78); background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.25); border-radius:999px; cursor:pointer; font:600 13px/1.1 system-ui,sans-serif; transition:.2s ease; }
.pyp-faq__filters button:hover, .pyp-faq__filters button.is-active { color:#fff; border-color:var(--pyp-pink); background:linear-gradient(90deg,rgba(236,95,189,.24),rgba(114,49,124,.26)); box-shadow:0 0 20px rgba(236,95,189,.12); }
.pyp-faq__groups { max-width:1180px; margin:0 auto; }
.pyp-faq__group { display:grid; grid-template-columns:250px minmax(0,1fr); gap:36px; padding:34px 0; border-top:1px solid rgba(255,255,255,.13); }
.pyp-faq__group:last-of-type { border-bottom:1px solid rgba(255,255,255,.13); }
.pyp-faq__group-heading { position:sticky; top:30px; align-self:start; display:flex; gap:14px; align-items:baseline; }
.pyp-faq__group-heading span { display:inline-block; flex:0 0 24px; min-width:24px; color:var(--pyp-pink); font:700 11px/1 system-ui,sans-serif; letter-spacing:.12em; white-space:nowrap; word-break:keep-all; writing-mode:horizontal-tb; }
.pyp-faq__group-heading h2 { margin:0; color:#fff !important; font:400 25px/1.25 "Aboreto","Playfair Display",serif; }
.pyp-faq__items { min-width:0; }
.pyp-faq__item { border-bottom:1px solid rgba(255,255,255,.12); }
.pyp-faq__item:first-child { border-top:1px solid rgba(255,255,255,.12); }
.pyp-faq__item[hidden], .pyp-faq__group[hidden] { display:none !important; }
.pyp-faq__item summary { list-style:none; display:flex; align-items:center; justify-content:space-between; gap:22px; min-height:72px; padding:18px 4px; color:rgba(255,255,255,.92); cursor:pointer; font:600 17px/1.45 system-ui,sans-serif; }
.pyp-faq__item summary::-webkit-details-marker { display:none; }
.pyp-faq__item summary i { position:relative; flex:0 0 34px; width:34px; height:34px; border:1px solid rgba(255,255,255,.24); border-radius:50%; transition:.25s ease; }
.pyp-faq__item summary i::before, .pyp-faq__item summary i::after { content:""; position:absolute; left:50%; top:50%; width:12px; height:1px; background:var(--pyp-pink); transform:translate(-50%,-50%); transition:.25s ease; }
.pyp-faq__item summary i::after { transform:translate(-50%,-50%) rotate(90deg); }
.pyp-faq__item[open] summary { color:var(--pyp-pink); }
.pyp-faq__item[open] summary i { border-color:var(--pyp-pink); transform:rotate(180deg); }
.pyp-faq__item[open] summary i::after { transform:translate(-50%,-50%) rotate(0); }
.pyp-faq__answer { padding:0 56px 24px 4px; color:rgba(255,255,255,.7); font:400 16px/1.75 system-ui,sans-serif; animation:pypFaqReveal .28s ease both; }
.pyp-faq__answer p { margin:0 0 12px; color:inherit !important; }
.pyp-faq__answer p:last-child { margin-bottom:0; }
@keyframes pypFaqReveal { from { opacity:0; transform:translateY(-7px); } to { opacity:1; transform:none; } }
.pyp-faq__empty { padding:65px 20px; text-align:center; }
.pyp-faq__empty strong { display:block; color:#fff; font:400 26px/1.3 "Aboreto",serif; }
.pyp-faq__empty span { display:block; margin-top:10px; color:rgba(255,255,255,.65); font:400 15px/1.5 system-ui,sans-serif; }
.pyp-faq__cta { max-width:980px; margin:70px auto 0; padding:50px clamp(22px,5vw,60px); text-align:center; background:linear-gradient(125deg,rgba(236,95,189,.09),rgba(114,49,124,.17)); border:1px solid rgba(255,255,255,.17); border-radius:28px; }
.pyp-faq__cta h2 { font-size:clamp(32px,4vw,54px); line-height:1.15; }
.pyp-faq__cta>p:not(.pyp-faq__kicker) { max-width:690px; margin:18px auto 26px; color:rgba(255,255,255,.69) !important; font:400 17px/1.7 system-ui,sans-serif; }
.pyp-faq__cta-button { display:inline-flex !important; align-items:center; justify-content:center; gap:18px; min-width:220px; text-decoration:none !important; }
.pyp-faq__cta-button span { font-size:22px; }

@media (max-width: 800px) {
  .pyp-faq { width:100vw; max-width:100vw; margin:18px calc(50% - 50vw) 0; padding:46px 16px 55px; border-radius:0; }
  .pyp-faq__hero { margin-bottom:28px; }
  .pyp-faq__hero h1 { font-size:clamp(36px,11vw,52px); }
  .pyp-faq__subtitle { font-size:16px; line-height:1.55; }
  .pyp-faq__search-panel { margin-bottom:35px; }
  .pyp-faq__search-panel>p { font-size:14px; }
  .pyp-faq__search input { height:56px; padding-left:50px; font-size:15px; }
  .pyp-faq__search svg { left:18px; width:19px; }
  .pyp-faq__filters { left:0; transform:none; width:calc(100% + 32px); margin-left:-16px; margin-right:-16px; padding-left:16px; padding-right:16px; scroll-padding-left:16px; }
  .pyp-faq__group { grid-template-columns:1fr; gap:15px; padding:28px 0; }
  .pyp-faq__group-heading { position:static; }
  .pyp-faq__group-heading h2 { font-size:21px; }
  .pyp-faq__item summary { min-height:64px; padding:15px 2px; font-size:15px; }
  .pyp-faq__item summary i { flex-basis:30px; width:30px; height:30px; }
  .pyp-faq__answer { padding:0 40px 20px 2px; font-size:14.5px; line-height:1.7; }
  .pyp-faq__cta { margin-top:48px; padding:40px 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .pyp-faq *, .pyp-faq *::before, .pyp-faq *::after { animation-duration:.01ms !important; transition-duration:.01ms !important; }
}
