/* Readable audience pages, scoped so existing product surfaces retain their layout. */
.aud-page { --aud-ink:#132137; --aud-muted:#40536a; --aud-line:#c4d1df; color:var(--aud-ink); font-size:1rem; line-height:1.65; }
.aud-page *, .aud-page *::before, .aud-page *::after { box-sizing:border-box; }
.aud-page .section { color:var(--aud-ink); background:#fff; }
.aud-page .section--soft { background:#edf4fa; }
.aud-page .shell { width:min(1160px,calc(100% - 48px)); }
.aud-page .aud-hero { background:#edf4fa; color:var(--aud-ink); padding:48px 0 64px; }
.aud-page h1,.aud-page h2,.aud-page h3 { color:var(--aud-ink); overflow-wrap:break-word; text-wrap:balance; }
.aud-page h1 { max-width:930px; margin:20px 0; font-size:clamp(2.25rem,5.5vw,4.75rem); line-height:1.08; letter-spacing:-.045em; }
.aud-page h2 { max-width:880px; margin:12px 0 0; font-size:clamp(1.8rem,3.6vw,2.8rem); line-height:1.16; letter-spacing:-.03em; }
.aud-page h3 { margin:0 0 10px; font-size:1.3rem; line-height:1.3; letter-spacing:-.015em; }
.aud-page p { margin:0 0 16px; max-width:76ch; color:var(--aud-muted); font-size:1rem; line-height:1.7; }
.aud-page .aud-intro { font-size:clamp(1.05rem,1.65vw,1.25rem); line-height:1.65; max-width:70ch; }
.aud-page a:not(.button) { color:#075875; text-decoration:underline; text-decoration-thickness:1.5px; text-underline-offset:3px; overflow-wrap:anywhere; }
.aud-page a:focus-visible,.aud-page summary:focus-visible { outline:3px solid #00748f; outline-offset:4px; border-radius:3px; }
.aud-page .aud-breadcrumbs { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 28px; color:var(--aud-muted); font-size:.9375rem; }
.aud-page .aud-eyebrow { display:block; color:#086075; font-size:.8rem; font-weight:750; line-height:1.5; letter-spacing:.09em; text-transform:uppercase; }
.aud-page .aud-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:22px; }
.aud-page .button { display:inline-flex; justify-content:center; align-items:center; text-align:center; min-height:48px; max-width:100%; height:auto; padding:12px 20px; white-space:normal; overflow-wrap:break-word; font-size:.9375rem; font-weight:700; line-height:1.4; text-decoration:none; }
.aud-page .button--primary { color:#09212e; background:#77e7f2; border:1px solid #37b8c6; }
.aud-page .button--primary:hover { background:#9af0f7; }
.aud-page .button--ghost { color:#13374f; background:#fff; border:1px solid #9cb4c8; }
.aud-page .button--ghost:hover { background:#edf6fb; }
.aud-page .aud-section-head { margin:0 0 30px; }
.aud-page .grid { gap:22px; align-items:stretch; }
.aud-page .grid > * { min-width:0; }
.aud-page .aud-card { display:flex; flex-direction:column; align-items:flex-start; padding:26px; background:#fff; border:1px solid var(--aud-line); border-radius:20px; color:var(--aud-ink); box-shadow:0 4px 16px #12223705; }
.aud-page .aud-card > .button { margin-top:auto; }
.aud-page .aud-card p { color:var(--aud-muted); }
.aud-page .aud-layout { display:grid; grid-template-columns:minmax(220px,.8fr) minmax(0,1.65fr); gap:40px; align-items:start; }
.aud-page .aud-fit { padding:26px; border:1px solid var(--aud-line); border-radius:20px; background:#fff; }
.aud-page .aud-list { margin:0; padding-left:23px; color:var(--aud-muted); }
.aud-page .aud-list li { padding-left:4px; margin:0 0 14px; line-height:1.65; }
.aud-page .aud-list li:last-child { margin-bottom:0; }
.aud-page .aud-list li::marker { color:#08778b; }
.aud-page .aud-stack { display:grid; gap:28px; }
.aud-page .aud-step { display:grid; grid-template-columns:44px minmax(0,1fr); gap:18px; }
.aud-page .aud-step-number { display:flex; justify-content:center; align-items:center; width:44px; height:44px; border-radius:14px; background:#10384e; color:#fff; font-weight:750; font-size:1rem; font-variant-numeric:tabular-nums; }
.aud-page .aud-example { padding:28px; border-left:4px solid #148ca0; border-radius:0 18px 18px 0; background:#eef7fb; }
.aud-page .aud-text-link { display:inline-block; padding:6px 0; font-weight:700; }
.aud-page .aud-boundary { padding:28px; border:1px solid var(--aud-line); border-radius:20px; background:#f8fbfd; }
.aud-page .aud-boundary > p { margin:22px 0 0; }
.aud-page .aud-next { padding:34px; border:1px solid #b8cfdf; border-radius:24px; background:#e4f2f8; }
.aud-page .aud-next h2 { margin-top:0; }
.aud-page .aud-next p { margin-top:16px; }
.aud-page .aud-source { margin-top:24px; font-size:.9375rem; }
.aud-page .aud-timeline { display:grid; gap:0; list-style:none; margin:0; padding:0; max-width:960px; }
.aud-page .aud-timeline > li { display:grid; grid-template-columns:44px minmax(0,1fr); gap:22px; padding:28px 0; border-bottom:1px solid var(--aud-line); }
.aud-page .aud-timeline > li:first-child { padding-top:0; }
.aud-page .aud-timeline > li:last-child { padding-bottom:0; border-bottom:0; }
.aud-page .aud-timeline p { margin-bottom:8px; }
.aud-page .aud-faq { max-width:960px; }
.aud-page .aud-faq details { border-top:1px solid var(--aud-line); }
.aud-page .aud-faq details:last-child { border-bottom:1px solid var(--aud-line); }
.aud-page .aud-faq summary { cursor:pointer; padding:20px 0; color:var(--aud-ink); font-size:1.0625rem; font-weight:700; line-height:1.5; }
.aud-page .aud-faq details > p { padding:0 24px 8px 0; }
.aud-page .aud-case h2 { margin:12px 0 18px; font-size:1.65rem; line-height:1.25; }
.aud-page .aud-case h3 { margin:6px 0 10px; font-size:1.0625rem; }
.aud-page .aud-case-goal { font-weight:600; }
.aud-page .aud-result { width:100%; padding:20px; margin:4px 0 8px; border-radius:14px; background:#eef5fa; }
.aud-page .aud-result p { margin-bottom:0; }
.aud-page .aud-case .aud-actions { margin-top:auto; padding-top:16px; }
@media(max-width:1000px) { .aud-page .grid--3 { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:720px) {
  .aud-page .shell { width:calc(100% - 36px); }
  .aud-page .section { padding:46px 0; }
  .aud-page .aud-hero { padding:30px 0 42px; }
  .aud-page .aud-layout,.aud-page .grid--2,.aud-page .grid--3 { grid-template-columns:minmax(0,1fr); }
  .aud-page .aud-layout { gap:30px; }
  .aud-page .aud-card,.aud-page .aud-fit { padding:23px; }
  .aud-page .aud-step,.aud-page .aud-timeline > li { gap:14px; }
  .aud-page .aud-next { padding:26px; }
}
@media(max-width:420px) {
  .aud-page .shell { width:calc(100% - 28px); }
  .aud-page .aud-actions { display:grid; grid-template-columns:minmax(0,1fr); width:100%; }
  .aud-page .button { width:100%; }
  .aud-page .aud-example,.aud-page .aud-boundary,.aud-page .aud-next { padding:22px; }
  .aud-page .aud-step,.aud-page .aud-timeline > li { grid-template-columns:36px minmax(0,1fr); gap:12px; }
  .aud-page .aud-step-number { width:36px; height:36px; border-radius:11px; font-size:.9rem; }
}
