/* PPF page sections (content from the owner's previous site) */
.pp { padding-block: clamp(48px, 6vw, 84px); border-top: 1px solid rgba(17,19,23,0.08); }
.pp-kicker { font-family: var(--font-head); font-size: 12.5px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-deep, #6b5600); }
.pp h2 { margin-top: 8px; font-size: clamp(28px, 3.4vw, 42px); line-height: 1.05; }
.pp p { color: #4a4d52; font-size: 16px; line-height: 1.65; }
.pp-head { max-width: 720px; }
.pp-head p:not(.pp-kicker) { margin-top: 12px; }

.pp-what { background: #fff; }
.pp-what-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(28px, 4vw, 60px); align-items: center; }
.pp-what-grid > div > p:not(.pp-kicker) { margin-top: 14px; }
.pp-benefits { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.pp-benefits li { display: flex; flex-direction: column; gap: 12px; padding: 22px; border-radius: 14px; background: #f5f5f2; border: 1px solid rgba(17,19,23,0.06); }
.pp-ico { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; background: #111214; color: var(--gold, #f4c400); }
.pp-ico svg { width: 22px; height: 22px; }
.pp-benefits h3 { font-size: 17px; }
.pp-benefits p { margin-top: 4px; font-size: 14.5px; }

.pp-need { background: #111214; color: #fff; }
.pp-need h2 { color: #fff; }
.pp-need .pp-kicker { color: var(--gold, #f4c400); }
.pp-need .pp-head p:not(.pp-kicker), .pp-need .pp-note { color: rgba(255,255,255,0.7); }
.pp-checks { margin-top: 28px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.pp-checks li { position: relative; padding: 20px 20px 20px 54px; border-radius: 12px; background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); font-size: 15px; line-height: 1.5; color: rgba(255,255,255,0.88); }
.pp-checks li::before { content: '\2713'; position: absolute; left: 18px; top: 18px; width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; background: var(--gold, #f4c400); color: #111214; font-size: 13px; font-weight: 700; }
.pp-note { margin-top: 22px; font-size: 15px; }

.pp-mat { background: #f5f5f2; }
.pp-mat-grid { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: clamp(28px, 4vw, 60px); align-items: center; }
.pp-photo { margin: 0; border-radius: 16px; overflow: hidden; aspect-ratio: 4 / 5; }
.pp-photo img { width: 100%; height: 100%; object-fit: cover; }
.pp-mat-grid > div > p:not(.pp-kicker) { margin-top: 14px; }
.pp-small { font-size: 14px !important; color: #6b6e73 !important; }

.pp-cov { background: #fff; }
.pp-cov-grid { margin-top: 28px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.pp-cov-card { padding: 24px; border-radius: 14px; border: 1px solid rgba(17,19,23,0.1); background: #fff; }
.pp-cov-card h3 { margin-top: 12px; font-size: 22px; }
.pp-cov-card p { margin-top: 8px; font-size: 15px; }
.pp-cov-card--max { background: #111214; border-color: #111214; }
.pp-cov-card--max h3 { color: #fff; } .pp-cov-card--max p { color: rgba(255,255,255,0.75); }
.pp-tag { display: inline-block; padding: 4px 10px; border-radius: 999px; background: rgba(244,196,0,0.18); color: #6b5600; font-family: var(--font-head); font-size: 11.5px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; }
.pp-cov-card--max .pp-tag { background: var(--gold, #f4c400); color: #111214; }
.pp-from { margin-top: 14px !important; padding-top: 14px; border-top: 1px solid rgba(255,255,255,0.15); color: #fff !important; }
.pp-from b { color: var(--gold, #f4c400); font-family: var(--font-head); font-size: 20px; }
.pp-cta { margin-top: 22px; }

@media (max-width: 900px) {
  .pp-what-grid, .pp-mat-grid { grid-template-columns: 1fr; }
  .pp-checks, .pp-cov-grid { grid-template-columns: 1fr; }
  .pp-photo { aspect-ratio: 16 / 10; }
}
@media (max-width: 480px) { .pp-benefits { grid-template-columns: 1fr; } }

/* ===== Blue & white theme (from the owner's previous PPF page) ===== */
body.p-ppf {
  --gold: #1f6fd6; --gold-hover: #3b86ea; --gold-deep: #16407e; --accent-rgb: 31,111,214;
  --pb-bg: #eef2f7; --pb-ink: #15202b; --pb-soft: #4a5a6a; --pb-sky: #e3eefb; --pb-line: rgba(20,40,70,0.12);
  background: var(--pb-bg);
}
body.p-ppf .btn-gold { background: #1f6fd6; color: #fff; }
body.p-ppf .btn-gold:hover { background: #3b86ea; color: #fff; }
body.p-ppf nav .nav-cta { background: #1f6fd6; color: #fff; }
body.p-ppf nav .nav-links a.active { box-shadow: inset 0 -2px 0 #1f6fd6; }

/* hero: light */
body.p-ppf .page-hero { background: linear-gradient(180deg, #f7fafe 0%, #eef2f7 100%); color: var(--pb-ink); border-bottom: 1px solid var(--pb-line); }
body.p-ppf .page-hero::after { background: radial-gradient(circle at 74% 28%, rgba(31,111,214,0.18) 0%, transparent 60%) !important; }
body.p-ppf .page-hero h1 { color: var(--pb-ink); }
body.p-ppf .page-hero h1 em { color: #1f6fd6; }
body.p-ppf .page-hero p, body.p-ppf .page-hero .hero-reassure { color: var(--pb-soft); }
body.p-ppf .page-hero .breadcrumb, body.p-ppf .page-hero .breadcrumb a { color: #7e91a6; }
body.p-ppf .page-hero .btn-ghost { color: var(--pb-ink); border-color: rgba(20,40,70,0.25); }
body.p-ppf .page-hero .btn-ghost:hover { color: #1f6fd6; border-color: #1f6fd6; }
body.p-ppf .hero-spec { border-color: var(--pb-line); }
body.p-ppf .hero-spec li { border-color: var(--pb-line); }
body.p-ppf .hero-spec strong { color: #1f6fd6; }
body.p-ppf .hero-spec span { color: var(--pb-soft); }

/* price band: light blue */
body.p-ppf .price-from { background: #ffffff; color: var(--pb-ink); border-top: 3px solid #1f6fd6; border-bottom: 1px solid var(--pb-line); }
body.p-ppf .price-from h2 { color: var(--pb-ink); }
body.p-ppf .price-from .eyebrow { color: #1f6fd6; }
body.p-ppf .price-from .eyebrow::before { background: #1f6fd6; }
body.p-ppf .price-from-list { border-color: var(--pb-line); }
body.p-ppf .price-from-list li { border-color: var(--pb-line); }
body.p-ppf .price-from-list .pf-label { color: var(--pb-ink); }
body.p-ppf .price-from-list .pf-from { color: var(--pb-soft); }
body.p-ppf .price-from-list strong { color: #1f6fd6; }
body.p-ppf .price-from-foot p { color: var(--pb-soft); }

/* sections */
body.p-ppf .pp { border-top-color: var(--pb-line); }
body.p-ppf .pp-kicker { color: #1f6fd6; }
body.p-ppf .pp h2, body.p-ppf .pp h3 { color: var(--pb-ink); }
body.p-ppf .pp p { color: var(--pb-soft); }
body.p-ppf .pp-what { background: var(--pb-bg); }
body.p-ppf .pp-benefits li { background: #fff; border-color: var(--pb-line); box-shadow: 0 6px 22px rgba(20,40,70,0.07); }
body.p-ppf .pp-ico { background: var(--pb-sky); color: #1f6fd6; border: 1px solid rgba(31,111,214,0.25); }
body.p-ppf .pp-need { background: #e6edf5; color: var(--pb-ink); }
body.p-ppf .pp-need h2 { color: var(--pb-ink); }
body.p-ppf .pp-need .pp-kicker { color: #1f6fd6; }
body.p-ppf .pp-need .pp-head p:not(.pp-kicker), body.p-ppf .pp-need .pp-note { color: var(--pb-soft); }
body.p-ppf .pp-checks li { background: #fff; border-color: var(--pb-line); color: var(--pb-ink); }
body.p-ppf .pp-checks li::before { background: #1f6fd6; color: #fff; }
body.p-ppf .pp-mat { background: #fff; }
body.p-ppf .pp-small { color: #7e91a6 !important; }
body.p-ppf .pp-cov { background: var(--pb-bg); }
body.p-ppf .pp-cov-card { background: #fff; border-color: var(--pb-line); }
body.p-ppf .pp-tag { background: var(--pb-sky); color: #16407e; }
body.p-ppf .pp-cov-card--max { background: linear-gradient(160deg, #1f6fd6, #16407e); border-color: #16407e; }
body.p-ppf .pp-cov-card--max h3, body.p-ppf .pp-cov-card--max p { color: #fff !important; }
body.p-ppf .pp-cov-card--max .pp-tag { background: #fff; color: #16407e; }
body.p-ppf .pp-from { border-top-color: rgba(255,255,255,0.3); }
body.p-ppf .pp-from b { color: #fff; }

/* bottom call-to-action: light */
body.p-ppf .cta-band { background: var(--pb-bg); }
body.p-ppf .cta-band .inner { background: #fff; color: var(--pb-ink); border: 1px solid var(--pb-line); border-top: 4px solid #1f6fd6; box-shadow: 0 10px 30px rgba(20,40,70,0.08); }
body.p-ppf .cta-band h2 { color: var(--pb-ink); }
body.p-ppf .cta-band h2 em { color: #1f6fd6; }
body.p-ppf .cta-band p { color: var(--pb-soft); }
body.p-ppf .cta-band .btn-ghost { color: var(--pb-ink); border-color: rgba(20,40,70,0.25); }
body.p-ppf main > section { border-top-color: var(--pb-line); }
