:root{
  --pf-ink:#0d0f1f; --pf-ink-2:#161934; --pf-line:rgba(255,255,255,.12);
  --pf-violet:#6d5dfc; --pf-cyan:#22d3ee; --pf-pink:#ff6bb5;
  --pf-text:#1c1f3a; --pf-muted:#667085;
  --pf-grad:linear-gradient(135deg, #ff6610, #d71400);
  --pf-light:linear-gradient(135deg,#f4f1ff 0%,#eaf8ff 55%,#fff1f8 100%);
}
.pf-body{color:var(--pf-text);background:#fff;overflow-x:hidden}
.pf-display{letter-spacing:-.02em;line-height:1.1}
.pf-sec{padding:90px 0}
.pf-dark{background:var(--pf-ink);color:#e8eaff;position:relative}
.pf-dark2{background:radial-gradient(900px 400px at 85% 0%,rgba(109,93,252,.28),transparent),var(--pf-ink-2);color:#e8eaff}
.pf-lightgrad{background:var(--pf-light)}
.pf-muted{color:var(--pf-muted)} .pf-dark .pf-muted,.pf-dark2 .pf-muted{color:#a4a9cc}
.pf-tag{display:inline-block;padding:6px 16px;border-radius:50px;font-size:.85rem;font-weight:700;background:rgba(109,93,252,.12);color:#000;border:1px solid rgba(109,93,252,.25)}
.pf-dark .pf-tag,.pf-dark2 .pf-tag{background:rgba(34,211,238,.1);color:var(--pf-cyan);border-color:rgba(34,211,238,.3)}
.pf-title{font-size:clamp(1.9rem,4vw,2.6rem);font-weight:700}
.pf-gradtext{background:var(--pf-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
 
/* ---------- Buttons ---------- */
.pf-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 30px;border-radius:14px;font-weight:700;text-decoration:none;border:0;transition:.25s}
.pf-btn-main{background:var(--pf-grad);color:#fff;box-shadow:0 12px 30px rgba(109,93,252,.4)}
.pf-btn-main:hover{transform:translateY(-3px);color:#fff;box-shadow:0 18px 38px rgba(109,93,252,.55)}
.pf-btn-ghost{border:1px solid var(--pf-line);color:#fff;background:rgba(255,255,255,.05)}
.pf-btn-ghost:hover{background:rgba(255,255,255,.14);color:#fff}
 
/* ---------- Navbar ---------- */
.pf-nav{background:rgba(13,15,31,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--pf-line)}
.pf-logo{font-weight:800;font-size:1.4rem;color:#fff;text-decoration:none}
.pf-logo b{color:var(--pf-cyan)}
.pf-navlink{color:#c9ccee;font-weight:500;padding:8px 14px!important}
.pf-navlink:hover{color:#fff}
 
/* ---------- Hero ---------- */
.pf-hero{padding:150px 0 90px;background:radial-gradient(700px 420px at 12% 10%,rgba(109,93,252,.35),transparent),radial-gradient(600px 380px at 95% 80%,rgba(34,211,238,.22),transparent),var(--pf-ink);color:#fff}
.pf-hero-h{font-size:clamp(2.3rem,5.6vw,4.2rem);font-weight:700}
.pf-hero-img{border-radius:26px;border:1px solid var(--pf-line);box-shadow:0 30px 80px rgba(0,0,0,.55);width:100%}
.pf-float{position:absolute;background:rgba(22,25,52,.9);backdrop-filter:blur(10px);border:1px solid var(--pf-line);border-radius:16px;padding:12px 18px;font-weight:700;font-size:.9rem}
 
/* ---------- Stats ---------- */
.pf-stat{background:#fff;border-radius:20px;padding:26px;text-align:center;box-shadow:0 14px 40px rgba(60,60,140,.12);height:100%}
.pf-stat-n{font-size:2.3rem;font-weight:800}
 
/* ---------- Sidebar + Services ---------- */
.pf-side{position:sticky;top:96px;background:#fff;border-radius:24px;padding:22px;box-shadow:0 20px 60px rgba(60,60,140,.15);border:1px solid rgba(109,93,252,.12)}
.pf-side-title{font-weight:800;font-size:1.05rem;margin-bottom:14px}
.pf-side-btn{display:flex;justify-content:space-between;align-items:center;width:100%;padding:13px 16px;margin-bottom:8px;border-radius:12px;background:#f5f5fd;color:var(--pf-text);font-weight:600;text-decoration:none;transition:.2s}
.pf-side-btn:hover{background:#ebe8ff;color:var(--pf-violet);transform:translateX(5px)}
.pf-side-btn.pf-active{background:var(--pf-grad);color:#fff;box-shadow:0 10px 24px rgba(109,93,252,.35)}
.pf-side-call{margin-top:14px;padding:18px;border-radius:16px;background:var(--pf-ink);color:#fff;text-align:center}
.pf-card{background:#fff;border-radius:22px;padding:30px;height:100%;border:1px solid rgba(109,93,252,.1);box-shadow:0 12px 36px rgba(60,60,140,.08);transition:.3s}
.pf-card:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(109,93,252,.18)}
.pf-ico{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;font-size:1.5rem;background:linear-gradient(135deg, #a69cff42, #ff180017);color:#fff;margin-bottom:18px}
.pf-card-h{font-weight:700;font-size:1.15rem}
.pf-banner{border-radius:26px;width:100%;height:320px;object-fit:cover}
 
/* ---------- Process (dark) ---------- */
.pf-step{border:1px solid var(--pf-line);background:#fff;border-radius:20px;padding:28px;height:100%;position:relative}
.pf-step-n{font-size:2.6rem;font-weight:800;opacity:.9}
 .pf-step .fw-bold.mb-2 {
    color: #0d0f1f !important;
}
.pf-step .pf-muted.small {
    color: #000 !important;
}
/* ---------- Portfolio ---------- */
.pf-work{position:relative;border-radius:22px;overflow:hidden}
.pf-work-img{width:100%;height:260px;object-fit:cover;transition:.5s}
.pf-work:hover .pf-work-img{transform:scale(1.08)}
.pf-work-cap{position:absolute;inset:auto 0 0 0;padding:20px;color:#fff;background:linear-gradient(transparent,rgba(13,15,31,.92))}
 
/* ---------- Pricing ---------- */
.pf-price{background:rgba(255,255,255,.05);border:1px solid var(--pf-line);border-radius:24px;padding:36px 30px;height:100%}
.pf-price-hot{background:var(--pf-grad);border:0;transform:scale(1.04);color:#fff}
.pf-price-amt{font-size:2.6rem;font-weight:800}
.pf-price-list{list-style:none;padding:0;margin:22px 0}
.pf-price-list li{padding:8px 0;border-bottom:1px dashed var(--pf-line)}
 
/* ---------- Testimonials / FAQ / CTA ---------- */
.pf-quote{background:#fff;border-radius:22px;padding:30px;height:100%;box-shadow:0 12px 36px rgba(60,60,140,.1)}
.pf-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover}
.pf-faq .accordion-item{border:0;border-radius:16px!important;margin-bottom:14px;overflow:hidden;box-shadow:0 8px 24px rgba(60,60,140,.08)}
.pf-faq .accordion-button{font-weight:700;padding:20px 24px}
.pf-faq .accordion-button:not(.collapsed){background:#f0edff;color:var(--pf-violet);box-shadow:none}
.pf-cta{border-radius:32px;padding:64px 30px;text-align:center;background:var(--pf-grad);color:#fff;box-shadow:0 30px 70px rgba(109,93,252,.4)}
.pf-cta .pf-btn-main{background:#fff;color:var(--pf-violet);box-shadow:none}
.pf-foot{background:#080a16;color:#a4a9cc;padding:70px 0 30px}
.pf-foot-link{display:block;color:#a4a9cc;text-decoration:none;padding:4px 0}
.pf-foot-link:hover{color:var(--pf-cyan)}
 
@media(max-width:991px){
  .pf-sec{padding:64px 0}
  .pf-side{position:static;margin-bottom:10px}
  .pf-price-hot{transform:none}
  .pf-float{display:none}
  .pf-hero{padding-top:120px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}