.prm-hero{
  position:relative;
  overflow:hidden;
  padding:78px 0 68px;
  background:
    radial-gradient(circle at 88% 17%,rgba(90,49,244,.18),transparent 27%),
    radial-gradient(circle at 8% 84%,rgba(255,155,50,.14),transparent 24%),
    linear-gradient(180deg,#fff 0%,#fbfaff 100%)
}
.prm-hero:before{
  content:"";
  position:absolute;
  width:360px;height:360px;
  border-radius:50%;
  border:1px solid rgba(90,49,244,.09);
  right:-140px;top:-160px;
  animation:prm-float 9s ease-in-out infinite
}
.prm-hero-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1.04fr .96fr;
  gap:58px;
  align-items:center
}
.prm-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:32px;
  padding:0 12px;
  border-radius:999px;
  background:var(--purple-soft);
  color:var(--purple);
  border:1px solid #dfd7ff;
  font-size:10px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase
}
.prm-kicker:before{
  content:"";
  width:7px;height:7px;border-radius:50%;
  background:var(--orange);
  box-shadow:0 0 0 5px rgba(255,155,50,.13);
  animation:prm-pulse 2.3s ease-out infinite
}
.prm-hero h1{
  margin:18px 0 20px;
  font-size:clamp(43px,5.8vw,70px);
  line-height:1.02;
  letter-spacing:-.055em
}
.prm-hero h1 span{color:var(--purple)}
.prm-lead{
  max-width:700px;
  margin:0 0 28px;
  color:var(--muted);
  font-size:17px;
  line-height:1.75
}
.prm-actions{
  display:flex;
  flex-wrap:wrap;
  gap:11px
}
.prm-mini{
  display:flex;
  flex-wrap:wrap;
  gap:20px;
  margin-top:27px;
  color:#667085;
  font-size:12px
}
.prm-mini span{
  display:inline-flex;
  align-items:center;
  gap:7px
}
.prm-mini span:before{
  content:"✓";
  width:18px;height:18px;
  display:grid;place-items:center;
  border-radius:50%;
  background:#eaf9f2;
  color:var(--green);
  font-size:9px;
  font-weight:900
}

/* hero visual */
.prm-visual{
  position:relative;
  min-height:475px
}
.prm-visual-bg{
  position:absolute;
  inset:22px 0 24px 42px;
  border-radius:34px;
  background:linear-gradient(145deg,#3f22c7,var(--purple) 58%,#8068ff);
  transform:rotate(2.3deg);
  box-shadow:0 30px 65px rgba(90,49,244,.24)
}
.prm-ticket{
  position:absolute;
  top:7%;
  right:5%;
  width:72%;
  padding:24px;
  border-radius:26px;
  background:#fff;
  box-shadow:0 26px 60px rgba(16,24,40,.17);
  animation:prm-card-float 5s ease-in-out infinite
}
.prm-ticket-top{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  margin-bottom:18px
}
.prm-ticket-badge{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:#fff2e4;
  color:#c96b0f;
  border:1px solid #ffd9b1;
  font-size:9px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase
}
.prm-ticket-label{
  color:#8a94a5;
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em
}
.prm-ticket-title{
  margin:0 0 8px;
  font-size:26px;
  line-height:1.1;
  letter-spacing:-.035em
}
.prm-ticket p{
  margin:0;
  color:var(--muted);
  font-size:12px;
  line-height:1.6
}
.prm-ticket-price{
  display:flex;
  align-items:flex-end;
  gap:8px;
  margin:18px 0
}
.prm-ticket-price strong{
  color:var(--purple);
  font-size:34px;
  line-height:1
}
.prm-ticket-price span{
  color:#8a94a5;
  font-size:11px;
  margin-bottom:3px
}
.prm-ticket-line{
  height:1px;
  background:linear-gradient(90deg,#e7eaf0 70%,transparent);
  margin:16px 0
}
.prm-ticket-meta{
  display:flex;
  justify-content:space-between;
  gap:10px;
  color:#697386;
  font-size:10px
}
.prm-floating{
  position:absolute;
  left:0;
  bottom:8%;
  width:49%;
  padding:19px;
  border-radius:20px;
  border:1px solid var(--line);
  background:#fff;
  box-shadow:var(--shadow);
  animation:prm-float-alt 6s ease-in-out infinite
}
.prm-floating strong{
  display:block;
  font-size:15px;
  margin-bottom:4px
}
.prm-floating p{
  margin:0;
  color:var(--muted);
  font-size:11px
}
.prm-floating code{
  display:inline-flex;
  margin-top:10px;
  padding:6px 8px;
  border-radius:8px;
  background:#f2eeff;
  color:var(--purple);
  font-size:10px;
  font-weight:800;
  line-height:1.2
}

/* stats */
.prm-statbar{
  background:#fbfaff;
  padding-bottom:24px
}
.prm-statgrid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:21px;
  background:#fff;
  box-shadow:0 16px 42px rgba(16,24,40,.07)
}
.prm-stat{
  padding:24px 22px;
  text-align:center;
  border-right:1px solid var(--line)
}
.prm-stat:last-child{border-right:0}
.prm-stat strong{
  display:block;
  color:var(--purple);
  font-size:23px;
  line-height:1.1
}
.prm-stat span{
  color:#7b8495;
  font-size:10px
}

/* sections */
.prm-section{padding:86px 0}
.prm-soft{background:#f8f9fd}
.prm-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:34px;
  margin-bottom:32px
}
.prm-head h2{
  max-width:760px;
  margin:8px 0 0;
  font-size:clamp(31px,4vw,47px);
  line-height:1.08;
  letter-spacing:-.045em
}
.prm-head p{
  max-width:500px;
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.7
}

/* promo cards */
.prm-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px
}
.prm-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:420px;
  overflow:hidden;
  border:1px solid #e4e7ef;
  border-radius:23px;
  background:#fff;
  box-shadow:0 10px 26px rgba(16,24,40,.045);
  transition:.28s ease
}
.prm-card:hover{
  transform:translateY(-7px);
  border-color:#d9d1ff;
  box-shadow:0 22px 46px rgba(90,49,244,.11)
}
.prm-card-top{
  position:relative;
  min-height:146px;
  padding:24px;
  color:#fff;
  background:linear-gradient(145deg,#4424c8,var(--purple) 60%,#8069ff);
  overflow:hidden
}
.prm-card:nth-child(2) .prm-card-top{
  background:linear-gradient(145deg,#8c4c10,#df8420 62%,#ffb659)
}
.prm-card:nth-child(3) .prm-card-top{
  background:linear-gradient(145deg,#1d3557,#396aa8 60%,#75a7de)
}
.prm-card:nth-child(4) .prm-card-top{
  background:linear-gradient(145deg,#3c225f,#7a42a7 60%,#c88be0)
}
.prm-card:nth-child(5) .prm-card-top{
  background:linear-gradient(145deg,#0d5351,#1e908a 60%,#69c4bd)
}
.prm-card:nth-child(6) .prm-card-top{
  background:linear-gradient(145deg,#6a2340,#b24f78 60%,#e197b5)
}
.prm-card-top:after{
  content:"";
  position:absolute;
  width:180px;height:180px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.17);
  right:-70px;bottom:-110px;
  transition:.45s ease
}
.prm-card:hover .prm-card-top:after{
  transform:scale(1.15) translate(-8px,-5px)
}
.prm-card-topline{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px
}
.prm-badge{
  display:inline-flex;
  min-height:26px;
  padding:0 9px;
  align-items:center;
  border-radius:999px;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.20);
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase
}
.prm-status{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:8px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em
}
.prm-status:before{
  content:"";
  width:6px;height:6px;border-radius:50%;
  background:#8ff0c6
}
.prm-card-top h3{
  position:relative;
  z-index:1;
  margin:22px 0 0;
  max-width:300px;
  font-size:22px;
  line-height:1.12;
  letter-spacing:-.03em
}
.prm-card-body{
  display:flex;
  flex-direction:column;
  flex:1;
  padding:23px
}
.prm-desc{
  min-height:62px;
  margin:0 0 16px;
  color:var(--muted);
  font-size:12px;
  line-height:1.65
}
.prm-price-label{
  color:#8a94a5;
  font-size:9px;
  font-weight:700
}
.prm-price{
  display:flex;
  align-items:baseline;
  gap:6px;
  margin:2px 0 15px
}
.prm-price strong{
  color:var(--purple);
  font-size:27px;
  line-height:1
}
.prm-price s{
  color:#98a2b3;
  font-size:11px
}
.prm-list{
  list-style:none;
  padding:0;
  margin:0 0 20px;
  display:grid;
  gap:8px
}
.prm-list li{
  position:relative;
  padding-left:19px;
  color:#596579;
  font-size:10.5px
}
.prm-list li:before{
  content:"✓";
  position:absolute;
  left:0;
  color:var(--green);
  font-weight:900
}
.prm-card-footer{
  display:flex;
  gap:9px;
  margin-top:auto
}
.prm-card-footer .btn{
  flex:1;
  min-height:40px;
  font-size:10px
}
.prm-note{
  display:flex;
  align-items:center;
  gap:6px;
  margin-top:11px;
  color:#98a2b3;
  font-size:9px
}
.prm-note:before{
  content:"i";
  width:15px;height:15px;
  display:grid;place-items:center;
  border-radius:50%;
  background:#f2f4f7;
  color:#7a8494;
  font-weight:900
}

/* featured banner */
.prm-highlight{
  position:relative;
  overflow:hidden;
  padding:40px;
  border-radius:29px;
  color:#fff;
  background:
    radial-gradient(circle at 90% 15%,rgba(255,255,255,.15),transparent 23%),
    radial-gradient(circle at 8% 90%,rgba(255,155,50,.22),transparent 25%),
    linear-gradient(135deg,#3f22c7,var(--purple) 58%,#765dff);
  box-shadow:0 26px 60px rgba(90,49,244,.22)
}
.prm-highlight:after{
  content:"";
  position:absolute;
  left:-30%;
  top:0;
  width:25%;
  height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);
  transform:skewX(-20deg);
  animation:prm-shine 5.8s ease-in-out infinite
}
.prm-highlight-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1fr auto;
  gap:34px;
  align-items:center
}
.prm-highlight .prm-label{
  color:#fff;
  opacity:.82
}
.prm-highlight h2{
  margin:8px 0 11px;
  max-width:760px;
  font-size:clamp(30px,4vw,45px);
  line-height:1.08;
  letter-spacing:-.04em
}
.prm-highlight p{
  margin:0;
  max-width:680px;
  color:#e8e3ff;
  font-size:13px;
  line-height:1.7
}
.prm-highlight-price{
  min-width:230px;
  padding:22px;
  border-radius:20px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.15);
  backdrop-filter:blur(8px);
  text-align:center
}
.prm-highlight-price small{
  display:block;
  color:#ddd6ff;
  font-size:10px;
  margin-bottom:4px
}
.prm-highlight-price strong{
  display:block;
  font-size:34px;
  line-height:1;
  margin-bottom:14px
}
.prm-highlight-price .btn{
  width:100%;
  background:#fff;
  color:var(--purple-dark)
}

/* benefits */
.prm-benefits{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px
}
.prm-benefit{
  padding:24px;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff;
  transition:.24s ease
}
.prm-benefit:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 34px rgba(16,24,40,.07)
}
.prm-benefit-icon{
  width:48px;height:48px;
  display:grid;place-items:center;
  margin-bottom:14px;
  border-radius:15px;
  background:var(--purple-soft);
  color:var(--purple);
  font-size:20px
}
.prm-benefit h3{
  margin:0 0 6px;
  font-size:15px
}
.prm-benefit p{
  margin:0;
  color:var(--muted);
  font-size:11px;
  line-height:1.6
}

/* FAQ */
.prm-faq{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:48px;
  align-items:start
}
.prm-faq-copy h2{
  margin:8px 0 12px;
  font-size:clamp(31px,4vw,46px);
  line-height:1.08;
  letter-spacing:-.04em
}
.prm-faq-copy p{
  margin:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.7
}
.prm-faq-list{
  display:grid;
  gap:10px
}
.prm-faq-list details{
  border:1px solid var(--line);
  border-radius:16px;
  padding:17px 18px;
  background:#fff
}
.prm-faq-list summary{
  cursor:pointer;
  font-size:12px;
  font-weight:800
}
.prm-faq-list p{
  margin:10px 0 0;
  color:var(--muted);
  font-size:11.5px;
  line-height:1.65
}

/* final CTA */
.prm-final{
  padding:30px 0 0
}
.prm-final-box{
  display:grid;
  grid-template-columns:1fr auto;
  gap:28px;
  align-items:center;
  padding:38px 40px;
  border-radius:28px;
  background:
    radial-gradient(circle at 90% 15%,rgba(255,255,255,.14),transparent 23%),
    linear-gradient(135deg,#151b2b,#222c42 66%,#303d5d);
  color:#fff;
  box-shadow:0 26px 58px rgba(16,24,40,.18)
}
.prm-final h2{
  margin:0 0 8px;
  font-size:clamp(28px,3.6vw,42px);
  line-height:1.08;
  letter-spacing:-.04em
}
.prm-final p{
  margin:0;
  color:#b9c2d0;
  font-size:12.5px
}
.prm-final-actions{
  display:flex;
  gap:9px;
  flex-wrap:wrap
}
.prm-final-actions .btn{
  white-space:nowrap
}
.prm-final-actions .btn:first-child{
  background:#fff;
  color:#172033
}
.prm-final-actions .btn:last-child{
  background:rgba(255,255,255,.07);
  border-color:rgba(255,255,255,.16);
  color:#fff
}

/* Reveal animations */
.js .prm-reveal{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .68s ease, transform .68s ease
}
.js .prm-reveal.is-visible{
  opacity:1;
  transform:none
}
.prm-card:nth-child(2){transition-delay:.05s}
.prm-card:nth-child(3){transition-delay:.10s}
.prm-card:nth-child(4){transition-delay:.15s}
.prm-card:nth-child(5){transition-delay:.20s}
.prm-card:nth-child(6){transition-delay:.25s}

@keyframes prm-float{
  0%,100%{transform:translate(0,0)}
  50%{transform:translate(-12px,12px)}
}
@keyframes prm-pulse{
  0%{box-shadow:0 0 0 0 rgba(255,155,50,.25)}
  75%,100%{box-shadow:0 0 0 9px rgba(255,155,50,0)}
}
@keyframes prm-card-float{
  0%,100%{transform:translateY(0) rotate(-1deg)}
  50%{transform:translateY(-6px) rotate(-.4deg)}
}
@keyframes prm-float-alt{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(5px)}
}
@keyframes prm-shine{
  0%,58%{left:-30%}
  78%{left:115%}
  100%{left:115%}
}

@media(max-width:1000px){
  .prm-hero-grid,
  .prm-highlight-grid,
  .prm-faq{
    grid-template-columns:1fr
  }
  .prm-visual{min-height:430px}
  .prm-grid{grid-template-columns:repeat(2,1fr)}
  .prm-benefits{grid-template-columns:repeat(2,1fr)}
  .prm-highlight-price{max-width:280px}
}
@media(max-width:650px){
  .prm-hero{padding-top:48px}
  .prm-hero h1{font-size:44px}
  .prm-visual{min-height:390px}
  .prm-ticket{width:80%;right:0}
  .prm-floating{width:60%}
  .prm-statgrid{grid-template-columns:repeat(2,1fr)}
  .prm-stat:nth-child(2){border-right:0}
  .prm-stat:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .prm-section{padding:66px 0}
  .prm-head{
    align-items:flex-start;
    flex-direction:column
  }
  .prm-grid,
  .prm-benefits{
    grid-template-columns:1fr
  }
  .prm-highlight{padding:30px 22px}
  .prm-final-box{
    grid-template-columns:1fr;
    padding:30px 24px
  }
  .prm-final-actions{
    flex-direction:column
  }
}
@media(prefers-reduced-motion:reduce){
  .js .prm-reveal{
    opacity:1;
    transform:none;
    transition:none
  }
  .prm-hero:before,
  .prm-kicker:before,
  .prm-ticket,
  .prm-floating,
  .prm-highlight:after{
    animation:none
  }
}

/* WordPress data, filters, single view, and shared accessibility. */
.prm-page, .prm-single-page { background:#fff; }
.prm-page section[id], .prm-single-page section[id] { scroll-margin-top:106px; }
.prm-label { color:var(--purple); font-size:11px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.prm-hero-grid { grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr); }
.prm-hero-copy, .prm-visual, .prm-card, .prm-head > div, .prm-benefit, .prm-faq-copy, .prm-single-content { min-width:0; }
.prm-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.prm-benefits { grid-template-columns:repeat(4,minmax(0,1fr)); }
.prm-faq { grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); }
.prm-highlight-grid, .prm-final-box { grid-template-columns:minmax(0,1fr) auto; }
.prm-ticket-title, .prm-card-top h3, .prm-single-content h1, .prm-single-art strong, .prm-highlight h2 { overflow-wrap:anywhere; }
.prm-ticket-title { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.prm-ticket-price, .prm-price, .prm-card-topline { flex-wrap:wrap; }
.prm-card-top a { color:inherit; }
.prm-card-image { display:block; aspect-ratio:16/9; overflow:hidden; }
.prm-card-image img { display:block; width:100%; height:100%; object-fit:cover; }
.prm-taxonomies { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:14px; }
.prm-taxonomies span { padding:4px 8px; border-radius:12px; background:var(--purple-soft); color:var(--purple-dark); font-size:10px; overflow-wrap:anywhere; }
.prm-period { margin:0 0 16px; color:#667085; font-size:11px; }
.prm-disclosure { margin:16px 0; color:#596579; font-size:11px; line-height:1.65; }
.prm-highlight .prm-disclosure { margin-top:14px; }
.prm-highlight .prm-period { margin-top:14px; color:#e8e3ff; }
.prm-closed { display:inline-flex; align-items:center; min-height:42px; padding:10px 16px; border-radius:10px; background:#f2f4f7; color:#475467; font-weight:700; }
.prm-filters { display:flex; flex-wrap:wrap; align-items:flex-end; gap:14px; margin:0 0 24px; }
.prm-filter { display:grid; flex:1 1 180px; min-width:0; gap:6px; }
.prm-filter label { color:#475467; font-size:11px; font-weight:700; }
.prm-filter input, .prm-filter select { width:100%; min-width:0; height:42px; padding:0 12px; border:1px solid #d9dde5; border-radius:10px; background:#fff; color:#344054; font:inherit; font-size:12px; }
.prm-filters .btn { min-height:42px; }
.prm-count { color:#667085; font-size:12px; margin:0 0 20px; }
.prm-empty { padding:44px 28px; border:1px dashed #d9d2f7; border-radius:20px; background:#fff; text-align:center; }
.prm-empty h3 { margin:0 0 10px; }
.prm-empty p { margin:0 auto 22px; max-width:640px; color:var(--muted); }
.prm-empty .btn { margin:4px; }
.prm-pagination { margin-top:30px; }
.prm-pagination ul { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; padding:0; list-style:none; }
.prm-pagination a, .prm-pagination .current { display:grid; place-items:center; min-width:38px; min-height:38px; padding:0 12px; border:1px solid var(--line); border-radius:9px; background:#fff; font-size:12px; }
.prm-pagination .current { background:var(--purple); color:#fff; }
.prm-final { padding-bottom:78px; }
.prm-single { padding:42px 0 68px; }
.prm-breadcrumb { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:28px; font-size:11px; color:#667085; overflow-wrap:anywhere; }
.prm-single-grid { display:grid; grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr); align-items:start; gap:48px; }
.prm-single-image { display:block; width:100%; height:auto; border-radius:23px; }
.prm-single-art { display:flex; min-height:390px; padding:28px; flex-direction:column; justify-content:space-between; gap:28px; border-radius:23px; background:linear-gradient(145deg,#4424c8,var(--purple) 60%,#8069ff); color:#fff; }
.prm-single-art strong { font-size:34px; line-height:1.14; }
.prm-single-art small, .prm-single-art span { font-size:11px; letter-spacing:.08em; }
.prm-single-badge { display:inline-flex; padding:6px 12px; border-radius:14px; color:var(--purple); background:var(--purple-soft); font-size:11px; font-weight:800; }
.prm-single-content h1 { margin:16px 0 22px; font-size:clamp(36px,4.8vw,58px); line-height:1.08; letter-spacing:-.045em; }
.prm-single-excerpt { color:var(--muted); margin-bottom:24px; }
.prm-single-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0 0 24px; }
.prm-single-facts > div { padding:15px; border:1px solid var(--line); border-radius:13px; background:#fafaff; }
.prm-single-facts dt { color:#667085; font-size:11px; }
.prm-single-facts dd { margin:5px 0 0; font-weight:700; overflow-wrap:anywhere; }
.prm-benefits-heading { font-size:18px; }
.prm-single-benefits li { font-size:13px; }
.prm-single-actions { display:flex; flex-wrap:wrap; gap:10px; }
.prm-description { margin-top:64px; padding-top:40px; border-top:1px solid var(--line); }
.prm-description h2 { font-size:32px; letter-spacing:-.035em; }
.prm-entry-content { max-width:820px; color:#344054; overflow-wrap:anywhere; }
.prm-page :is(a,button,input,select,summary):focus-visible, .prm-single-page a:focus-visible { outline:3px solid rgba(90,49,244,.4); outline-offset:3px; }
@media(max-width:1000px) {
  .prm-hero-grid, .prm-highlight-grid, .prm-faq, .prm-single-grid, .prm-final-box { grid-template-columns:1fr; }
  .prm-visual { width:min(600px,100%); margin:auto; }
  .prm-grid, .prm-benefits { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .prm-single-visual { width:min(480px,100%); margin:auto; }
}
@media(max-width:650px) {
  .prm-grid, .prm-benefits, .prm-single-facts { grid-template-columns:1fr; }
  .prm-filter { flex-basis:100%; }
  .prm-filters .btn, .prm-single-actions .btn { width:100%; }
  .prm-ticket { padding:20px; }
  .prm-ticket-title { font-size:23px; }
}
@media(max-width:480px) {
  .prm-hero h1 { font-size:clamp(38px,11vw,44px); }
  .prm-stat { padding:22px 12px; }
  .prm-stat strong { font-size:19px; }
  .prm-actions .btn { width:100%; }
  .prm-ticket-top { flex-wrap:wrap; }
  .prm-ticket-price strong { font-size:28px; }
  .prm-floating { padding:15px; bottom:0; }
  .prm-single-art { min-height:340px; }
}
@media(prefers-reduced-motion:reduce) {
  .prm-page *, .prm-page *::before, .prm-page *::after, .prm-single-page *, .prm-single-page *::before, .prm-single-page *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}

/* Promo landing: final effective design from the approved reference. */
.prm-page{
  overflow-x:clip
}
.prm-page .prm-hero{
  padding:36px 0 28px
}
.prm-page .prm-hero-grid{
  grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);
  gap:clamp(32px,4vw,58px)
}
.prm-page .prm-model-visual{
  min-height:470px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  isolation:isolate
}
.prm-page .prm-model-glow{
  position:absolute;
  right:4%;
  bottom:3%;
  z-index:0;
  width:min(38vw,420px);
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle,rgba(116,89,255,.24) 0%,rgba(90,49,244,.11) 46%,rgba(90,49,244,0) 72%);
  filter:blur(2px);
  animation:prm-model-glow 5.8s ease-in-out infinite
}
.prm-page .prm-model-ring{
  position:absolute;
  z-index:0;
  border:1px solid rgba(90,49,244,.14);
  border-radius:50%;
  pointer-events:none
}
.prm-page .prm-model-ring--outer{
  right:3%;
  bottom:5%;
  width:min(33vw,365px);
  aspect-ratio:1;
  animation:prm-model-ring 8s linear infinite
}
.prm-page .prm-model-ring--inner{
  right:14%;
  bottom:16%;
  width:min(23vw,255px);
  aspect-ratio:1;
  border-color:rgba(255,155,50,.17);
  animation:prm-model-ring-reverse 10s linear infinite
}
.prm-page .prm-model-image{
  position:relative;
  z-index:2;
  display:block;
  width:min(100%,560px);
  max-height:520px;
  height:auto;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 24px 28px rgba(48,34,116,.18));
  transform-origin:50% 100%;
  animation:prm-model-entrance .85s cubic-bezier(.2,.75,.25,1) both,prm-model-float 5.6s ease-in-out .85s infinite
}

.prm-page .prm-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px
}
.prm-page .prm-card{
  min-height:408px
}
.prm-page .prm-card-top{
  min-height:136px;
  padding:22px
}
.prm-page .prm-card:nth-child(7) .prm-card-top{
  background:linear-gradient(145deg,#0f4b79,#1677b3 60%,#74b7ea)
}
.prm-page .prm-card:nth-child(8) .prm-card-top{
  background:linear-gradient(145deg,#4a3a0f,#96761a 60%,#e8c669)
}
.prm-page .prm-card-top h3{
  margin-top:20px;
  font-size:20px;
  line-height:1.14
}
.prm-page .prm-card-body{
  padding:22px
}
.prm-page .prm-desc{
  min-height:68px
}
.prm-page .prm-price strong{
  font-size:25px;
  overflow-wrap:anywhere
}
.prm-page .prm-card:nth-child(1){--prm-stagger:0s}
.prm-page .prm-card:nth-child(2){--prm-stagger:.05s}
.prm-page .prm-card:nth-child(3){--prm-stagger:.1s}
.prm-page .prm-card:nth-child(4){--prm-stagger:.15s}
.prm-page .prm-card:nth-child(5){--prm-stagger:.2s}
.prm-page .prm-card:nth-child(6){--prm-stagger:.25s}
.prm-page .prm-card:nth-child(7){--prm-stagger:.3s}
.prm-page .prm-card:nth-child(8){--prm-stagger:.35s}
.js .prm-page .prm-grid .prm-card{
  transition:opacity .68s ease var(--prm-stagger,0s),transform .68s ease var(--prm-stagger,0s),border-color .28s ease,box-shadow .28s ease
}

.prm-page .prm-highlight{
  min-height:340px;
  padding:0 34px 0 18px
}
.prm-page .prm-highlight-grid{
  min-height:340px;
  grid-template-columns:minmax(235px,.72fr) minmax(0,1.55fr) minmax(220px,.72fr);
  gap:30px
}
.prm-page .prm-highlight-model{
  position:relative;
  align-self:stretch;
  min-width:0;
  min-height:340px;
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  isolation:isolate
}
.prm-page .prm-highlight-model-glow{
  position:absolute;
  left:4%;
  bottom:5%;
  z-index:0;
  width:265px;
  max-width:100%;
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.22) 0%,rgba(255,255,255,.08) 45%,rgba(255,255,255,0) 72%);
  pointer-events:none
}
.prm-page .prm-highlight-model img{
  position:relative;
  z-index:1;
  display:block;
  width:min(100%,285px);
  max-height:330px;
  height:auto;
  object-fit:contain;
  object-position:left bottom;
  filter:drop-shadow(0 20px 24px rgba(29,16,91,.28));
  transform-origin:left bottom;
  transition:transform .28s ease
}
.prm-page .prm-highlight:hover .prm-highlight-model img{
  transform:translateY(-3px)
}
.prm-page .prm-highlight-content{
  position:relative;
  z-index:2;
  min-width:0;
  padding:34px 0
}
.prm-page .prm-highlight h2{
  max-width:650px
}
.prm-page .prm-highlight p{
  max-width:620px
}
.prm-page .prm-highlight-price{
  position:relative;
  z-index:2;
  border-color:rgba(255,255,255,.18)
}

.prm-page .prm-benefits{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px
}
.prm-page .prm-benefit{
  position:relative;
  overflow:hidden;
  padding:26px 22px 24px;
  border:1px solid #e5e9f2;
  border-radius:22px;
  background:radial-gradient(circle at 100% 0,rgba(90,49,244,.08),transparent 30%),linear-gradient(180deg,#fff 0%,#fbfaff 100%);
  box-shadow:0 12px 28px rgba(16,24,40,.05)
}
.prm-page .prm-benefit::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:4px;
  background:linear-gradient(90deg,var(--purple),var(--orange))
}
.prm-page .prm-benefit:hover{
  transform:translateY(-5px);
  border-color:#ddd5ff;
  box-shadow:0 20px 42px rgba(90,49,244,.1)
}
.prm-page .prm-benefit-kicker{
  display:inline-block;
  margin-bottom:12px;
  color:var(--purple);
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase
}
.prm-page .prm-benefit-icon{
  width:56px;
  height:56px;
  margin-bottom:16px;
  border-radius:18px;
  box-shadow:0 10px 22px rgba(90,49,244,.1)
}
.prm-page .prm-benefit-icon svg{
  width:25px;
  height:25px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round
}
.prm-page .prm-benefit h3{
  margin-bottom:8px;
  font-size:16px;
  line-height:1.3
}
.prm-page .prm-benefit p{
  font-size:12px;
  line-height:1.7
}
.prm-page .prm-benefit:nth-child(2){--prm-stagger:.08s}
.prm-page .prm-benefit:nth-child(3){--prm-stagger:.16s}
.prm-page .prm-benefit:nth-child(4){--prm-stagger:.24s}

.prm-page .prm-faq-list summary{
  position:relative;
  padding-right:36px;
  list-style:none;
  color:#25324a;
  font-size:15px;
  font-weight:750;
  line-height:1.45;
  letter-spacing:-.01em
}
.prm-page .prm-faq-list summary::-webkit-details-marker{
  display:none
}
.prm-page .prm-faq-list summary::after{
  content:"";
  position:absolute;
  top:50%;
  right:4px;
  width:8px;
  height:8px;
  border-right:2px solid var(--purple);
  border-bottom:2px solid var(--purple);
  transform:translateY(-70%) rotate(45deg);
  transition:transform .2s ease
}
.prm-page .prm-faq-list details[open] summary::after{
  transform:translateY(-25%) rotate(225deg)
}
.prm-page .prm-faq-list p{
  font-size:13px;
  line-height:1.7
}
.prm-page .prm-faq-list details:nth-child(2){--prm-stagger:.06s}
.prm-page .prm-faq-list details:nth-child(3){--prm-stagger:.12s}
.prm-page .prm-faq-list details:nth-child(4){--prm-stagger:.18s}
.js .prm-page .prm-benefit,
.js .prm-page .prm-faq-list details{
  transition:opacity .68s ease var(--prm-stagger,0s),transform .68s ease var(--prm-stagger,0s),border-color .26s ease,box-shadow .26s ease
}

.prm-page .prm-final{
  padding:34px 0 78px
}
.prm-page .prm-final-box{
  position:relative;
  overflow:hidden;
  grid-template-columns:minmax(0,1.24fr) minmax(255px,.76fr);
  gap:24px;
  min-height:340px;
  padding:0 34px 0 38px;
  border-radius:30px;
  background:radial-gradient(circle at 90% 14%,rgba(255,255,255,.14),transparent 20%),radial-gradient(circle at 10% 85%,rgba(255,155,50,.18),transparent 25%),linear-gradient(135deg,#3f22c7 0%,var(--purple) 58%,#775fff 100%);
  box-shadow:0 28px 62px rgba(90,49,244,.24);
  isolation:isolate
}
.prm-page .prm-final-box::before{
  content:"";
  position:absolute;
  left:-100px;
  bottom:-140px;
  z-index:0;
  width:340px;
  height:340px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.18) 0%,rgba(255,255,255,.06) 48%,rgba(255,255,255,0) 72%);
  animation:prm-final-orb 7s ease-in-out infinite
}
.prm-page .prm-final-box::after{
  content:"";
  position:absolute;
  top:0;
  right:-18%;
  z-index:0;
  width:30%;
  height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent);
  transform:skewX(-20deg);
  animation:prm-final-shine 7.8s ease-in-out infinite;
  pointer-events:none
}
.prm-page .prm-final-content,
.prm-page .prm-final-model{
  position:relative;
  z-index:1;
  min-width:0
}
.prm-page .prm-final-content{
  padding:42px 0
}
.prm-page .prm-final-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:32px;
  padding:0 13px;
  margin-bottom:14px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(255,255,255,.1);
  color:#f4f1ff;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase
}
.prm-page .prm-final-kicker::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:#ffd089
}
.prm-page .prm-final h2{
  max-width:640px;
  margin-bottom:12px;
  font-size:clamp(31px,4vw,46px);
  overflow-wrap:anywhere
}
.prm-page .prm-final p{
  max-width:620px;
  color:#ece8ff;
  font-size:14px;
  line-height:1.75
}
.prm-page .prm-final-points{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:18px 0 24px
}
.prm-page .prm-final-points span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:34px;
  padding:0 12px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:11px;
  font-weight:700
}
.prm-page .prm-final-points span::before{
  content:"✓";
  display:grid;
  place-items:center;
  width:16px;
  height:16px;
  border-radius:50%;
  background:rgba(255,255,255,.16);
  color:#ffd89d;
  font-size:10px
}
.prm-page .prm-final-actions{
  gap:10px
}
.prm-page .prm-final-actions .btn{
  min-height:46px;
  padding:0 18px;
  font-size:12px
}
.prm-page .prm-final-actions .btn:first-child{
  color:var(--purple-dark);
  box-shadow:0 12px 28px rgba(255,255,255,.16)
}
.prm-page .prm-final-actions .btn:last-child{
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.2)
}
.prm-page .prm-final-model{
  align-self:stretch;
  min-height:340px;
  display:flex;
  align-items:center;
  justify-content:center
}
.prm-page .prm-final-model-wrap{
  position:relative;
  width:min(100%,360px);
  min-height:330px;
  display:flex;
  align-items:center;
  justify-content:center
}
.prm-page .prm-final-model-glow,
.prm-page .prm-final-model-ring{
  position:absolute;
  right:50%;
  bottom:18px;
  transform:translateX(50%);
  border-radius:50%
}
.prm-page .prm-final-model-glow{
  width:310px;
  height:310px;
  background:radial-gradient(circle,rgba(255,255,255,.18) 0%,rgba(255,255,255,.08) 45%,rgba(255,255,255,0) 72%);
  animation:prm-final-pulse 4.6s ease-in-out infinite
}
.prm-page .prm-final-model-ring{
  bottom:24px;
  width:276px;
  height:276px;
  border:1px solid rgba(255,255,255,.16);
  animation:prm-final-ring 7.4s linear infinite
}
.prm-page .prm-final-model img{
  position:relative;
  z-index:1;
  display:block;
  width:min(100%,345px);
  max-height:335px;
  height:auto;
  object-fit:contain;
  object-position:center;
  filter:drop-shadow(0 22px 24px rgba(6,12,24,.32));
  animation:prm-final-model-float 4.7s ease-in-out infinite
}

@keyframes prm-model-entrance{
  from{opacity:0;transform:translateY(28px) scale(.97)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes prm-model-float{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-7px)}
}
@keyframes prm-model-glow{
  0%,100%{transform:scale(.96);opacity:.72}
  50%{transform:scale(1.045);opacity:1}
}
@keyframes prm-model-ring{
  to{transform:rotate(360deg)}
}
@keyframes prm-model-ring-reverse{
  from{transform:rotate(360deg)}
  to{transform:rotate(0deg)}
}
@keyframes prm-final-model-float{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-6px)}
}
@keyframes prm-final-pulse{
  0%,100%{transform:translateX(50%) scale(.96);opacity:.72}
  50%{transform:translateX(50%) scale(1.05);opacity:1}
}
@keyframes prm-final-ring{
  0%{transform:translateX(50%) rotate(0deg) scale(.98);opacity:.55}
  50%{transform:translateX(50%) rotate(180deg) scale(1.03);opacity:.95}
  100%{transform:translateX(50%) rotate(360deg) scale(.98);opacity:.55}
}
@keyframes prm-final-shine{
  0%,60%{right:-22%}
  78%,100%{right:115%}
}
@keyframes prm-final-orb{
  0%,100%{transform:translate(0)}
  50%{transform:translate(14px,-10px)}
}

@media(max-width:1200px){
  .prm-page .prm-highlight-grid{
    grid-template-columns:minmax(210px,.7fr) minmax(0,1.35fr) minmax(205px,.68fr);
    gap:24px
  }
  .prm-page .prm-card-body,
  .prm-page .prm-card-top{
    padding:20px
  }
  .prm-page .prm-price strong{
    font-size:23px
  }
}
@media(max-width:1000px){
  .prm-page .prm-hero-grid{
    grid-template-columns:1fr
  }
  .prm-page .prm-model-visual{
    min-height:440px
  }
  .prm-page .prm-model-image{
    width:min(82vw,540px);
    max-height:540px
  }
  .prm-page .prm-model-glow{
    right:auto;
    left:calc(50% - 205px);
    width:410px;
  }
  .prm-page .prm-model-ring--outer{
    right:auto;
    left:calc(50% - 182.5px);
    width:365px;
  }
  .prm-page .prm-model-ring--inner{
    right:auto;
    left:calc(50% - 127.5px);
    width:255px;
  }
  .prm-page .prm-grid,
  .prm-page .prm-benefits{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .prm-page .prm-highlight{
    padding:0 28px 30px
  }
  .prm-page .prm-highlight-grid{
    grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr);
    gap:24px;
    min-height:0
  }
  .prm-page .prm-highlight-model{
    grid-row:1 / span 2;
    min-height:300px
  }
  .prm-page .prm-highlight-model img{
    width:min(100%,250px);
    max-height:290px
  }
  .prm-page .prm-highlight-content{
    padding:30px 0 8px
  }
  .prm-page .prm-highlight-price{
    width:100%;
    max-width:310px
  }
  .prm-page .prm-faq{
    grid-template-columns:1fr
  }
  .prm-page .prm-final-box{
    grid-template-columns:minmax(0,1fr) minmax(250px,.78fr);
    min-height:308px;
    padding:0 24px 0 30px
  }
  .prm-page .prm-final-content{
    padding:34px 0
  }
  .prm-page .prm-final-model,
  .prm-page .prm-final-model-wrap{
    min-height:300px
  }
  .prm-page .prm-final-model img{
    width:min(100%,300px);
    max-height:295px
  }
  .prm-page .prm-final-model-glow{
    width:250px;
    height:250px
  }
  .prm-page .prm-final-model-ring{
    width:220px;
    height:220px
  }
}
@media(max-width:720px){
  .prm-page .prm-highlight{
    padding:0 22px 26px
  }
  .prm-page .prm-highlight-grid{
    grid-template-columns:1fr;
    gap:0
  }
  .prm-page .prm-highlight-model{
    grid-row:auto;
    min-height:250px;
    justify-content:center
  }
  .prm-page .prm-highlight-model-glow{
    left:50%;
    width:230px;
    transform:translateX(-50%)
  }
  .prm-page .prm-highlight-model img{
    width:min(78vw,245px);
    max-height:220px;
    object-position:center bottom
  }
  .prm-page .prm-highlight-content{
    padding:22px 0 20px
  }
  .prm-page .prm-highlight-price{
    max-width:none
  }
  .prm-page .prm-final-box{
    grid-template-columns:1fr;
    gap:0;
    min-height:0;
    padding:0 22px 24px
  }
  .prm-page .prm-final-content{
    order:2;
    padding:12px 0 10px
  }
  .prm-page .prm-final-model{
    order:1;
    min-height:250px
  }
  .prm-page .prm-final-model-wrap{
    width:min(100%,270px);
    min-height:250px
  }
  .prm-page .prm-final-model-glow{
    width:250px;
    height:250px;
    bottom:4px
  }
  .prm-page .prm-final-model-ring{
    width:205px;
    height:205px;
    bottom:10px
  }
  .prm-page .prm-final-model img{
    width:min(76vw,245px);
    max-height:245px;
    object-position:center bottom
  }
}
@media(max-width:650px){
  .prm-page .prm-hero{
    padding-top:30px
  }
  .prm-page .prm-hero h1{
    font-size:clamp(38px,10vw,44px)
  }
  .prm-page .prm-model-visual{
    min-height:380px;
    margin-top:10px
  }
  .prm-page .prm-model-image{
    width:min(92vw,460px);
    max-height:460px
  }
  .prm-page .prm-model-glow{
    left:calc(50% - 165px);
    width:330px
  }
  .prm-page .prm-model-ring--outer{
    left:calc(50% - 150px);
    width:300px
  }
  .prm-page .prm-model-ring--inner{
    left:calc(50% - 105px);
    width:210px
  }
  .prm-page .prm-grid,
  .prm-page .prm-benefits{
    grid-template-columns:1fr
  }
  .prm-page .prm-faq-list summary{
    font-size:14px;
    line-height:1.5
  }
  .prm-page .prm-faq-list p{
    font-size:12.5px
  }
  .prm-page .prm-final h2{
    font-size:clamp(28px,8vw,38px)
  }
  .prm-page .prm-final p{
    font-size:13px
  }
}
@media(max-width:520px){
  .prm-page .prm-hero{
    padding-bottom:18px
  }
  .prm-page .prm-lead{
    font-size:15px;
    line-height:1.7
  }
  .prm-page .prm-mini{
    gap:10px 16px
  }
  .prm-page .prm-model-visual{
    min-height:330px
  }
  .prm-page .prm-model-image{
    max-height:350px
  }
  .prm-page .prm-model-glow{
    left:calc(50% - 140px);
    width:280px
  }
  .prm-page .prm-model-ring--outer{
    left:calc(50% - 127.5px);
    width:255px
  }
  .prm-page .prm-model-ring--inner{
    left:calc(50% - 87.5px);
    width:175px
  }
  .prm-page .prm-card-image{
    aspect-ratio:3/2
  }
  .prm-page .prm-card{
    min-height:0
  }
  .prm-page .prm-final-actions .btn{
    width:100%;
    white-space:normal;
    text-align:center
  }
}
@media(max-width:390px){
  .prm-page .prm-hero h1{
    font-size:clamp(34px,10.5vw,40px)
  }
  .prm-page .prm-actions .btn{
    width:100%
  }
  .prm-page .prm-model-visual{
    min-height:285px
  }
  .prm-page .prm-model-image{
    max-height:300px
  }
  .prm-page .prm-model-glow{
    left:calc(50% - 120px);
    width:240px
  }
  .prm-page .prm-model-ring--outer{
    left:calc(50% - 110px);
    width:220px
  }
  .prm-page .prm-model-ring--inner{
    left:calc(50% - 75px);
    width:150px
  }
  .prm-page .prm-section{
    padding:58px 0
  }
  .prm-page .prm-card-top,
  .prm-page .prm-card-body{
    padding:18px
  }
  .prm-page .prm-highlight,
  .prm-page .prm-final-box{
    border-radius:24px
  }
  .prm-page .prm-final-points span{
    width:100%;
    justify-content:flex-start
  }
}
@media(prefers-reduced-motion:reduce){
  .prm-page .prm-model-image,
  .prm-page .prm-model-glow,
  .prm-page .prm-model-ring,
  .prm-page .prm-highlight-model img,
  .prm-page .prm-final-box::before,
  .prm-page .prm-final-box::after,
  .prm-page .prm-final-model-glow,
  .prm-page .prm-final-model-ring,
  .prm-page .prm-final-model img{
    animation:none;
    transition:none
  }
  .prm-page .prm-highlight:hover .prm-highlight-model img{
    transform:none
  }
}
