/* Shared breadcrumbs, title scale and hero bounds. Page-specific backgrounds,
   media compositions and body headings remain owned by their templates. */
:root{--internal-paper:#fcfbfd;--internal-ink:#2e024c;--internal-muted:#685372}
.site-breadcrumb{font:400 .78rem/1.5 var(--body);color:var(--internal-muted);text-align:left}
.site-breadcrumb ol{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .6rem;list-style:none;margin:0;padding:0}
.site-breadcrumb li{display:flex;align-items:baseline;gap:.6rem;min-width:0;overflow-wrap:anywhere}
.site-breadcrumb li+li::before{content:"/";opacity:.55}
.site-breadcrumb a{display:inline-block;padding:.35rem 0;color:inherit;text-decoration:underline;text-underline-offset:4px}
.site-breadcrumb [aria-current]{padding:.35rem 0}
.site-breadcrumb-inverse{color:#e7d8f0}
.site-breadcrumb a:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:2px}
.audience-trail{margin-bottom:clamp(1.5rem,3vw,2.5rem)}
/* Use the original upper breathing room instead of moving the hero composition. */
.phero:not(.internal-audience)>.audience-trail{position:absolute;top:6rem;left:0;right:0;margin-bottom:0}
.phero.internal-audience{padding:6.25rem 0 clamp(2.5rem,4vw,4rem)}
.audience-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,4vw,4rem)}
.audience-copy{min-width:0;max-width:600px}
.internal-audience .lead{font-size:clamp(1rem,1.3vw,1.1rem);line-height:1.65;max-width:35rem;margin-top:1.5rem}
.internal-audience .cta-row{gap:.75rem;margin-top:2rem!important}
.audience-media{min-width:0}
.audience-media figure{margin:0;min-width:0}
.audience-media img{display:block;width:100%;height:100%;object-fit:cover;border-radius:1.25rem}
.brand-campaigns{position:relative;height:clamp(25rem,36vw,30rem);margin-left:.5rem}
.brand-campaign-main{position:absolute;inset:0 22% 1.5rem 0}
.brand-campaign-main img{object-position:50% 43%}
.brand-campaign-detail{position:absolute;width:47%;height:49%;right:0;bottom:0;padding:.45rem;background:#50107d;border-radius:1.65rem;box-shadow:0 18px 40px #17012635}
.brand-campaign-detail img{object-position:50% 50%}
.agency-partnership{min-width:0}
.agency-campaigns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1rem;padding:0 0 1.5rem}
.agency-campaigns figure{height:clamp(18rem,28vw,24rem)}
.agency-campaigns figure:nth-child(2){margin-top:2.5rem}
.agency-campaigns img{object-position:50% 45%}
.pf-hero.internal-product{padding-top:6.25rem}
.pf-hero.internal-product .audience-trail{position:relative;z-index:3;text-align:left}
.reading-page .reading-breadcrumb{padding-top:.7rem;padding-bottom:2rem}
.tool-trail{max-width:1200px;margin:0 auto 1.5rem;position:relative;z-index:2}
@media(max-width:800px){
 .audience-grid{grid-template-columns:minmax(0,1fr);gap:1.25rem}
 .phero.internal-audience,.pf-hero.internal-product{padding-top:6.25rem}
 .internal-audience .cta-row{margin-top:1.6rem!important}
 .brand-campaigns,.agency-partnership{max-width:32rem;width:100%;margin:1rem auto 0}
 .brand-campaigns{height:clamp(19rem,76vw,27rem)}
 .brand-campaign-main{right:27%;bottom:1rem}
 .brand-campaign-detail{width:46%;height:58%}
 .agency-campaigns{gap:.75rem;padding-bottom:1rem}
 .agency-campaigns figure{height:clamp(15rem,57vw,21rem)}
 .agency-campaigns figure:nth-child(2){margin-top:1.5rem}
 .trends-editionbar{flex-wrap:wrap;gap:.75rem}
}

/* One screen heading standard across every internal template family.
   Explicit hero selectors leave the Home, card titles, metrics and PDF exports alone. */
@media screen{
 :root{--internal-hero-width:1280px;--internal-hero-gutter:clamp(1.25rem,4vw,4.5rem);--internal-title-size:clamp(2.5rem,4.6vw,4.25rem)}
 main :is(.phero,.pf-hero,.reading-hero,.lt-hero,.trends-hero,.trends-archive-hero,.contact-info) h1.d{
  font-family:var(--body);font-size:var(--internal-title-size);font-weight:600;
  line-height:1.04;letter-spacing:-.045em;text-transform:none;max-width:600px;text-wrap:balance;
 }
 main :is(.phero,.pf-hero,.trends-hero,.trends-archive-hero)>:is(.wrap,.pf-wrap),
 .reading-page main>.reading-breadcrumb,.reading-page main .reading-hero{
  max-width:var(--internal-hero-width);padding-inline:var(--internal-hero-gutter);
 }
 .tool-page main>.lt-hero,.reading-page main>.contact{padding-inline:0}
 .tool-page .lt-hero>:is(.tool-trail,.lt-grid,.tool-hero-content),
 .reading-page main>.contact>.contact-grid{
  max-width:var(--internal-hero-width);margin-inline:auto;padding-inline:var(--internal-hero-gutter);
 }
 .tool-hero-content{position:relative}
}
@media screen and (max-width:800px){
 :root{--internal-title-size:clamp(2.5rem,7.4vw,3.5rem)}
}
