/* Audience pages: /who-we-help (hub), /medtech, /consumer-health. Linked from their head-extra.
   site.css tokens only: blue var(--iris) is primary, orange var(--accent) graphics / var(--saffron) small text. */

/* long words never push the page sideways on a phone */
.icp h1,.icp h2,.icp h3{overflow-wrap:break-word}
.icp h1,.icp .h-lg,.icp .h-md{text-wrap:balance}

/* ---------- short answer near the top (AEO) ---------- */
.icp-answer .h-xs{font-weight:200}
.icp-answer p+p{margin-top:26px}
.icp-answer a.inline-link{white-space:nowrap}

/* ---------- big list (who it is for, friction points) ---------- */
.icp-list li{font-size:clamp(21px,2vw,24px);line-height:1.25;letter-spacing:-.02em;font-weight:200;color:var(--bone)}
.icp-list.two li{font-size:clamp(20px,1.8vw,22px)}

/* ---------- revenue funnel: one bar per stage, narrowing as revenue leaks ---------- */
.funnel{display:grid;gap:clamp(14px,1.8vw,20px);margin-top:clamp(48px,6vw,88px)}
.funnel>li{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:14px clamp(28px,5vw,80px);align-items:center}
.f-bar{position:relative;isolation:isolate;display:flex;align-items:center;gap:14px;justify-self:center;width:calc(100% - var(--i,0) * 9%);min-height:68px;padding:12px 22px;border-radius:16px;font-size:clamp(18px,1.6vw,21px);font-weight:400;line-height:1.2;letter-spacing:-.015em;color:var(--strong)}
.f-bar::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:var(--c,var(--iris));opacity:calc(.6 - var(--i,0) * .08)}
:root[data-theme=light] .f-bar::before{opacity:calc(.3 - var(--i,0) * .04)}
.f-n{flex-shrink:0;font-size:13px;font-weight:600;letter-spacing:.04em;font-variant-numeric:tabular-nums;opacity:.85}
.f-copy p{font-size:17px;line-height:1.5;color:var(--silver)}
.f-area{display:block;margin-top:8px;font-size:12px;font-weight:600;line-height:1.5;letter-spacing:.06em;text-transform:uppercase;color:var(--c-text,var(--iris-hi))}
.funnel>li.f-after .f-bar::before{background:transparent;border:1px dashed var(--rule);opacity:1}
.f-note{margin-top:clamp(36px,4vw,52px)}
@media (max-width:760px){
  .funnel{gap:26px}
  .funnel>li{grid-template-columns:1fr;gap:12px}
  .f-bar{justify-self:start;width:calc(100% - var(--i,0) * 7%);min-height:58px}
}

/* ---------- free tools ---------- */
.icp-tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:clamp(18px,2.4vw,28px);margin-top:clamp(44px,6vw,80px)}
.icp-tool{display:flex;flex-direction:column;gap:12px;padding:clamp(26px,3vw,38px);border-radius:24px;background:var(--card);border:1px solid var(--card-line)}
.icp-tool h3{font-size:clamp(24px,2.2vw,30px);line-height:1.15;letter-spacing:-.03em}
.icp-tool p{font-size:17px;color:var(--silver)}
.icp-tool .ghost{margin-top:auto;align-self:flex-start}

/* ---------- related episodes and articles ---------- */
.rel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(36px,4vw,56px) clamp(20px,2.4vw,32px);margin-top:clamp(44px,6vw,72px)}
@media (max-width:1000px){.rel{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.rel{grid-template-columns:1fr}}
.rel a{display:block}
.rel-thumb{position:relative;display:block;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:var(--surface)}
.rel-thumb img{width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:transform .8s var(--ease)}
.rel a:hover .rel-thumb img{transform:scale(1.06)}
.rel .caption{margin-top:18px}
.rel h3{margin-top:8px;font-size:clamp(20px,1.7vw,22px);line-height:1.22;letter-spacing:-.02em;transition:color .25s var(--ease)}
.rel a:hover h3{color:var(--iris-hi)}
.rel .who{margin-top:8px;font-size:15px;color:var(--silver)}
.rel .go{display:inline-flex;align-items:center;gap:8px;min-height:32px;margin-top:6px;font-size:13px;font-weight:600;letter-spacing:.025em;text-transform:uppercase;color:var(--saffron)}
.rel-more{margin-top:clamp(44px,5vw,64px)}

/* ---------- FAQ (always open: answers stay readable without a click or JavaScript) ---------- */
.faq{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,4.5vw,56px) clamp(40px,6vw,100px);margin-top:clamp(44px,6vw,80px)}
@media (max-width:760px){.faq{grid-template-columns:1fr}}
.faq .qa{padding-top:24px;border-top:1px solid var(--rule-2)}
.faq h3{font-size:clamp(21px,1.9vw,25px);line-height:1.22;letter-spacing:-.02em}
.faq p{margin-top:12px;font-size:17px;color:var(--silver)}

/* ---------- hub: one card per market ---------- */
.icp-cards{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,32px);margin-top:clamp(44px,6vw,80px)}
@media (max-width:860px){.icp-cards{grid-template-columns:1fr}}
.icp-card{position:relative;display:flex;flex-direction:column;gap:18px;padding:clamp(28px,3.6vw,48px);border-radius:28px;background:var(--card);border:1px solid var(--card-line);overflow:hidden}
.icp-card::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--c,var(--iris))}
.icp-card h3{font-size:clamp(32px,3.4vw,46px);line-height:1.06;letter-spacing:-.035em}
.icp-card .who{color:var(--silver)}
.icp-card .tool{padding-top:22px;border-top:1px solid var(--rule-2)}
.icp-card .tool .label{margin-bottom:12px}
.icp-card .tool p{font-size:17px;color:var(--silver)}
.icp-card .tool p+p{margin-top:12px}
.icp-card strong{font-weight:600;color:var(--bone)}
.icp-card .ctas{margin-top:auto;padding-top:10px;flex-direction:column;align-items:flex-start;gap:12px}
.icp-dot{display:inline-block;width:8px;height:8px;margin-right:10px;border-radius:50%;background:var(--c,var(--iris));vertical-align:.1em}
