:root{
  --pm-bg:#0a0612; --pm-bg-2:#120a22; --pm-fg:#f4eefb; --pm-muted:#b3a8c8;
  --pm-card:#150c26; --pm-border:#2a1d44;
  --pm-primary:#ff2d87; --pm-primary-2:#a855f7; --pm-accent:#ff7ac1;
  --pm-radius:14px; --pm-radius-lg:22px;
  --pm-shadow:0 20px 60px rgba(168,85,247,.18);
  --pm-trans:.45s cubic-bezier(.4,.0,.2,1);
}
html[data-theme="light"]{
  --pm-bg:#fdfaff; --pm-bg-2:#f3eafa; --pm-fg:#1b0f2c; --pm-muted:#5a4a72;
  --pm-card:#ffffff; --pm-border:#ece1f7;
  --pm-shadow:0 18px 50px rgba(255,45,135,.10);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;background:var(--pm-bg);color:var(--pm-fg);line-height:1.65;-webkit-font-smoothing:antialiased;transition:background var(--pm-trans),color var(--pm-trans)}
img{max-width:100%;height:auto;display:block;border-radius:10px}
a{color:var(--pm-accent);text-decoration:none;transition:color .2s}
a:hover{color:var(--pm-primary)}
h1,h2,h3,h4{font-family:"Segoe UI",Inter,system-ui,sans-serif;line-height:1.2;margin:.6em 0 .5em}
h1{font-size:clamp(2rem,4vw,3.4rem);letter-spacing:-.02em;background:linear-gradient(90deg,var(--pm-primary),var(--pm-primary-2));-webkit-background-clip:text;background-clip:text;color:transparent}
h2{font-size:clamp(1.5rem,2.4vw,2.2rem)}
h3{font-size:1.2rem}
p{margin:.6em 0}
.pm-container{max-width:1180px;margin:0 auto;padding:0 22px}
.pm-section{padding:80px 0}
.pm-section-alt{background:var(--pm-bg-2)}
.pm-section-head{text-align:center;max-width:780px;margin:0 auto 50px}
.pm-lead{color:var(--pm-muted);font-size:1.1rem}
.pm-center{text-align:center}
.pm-mt{margin-top:30px}
.pm-mini{font-size:.85rem;color:var(--pm-muted)}

/* loader */
.pm-loader{position:fixed;inset:0 0 auto 0;height:3px;z-index:9999;background:transparent;pointer-events:none}
.pm-loader-bar{height:100%;width:0;background:linear-gradient(90deg,var(--pm-primary),var(--pm-primary-2));transition:width .35s ease,opacity .4s}
body.pm-loaded .pm-loader-bar{opacity:0}
.pm-body{opacity:0;transition:opacity .5s ease}
body.pm-loaded{opacity:1}

/* skip */
.pm-skip{position:absolute;left:-9999px;top:0;background:var(--pm-primary);color:#fff;padding:8px 14px;border-radius:0 0 8px 0;z-index:100}
.pm-skip:focus{left:0}

/* header */
.pm-header{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px);background:color-mix(in srgb,var(--pm-bg) 78%,transparent);border-bottom:1px solid var(--pm-border)}
.pm-header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 22px}
.pm-logo img{height:42px;width:auto;border-radius:0}
.pm-nav .pm-menu{display:flex;gap:26px;list-style:none;margin:0;padding:0}
.pm-menu a{color:var(--pm-fg);font-weight:500;font-size:.95rem;position:relative}
.pm-menu a:hover{color:var(--pm-primary)}
.pm-actions{display:flex;align-items:center;gap:14px}
.pm-theme-toggle{background:transparent;border:1px solid var(--pm-border);color:var(--pm-fg);width:42px;height:42px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;position:relative;overflow:hidden;transition:transform var(--pm-trans),border-color var(--pm-trans),background var(--pm-trans)}
.pm-theme-toggle:hover{border-color:var(--pm-primary);transform:rotate(15deg)}
.pm-theme-toggle span{position:absolute;display:flex;align-items:center;justify-content:center;transition:opacity var(--pm-trans),transform var(--pm-trans)}
html[data-theme="dark"] .pm-tt-sun{opacity:0;transform:translateY(-20px) rotate(-90deg)}
html[data-theme="dark"] .pm-tt-moon{opacity:1;transform:none}
html[data-theme="light"] .pm-tt-moon{opacity:0;transform:translateY(20px) rotate(90deg)}
html[data-theme="light"] .pm-tt-sun{opacity:1;transform:none}
.pm-burger{display:none;background:none;border:0;flex-direction:column;gap:5px;cursor:pointer;padding:8px}
.pm-burger span{width:24px;height:2px;background:var(--pm-fg);display:block;border-radius:2px;transition:transform .3s}

/* buttons */
.pm-btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;border-radius:999px;font-weight:600;font-size:.95rem;border:1px solid transparent;cursor:pointer;transition:transform .2s,box-shadow .3s,background .3s,color .3s;text-decoration:none}
.pm-btn-sm{padding:10px 18px;font-size:.85rem}
.pm-btn-primary{background:linear-gradient(90deg,var(--pm-primary),var(--pm-primary-2));color:#fff;box-shadow:0 10px 30px rgba(255,45,135,.35)}
.pm-btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 40px rgba(255,45,135,.5);color:#fff}
.pm-btn-ghost{background:transparent;color:var(--pm-fg);border-color:var(--pm-border)}
.pm-btn-ghost:hover{border-color:var(--pm-primary);color:var(--pm-primary)}

/* breadcrumbs */
.pm-breadcrumbs{max-width:1180px;margin:0 auto;padding:18px 22px 0;font-size:.88rem;color:var(--pm-muted)}
.pm-breadcrumbs a{color:var(--pm-muted)}
.pm-breadcrumbs a:hover{color:var(--pm-primary)}
.pm-breadcrumbs .sep{opacity:.5;margin:0 4px}

/* hero */
.pm-hero{position:relative;padding:110px 0 90px;overflow:hidden;isolation:isolate}
.pm-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.35;filter:saturate(1.1)}
.pm-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 30%,rgba(255,45,135,.35),transparent 60%),radial-gradient(circle at 80% 70%,rgba(168,85,247,.35),transparent 60%),linear-gradient(180deg,transparent 0,var(--pm-bg) 95%);z-index:1}
.pm-hero-inner{position:relative;z-index:2}
.pm-hero-copy{max-width:680px}
.pm-eyebrow{display:inline-block;padding:6px 14px;border:1px solid var(--pm-border);border-radius:999px;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--pm-muted);margin-bottom:14px}
.pm-hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin:24px 0 30px}
.pm-hero-points{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:18px;color:var(--pm-muted)}
.pm-hero-points li{padding-left:24px;position:relative}
.pm-hero-points li:before{content:"";width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,var(--pm-primary),var(--pm-primary-2));position:absolute;left:0;top:9px;box-shadow:0 0 12px var(--pm-primary)}

/* features */
.pm-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:22px}
.pm-feature{background:var(--pm-card);border:1px solid var(--pm-border);border-radius:var(--pm-radius-lg);padding:28px;transition:transform .3s,border-color .3s,box-shadow .3s}
.pm-feature:hover{transform:translateY(-4px);border-color:var(--pm-primary);box-shadow:var(--pm-shadow)}
.pm-feature h3{margin-top:0}

/* models grid */
.pm-models-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px}
.pm-model-card{display:block;background:var(--pm-card);border:1px solid var(--pm-border);border-radius:var(--pm-radius-lg);overflow:hidden;color:var(--pm-fg);transition:transform .35s,box-shadow .35s,border-color .35s}
.pm-model-card img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:0;transition:transform .6s}
.pm-model-card:hover{transform:translateY(-6px);border-color:var(--pm-primary);box-shadow:var(--pm-shadow)}
.pm-model-card:hover img{transform:scale(1.05)}
.pm-model-info{padding:18px}
.pm-model-info h3{margin:0 0 6px}
.pm-model-info p{color:var(--pm-muted);font-size:.92rem;margin:0 0 10px}
.pm-link{color:var(--pm-primary);font-weight:600}

/* model single */
.pm-model-single .pm-model-hero{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.pm-model-single img{border-radius:var(--pm-radius-lg);box-shadow:var(--pm-shadow)}

/* steps */
.pm-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;counter-reset:s}
.pm-steps li{background:var(--pm-card);border:1px solid var(--pm-border);border-radius:var(--pm-radius-lg);padding:28px;position:relative}
.pm-step-num{display:inline-flex;width:42px;height:42px;border-radius:50%;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--pm-primary),var(--pm-primary-2));color:#fff;font-weight:700;margin-bottom:10px}
.pm-steps h3{margin:.2em 0}

/* cta banner */
.pm-cta-banner{text-align:center;padding:60px 30px;border-radius:var(--pm-radius-lg);background:radial-gradient(circle at top,rgba(255,45,135,.18),transparent 60%),var(--pm-card);border:1px solid var(--pm-border)}

/* faq */
.pm-faq{max-width:840px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
.pm-faq-item{background:var(--pm-card);border:1px solid var(--pm-border);border-radius:var(--pm-radius);padding:18px 22px;transition:border-color .3s,box-shadow .3s}
.pm-faq-item[open]{border-color:var(--pm-primary);box-shadow:var(--pm-shadow)}
.pm-faq-item summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px}
.pm-faq-item summary::-webkit-details-marker{display:none}
.pm-faq-item summary:after{content:"+";font-size:1.4rem;color:var(--pm-primary);transition:transform .3s}
.pm-faq-item[open] summary:after{transform:rotate(45deg)}
.pm-faq-item>div{margin-top:10px;color:var(--pm-muted)}

/* page/prose */
.pm-prose{max-width:920px;margin:0 auto;font-size:1.04rem}
.pm-prose h2{margin-top:1.6em}
.pm-prose ul{padding-left:1.2em}
.pm-split{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin:40px 0}
.pm-split-reverse{direction:rtl}
.pm-split-reverse>*{direction:ltr}
.pm-legal h2{font-size:1.2rem}

/* contact */
.pm-form{display:flex;flex-direction:column;gap:14px;background:var(--pm-card);border:1px solid var(--pm-border);border-radius:var(--pm-radius-lg);padding:28px}
.pm-form label{display:flex;flex-direction:column;gap:6px;font-size:.92rem;color:var(--pm-muted)}
.pm-form input,.pm-form textarea{background:var(--pm-bg);border:1px solid var(--pm-border);border-radius:10px;padding:12px 14px;color:var(--pm-fg);font-family:inherit;font-size:1rem;transition:border-color .2s}
.pm-form input:focus,.pm-form textarea:focus{outline:0;border-color:var(--pm-primary)}
.pm-alert{padding:12px 14px;border-radius:10px;font-size:.92rem}
.pm-alert-ok{background:rgba(56,189,124,.15);border:1px solid rgba(56,189,124,.4);color:#7be0a8}
.pm-contact-list{list-style:none;padding:0}
.pm-contact-list li{padding:8px 0;border-bottom:1px dashed var(--pm-border)}

/* footer */
.pm-footer{background:var(--pm-bg-2);border-top:1px solid var(--pm-border);padding:60px 0 0;margin-top:60px}
.pm-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.4fr;gap:40px}
.pm-footer h4{margin:0 0 12px;font-size:1rem}
.pm-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.pm-footer a{color:var(--pm-muted)}
.pm-footer a:hover{color:var(--pm-primary)}
.pm-footer-logo{height:36px;width:auto;margin-bottom:10px;border-radius:0}
.pm-copyright{margin-top:40px;padding:18px 0;border-top:1px solid var(--pm-border);font-size:.85rem;color:var(--pm-muted);text-align:center}

/* cookie banner */
.pm-cookie{position:fixed;left:18px;right:18px;bottom:18px;z-index:80;background:var(--pm-card);border:1px solid var(--pm-border);border-radius:var(--pm-radius-lg);box-shadow:var(--pm-shadow);transform:translateY(140%);transition:transform .5s cubic-bezier(.4,0,.2,1)}
.pm-cookie:not([hidden]){transform:translateY(0)}
.pm-cookie-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:18px}
.pm-cookie p{margin:0;color:var(--pm-muted);max-width:720px}
.pm-cookie-actions{display:flex;gap:10px}

/* responsive */
@media (max-width:880px){
  .pm-burger{display:flex}
  .pm-nav{position:fixed;top:70px;left:0;right:0;background:var(--pm-bg);padding:18px 22px;border-bottom:1px solid var(--pm-border);transform:translateY(-150%);transition:transform .35s}
  .pm-nav.is-open{transform:translateY(0)}
  .pm-nav .pm-menu{flex-direction:column;gap:14px}
  .pm-footer-grid{grid-template-columns:1fr 1fr}
  .pm-split,.pm-model-single .pm-model-hero{grid-template-columns:1fr}
  .pm-actions .pm-btn{display:none}
}
@media (max-width:520px){
  .pm-footer-grid{grid-template-columns:1fr}
  .pm-hero{padding:70px 0 60px}
}

/* fade in on load */
.pm-fade{opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s ease}
.pm-fade.is-visible{opacity:1;transform:none}