/* Audience navigation follows the supplied Mews sidebar, in the approved palette. */
.ys-audience-page main { overflow:clip; }
.ys-audience-layout {
  display:flex; align-items:flex-start; gap:48px;
  width:min(1140px,calc(100% - 96px)); margin:0 auto; padding:90px 0 100px;
}
.ys-audience-nav { position:sticky; top:112px; width:25%; max-width:272px; flex-shrink:0; }
.ys-audience-nav ul { list-style:none; padding:0; margin:0; border-top:1px solid #082f6233; }
.ys-audience-nav li { position:relative; border-bottom:1px solid #082f6233; }
.ys-audience-nav a {
  display:flex; align-items:center; min-height:64px; padding:16px 0;
  color:var(--ys-lab-ink); text-decoration:none; font-size:15px;
  font-weight:600; line-height:1.35; text-transform:uppercase;
}
.ys-audience-nav__dot-space {
  display:grid; width:0; flex-shrink:0; place-items:center;
  transition:width .2s cubic-bezier(.16,1,.3,1);
}
.ys-audience-nav__dot {
  width:16px; height:16px; border-radius:50%; background:var(--ys-brand-green,#598365);
  opacity:0; transform:scale(.5);
  transition:opacity .2s cubic-bezier(.16,1,.3,1),transform .2s cubic-bezier(.16,1,.3,1);
}
.ys-audience-nav__label { transition:transform .2s cubic-bezier(.16,1,.3,1); }
.ys-audience-nav a[aria-current="location"] .ys-audience-nav__dot-space { width:16px; }
.ys-audience-nav a[aria-current="location"] .ys-audience-nav__dot {
  opacity:1; transform:scale(1); transition-delay:.15s;
}
.ys-audience-nav a[aria-current="location"] .ys-audience-nav__label { transform:translateX(10px); }
.ys-audience-nav a:focus-visible { outline:2px solid var(--ys-brand-green); outline-offset:4px; }
.ys-audience-nav__progress {
  position:absolute; left:0; right:0; bottom:-1px; height:1.5px;
  background:var(--ys-brand-green,#598365); transform:scaleX(0); transform-origin:left;
  transition:transform 75ms linear; pointer-events:none;
}
@media(hover:hover) {
  .ys-audience-nav a:hover .ys-audience-nav__label { transform:translateX(10px); }
}
.ys-audience-content { min-width:0; flex:1; }
.ys-audience-section { margin:0 0 88px; scroll-margin-top:2px; }
.ys-audience-section:last-child { margin-bottom:0; }
.ys-audience-section h2 { margin:0 0 26px; font-size:clamp(32px,3.3vw,48px); line-height:1.05; }
.ys-audience-section p { max-width:64ch; margin:0 0 20px; font-weight:400; }
.ys-audience-section__image {
  display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover;
  border-radius:12px; margin:32px 0;
}
.ys-audience-section .legal-doclinks { margin:28px 0 0; }
@media(max-width:990px) and (min-width:768px) {
  .ys-audience-layout { width:calc(100% - 64px); gap:32px; }
  .ys-audience-nav { width:30%; }
  .ys-audience-nav a { font-size:13px; }
}
@media(max-width:767px) {
  .ys-audience-layout { display:block; width:auto; margin:0 24px; padding:48px 0 64px; }
  .ys-audience-nav { top:88px; width:100%; max-width:none; z-index:4; background:var(--ys-lab-paper,#faf7f0); padding:8px 0; }
  .ys-audience-nav ul { display:grid; grid-template-columns:1fr 1fr; column-gap:20px; }
  .ys-audience-nav a { font-size:12px; min-height:54px; padding:14px 0; }
  .ys-audience-nav__dot,.ys-audience-nav a[aria-current="location"] .ys-audience-nav__dot-space { width:12px; }
  .ys-audience-nav__dot { height:12px; }
  .ys-audience-nav a[aria-current="location"] .ys-audience-nav__label { transform:translateX(6px); }
  .ys-audience-content { margin-top:40px; }
  .ys-audience-section { margin-bottom:64px; scroll-margin-top:122px; }
  .ys-audience-section h2 { font-size:32px; }
  .ys-audience-section__image { margin:26px 0; }
}
@media(prefers-reduced-motion:reduce) {
  .ys-audience-nav * { transition:none!important; }
}
@media(max-width:359px) {
  .ys-audience-nav ul { grid-template-columns:1fr; }
  .ys-audience-nav a { font-size:13px; }
  .ys-audience-section { scroll-margin-top:230px; }
}
@media print {
  .ys-audience-nav { display:none; }
  .ys-audience-layout { display:block; width:100%; padding:30px 0; }
  .ys-audience-section { break-inside:avoid; }
}
