:root{
  --pp-navy:#082b55;
  --pp-blue:#087ff5;
  --pp-blue-dark:#075ec0;
  --pp-green:#08a95b;
  --pp-bg:#f5f9fd;
  --pp-card:#fff;
  --pp-text:#13253f;
  --pp-muted:#64748b;
  --pp-border:#e4edf6;
  --pp-shadow:0 10px 28px rgba(8,43,85,.08);
  --pp-radius:18px;
}
*{box-sizing:border-box}
.pp-page{
  display:block;
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
  background:var(--pp-bg);
  color:var(--pp-text);
  font-family:inherit;
  line-height:1.55;
}
.pp-container{width:min(1180px,calc(100% - 32px));margin:0 auto}
.pp-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#eaf5ff 0%,#fff 55%,#eafff4 100%);border-bottom:1px solid var(--pp-border)}
.pp-hero:before,.pp-hero:after{content:"";position:absolute;border-radius:999px;filter:blur(2px);opacity:.55}
.pp-hero:before{width:280px;height:280px;background:#cfe8ff;right:-80px;top:-110px}
.pp-hero:after{width:220px;height:220px;background:#c8f7db;left:-90px;bottom:-120px}
.pp-hero-content{position:relative;z-index:1;text-align:center;padding:58px 0 48px;max-width:900px;margin:auto}
.pp-eyebrow,.pp-section-kicker{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.12em;color:var(--pp-blue)}
.pp-hero h1{font-size:clamp(34px,5vw,56px);line-height:1.08;margin:10px 0 12px;color:var(--pp-navy);font-weight:800}
.pp-hero h1 span{color:var(--pp-blue)}
.pp-hero p{max-width:760px;margin:0 auto 24px;color:var(--pp-muted);font-size:16px}
.pp-search{display:flex;max-width:760px;margin:0 auto;background:#fff;border:1px solid var(--pp-border);padding:6px;border-radius:999px;box-shadow:var(--pp-shadow)}
.pp-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;padding:13px 18px;font:inherit;color:var(--pp-text)}
.pp-search button,.pp-btn,.pp-outline-btn{font:inherit;font-weight:700;text-decoration:none;cursor:pointer}
.pp-search button{border:0;border-radius:999px;padding:12px 26px;background:var(--pp-blue);color:#fff}
.pp-quick-filters{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:16px}
.pp-quick-filters a{background:#fff;border:1px solid var(--pp-border);color:var(--pp-navy);padding:8px 15px;border-radius:999px;font-size:13px;font-weight:700;text-decoration:none}
.pp-content{padding:22px 0 72px}
.pp-section{padding:32px 0 18px}
.pp-section-heading{margin-bottom:20px}
.pp-section-heading h2{margin:3px 0 2px;font-size:28px;line-height:1.2;color:var(--pp-navy)}
.pp-section-heading p{margin:0;color:var(--pp-muted);font-size:14px}
.pp-heading-row{display:flex;align-items:end;justify-content:space-between;gap:20px}
.pp-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.pp-feature-card{display:grid;grid-template-columns:170px 1fr;overflow:hidden;background:var(--pp-card);border:1px solid var(--pp-border);border-radius:var(--pp-radius);box-shadow:var(--pp-shadow);min-height:240px}
.pp-feature-icon{display:flex;align-items:center;justify-content:center;background:linear-gradient(150deg,#0578ef,#083c73);color:#fff;font-size:54px;font-weight:900;letter-spacing:-.04em}
.pp-feature-card-ol .pp-feature-icon{background:linear-gradient(150deg,#06aa68,#08785a)}
.pp-feature-copy{padding:24px}
.pp-feature-copy h3{margin:9px 0 8px;color:var(--pp-navy);font-size:22px;line-height:1.25}
.pp-feature-copy p{margin:0 0 16px;color:var(--pp-muted);font-size:14px}
.pp-badge{display:inline-flex;padding:6px 10px;border-radius:999px;background:#e8f3ff;color:var(--pp-blue-dark);font-size:11px;font-weight:800}
.pp-badge-green{background:#e8fbf1;color:#087b49}
.pp-card-meta{display:flex;gap:8px;flex-wrap:wrap;color:#526783;font-size:12px;margin-bottom:18px}
.pp-card-meta span{padding:5px 8px;background:#f7faff;border:1px solid var(--pp-border);border-radius:8px}
.pp-btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 18px;border-radius:10px;color:#fff;background:var(--pp-blue)}
.pp-btn-primary:hover,.pp-search button:hover{background:var(--pp-blue-dark)}
.pp-actions{display:flex;gap:8px;flex-wrap:wrap}
.pp-grade-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.pp-grade-grid-primary{grid-template-columns:repeat(5,minmax(0,1fr))}
.pp-grade-card{position:relative;min-height:150px;padding:22px 18px;background:linear-gradient(150deg,#0d6fc5,#092f61);border-radius:15px;box-shadow:var(--pp-shadow);color:#fff;text-decoration:none;overflow:hidden}
.pp-grade-card:after{content:"";position:absolute;width:110px;height:110px;right:-38px;top:-42px;border-radius:50%;background:rgba(255,255,255,.11)}
.pp-grade-number{display:block;font-size:56px;font-weight:900;line-height:1;color:#fff;position:relative;z-index:1}
.pp-grade-label{display:block;margin-top:7px;font-size:14px;font-weight:800;position:relative;z-index:1}
.pp-grade-link{display:block;margin-top:12px;font-size:12px;font-weight:700;opacity:.9;position:relative;z-index:1}
.pp-grade-card-scholarship{background:linear-gradient(150deg,#08a983,#056a83)}
.pp-outline-btn{display:inline-flex;align-items:center;border:1px solid #b9d5f1;color:var(--pp-blue-dark);padding:10px 16px;border-radius:10px;background:#fff;white-space:nowrap}
.pp-latest-placeholder{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--pp-border);border-radius:15px;padding:18px;box-shadow:var(--pp-shadow)}
.pp-pdf-symbol{width:54px;height:54px;display:flex;align-items:center;justify-content:center;background:#fff1f1;color:#e03131;border-radius:12px;font-size:12px;font-weight:900;border:1px solid #ffd3d3}
.pp-latest-placeholder strong{color:var(--pp-navy)}
.pp-latest-placeholder p{margin:2px 0 0;color:var(--pp-muted);font-size:13px}
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:900px){.pp-feature-grid{grid-template-columns:1fr}.pp-grade-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pp-grade-grid-primary{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.pp-container{width:min(100% - 20px,1180px)}.pp-hero-content{padding:42px 0 34px}.pp-hero p{font-size:14px}.pp-search{border-radius:16px;flex-direction:column;padding:6px}.pp-search button{width:100%}.pp-feature-card{grid-template-columns:1fr}.pp-feature-icon{min-height:130px}.pp-feature-copy{padding:20px}.pp-grade-grid,.pp-grade-grid-primary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pp-grade-card{min-height:132px;padding:18px 14px}.pp-grade-number{font-size:46px}.pp-heading-row{align-items:flex-start;flex-direction:column}.pp-outline-btn{width:100%;justify-content:center}.pp-section-heading h2{font-size:23px}}

/* =========================
   INTERACTIVE CARD HOVER
   ========================= */
.pp-feature-card, .pp-grade-card{
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease, filter .28s ease;
  will-change:transform;
}
.pp-feature-card{position:relative;}
.pp-feature-card:hover{transform:translateY(-7px);box-shadow:0 18px 42px rgba(8,43,85,.16);border-color:rgba(8,127,245,.28);}
.pp-feature-visual{position:relative;overflow:hidden;min-height:240px;}
.pp-feature-visual .pp-feature-icon{height:100%;min-height:240px;transition:filter .28s ease, transform .35s ease;}
.pp-feature-card:hover .pp-feature-icon{filter:brightness(1.12) saturate(1.08);transform:scale(1.03);}
.pp-feature-character{position:absolute;z-index:3;left:-8px;bottom:-16px;width:225px;height:auto;transform:translateX(-135px) translateY(18px);opacity:0;transition:transform .42s cubic-bezier(.2,.75,.2,1), opacity .25s ease;pointer-events:none;filter:drop-shadow(0 12px 12px rgba(0,0,0,.18));}
.pp-feature-card:hover .pp-feature-character{transform:translateX(0) translateY(0);opacity:1;}
.pp-feature-card:hover .pp-feature-copy{transform:translateX(3px);}
.pp-feature-copy{position:relative;z-index:4;transition:transform .28s ease;}
.pp-grade-card{border:1px solid transparent;}
.pp-grade-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.14),transparent 48%);opacity:0;transition:opacity .28s ease;z-index:0;}
.pp-grade-card:hover{transform:translateY(-6px) scale(1.01);box-shadow:0 18px 34px rgba(8,127,245,.22);border-color:rgba(120,213,255,.55);background:linear-gradient(150deg,#1188ec,#0a417b);}
.pp-grade-card:hover:before{opacity:1;}
.pp-grade-character{position:absolute;z-index:2;right:-8px;bottom:-20px;width:128px;height:auto;opacity:0;transform:translateX(72px) scale(.86);transition:transform .42s cubic-bezier(.2,.75,.2,1), opacity .3s ease;pointer-events:none;filter:drop-shadow(0 9px 8px rgba(0,0,0,.2));}
.pp-grade-card:hover .pp-grade-character{opacity:1;transform:translateX(0) scale(1);}
.pp-grade-card:hover .pp-grade-number,.pp-grade-card:hover .pp-grade-label,.pp-grade-card:hover .pp-grade-link{transform:translateX(-3px);}
.pp-grade-number,.pp-grade-label,.pp-grade-link{transition:transform .28s ease;}
.pp-primary-card:hover{box-shadow:0 18px 36px rgba(255,128,72,.2);filter:saturate(1.08);}
.pp-grade-card-scholarship:hover{background:linear-gradient(150deg,#12bb8a,#087a95);}
@media (prefers-reduced-motion:reduce){
  .pp-feature-card,.pp-grade-card,.pp-feature-character,.pp-grade-character,.pp-feature-copy,.pp-feature-icon,.pp-grade-number,.pp-grade-label,.pp-grade-link{transition:none !important;}
}
@media(max-width:640px){
  .pp-feature-character{width:155px;left:-18px;bottom:-12px;}
  .pp-feature-card:hover .pp-feature-character{transform:translateX(-3px) translateY(0);}
  .pp-grade-character{width:98px;right:-7px;bottom:-15px;}
}

/* =========================
   GRADE 1-5 COLOR SYSTEM
   Keep the current card shape/layout; only the visual theme changes.
   ========================= */
.pp-primary-card{
  background:linear-gradient(135deg,#0f6fd4,#0a447f);
}
.pp-primary-grade-5{
  background:linear-gradient(135deg,#6d28d9,#9333ea);
  box-shadow:0 10px 28px rgba(109,40,217,.22);
}
.pp-primary-grade-4{
  background:linear-gradient(135deg,#db2777,#ec4899);
  box-shadow:0 10px 28px rgba(219,39,119,.20);
}
.pp-primary-grade-3{
  background:linear-gradient(135deg,#f97316,#fb923c);
  box-shadow:0 10px 28px rgba(249,115,22,.20);
}
.pp-primary-grade-2{
  background:linear-gradient(135deg,#eab308,#facc15);
  box-shadow:0 10px 28px rgba(234,179,8,.24);
}
.pp-primary-grade-1{
  background:linear-gradient(135deg,#059669,#10b981);
  box-shadow:0 10px 28px rgba(5,150,105,.20);
}
.pp-primary-card:hover{
  filter:saturate(1.05) brightness(1.04);
}
.pp-primary-grade-5:hover{
  background:linear-gradient(135deg,#7c3aed,#a855f7);
  box-shadow:0 18px 36px rgba(109,40,217,.28);
}
.pp-primary-grade-4:hover{
  background:linear-gradient(135deg,#e11d74,#f472b6);
  box-shadow:0 18px 36px rgba(219,39,119,.26);
}
.pp-primary-grade-3:hover{
  background:linear-gradient(135deg,#ea580c,#fb923c);
  box-shadow:0 18px 36px rgba(249,115,22,.26);
}
.pp-primary-grade-2:hover{
  background:linear-gradient(135deg,#dca500,#fbbf24);
  box-shadow:0 18px 36px rgba(234,179,8,.30);
}
.pp-primary-grade-1:hover{
  background:linear-gradient(135deg,#047857,#34d399);
  box-shadow:0 18px 36px rgba(5,150,105,.26);
}

/* =========================
   DATABASE RESULTS / FILTERS
   ========================= */
.pp-latest-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.pp-latest-card{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--pp-border);border-radius:15px;padding:16px;box-shadow:var(--pp-shadow);text-decoration:none}
.pp-latest-icon{width:48px;height:48px;flex:0 0 48px;border-radius:11px;background:#fff1f1;border:1px solid #ffd5d5;color:#dc2f2f;display:grid;place-items:center;font-size:11px;font-weight:900}
.pp-latest-meta{font-size:11px;font-weight:800;letter-spacing:.02em;color:var(--pp-blue-dark);text-transform:uppercase}
.pp-latest-card h3{margin:4px 0 6px;color:var(--pp-navy);font-size:16px;line-height:1.3}
.pp-latest-card p{margin:0 0 10px;color:var(--pp-muted);font-size:12px}
.pp-latest-link{font-size:12px;font-weight:800;color:var(--pp-blue-dark);text-decoration:none}
.pp-empty{padding:24px;background:#fff;border:1px dashed #cbd9e8;border-radius:14px;color:var(--pp-muted);text-align:center;grid-column:1/-1}
.pp-filter-bar input,.pp-filter-bar select{width:100%;min-height:42px;border:1px solid var(--pp-border);border-radius:10px;padding:9px 12px;background:#fff;color:var(--pp-text);font:inherit}
.pp-filter-bar input:focus,.pp-filter-bar select:focus{outline:0;border-color:var(--pp-blue);box-shadow:0 0 0 3px rgba(8,127,245,.10)}
.pp-copy{color:var(--pp-muted);font-size:14px;line-height:1.7}
@media(max-width:900px){.pp-latest-grid{grid-template-columns:1fr 1fr}.pp-filter-bar{grid-template-columns:1fr 1fr!important}}
@media(max-width:640px){.pp-latest-grid{grid-template-columns:1fr}.pp-filter-bar{grid-template-columns:1fr!important}}
/* Final build: only additive helpers used by the database-powered homepage. */
.pp-latest-card{transition:transform .2s ease,box-shadow .2s ease}.pp-latest-card:hover{transform:translateY(-3px);box-shadow:0 15px 30px rgba(8,43,85,.10)}
