/* PSP V21 - restored design cues from the original standalone PSP website.
   Original reference: copy of psp(1).zip (black, Suns purple/orange, AZ gold,
   Archivo Black + Inter, pill CTAs, selective neon glows). CSS is scoped to body.psp
   to leave PSI Academy, FIT, waiver, portal and growth pages unchanged. */
body.psp{
  --suns-purple:#9e17c0;--suns-orange:#e56020;--az-gold:#fed141;
  --az-red:#bf0a30;--psp-deep:#09050e;--psp-ink:#09070b;
  --signal:#e56020;--purple:#a72bcc;--psp-gold:#fed141;
  --psp-purple-glow:0 0 0 1px rgba(158,23,192,.4),0 10px 33px rgba(158,23,192,.16);
  --psp-gold-glow:0 0 12px rgba(254,209,65,.32);
  background:#09070b;color:#f7f2fa;font-family:Inter,Arial,Helvetica,sans-serif;
}
.psp .topline{background:rgba(4,2,7,.97);border-bottom:1px solid rgba(158,23,192,.48);box-shadow:0 4px 27px rgba(158,23,192,.13);}
.psp .brandbar{border-bottom:0;min-height:85px;height:auto;padding-block:8px;}
.psp .logo.psp-header-logo{gap:11px;flex-shrink:0;}
.psp .logo.psp-header-logo img{height:72px;width:72px;filter:drop-shadow(0 0 8px rgba(229,96,32,.24));}
.psp .logo-name{font-family:'Archivo Black',Impact,Arial,sans-serif;font-size:12px;max-width:180px;line-height:1.25;letter-spacing:.015em;color:#fff;}
.psp .logo-name small{font-family:Inter,Arial,sans-serif;color:#fed141;letter-spacing:.08em;font-size:8px;line-height:1.4;}
.psp .headnav{gap:clamp(9px,1.1vw,17px);font-family:Inter,Arial,sans-serif;font-weight:800;font-size:11px;letter-spacing:.045em;}
.psp .headnav a:not(.head-cta){color:#f2e5f7;}
.psp .headnav a:not(.head-cta):hover,.psp .headnav a[aria-current="page"]{color:#fed141;}
.psp .headnav .head-cta{background:linear-gradient(180deg,#fed141,#f0b72e);border-radius:50px;box-shadow:var(--psp-gold-glow);color:#110c09;padding:13px 17px;white-space:nowrap;}
.psp .headnav .head-cta:hover{background:#ffe37e;color:#1a0d00;}
.psp .line-label,.psp .system-kicker,.psp .performance-mark{color:#fed141;}
.psp .quick-btn{border-radius:999px;font-family:Inter,Arial,sans-serif;letter-spacing:.035em;font-size:12px;min-height:46px;justify-content:center;text-align:center;background:linear-gradient(180deg,#fed141,#ecb82b);color:#150d03;border-color:#f5d15d;box-shadow:0 0 12px rgba(254,209,65,.29);transition:background .16s ease,box-shadow .16s ease,transform .16s ease;}
.psp .quick-btn:hover{background:#ffe084;box-shadow:0 0 18px rgba(254,209,65,.52);transform:translateY(-1px);filter:none;}
.psp .quick-btn.dark{background:#130b18;border-color:#ae50cf;color:#fceeff;box-shadow:inset 0 0 0 1px rgba(158,23,192,.15);}
.psp .quick-btn.dark:hover{background:#311139;border-color:#e56020;color:#fff;}
.psp .display,.psp .perf-statement h2,.psp .perf-plans h2,.psp .book-zone h2,.psp .system-detail-hero h1{font-family:'Archivo Black',Impact,'Arial Black',sans-serif;letter-spacing:-.045em;}
.psp .performance-mast{background:#080509;border-bottom:3px solid #9e17c0;}
.psp .performance-mast::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 70% 54% at 15% 10%,rgba(158,23,192,.24),transparent 68%),radial-gradient(ellipse 50% 49% at 90% 85%,rgba(229,96,32,.24),transparent 74%);pointer-events:none;z-index:1;}
.psp .performance-mast .hero-metal{opacity:.87;filter:saturate(.85) contrast(1.05);background:linear-gradient(90deg,#09050de8 5%,#11091cdf 43%,#140a1b78 80%),url('/images/performance/hero.webp') center/cover;}
.psp .performance-mast .frame{position:relative;z-index:2;}
.psp .performance-mast .mastcopy{min-width:0;}
.psp .performance-mast .display{font-size:clamp(47px,7.65vw,114px);line-height:1.02;letter-spacing:-.055em;overflow-wrap:normal;margin:24px 0 22px;text-shadow:0 3px 8px rgba(0,0,0,.9);}
.psp .performance-mast .display em{color:#fed141;text-shadow:0 0 15px rgba(254,209,65,.34),0 3px 0 rgba(95,40,0,.28);}
.psp .performance-mast .mastcopy>p{color:#f5edf5;font-size:18px;font-weight:600;}
.psp .performance-mark{font-size:11px;letter-spacing:.1em;}
.psp .performance-mark img{width:64px;height:64px;filter:drop-shadow(0 0 7px rgba(158,23,192,.35));}
.psp .mastportrait{border-color:#e56020;box-shadow:14px 13px 0 #9e17c0,0 0 25px rgba(158,23,192,.35);}
.psp .mastportrait:after{color:#fff;font-family:Inter,Arial,sans-serif;}
.psp .perf-spec{border-block-color:rgba(158,23,192,.66);background:linear-gradient(90deg,#15091f,#0a0710,#1b0a16);color:#f8d884;}
.psp .perf-statement,.psp .perf-plans,.psp .book-zone{background:#0b070e;}
.psp .perf-statement{background:radial-gradient(ellipse 75% 80% at 0 65%,rgba(158,23,192,.13),transparent 70%);}
.psp .perf-statement h2 em{color:#e56020;}
.psp .perf-statement p{color:#d9cfdd;}
.psp .perf-session,.psp .perf-method{border-color:#9e17c0;box-shadow:var(--psp-purple-glow);}
.psp .perf-session{background:linear-gradient(152deg,#1e0e2a,#120916 70%,#140b15);}
.psp .perf-session h3{color:#fff;}
.psp .perf-session-row{border-color:rgba(202,115,220,.32);}
.psp .perf-session-row span,.psp .perf-method span{color:#fed141;}
.psp .perf-photos{background:#18091f;gap:6px;border-block:2px solid #9e17c0;}
.psp .perf-photos img{filter:saturate(.92) contrast(1.12);}
.psp .perf-photos figcaption{background:rgba(10,5,14,.66);padding:7px 10px;border-left:3px solid #e56020;}
.psp .system-section{background:radial-gradient(ellipse 70% 50% at 100% 25%,rgba(158,23,192,.20),transparent 80%),linear-gradient(180deg,#100714,#08070b);border-top:3px solid #e56020;border-bottom:3px solid #9e17c0;}
.psp .system-section .system-kicker,.psp .system-section .system-cta{color:#fed141;}
.psp .system-section .system-flow b{background:#9e17c0;color:#fff;}
.psp .system-art,.psp .system-hierarchy img{border-color:rgba(158,23,192,.65);}
.psp .perf-plans{background:radial-gradient(ellipse at 85% 0%,rgba(158,23,192,.14),transparent 45%),#0b080e;}
.psp .perf-plans h2{color:#fff;text-shadow:0 0 12px rgba(158,23,192,.2);}
.psp .perf-plans-top{border-bottom:3px solid #fed141;}
.psp .perf-row{border-color:rgba(158,23,192,.35);transition:background .18s ease;}
.psp .perf-row:hover{background:rgba(158,23,192,.065);}
.psp .perf-row .index{color:#e56020;}
.psp .perf-row h3{font-family:'Archivo Black',Impact,sans-serif;letter-spacing:-.035em;color:#fff;font-size:clamp(24px,2.4vw,36px);}
.psp .perf-row .rate strong{color:#fed141;}
.psp .perf-row .total{color:#f5ecf6;}
.psp .perf-row .quick-btn.dark{border-color:#e56020;}
.psp .perf-row small,.psp .perf-row .total span,.psp .perf-footnote{color:#c9bad0;}
.psp .book-zone{background:radial-gradient(ellipse 55% 90% at 100% 15%,rgba(254,209,65,.15),transparent 75%),linear-gradient(120deg,#500d64,#9e17c0 52%,#b64229);border-top:4px solid #fed141;color:#fff;}
.psp .book-zone h2{color:#fff;text-shadow:0 3px 20px rgba(0,0,0,.22);}
.psp .book-zone p{color:#fff0f0;}
.psp .book-zone .line-label{color:#fed141;}
.psp .book-zone .quick-btn{background:linear-gradient(180deg,#fed141,#f1bf3a);color:#130a14;border-color:#fed141;}
.psp .book-zone::after{color:rgba(254,209,65,.1);}
.psp .extra-info{border-bottom:1px solid rgba(158,23,192,.4);}
.psp .frame-footer{background:#08060b;border-color:rgba(158,23,192,.45);}
.psp .frame-footer a:hover{color:#fed141;}
.psp .system-detail-hero{background:radial-gradient(ellipse 65% 70% at 85% 30%,rgba(158,23,192,.30),transparent 70%),linear-gradient(125deg,#080509,#190c23 70%,#1b0915);border-bottom:3px solid #9e17c0;}
.psp .system-detail-hero h1 em{color:#fed141;text-shadow:0 0 17px rgba(254,209,65,.2);}
.psp :focus-visible{outline:3px solid #fed141;outline-offset:4px;}
@media(max-width:1120px){
  .psp .headnav{gap:10px;font-size:10px;letter-spacing:0;}
  .psp .logo-name{max-width:140px;font-size:11px;}
  .psp .logo.psp-header-logo img{width:59px;height:59px;}
}
@media(max-width:740px){
  .psp .brandbar{min-height:69px;}
  .psp .logo.psp-header-logo img{width:51px;height:51px;}
  .psp .logo-name{max-width:185px;font-size:11px;}
  .psp .headnav{position:absolute;top:68px;left:-16px;right:-16px;padding:18px 16px;background:#0e0614;border-bottom:2px solid #9e17c0;box-shadow:0 25px 32px #0009;gap:6px;font-size:13px;letter-spacing:.03em;}
  .psp .headnav a{padding:12px!important;min-height:44px;}
  .psp .headnav .head-cta{display:flex;justify-content:center;align-items:center;}
  .psp .navswitch{border-color:#9e17c0;color:#fed141;border-radius:7px;min-height:44px;}
  .psp .performance-mast .mastcopy{padding-top:52px;}
  .psp .performance-mast .display{font-size:clamp(44px,12.3vw,73px);line-height:1.08;letter-spacing:-.065em;}
  .psp .performance-mast .mastcopy>p{font-size:16px;}
  .psp .performance-mast .mastbuttons{gap:10px;}
  .psp .mastportrait{height:340px;box-shadow:none;border-bottom:5px solid #9e17c0;}
  .psp .perf-row{grid-template-columns:25px minmax(0,1fr) minmax(100px,auto);}
  .psp .perf-row h3{font-size:clamp(20px,6.4vw,28px);}
  .psp .perf-row .total{font-size:12px;}
  .psp .perf-row .rate strong{font-size:24px;}
  .psp .perf-row .quick-btn{grid-column:2/-1;}
  .psp .book-zone{padding:65px 0;}
}
@media(max-width:380px){
  .psp .performance-mast .display{font-size:clamp(40px,11.8vw,49px);}
  .psp .perf-row .total{font-size:10px;}
}
@media(prefers-reduced-motion:reduce){.psp .quick-btn{transition:none;}}
