.pspm-section{
    --pspm-bg:#030306;
    --pspm-surface:#0b0812;
    --pspm-purple:#8b2cff;
    --pspm-purple2:#b568ff;
    --pspm-gold:#d4af37;
    --pspm-gold2:#f3d46f;
    --pspm-text:#fff;
    --pspm-muted:#9c97aa;
    position:relative;
    padding:100px 24px;
    overflow:hidden;
    background:radial-gradient(circle at 50% 10%,rgba(119,30,240,.08),transparent 30%),#030306;
    color:var(--pspm-text);
    font-family:Inter,Arial,sans-serif;
}
.pspm-section *{box-sizing:border-box}
.pspm-container{width:100%;max-width:1320px;margin:0 auto;position:relative;z-index:2}
.pspm-section-header{text-align:center;max-width:820px;margin:0 auto 52px}
.pspm-eyebrow{display:inline-flex;align-items:center;gap:9px;margin-bottom:13px;color:var(--pspm-gold2);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:3px}
.pspm-eyebrow:before,.pspm-eyebrow:after{content:"";width:26px;height:1px;background:linear-gradient(90deg,transparent,var(--pspm-gold))}.pspm-eyebrow:after{background:linear-gradient(90deg,var(--pspm-gold),transparent)}
.pspm-section-header h2{color:#fff;font-size:clamp(32px,4.3vw,58px);line-height:1.05;letter-spacing:-2px;font-weight:500;margin:0}
.pspm-section-header h2 span{background:linear-gradient(90deg,#fff 0%,var(--pspm-gold2) 20%,#b86cff 44%,#8b2cff 65%,var(--pspm-gold) 84%,#fff 100%);background-size:230% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:pspmGradient 6s linear infinite}
@keyframes pspmGradient{to{background-position:230% center}}
.pspm-section-header p{color:var(--pspm-muted);line-height:1.8;font-size:15px;margin:20px auto 0;max-width:690px}
.pspm-services-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.pspm-card{position:relative;min-height:285px;padding:27px 22px 23px;display:flex;flex-direction:column;background:linear-gradient(145deg,rgba(16,12,24,.92),rgba(6,5,10,.96));border:1px solid rgba(212,175,55,.13);border-radius:12px;overflow:hidden;transition:.35s ease}
.pspm-card:before{content:"";position:absolute;left:18%;right:18%;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(168,71,255,.56),rgba(226,190,76,.62),transparent)}
.pspm-card:hover{transform:translateY(-8px);border-color:rgba(226,190,76,.34);box-shadow:0 24px 55px rgba(0,0,0,.34),0 0 36px rgba(126,30,255,.08)}
.pspm-service-icon{width:45px;height:45px;display:grid;place-items:center;border-radius:10px;color:var(--pspm-gold2);font-size:18px;margin-bottom:20px;background:linear-gradient(145deg,rgba(212,175,55,.06),rgba(132,35,255,.05));border:1px solid rgba(212,175,55,.24)}
.pspm-card h3{margin:0 0 11px;font-size:16px;font-weight:600}.pspm-card p{margin:0;color:#817c88;font-size:12px;line-height:1.7;flex:1}
.pspm-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px;padding-top:14px;border-top:1px solid rgba(255,255,255,.05)}
.pspm-btn{min-height:39px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:7px;border:1px solid rgba(226,190,76,.42);background:linear-gradient(100deg,rgba(0,0,0,.88),rgba(78,16,139,.27),rgba(212,175,55,.1));color:var(--pspm-gold2);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:1px;text-decoration:none;cursor:pointer;transition:.3s ease}
.pspm-btn:hover{transform:translateY(-3px);color:#fff;border-color:var(--pspm-gold2);box-shadow:0 10px 30px rgba(89,16,166,.18),0 0 24px rgba(212,175,55,.14)}
.pspm-preview{background:linear-gradient(100deg,rgba(30,7,55,.94),rgba(139,44,255,.22),rgba(212,175,55,.08))}.pspm-preview.is-disabled{opacity:.38;cursor:not-allowed;transform:none;box-shadow:none}
.pspm-empty{grid-column:1/-1;text-align:center;padding:35px;border:1px dashed rgba(212,175,55,.25);border-radius:12px;color:#aaa}

/* Modal is portalled to <body> by JS so transformed/overflow-hidden page wrappers cannot trap it. */
.pspm-modal{
    --pspm-purple:#8b2cff;
    --pspm-purple2:#b568ff;
    --pspm-gold:#d4af37;
    --pspm-gold2:#f3d46f;
    --pspm-text:#fff;
    --pspm-muted:#9c97aa;
    position:fixed;
    inset:0;
    z-index:2147483000;
    display:block;
    padding:22px;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .3s ease,visibility .3s ease;
    font-family:Inter,Arial,sans-serif;
}
.pspm-modal *{box-sizing:border-box}
.pspm-modal.is-open{opacity:1;visibility:visible;pointer-events:auto}
.pspm-modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.pspm-modal-dialog{
    width:min(980px,100%);
    min-height:0;
    position:relative;
    z-index:2;
    margin:0 auto;
    padding:32px;
    border-radius:16px;
    border:1px solid rgba(226,190,76,.38);
    background:radial-gradient(circle at 50% 0%,rgba(139,44,255,.17),transparent 33%),#050307;
    box-shadow:0 35px 120px rgba(0,0,0,.72),0 0 38px rgba(139,44,255,.18);
}
.pspm-modal-close{position:sticky;float:right;right:0;top:0;z-index:8;width:42px;height:42px;margin:0 0 8px 16px;border-radius:50%;border:1px solid rgba(226,190,76,.35);background:#0b0710;color:var(--pspm-gold2);cursor:pointer;font-size:18px;box-shadow:0 8px 25px rgba(0,0,0,.3)}
.pspm-modal-topline{font-size:9px;letter-spacing:2px;color:var(--pspm-gold2);margin-bottom:10px;text-transform:uppercase}.pspm-modal-title{font-size:clamp(26px,4vw,42px);font-weight:500;letter-spacing:-1.5px;margin:0 55px 24px 0}
.pspm-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;clear:both}.pspm-video-card{border-radius:12px;overflow:hidden;border:1px solid rgba(212,175,55,.18);background:#08050d}.pspm-video-frame{aspect-ratio:16/9;background:#000}.pspm-video-frame iframe{width:100%;height:100%;border:0;display:block}.pspm-video-card-label{padding:12px 14px;color:#cfc9d6;font-size:12px}
html.pspm-body-lock,body.pspm-body-lock{overflow:hidden!important;touch-action:none}
body.pspm-body-lock .pspm-modal{touch-action:pan-y}

@media(max-width:1100px){.pspm-services-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.pspm-section{padding:80px 20px}.pspm-services-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){
    .pspm-section{padding:67px 15px}
    .pspm-section-header{margin-bottom:35px}
    .pspm-section-header h2{font-size:34px;letter-spacing:-1.4px}
    .pspm-section-header p{font-size:12px}
    .pspm-services-grid{grid-template-columns:1fr}
    .pspm-card{min-height:240px}
    .pspm-video-grid{grid-template-columns:1fr}
    .pspm-modal{padding:10px 10px 28px}
    .pspm-modal-dialog{padding:22px 14px 18px;margin:0 auto}
    .pspm-modal-title{margin-right:48px}
    .pspm-modal-close{width:38px;height:38px}
    .pspm-card-actions{display:grid;grid-template-columns:1fr 1fr}
    .pspm-btn{width:100%}
}
