/* Scoped, static audience content. Existing fonts and warm brand surfaces only. */
.audience-breadcrumb { padding-block: 64px 16px; }
.audience-page > .audience-section:first-of-type { padding-top:clamp(40px,4.5vw,64px); }
.audience-breadcrumb ol { display:flex; flex-wrap:wrap; gap:8px 14px; list-style:none; padding:0; margin:0; font-size:14px; line-height:1.7; }
.audience-breadcrumb li { min-width:0; overflow-wrap:anywhere; }
.audience-breadcrumb li + li::before { content:"/"; margin-right:14px; opacity:.6; }
.audience-breadcrumb a { text-decoration:underline; text-underline-offset:3px; }
.audience-section h1 { font-family:var(--display); font-size:clamp(42px,4.8vw,76px); font-weight:400; line-height:1.07; margin:18px 0 28px; text-wrap:balance; overflow-wrap:break-word; hyphens:auto; }
.audience-section h2 { max-width:1000px; font-size:clamp(34px,3.2vw,52px); line-height:1.15; margin:0 0 28px; text-wrap:balance; }
.audience-section h3 { font-size:clamp(28px,2.2vw,36px); line-height:1.2; margin:0 0 16px; }
.audience-section p { margin:0 0 24px; }
.audience-section .eyebrow { font-size:14px; margin-bottom:16px; }
.audience-lead { max-width:820px; font-size:21px; line-height:1.8; }
.audience-opening { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(0,1fr); gap:clamp(32px,6vw,100px); align-items:center; }
.audience-hub-opening { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:clamp(32px,6vw,96px); align-items:center; }
.audience-hub-photo { margin:0; }
.audience-hub-photo img { width:100%; height:auto; filter:none; }
.audience-hub-photo figcaption { font-size:14px; line-height:1.7; margin-top:14px; }
.audience-statement { border-left:1px solid currentColor; padding:24px 0 24px clamp(24px,4vw,64px); }
.audience-statement p { font:400 clamp(30px,3vw,46px)/1.25 var(--display); text-wrap:balance; }
.audience-statement span { display:block; width:60px; border-bottom:1px solid; margin-top:32px; }
.audience-reading { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.25fr); gap:clamp(32px,6vw,100px); }
.audience-reading > *, .audience-opening > *, .audience-hub-opening > * { min-width:0; }
.audience-reading > div:last-child { max-width:740px; }
.audience-grid, .audience-uses { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin-top:40px; }
.audience-related { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; margin-top:32px; }
.audience-card { display:flex; flex-direction:column; min-width:0; color:inherit; padding:28px 0; border-block:1px solid #20242140; text-decoration:none; }
.audience-card p, .audience-use p { font-size:17px; line-height:1.8; }
.audience-card-action { margin-top:auto; font-size:16px; text-decoration:underline; text-underline-offset:5px; }
.audience-card:hover .audience-card-action { text-decoration-thickness:2px; }
.audience-card:focus-visible, .audience-faq summary:focus-visible { outline:3px solid var(--petrol-text); outline-offset:6px; }
.audience-use { border-top:1px solid #20242140; padding-top:24px; min-width:0; }
.audience-links { display:flex; flex-wrap:wrap; gap:12px 32px; align-items:center; margin-top:24px; }
.audience-links .content-link { min-height:44px; display:inline-flex; align-items:center; gap:12px; }
.audience-section .audience-note { font-size:14px; line-height:1.7; margin:20px 0 0; max-width:900px; }
.audience-reference-strip { border-top:1px solid #20242140; margin-top:48px; padding-top:28px; }
.audience-reference-strip ul { list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:12px 32px; font-size:17px; font-weight:600; }
.audience-client-list { list-style:none; padding:0; margin:36px 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 32px; }
.audience-client-list li { padding:14px 0; border-bottom:1px solid #20242130; font-size:16px; line-height:1.6; overflow-wrap:break-word; }
.audience-checklist { padding-left:24px; margin:24px 0 32px; }
.audience-checklist li + li { margin-top:16px; }
.audience-faq details { border-top:1px solid #20242150; padding:0; background:transparent; }
.audience-faq details:last-child { border-bottom:1px solid #20242150; }
.audience-faq summary { cursor:pointer; padding:22px 8px 22px 0; font-size:19px; font-weight:600; line-height:1.6; }
.audience-faq details p { font-size:18px; margin:0 0 24px; }
.audience-sitemap { columns:2; list-style:none; padding:0; margin-top:24px; }
.audience-sitemap li { break-inside:avoid; margin-bottom:14px; }
@media(max-width:1050px) {
  .audience-grid, .audience-uses { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .audience-client-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:800px) {
  .audience-breadcrumb { padding-top:52px; }
  .audience-opening, .audience-hub-opening, .audience-reading { grid-template-columns:1fr; gap:32px; }
  .audience-statement { padding-block:8px; }
  .audience-statement span { margin-top:20px; }
  .audience-hub-photo { max-width:560px; }
  .audience-lead { font-size:19px; }
  .audience-section h1 { font-size:clamp(40px,8vw,60px); }
  .audience-section h2 { font-size:36px; }
  .audience-reading > div:last-child { max-width:none; }
}
@media(max-width:600px) {
  .audience-grid, .audience-uses, .audience-related, .audience-client-list { grid-template-columns:1fr; }
  .audience-grid, .audience-uses { gap:16px; margin-top:28px; }
  .audience-related { gap:16px; }
  .audience-card { padding-block:24px; }
  .audience-sitemap { columns:1; }
  .audience-section h2 { font-size:33px; }
}
