/* What Is Revenue Friction? (pillar page), FAQ blocks on the Free Website Checkup, Privacy + Terms.
   Uses the site.css tokens only (light + dark follow automatically). Blue = primary, orange = the one accent. */

/* ---------- direct answer + section intros ---------- */
.pf-intro{max-width:40em;margin-top:26px;font-size:clamp(19px,1.6vw,21px);line-height:1.6;color:var(--silver)}
.pf-intro+.pf-intro{margin-top:18px}
.pf-intro strong{font-weight:600;color:var(--bone)}
.pf-intro a,.pf-text a{color:var(--saffron);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.pf-text{max-width:40em;margin-top:22px;font-size:18px;line-height:1.6;color:var(--silver)}
.pf-text strong{font-weight:600;color:var(--bone)}
.pf-h3{margin-top:clamp(48px,6vw,72px);font-size:clamp(26px,2.5vw,32px);line-height:1.15;letter-spacing:-.03em}

/* ---------- funnel stages (two columns: MedTech 4, Consumer Health 5) ---------- */
.pf-funnels{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(48px,6vw,96px);margin-top:clamp(48px,6vw,80px);align-items:start}
@media (max-width:900px){.pf-funnels{grid-template-columns:minmax(0,1fr)}}
.pf-funnel h3{margin-top:12px;font-size:clamp(26px,2.5vw,32px);line-height:1.15;letter-spacing:-.03em}
.pf-stages{display:grid;gap:12px;margin-top:28px}
.pf-stage{position:relative;padding:22px 22px 20px;border-radius:20px;background:var(--card);border:1px solid var(--card-line)}
/* the bar narrows stage by stage, so the column reads as a funnel */
.pf-stage::before{content:"";position:absolute;left:22px;top:-1px;height:3px;width:calc((100% - 44px) * var(--w,1));border-radius:0 0 3px 3px;background:var(--iris)}
.pf-stage h4{display:flex;gap:12px;align-items:baseline;font-size:21px;line-height:1.25;letter-spacing:-.02em;font-weight:400}
.pf-stage h4 span{flex-shrink:0;font-size:13px;font-weight:600;letter-spacing:.04em;color:var(--iris-hi);font-variant-numeric:tabular-nums}
.pf-stage p{margin-top:8px;font-size:16px;line-height:1.5;color:var(--silver)}
.pf-stage p.leak{color:var(--ash)}
.pf-stage .leak b{font-weight:600;color:var(--saffron)}
.pf-after{margin-top:20px;font-size:16px;line-height:1.55;color:var(--ash)}

/* ---------- worked example ---------- */
.pf-formula{max-width:46em;margin-top:30px;padding:22px 26px;border-radius:20px;background:var(--card);border:1px solid var(--card-line);font-size:clamp(18px,1.7vw,21px);line-height:1.5;letter-spacing:-.01em;color:var(--strong)}
.pf-formula .op{color:var(--iris-hi);font-weight:400}
.pf-formula .t,.pf-lift .t{white-space:nowrap}
.pf-table-wrap{max-width:46em;margin-top:28px;overflow-x:auto}
.pf-table{width:100%;border-collapse:collapse;font-size:16px;line-height:1.4;font-variant-numeric:tabular-nums}
.pf-table caption{caption-side:bottom;padding-top:14px;text-align:left;font-size:14px;line-height:1.5;color:var(--ash)}
.pf-table th,.pf-table td{padding:13px 0;border-bottom:1px solid var(--rule-2);text-align:right;vertical-align:top}
.pf-table th:first-child{padding-right:14px;text-align:left}
.pf-table td{padding-left:14px;color:var(--strong);font-weight:400}
.pf-table td small{display:block;margin-top:2px;font-size:13px;color:var(--ash);font-weight:200}
.pf-table thead th{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ash)}
.pf-table tbody th{font-weight:200;color:var(--silver)}
.pf-table tfoot th,.pf-table tfoot td{border-bottom:0;padding-top:18px;font-size:18px;font-weight:600;color:var(--strong)}
.pf-table tfoot td:last-child{color:var(--saffron)}
.pf-lift{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px clamp(24px,3vw,40px);align-items:center;max-width:46em;margin-top:clamp(40px,5vw,56px)}
.pf-lift strong{font-size:clamp(64px,9vw,113px);line-height:.92;letter-spacing:-.05em;font-weight:400;color:var(--saffron);font-variant-numeric:tabular-nums}
.pf-lift p{font-size:18px;line-height:1.55;color:var(--silver)}
@media (max-width:560px){.pf-lift{grid-template-columns:1fr}}

/* ---------- cards (service areas, tools, articles) ---------- */
.pf-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.6vw,32px);margin-top:clamp(40px,5vw,64px)}
@media (max-width:960px){.pf-cards{grid-template-columns:minmax(0,1fr)}}
.pf-card{display:flex;flex-direction:column;gap:12px;padding:clamp(26px,3vw,38px);border-radius:24px;background:var(--card);border:1px solid var(--card-line)}
a.pf-card{transition:border-color .3s var(--ease),transform .3s var(--ease)}
a.pf-card:hover{border-color:var(--iris);transform:translateY(-3px)}
.pf-card h3{font-size:clamp(24px,2.2vw,30px);line-height:1.15;letter-spacing:-.03em}
.pf-card p{font-size:16px;line-height:1.55;color:var(--silver)}
.pf-card .ghost{margin-top:auto}
.pf-cards+.pf-text{margin-top:clamp(32px,4vw,48px)}

/* ---------- SCALE in five lines ---------- */
.pf-scale{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(18px,2.4vw,32px);margin-top:clamp(36px,4.5vw,56px)}
@media (max-width:960px){.pf-scale{grid-template-columns:minmax(0,1fr)}}
.pf-scale li{padding-top:16px;border-top:1px solid var(--rule-2)}
.pf-scale h3{font-size:24px;line-height:1.2;letter-spacing:-.02em}
.pf-scale h3::first-letter{color:var(--saffron)}
.pf-scale p{margin-top:8px;font-size:16px;line-height:1.5;color:var(--silver)}

/* ---------- FAQ (visible text = FAQPage JSON-LD) ---------- */
.pf-faq{max-width:52em;margin-top:clamp(40px,5vw,64px)}
.pf-faq>div{padding:28px 0;border-top:1px solid var(--rule-2)}
.pf-faq>div:last-child{border-bottom:1px solid var(--rule-2)}
.pf-faq h3{font-size:clamp(22px,2vw,26px);line-height:1.25;letter-spacing:-.02em}
.pf-faq p{margin-top:12px;max-width:42em;font-size:18px;line-height:1.6;color:var(--silver)}

/* ---------- legal pages ---------- */
.pf-legal h2{margin-top:52px}
.pf-legal h2:first-child{margin-top:0}
.pf-legal .ticks{margin-top:14px}
.pf-legal .ticks li{font-size:18px;line-height:1.55}
.pf-legal .pf-note{padding:18px 22px;border-radius:16px;background:var(--card);border:1px solid var(--card-line);font-size:16px;line-height:1.55;color:var(--silver)}
.hero .display.pf-long{font-size:clamp(40px,5.6vw,80px);line-height:1.02}
