
:root{ --pvs-primary: var(--pvs-primary-fallback, #1a4cff); --pvs-ink:#0f172a; --pvs-muted:#475569; --pvs-border:#e5e7eb; --pvs-paper:#ffffff; --pvs-paper-alt:#f8fafc; }
*{ box-sizing: border-box; }
body{ margin:0; font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif; color:var(--pvs-ink); background:#fff; line-height:1.55; }
.pvs-shell{ max-width:1200px; margin:0 auto; padding: 0 22px; }
.pvs-h{ text-align:center; margin: 0 0 14px; font-size:30px; }
.pvs-btn{ display:inline-block; padding:14px 18px; border-radius:12px; font-weight:800; text-decoration:none; line-height:1; }
.pvs-btn--primary{ background:var(--pvs-primary); color:#fff; border:1px solid var(--pvs-primary); }
.pvs-btn--ghost{ background:transparent; color:var(--pvs-ink); border:1px solid var(--pvs-border); }

/* Header */
.pvs-header{ position:sticky; top:0; z-index:1000; background:#ffffff; border-bottom:1px solid #eef2f7; }
.pvs-header .pvs-shell{ display:flex; align-items:center; gap:18px; min-height:72px; }
.pvs-sitename{ font-family: ui-serif, Georgia, 'Times New Roman', serif; font-weight:800; font-size:28px; color:#0f172a; text-decoration:none; }
.pvs-tagline{ color:#64748b; margin-left:8px; font-size:13px; }
.pvs-nav ul{ list-style:none; margin:0; padding:0; display:flex; gap:10px; flex-wrap:wrap; }
.pvs-nav a{ display:inline-block; padding:10px 14px; border-radius:10px; text-decoration:none; color:#0f172a; font-weight:700; }
.pvs-nav a:hover{ background:#f2f6ff; }
.pvs-cta{ margin-left:auto; }
.pvs-burger{ display:none; background:transparent; border:none; width:44px; height:44px; position:relative; }
.pvs-burger span{ position:absolute; left:10px; right:10px; height:2px; background:#0f172a; }
.pvs-burger span:nth-child(1){ top:14px; }.pvs-burger span:nth-child(2){ top:21px; }.pvs-burger span:nth-child(3){ top:28px; }

/* Hero */
.pvs-hero{ background:linear-gradient(180deg, #f8fbff, #ffffff); padding: 28px 0 8px; }
.pvs-hero-grid{ display:grid; grid-template-columns: 1.1fr .9fr; gap:22px; align-items:center; }
.pvs-eyebrow{ color:#0f40ff; font-weight:800; letter-spacing:.02em; margin-bottom:6px; font-size:13px; }
.pvs-hero h1{ font-family: ui-serif, Georgia, 'Times New Roman', serif; font-size:44px; line-height:1.1; margin: 0 0 12px; }
.pvs-hero-sub{ color:#344256; margin:0 0 16px; }
.pvs-hero-ctas{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:10px; }
.pvs-checks{ margin:10px 0 0; padding-left:20px; color:#475569; }
.pvs-hero-collage{ display:grid; grid-template-rows: 220px 180px 160px; gap:12px; }
.pvs-col-card{ border-radius:14px; border:1px solid var(--pvs-border); background:#eef4ff; background-size:cover; background-position:center; }

/* Tracks */
.pvs-tracks{ padding: 12px 0 14px; }
.pvs-track-grid{ display:grid; grid-template-columns: repeat(4,1fr); gap:12px; }
.pvs-track{ background:#fff; border:1px solid var(--pvs-border); border-radius:14px; padding:14px; }
.pvs-ico{ font-size:26px; }

/* Timeline */
.pvs-timeline{ background:#fbfdff; border-top:1px solid #ecf2ff; border-bottom:1px solid #ecf2ff; padding: 10px 0 14px; }
.pvs-steps{ display:flex; gap:18px; counter-reset: step; justify-content:center; flex-wrap:wrap; margin:0; padding:0; list-style:none; }
.pvs-steps li{ background:#fff; border:1px solid var(--pvs-border); border-radius:12px; padding:10px 12px; position:relative; }
.pvs-steps li:before{ counter-increment: step; content: counter(step); position:absolute; left:-10px; top:-10px; background:var(--pvs-primary); color:#fff; width:24px; height:24px; border-radius:50%; display:grid; place-items:center; font-size:12px; font-weight:800; }

/* Stories */
.pvs-stories{ padding: 10px 0 16px; }
.pvs-card-grid{ display:grid; grid-template-columns: repeat(3,1fr); gap:12px; }
.pvs-card{ background:#fff; border:1px solid var(--pvs-border); border-radius:14px; overflow:hidden; display:flex; flex-direction:column; }
.pvs-card-img{ height:200px; background:#eaeef7; }
.pvs-card-img img{ width:100%; height:100%; object-fit:cover; display:block; }

/* FAQ */
.pvs-faq{ padding: 8px 0 18px; background:#fff; }
.pvs-accordion{ max-width:900px; margin:0 auto; }
.pvs-qa{ background:#fff; border:1px solid var(--pvs-border); border-radius:12px; padding:10px 14px; margin-bottom:10px; }
.pvs-qa summary{ cursor:pointer; font-weight:800; color:#0f172a; }
.pvs-qa[open]{ border-color: var(--pvs-primary); box-shadow: 0 0 0 2px rgba(26,76,255,.08) inset; }
.pvs-ans{ color:#475569; padding-top:8px; }

/* Footer */
.pvs-footer{ background:#0f172a; color:#cbd5e1; padding: 18px 0; margin-top: 14px; }
.pvs-foot-grid{ display:grid; grid-template-columns: 2fr 1fr 1fr; gap:16px; }
.pvs-footer a{ color:#fff; text-decoration:none; }
.pvs-footer a:hover{ text-decoration:underline; }
.pvs-foot-meta{ margin-top:12px; border-top:1px solid rgba(255,255,255,.08); padding-top:12px; }

/* Responsive */
@media (max-width: 980px){
  .pvs-hero-grid{ grid-template-columns: 1fr; }
  .pvs-track-grid{ grid-template-columns: 1fr 1fr; }
  .pvs-card-grid{ grid-template-columns: 1fr; }
  .pvs-nav{ display:none; }
  .pvs-burger{ display:block; }
  .pvs-header.open .pvs-nav{ display:block; position:absolute; top:72px; left:0; right:0; background:#ffffff; border-bottom:1px solid #eef2f7; }
  .pvs-nav ul{ flex-direction:column; padding:12px; gap:8px; }
}

/* Ensure page content isn't hidden by other CSS */
.pvs-entry{ display:block; }

/* Primary color fallback token */
:root{ --pvs-primary-fallback: #1a4cff; }
