.ld-audiences { --ld-audiences-top-space:48px; position:relative; isolation:isolate; overflow-x:clip; padding:48px 0 60px; background:#fbfaf7; color:var(--ld-navy); }
.ld-audiences__heading { position:relative; display:grid; text-align:center; margin-bottom:26px; }
.ld-audiences__heading::before { content:''; position:absolute; z-index:-1; grid-row:1 / 3; top:calc(-1 * var(--ld-audiences-top-space)); bottom:0; left:calc((100% - 100vw) / 2); width:100vw; background:linear-gradient(to bottom,#f9f5f0,#fbfaf7); pointer-events:none; }
.ld-audiences__eyebrow { display:flex; justify-content:center; align-items:center; gap:16px; color:var(--ld-accent); font:600 12px/1.5 var(--ld-sans); letter-spacing:.08em; margin-bottom:14px; }
.ld-audiences__eyebrow::before, .ld-audiences__eyebrow::after { content:''; width:45px; height:1px; background:currentColor; }
.ld-audiences__heading h2 { font:400 clamp(28px,3vw,36px)/1.2 var(--ld-serif); letter-spacing:-.025em; margin:0 0 10px; }
.ld-audiences__heading h2::after { content:''; display:block; width:36px; height:1px; background:var(--ld-accent); margin:12px auto 0; }
.ld-audiences__intro { max-width:510px; margin:0 auto; color:#52657b; font-size:15px; line-height:1.65; }
.ld-audiences__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.ld-audiences__panel { position:relative; isolation:isolate; overflow:hidden; width:100%; min-width:0; aspect-ratio:1.55; min-height:250px; background:var(--ld-navy); color:#fff; }
.ld-audiences__panel > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.ld-audiences__panel::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(3,18,29,.12),rgba(3,18,29,.3) 35%,rgba(3,18,29,.92)); transition:background-color 250ms ease; }
.ld-audiences__copy { position:absolute; z-index:3; inset:auto 24px 24px; pointer-events:none; }
.ld-audiences__copy h3 { font:400 24px/1.2 var(--ld-serif); letter-spacing:-.025em; margin:0; }
.ld-audiences__copy h3::after { content:''; display:block; width:36px; height:2px; background:#c8964a; margin-top:14px; }
.ld-audiences__reveal { display:grid; grid-template-rows:1fr; }
.ld-audiences__reveal > p { overflow:hidden; min-height:0; font-size:14px; line-height:1.6; margin:0; padding-top:14px; color:#f6f3ed; }
.ld-audiences.is-interactive .ld-audiences__reveal { grid-template-rows:0fr; opacity:0; visibility:hidden; transition:grid-template-rows 250ms ease,opacity 250ms ease,visibility 250ms; }
.ld-audiences.is-interactive .ld-audiences__reveal > p { padding-top:0; }
.ld-audiences .is-expanded .ld-audiences__reveal { grid-template-rows:1fr; opacity:1; visibility:visible; }
.ld-audiences .is-expanded .ld-audiences__copy h3 { margin-bottom:14px; }
.ld-audiences .is-expanded::after { background-color:rgba(3,18,29,.35); }
.ld-audiences__toggle { position:absolute; z-index:2; inset:0; width:100%; height:100%; padding:0; border:0; border-radius:0; color:#fff; background:transparent; cursor:pointer; }
.ld-audiences__toggle[hidden] { display:none; }
.ld-audiences__toggle:focus-visible { outline:2px solid #e3b76d; outline-offset:-5px; }
.ld-audiences__hint { display:none; position:absolute; right:24px; bottom:10px; font:12px/1.5 var(--ld-sans); color:#f6f3ed; }
@media(max-width:1100px) and (min-width:901px) { .ld-audiences__copy { inset:auto 18px 22px; } .ld-audiences__copy h3 { font-size:21px; } .ld-audiences__panel { min-height:290px; } .ld-audiences__reveal > p { font-size:13px; } }
@media(max-width:1100px) { .ld-audiences { padding-bottom:40px; } }
@media(max-width:900px) { .ld-audiences__grid { grid-template-columns:1fr; } .ld-audiences__panel { aspect-ratio:2.2; min-height:260px; } }
@media(hover:none), (pointer:coarse) { .ld-audiences__hint { display:block; } .ld-audiences__copy { bottom:38px; } }
@media(max-width:600px) { .ld-audiences { --ld-audiences-top-space:36px; padding-top:36px; padding-bottom:30px; } .ld-audiences__intro { font-size:14px; } .ld-audiences__panel { aspect-ratio:1.4; min-height:280px; } .ld-audiences__copy { left:22px; right:22px; } .ld-audiences__copy h3 { font-size:22px; } }
@media(prefers-reduced-motion:reduce) { .ld-audiences__panel::after, .ld-audiences.is-interactive .ld-audiences__reveal { transition:none; } }
/* Phone feature: one audience image, with labelled selectors below. */
@media(max-width:600px) {
 .ld-audiences.is-mobile-feature .ld-audiences__panel { aspect-ratio:1 / 1.15; min-height:360px; }
 .ld-audiences.is-mobile-feature .ld-audiences__toggle { display:none; }
 .ld-audiences.is-mobile-feature .ld-audiences__copy { bottom:24px; }
 .ld-audiences.is-mobile-feature .ld-audiences__reveal { transform:translateY(8px); transition:grid-template-rows 280ms ease,opacity 280ms ease,transform 280ms ease,visibility 280ms; }
 .ld-audiences.is-mobile-feature .is-expanded .ld-audiences__reveal { transform:translateY(0); }
 .ld-audiences__selectors { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:16px; }
 .ld-audiences__selectors button { min-width:0; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:8px; padding:12px 4px; border:0; border-bottom:2px solid #e8e3dc; background:transparent; color:#607084; font:12px/1.5 var(--ld-sans); }
 .ld-audiences__selectors button span { max-width:90px; }
 .ld-audiences__selectors button[aria-selected=true] { color:var(--ld-navy); border-bottom-color:var(--ld-accent); }
 .ld-audiences__selectors button:focus-visible { outline:2px solid var(--ld-accent); outline-offset:-2px; }
}
@media(prefers-reduced-motion:reduce) {
 .ld-audiences.is-mobile-feature .ld-audiences__reveal { transform:none; transition:none; }
}
