:root{
    --pf-bg:#0f1220; --pf-card:rgba(255,255,255,.06); --pf-border:rgba(255,255,255,.12); --pf-text:#e9eef5; --pf-muted:#b7c0ce;
    --pf-primary:#5b8aff; --pf-primary-600:#3e6bff; --pf-shadow:0 10px 30px rgba(0,0,0,.35);
}
@media (prefers-color-scheme: light){
    :root{ --pf-bg:#f7f8fc; --pf-card:#ffffff; --pf-border:#e9edf3; --pf-text:#0f1320; --pf-muted:#5c6470; --pf-shadow:0 10px 24px rgba(10,20,40,.08); }
}

*{ box-sizing:border-box }
body.pf-body{ margin:0; background:var(--pf-bg); color:var(--pf-text); font-family:'Inter', system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Arial, sans-serif; }
img,svg{ max-width:100%; height:auto; }

/* NAVBAR */
.pf-nav{ position:sticky; top:0; z-index:20; }
.pf-nav .navbar{ padding-block:.5rem; justify-content:space-between; }
.pf-nav .container{ padding-left:1rem; padding-right:1rem; }
@media (min-width:992px){ .pf-nav .container{ padding-left:0; padding-right:0; } }

/* Bootstrap light navbar overrides for perfect contrast */
.navbar-light .pf-brand-text{ color:#0f1320 !important; letter-spacing:.2px; }
.navbar-light .nav-link{ color:#49515c !important; }
.navbar-light .nav-link.active{ color:#0f1320 !important; }
.navbar-light{ background:#ffffff !important; backdrop-filter:saturate(130%) blur(8px); border-bottom:1px solid #e9edf3 !important; }

/* Nicer, smaller toggler */
.navbar-toggler{ border:1px solid #dee3ea; border-radius:10px; padding:.3rem .5rem; }
.navbar-toggler:focus{ box-shadow:0 0 0 .2rem rgba(13,110,253,.2); outline:none; }
.navbar-light .navbar-toggler-icon{ width:1.25rem; height:1.25rem; background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(15,19,32,0.85)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M5 8h20M5 15h20M5 22h20'/%3e%3c/svg%3e") !important; }

/* Default (dark context) */
.pf-brand-text{ color:var(--pf-text); text-shadow:0 1px 1px rgba(0,0,0,.12); letter-spacing:.2px; }
.nav-link{ color:var(--pf-muted) !important; }
.nav-link.active{ color:var(--pf-text) !important; }

/* Custom burger (alta visibilità) */
.pf-toggler{ border:1px solid var(--pf-border); background:var(--pf-card); border-radius:10px; padding:.35rem .55rem; box-shadow:var(--pf-shadow); }
.pf-toggler:focus{ outline:2px solid rgba(91,138,255,.45); outline-offset:2px; }
.pf-burger{ display:block; position:relative; width:22px; height:2px; background:var(--pf-text); border-radius:1px; }
.pf-burger::before, .pf-burger::after{ content:""; position:absolute; left:0; width:22px; height:2px; background:var(--pf-text); border-radius:1px; }
.pf-burger::before{ top:-6px; }
.pf-burger::after{ top:6px; }

/* Fluid type for responsiveness */
.pf-hero h1{ font-size:clamp(28px, 4.2vw, 56px); line-height:1.05; font-weight:800; }
.pf-hero .lead{ font-size:clamp(16px, 1.6vw, 20px); }

/* Hero */
.pf-hero{ position:relative; overflow:hidden; background:radial-gradient(1200px 600px at -10% -10%, rgba(91,138,255,.25), transparent 60%), radial-gradient(1000px 600px at 110% -10%, rgba(91,138,255,.18), transparent 60%); }
.pf-hero .pf-hero-card{ border-radius:18px; border:1px solid var(--pf-border); }

/* Glass cards */
.glass{ background:var(--pf-card); border:1px solid var(--pf-border); border-radius:16px; box-shadow:var(--pf-shadow); }
.icon-wrap{ width:36px; height:36px; display:flex; align-items:center; justify-content:center; border-radius:10px; background:rgba(91,138,255,.15); color:var(--pf-primary); }

/* Value pills */
.pf-pill{ display:inline-flex; align-items:center; gap:.4rem; padding:.35rem .65rem; border-radius:999px; background:rgba(91,138,255,.15); color:var(--pf-text); border:1px solid var(--pf-border); font-size:.9rem; }

/* Steps */
.step{ position:relative; }
.step-num{ width:34px; height:34px; border-radius:999px; display:flex; align-items:center; justify-content:center; background:rgba(91,138,255,.18); color:var(--pf-primary); font-weight:700; }

/* Footer */
.pf-footer{ background:transparent; border-top:1px solid var(--pf-border); }

/* Responsive tweaks */
@media (max-width: 991.98px){ .pf-hero .pf-hero-card{ margin-top:12px; } }
@media (max-width: 575.98px){ .pf-pill{ font-size:.85rem; } }

/* Utility for spacing (Bootstrap non ha pb-6) */
.pb-6{ padding-bottom:4.5rem !important; }