/* Silver Lining Recovery :: hub design system.
   Every selector is scoped under .slr-hub, so this is safe to load
   site-wide. GENERATED by build_css.py from gen_hub / gen_sub /
   native_css. Do not hand-edit. */
.slr-hub {
    --action:        #f7955b;
    --action-ink:    #3d2412;
    --action-hover:  #f08342;
    --action-wash:   #fdf2ec;
    --action-2:      #2a6fb2;
    --heading:       #2a6fb2;
    --link:          #2a6fb2;
    --ink:           #444444;
    --ink-body:      #444444;
    --ink-muted:     #636a77;
    --ink-faint:     #5f6770;
    --ground:        #ffffff;
    --wash:          #f5f8fb;
    --rule:          #e9eef5;
    --rule-soft:     #f0f4f8;
    --good:          #1e8758;
    --slr-blue:       var(--heading);
    --slr-blue-ink:   var(--link);
    --slr-blue-deep:  var(--heading);
    --slr-blue-wash:  var(--wash);
    --slr-sunset:     var(--action);
    --slr-sunset-wash:var(--action-wash);
    --page-bg:        var(--ground);
    --sans: "Open Sans", "Open Sans Fallback", -apple-system, "Segoe UI", Roboto, sans-serif;
    --display: "Nunito", "Nunito Fallback", -apple-system, "Segoe UI", Roboto, sans-serif;
    --pill: 34px;
    --maxw: 1140px;
  }
.slr-hub {
    background: var(--ground);
    color: var(--ink-body);
    font-family: var(--sans);
    font-size: 15px;
    line-height: 1.6;
  }
.slr-hub * { box-sizing: border-box; }
.slr-hub
  section { position: relative; }
.slr-hub .slr-inner { max-width: 1000px; margin: 0 auto; padding-inline: 32px; }
.slr-hub
  .slr-hero {
    position: relative;
    background: #17313f;
    color: #fff;
    padding: 58px 0 0;
    isolation: isolate;
  }
.slr-hub
  .slr-hero-photo {
    position: absolute; inset: 0; z-index: -2;
    width: 100%; height: 100%; object-fit: cover; object-position: 62% 60%;
  }
.slr-hub .slr-hero::after {
    content: ""; position: absolute; inset: 0; z-index: -1;
    background: linear-gradient(100deg, rgba(16,38,54,.94) 0%, rgba(16,38,54,.86) 42%, rgba(16,38,54,.52) 72%, rgba(16,38,54,.35) 100%);
  }
.slr-hub .slr-hero .slr-inner { max-width: 760px; }
.slr-hub .slr-hero .slr-kick {
    font-size: 11.5px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase;
    color: #ffffff; margin-bottom: 12px;
  }
.slr-hub .slr-hero h2 {
    font-family: var(--display); font-weight: 800; font-size: 44px; line-height: 1.08;
    margin: 0 0 14px; letter-spacing: -0.02em; text-wrap: balance; color: #fff !important;
  }
.slr-hub .slr-hero p.slr-sub { font-size: 16.5px; color: #dbe9f3; margin: 0 0 24px; max-width: 48ch; }
.slr-hub .slr-hero .slr-ctas { display: flex; gap: 11px; flex-wrap: wrap; align-items: center; }
.slr-hub .slr-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 9px;
    padding: 14px 24px; border-radius: var(--pill); font-weight: 700; font-size: 14.5px;
    text-decoration: none; border: 2px solid transparent; font-family: var(--sans); line-height: 1;
  }
.slr-hub .slr-btn-white { background: var(--action); color: var(--action-ink); }
.slr-hub .slr-btn-ghost { background: transparent; color: #fff; border-color: rgba(255,255,255,.7); }
.slr-hub .slr-btn-blue { background: var(--action); color: var(--action-ink); }
.slr-hub .slr-btn-blue:hover { background: var(--action-hover); }
.slr-hub .slr-btn-outline { background: #fff; color: var(--action-2); border-color: var(--action-2); }
.slr-hub .slr-btn .slr-num { font-variant-numeric: tabular-nums; }
.slr-hub
  .slr-hero-creds {
    position: relative; z-index: 1; margin-top: 44px;
    border-top: 1px solid rgba(255,255,255,.13);
    background: linear-gradient(180deg, rgba(8,22,31,.28) 0%, rgba(11,29,39,.60) 100%);
    padding: 15px 0 17px;
  }
.slr-hub
  .slr-hero-creds .slr-inner {
    max-width: 1060px;
    display: flex; align-items: center; justify-content: center;
    gap: 18px; flex-wrap: wrap;
  }
.slr-hub .slr-hero-creds-label {
    font-size: 10px; font-weight: 800; letter-spacing: .17em; text-transform: uppercase;
    color: #a6c0d1; white-space: nowrap;
  }
.slr-hub .slr-creds-row { display: flex; gap: 14px; justify-content: center; flex-wrap: nowrap; align-items: center; }
  @media (max-width: 1040px) {
.slr-hub .slr-hero-creds .slr-inner { flex-direction: column; gap: 11px; }
.slr-hub .slr-hero-creds-label { text-align: center; }}
  @media (max-width: 720px) {
.slr-hub .slr-creds-row { flex-wrap: wrap; gap: 9px; }
.slr-hub .slr-creds-row { gap: 10px; }
.slr-hub .slr-cred { font-size: 11.5px; padding: 6px 10px; }
.slr-hub .slr-cred span.slr-sub { display: none; }}
.slr-hub .slr-cred {
    display: inline-flex; align-items: center; gap: 9px; font-size: 12.5px; color: #eaf2f8;
    font-family: var(--display); font-weight: 700; text-decoration: none;
    padding: 7px 13px; border-radius: 9px;
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(255,255,255,.12);
    transition: background .14s, border-color .14s;
  }
.slr-hub .slr-cred:hover { background: rgba(255,255,255,.10); border-color: rgba(255,255,255,.24); }
.slr-hub .slr-cred svg.slr-mark { width: 19px; height: 19px; flex-shrink: 0; }
.slr-hub .slr-cred img.slr-mark-img {
    height: 30px; width: auto; flex-shrink: 0;
    background: #fff; border-radius: 5px; padding: 4px 7px;
  }
.slr-hub .slr-cred span.slr-sub { font-family: var(--sans); font-weight: 400; color: #a9c4d6; font-size: 11.5px; }
.slr-hub
  .slr-sec-head { text-align: center; margin-bottom: 28px; }
.slr-hub
  .slr-sec-head .slr-eyebrow, .slr-hub .slr-spot .slr-eyebrow, .slr-hub .slr-ins-head .slr-eyebrow {
    display: inline-block; background: none; padding: 0;
    color: var(--ink);
    font-size: 10.5px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase;
    margin-bottom: 12px;
  }
.slr-hub .slr-sec-head h2 {
    font-family: var(--display); font-weight: 800; font-size: 32px; color: var(--slr-blue) !important;
    margin: 0 0 8px; letter-spacing: -0.015em; text-wrap: balance;
  }
.slr-hub .slr-sec-head p { color: var(--ink-muted); max-width: 62ch; margin: 0 auto; font-size: 15px; }
.slr-hub .slr-band { padding: 52px 0; }
.slr-hub .slr-band.slr-wash { background: var(--slr-blue-wash); }
.slr-hub .slr-band.slr-warm { background: linear-gradient(160deg, #fdf2ec 0%, #fdf8f4 55%, #eff5fb 100%); }
.slr-hub
  .slr-prog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.slr-hub .slr-prog {
    background: #fff; border: 1px solid var(--rule); padding: 28px 24px 22px;
    display: flex; flex-direction: column; align-items: center; text-align: center;
    text-decoration: none; transition: border-color .14s, box-shadow .14s;
  }
.slr-hub .slr-prog::after {
    content: "View program \2192";
    margin-top: 14px; padding-top: 12px; width: 100%;
    border-top: 1px solid var(--rule-soft);
    font-family: var(--sans); font-size: 12.5px; font-weight: 700;
    color: var(--link); letter-spacing: .01em;
    opacity: .72; transition: opacity .14s, transform .14s;
  }
.slr-hub .slr-prog:hover, .slr-hub .slr-prog:focus-visible {
    border-color: var(--link);
    box-shadow: 0 10px 26px -10px rgba(24,44,68,.30);
    transform: translateY(-3px);
  }
.slr-hub .slr-prog:hover::after, .slr-hub .slr-prog:focus-visible::after { opacity: 1; transform: translateX(3px); }
.slr-hub .slr-prog:hover h3, .slr-hub .slr-prog:focus-visible h3 { color: var(--link) !important; }
.slr-hub .slr-prog:hover .slr-ico, .slr-hub .slr-prog:focus-visible .slr-ico { transform: scale(1.06); }
.slr-hub .slr-prog .slr-ico { transition: transform .14s; }
.slr-hub .slr-prog:focus-visible, .slr-hub .slr-prog-strip:focus-visible {
    outline: 3px solid var(--action); outline-offset: 3px;
  }
.slr-hub .slr-prog-strip:hover, .slr-hub .slr-prog-strip:focus-visible {
    border-color: var(--link);
    box-shadow: 0 10px 26px -10px rgba(24,44,68,.30);
    transform: translateY(-3px);
  }
.slr-hub .slr-prog-strip { transition: border-color .14s, box-shadow .14s, transform .14s; }
  @media (prefers-reduced-motion: reduce) {
.slr-hub .slr-prog, .slr-hub .slr-prog-strip, .slr-hub .slr-prog .slr-ico, .slr-hub .slr-prog::after { transition: none; }
.slr-hub .slr-prog:hover, .slr-hub .slr-prog:focus-visible, .slr-hub .slr-prog-strip:hover, .slr-hub .slr-prog-strip:focus-visible { transform: none; }}
.slr-hub .slr-prog .slr-ico { width: 44px; height: 44px; color: var(--slr-blue); margin-bottom: 14px; }
.slr-hub .slr-prog .slr-ico svg { width: 100%; height: 100%; display: block; }
.slr-hub .slr-prog h3 { font-family: var(--display); font-weight: 700; font-size: 19px; color: var(--ink) !important; margin: 0 0 9px; text-wrap: balance; }
.slr-hub .slr-prog p { font-size: 13.5px; margin: 0 0 14px; color: var(--ink-body); }
.slr-hub .slr-prog-spec {
    margin-top: auto; padding-top: 14px; border-top: 1px solid var(--rule-soft);
    width: 100%; text-align: left; display: flex; flex-direction: column; gap: 7px;
  }
.slr-hub .slr-prog-spec .slr-row { display: flex; align-items: baseline; gap: 10px; font-size: 12.5px; }
.slr-hub .slr-prog-spec .slr-row dt {
    flex: 0 0 auto; width: 84px; margin: 0;
    font-size: 10px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase;
    color: var(--ink-faint);
  }
.slr-hub .slr-prog-spec .slr-row dd { margin: 0; color: var(--ink-body); font-weight: 600; }
.slr-hub .slr-prog-spec .slr-row.slr-stack { flex-direction: column; gap: 3px; }
.slr-hub .slr-prog-spec .slr-row.slr-stack dt { width: auto; }
.slr-hub .slr-prog-spec .slr-row.slr-stack dd { font-weight: 400; color: var(--ink-muted); line-height: 1.5; }
.slr-hub .slr-prog .slr-meta {
    margin-top: auto; padding-top: 11px; border-top: 1px solid var(--rule-soft); width: 100%;
    display: flex; flex-direction: column; gap: 4px; font-size: 12px; color: var(--ink-muted); font-weight: 600;
  }
.slr-hub
  .slr-ins-banner {
    display: flex; align-items: center; justify-content: space-between; gap: 20px;
    flex-wrap: wrap;
    background: #f4fbf7; border: 1px solid #bfe3d0; border-radius: 10px;
    padding: 16px 20px; margin-bottom: 10px;
  }
.slr-hub .slr-ins-banner-main { display: flex; align-items: center; gap: 13px; min-width: 0; }
.slr-hub .slr-ins-banner-main > svg { width: 26px; height: 26px; color: var(--good); flex-shrink: 0; }
.slr-hub .slr-ins-banner-main b {
    display: block; font-family: var(--display); font-weight: 700;
    font-size: 15.5px; color: #14663f; margin-bottom: 2px;
  }
.slr-hub .slr-ins-banner-main span { font-size: 13px; color: #3d6b54; }
.slr-hub .slr-ins-banner-cta { white-space: nowrap; padding: 11px 20px; font-size: 13.5px; }
.slr-hub .slr-ins-caveat {
    font-size: 12.5px; color: var(--ink-muted); margin: 0 0 22px; text-align: center;
  }
.slr-hub .slr-prog.slr-feat { border-top: 3px solid var(--action); }
.slr-hub .slr-prog.slr-feat h3 { color: var(--slr-blue-deep) !important; }
.slr-hub
  .slr-prog-strip {
    grid-column: 1 / -1;
    background: #fcfdfe; border: 1px solid var(--rule);
    padding: 24px 26px; text-decoration: none;
    display: flex; flex-direction: column; gap: 16px;
    transition: border-color .14s, box-shadow .14s;
  }
.slr-hub .slr-prog-strip:hover { border-color: #cfe0ef; box-shadow: 0 4px 18px -8px rgba(24,44,68,.16); }
.slr-hub .slr-strip-head { display: flex; align-items: flex-start; gap: 16px; }
.slr-hub .slr-strip-head .slr-strip-cue {
    margin-left: auto; align-self: center; white-space: nowrap;
    font-family: var(--sans); font-size: 12.5px; font-weight: 700; color: var(--link);
    opacity: .72; transition: opacity .14s, transform .14s;
  }
.slr-hub .slr-prog-strip:hover .slr-strip-cue, .slr-hub .slr-prog-strip:focus-visible .slr-strip-cue { opacity: 1; transform: translateX(3px); }
  @media (max-width: 640px) {
.slr-hub .slr-strip-head .slr-strip-cue { margin-left: 0; align-self: flex-start; }
.slr-hub .slr-strip-head { flex-wrap: wrap; }}
.slr-hub .slr-prog-strip .slr-ico { width: 38px; height: 38px; color: #9db4c8; flex-shrink: 0; }
.slr-hub .slr-prog-strip .slr-ico svg { width: 100%; height: 100%; display: block; }
.slr-hub .slr-strip-copy h3 {
    font-family: var(--display); font-weight: 700; font-size: 18px;
    color: var(--ink-muted) !important; margin: 0 0 5px;
  }
.slr-hub .slr-strip-copy p { font-size: 13.5px; color: var(--ink-body); margin: 0; max-width: 62ch; }
.slr-hub .slr-prog-spec.slr-spec-row {
    margin-top: 0; padding-top: 14px;
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px 20px;
  }
.slr-hub .slr-prog-spec.slr-spec-row .slr-row { flex-direction: column; gap: 3px; }
.slr-hub .slr-prog-spec.slr-spec-row .slr-row dt { width: auto; }
.slr-hub
  .slr-diff-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 26px; }
.slr-hub .slr-diff { text-align: center; }
.slr-hub .slr-diff .slr-ico { width: 40px; height: 40px; margin: 0 auto 12px; color: var(--slr-blue); }
.slr-hub .slr-diff .slr-ico svg { width: 100%; height: 100%; }
.slr-hub .slr-diff h3 {
    font-family: var(--sans); font-weight: 700; font-size: 11.5px; letter-spacing: .1em;
    text-transform: uppercase; color: var(--ink) !important; margin: 0 0 8px;
  }
.slr-hub .slr-diff p { font-size: 13.5px; color: var(--ink-muted); margin: 0; }
.slr-hub
  .slr-tabs { display: flex; gap: 6px; justify-content: center; flex-wrap: wrap; margin-bottom: 22px; }
.slr-hub .slr-tab {
    border: 1px solid var(--rule); background: #fff; cursor: pointer;
    padding: 9px 17px; border-radius: var(--pill); font-family: var(--sans);
    font-size: 12px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase;
    color: var(--ink-muted);
  }
.slr-hub .slr-tab[aria-selected="true"] { background: var(--slr-blue); border-color: var(--slr-blue); color: #fff; }
.slr-hub .slr-chips { display: flex; flex-wrap: wrap; gap: 9px; justify-content: center; max-width: 840px; margin: 0 auto; }
.slr-hub .slr-chip {
    display: inline-flex; align-items: center; gap: 8px;
    background: #fff; border: 1px solid var(--rule); border-radius: var(--pill);
    padding: 10px 17px; font-size: 13.5px; color: var(--ink); text-decoration: none;
    transition: border-color .12s, color .12s;
  }
.slr-hub .slr-chip:hover { border-color: var(--slr-blue); color: var(--slr-blue-deep); }
.slr-hub .slr-chip .slr-arrow { color: var(--ink-faint); font-size: 12px; }
.slr-hub .slr-chip:hover .slr-arrow { color: var(--slr-blue); }
.slr-hub .slr-chip .slr-tgt {
    font-size: 11px; color: var(--ink-faint); font-family: var(--sans);
    border-left: 1px solid var(--rule); padding-left: 8px; margin-left: 2px;
  }
.slr-hub .slr-panel[hidden] { display: none; }
.slr-hub .slr-route-note {
    text-align: center; margin-top: 20px; font-size: 13px; color: var(--ink-muted);
  }
.slr-hub .slr-route-note a { color: var(--slr-blue-deep); font-weight: 700; }
.slr-hub
  .slr-ins-head {
    display: flex; align-items: flex-end; justify-content: space-between;
    gap: 24px; flex-wrap: wrap; margin-bottom: 18px;
  }
.slr-hub .slr-ins-head .slr-lhs { min-width: 0; }
.slr-hub .slr-ins-head h2 {
    font-family: var(--display); font-weight: 800; font-size: 32px; color: var(--slr-blue) !important;
    margin: 0; letter-spacing: -0.015em; line-height: 1.14; text-wrap: balance;
  }
.slr-hub .slr-payer-grid {
    display: grid; grid-template-columns: repeat(5, minmax(0, 1fr));
    border: 1px solid var(--rule); background: var(--rule);
    gap: 1px;
  }
.slr-hub .slr-payer {
    background: #fff; min-height: 96px;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    padding: 18px 12px 0; position: relative; text-align: center;
  }
.slr-hub .slr-payer .slr-wordmark {
    font-family: var(--display); font-weight: 700; font-size: 15px;
    color: #6a737c; letter-spacing: -0.01em; line-height: 1.15;
    filter: grayscale(1);
  }
.slr-hub .slr-payer .slr-wordmark small { display: block; font-size: 9.5px; font-weight: 600; letter-spacing: .04em; color: #6a737c; }
.slr-hub .slr-payer .slr-inn-tag {
    margin-top: auto; width: calc(100% + 24px); margin-inline: -12px;
    background: #cfdfc9; color: #2c4a26;
    font-size: 9.5px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase;
    padding: 5px 4px;
  }
.slr-hub .slr-payer.slr-is-inn { background: #fcfdfa; }
.slr-hub .slr-payer.slr-is-inn .slr-wordmark { color: var(--ink); filter: none; }
.slr-hub .slr-payer:not(.slr-is-inn) { padding-bottom: 18px; }
.slr-hub .slr-payer-summary {
    margin-top: 16px; background: #5d7489; color: #fff;
    text-align: center; padding: 14px 20px; font-size: 13.5px; font-weight: 600;
  }
.slr-hub .slr-payer-note {
    margin: 12px 0 0; font-size: 12.5px; color: var(--ink-muted); text-align: center;
  }
.slr-hub
  .slr-reviewed {
    display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
    background: #fff; border: 1px solid var(--rule); border-left: 3px solid var(--slr-blue);
    padding: 12px 18px; margin-bottom: 22px; border-radius: 0 8px 8px 0;
  }
.slr-hub .slr-reviewed .slr-lab { font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--slr-blue); }
.slr-hub .slr-reviewed .slr-nm { font-size: 13.5px; color: var(--ink); font-weight: 600; }
.slr-hub .slr-reviewed .slr-nm a { color: var(--slr-blue-deep); }
.slr-hub .slr-reviewed .slr-dt { font-size: 12.5px; color: var(--ink-muted); margin-left: auto; }
.slr-hub
  .slr-takeaways {
    background: var(--slr-sunset-wash); border: 1px solid #f0dcc4; border-radius: 10px;
    padding: 20px 24px; margin-bottom: 26px;
  }
.slr-hub .slr-takeaways h3 {
    font-family: var(--display); font-weight: 800; font-size: 15px; color: #8a5a10 !important;
    margin: 0 0 10px; letter-spacing: .02em;
  }
.slr-hub .slr-takeaways ul { margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: 6px; }
.slr-hub .slr-takeaways li { font-size: 13.5px; color: #5c4a2e; }
.slr-hub
  .slr-answer {
    font-size: 15px; color: var(--ink-body); max-width: 68ch; margin: 0 auto 22px;
    text-align: center;
  }
.slr-hub
  .slr-faq { display: flex; flex-direction: column; gap: 1px; background: var(--rule); border: 1px solid var(--rule); border-radius: 10px; overflow: hidden; }
.slr-hub .slr-faq details { background: #fff; }
.slr-hub .slr-faq summary {
    cursor: pointer; padding: 16px 20px; font-family: var(--display); font-weight: 700;
    font-size: 15.5px; color: var(--ink); list-style: none; display: flex;
    align-items: center; justify-content: space-between; gap: 14px;
  }
.slr-hub .slr-faq summary::-webkit-details-marker { display: none; }
.slr-hub .slr-faq summary::after { content: "+"; color: var(--slr-blue); font-size: 20px; font-weight: 700; flex-shrink: 0; }
.slr-hub .slr-faq details[open] summary::after { content: "\2013"; }
.slr-hub .slr-faq details[open] summary { color: var(--slr-blue-deep); }
.slr-hub .slr-faq .a { padding: 0 20px 18px; font-size: 14px; color: var(--ink-body); max-width: 74ch; }
.slr-hub
  .slr-disclaimer {
    background: #f6f8fa; border-top: 1px solid var(--rule);
    padding: 22px 0; font-size: 12.5px; color: var(--ink-muted);
  }
.slr-hub .slr-disclaimer .slr-inner { max-width: 860px; }
.slr-hub .slr-disclaimer b { color: var(--ink); font-family: var(--display); }
  @media (max-width: 640px) {
.slr-hub .slr-reviewed .slr-dt { margin-left: 0; width: 100%; }}
.slr-hub
  .slr-rev-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.slr-hub .slr-rev {
    background: #fff; border: 1px solid var(--rule); border-radius: 10px; padding: 22px;
    display: flex; flex-direction: column; gap: 12px;
  }
.slr-hub .slr-stars { display: flex; gap: 2px; color: #f5a623; }
.slr-hub .slr-stars svg { width: 15px; height: 15px; }
.slr-hub .slr-rev blockquote { margin: 0; font-size: 14px; color: var(--ink-body); font-style: italic; line-height: 1.6; }
.slr-hub .slr-rev .slr-who { display: flex; align-items: center; gap: 8px; margin-top: auto; font-size: 12.5px; color: var(--ink-muted); }
.slr-hub .slr-rev .slr-who .g { width: 17px; height: 17px; }
.slr-hub .slr-rev .slr-who b { color: var(--ink); font-weight: 600; }
.slr-hub
  .slr-rev-summary {
    display: flex; align-items: center; justify-content: center; gap: 18px;
    flex-wrap: wrap; margin-bottom: 24px;
  }
.slr-hub .slr-rev-score {
    display: flex; align-items: center; gap: 12px;
    background: #fff; border: 1px solid var(--rule); border-radius: 10px; padding: 12px 20px;
  }
.slr-hub .slr-rev-score .slr-num {
    font-family: var(--display); font-weight: 800; font-size: 34px; color: var(--ink);
    line-height: 1; font-variant-numeric: tabular-nums;
  }
.slr-hub .slr-rev-score .slr-meta { display: flex; flex-direction: column; gap: 3px; }
.slr-hub .slr-rev-score .slr-meta .slr-count { font-size: 12.5px; color: var(--ink-muted); }
.slr-hub .slr-rev-glogo { width: 18px; height: 18px; }
.slr-hub .slr-rev-all {
    display: inline-flex; align-items: center; gap: 6px;
    color: var(--slr-blue-deep); font-weight: 700; font-size: 13.5px; text-decoration: none;
  }
.slr-hub
  .slr-week { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 36px; align-items: start; }
.slr-hub .slr-week-copy h3 { font-family: var(--display); font-weight: 800; font-size: 25px; color: var(--ink) !important; margin: 0 0 10px; }
.slr-hub .slr-week-copy p { font-size: 14.5px; color: var(--ink-body); margin: 0 0 16px; }
.slr-hub .slr-week-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 1px; background: var(--rule); border: 1px solid var(--rule); border-radius: 10px; overflow: hidden; }
.slr-hub .slr-week-list li {
    background: #fff; padding: 14px 18px; display: grid;
    grid-template-columns: 52px minmax(0,1fr) auto; gap: 14px; align-items: center; font-size: 13.5px;
  }
.slr-hub .slr-week-list li .n {
    font-family: var(--display); font-weight: 800; color: var(--slr-blue);
    font-variant-numeric: tabular-nums; font-size: 13px;
  }
.slr-hub .slr-week-list li .slr-what b { display: block; color: var(--ink); font-weight: 600; font-size: 14px; }
.slr-hub .slr-week-list li .slr-what span { color: var(--ink-muted); font-size: 12.5px; }
.slr-hub .slr-week-list li .slr-dur { color: var(--ink-muted); font-size: 12px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.slr-hub
  .slr-spot { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 44px; align-items: center; }
.slr-hub .slr-spot h3 { font-family: var(--display); font-weight: 800; font-size: 30px; color: var(--ink) !important; margin: 0 0 12px; letter-spacing: -0.015em; text-wrap: balance; }
.slr-hub .slr-spot p { font-size: 15px; color: var(--ink-body); margin: 0 0 18px; }
.slr-hub .slr-spot-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; padding: 18px 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); margin-bottom: 20px; }
.slr-hub .slr-spot-stats .s strong { display: block; font-family: var(--display); font-weight: 800; font-size: 21px; color: var(--slr-blue-deep); font-variant-numeric: tabular-nums; }
.slr-hub .slr-spot-stats .s span { font-size: 12px; color: var(--ink-muted); }
.slr-hub .slr-spot-visual {
    border-radius: 12px; padding: 30px; background: linear-gradient(145deg, #eef5fd 0%, #fdf2ec 100%);
    border: 1px solid var(--rule); display: flex; flex-direction: column; gap: 14px;
  }
.slr-hub .slr-spot-visual .slr-vrow { display: flex; align-items: center; gap: 12px; background: #fff; border: 1px solid var(--rule); border-radius: 9px; padding: 13px 15px; }
.slr-hub .slr-spot-visual .slr-vrow svg { width: 20px; height: 20px; color: var(--slr-blue); flex-shrink: 0; }
.slr-hub .slr-spot-visual .slr-vrow b { font-family: var(--display); font-size: 14px; color: var(--ink); display: block; }
.slr-hub .slr-spot-visual .slr-vrow span { font-size: 12.5px; color: var(--ink-muted); }
.slr-hub
  .slr-team-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
.slr-hub .slr-mem { text-align: center; text-decoration: none; }
.slr-hub .slr-mem .slr-av {
    width: 84px; height: 84px; border-radius: 50%; margin: 0 auto 10px;
    background: linear-gradient(140deg, #dbe7f1, #f3ddc6);
    display: grid; place-items: center; font-family: var(--display); font-weight: 800;
    color: var(--slr-blue-deep); font-size: 24px; border: 3px solid #fff;
    box-shadow: 0 2px 10px -3px rgba(24,44,68,.2);
  }
.slr-hub .slr-mem b { display: block; font-family: var(--display); font-size: 13.5px; color: var(--ink); font-weight: 700; }
.slr-hub .slr-mem span { font-size: 11.5px; color: var(--ink-muted); }
.slr-hub
  .slr-cat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.slr-hub .slr-cat {
    border: 1px solid var(--rule); border-radius: 10px; padding: 22px 20px; background: #fff;
    text-decoration: none; display: flex; flex-direction: column; gap: 8px;
    transition: border-color .12s, transform .12s;
  }
.slr-hub .slr-cat:hover { border-color: var(--slr-blue); transform: translateY(-2px); }
.slr-hub .slr-cat h3 { font-family: var(--display); font-weight: 700; font-size: 17px; color: var(--ink) !important; margin: 0; }
.slr-hub .slr-cat p { font-size: 13px; color: var(--ink-muted); margin: 0; }
.slr-hub .slr-cat .slr-go { font-size: 12.5px; color: var(--slr-blue); font-weight: 700; margin-top: 4px; }
.slr-hub
  .slr-embed { position: relative; width: 100%; background: #14232f; cursor: pointer; border: 0; padding: 0; display: block; }
.slr-hub .slr-embed img { width: 100%; height: 100%; object-fit: cover; display: block; }
.slr-hub .slr-embed .slr-play {
    position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
    background: linear-gradient(180deg, rgba(10,22,32,.18) 0%, rgba(10,22,32,.55) 100%);
    transition: background .15s;
  }
.slr-hub .slr-embed:hover .slr-play { background: linear-gradient(180deg, rgba(10,22,32,.10) 0%, rgba(10,22,32,.45) 100%); }
.slr-hub .slr-embed .slr-play-btn {
    width: 66px; height: 46px; border-radius: 12px; background: var(--action);
    display: grid; place-items: center; box-shadow: 0 6px 22px -6px rgba(0,0,0,.5);
  }
.slr-hub .slr-embed .slr-play-btn svg { width: 22px; height: 22px; color: var(--action-ink); }
.slr-hub .slr-embed .slr-cap {
    position: absolute; left: 0; right: 0; bottom: 0; padding: 12px 16px;
    color: #fff; font-size: 12.5px; font-weight: 600; text-align: left;
    text-shadow: 0 1px 3px rgba(0,0,0,.6);
  }
.slr-hub .slr-embed iframe { width: 100%; height: 100%; border: 0; display: block; }
.slr-hub .slr-map-static {
    width: 100%; aspect-ratio: 4/3; border: 0; padding: 0; cursor: pointer;
    background: linear-gradient(150deg, #eef5fd 0%, #f7fafd 60%, #fdf2ec 100%);
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px;
    font-family: var(--sans);
  }
.slr-hub .slr-map-static svg { width: 34px; height: 34px; color: var(--link); }
.slr-hub .slr-map-static b { font-family: var(--display); font-size: 15px; color: var(--ink); }
.slr-hub .slr-map-static span { font-size: 13px; color: var(--ink-muted); text-align: center; max-width: 30ch; }
.slr-hub .slr-map-static .slr-go {
    margin-top: 4px; font-size: 12.5px; font-weight: 700; color: var(--link);
    border: 1px solid var(--link); border-radius: 20px; padding: 7px 15px;
  }
.slr-hub
  .slr-film {
    background: radial-gradient(1200px 620px at 50% -18%, #1a3d52 0%, #14303f 52%, #0f242f 100%);
    padding: 58px 0 62px; text-align: center; position: relative;
  }
.slr-hub .slr-film .slr-eyebrow {
    font-size: 11px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase;
    color: #f9aa7b; margin-bottom: 14px;
  }
.slr-hub .slr-film h2 {
    font-family: var(--display); font-weight: 800; font-size: 36px; color: #fff !important;
    margin: 0 auto 12px; letter-spacing: -0.02em; max-width: 18ch; line-height: 1.12;
    text-wrap: balance;
  }
.slr-hub .slr-film > .slr-inner > p {
    color: #cfe0ec; font-size: 15.5px; max-width: 56ch; margin: 0 auto 30px;
  }
.slr-hub .slr-film-stage {
    max-width: 940px; margin: 0 auto; border-radius: 14px; overflow: hidden;
    box-shadow: 0 30px 70px -24px rgba(0,0,0,.65), 0 0 0 1px rgba(255,255,255,.09);
    background: #0d1f29;
  }
.slr-hub .slr-film .slr-embed { aspect-ratio: 16 / 9; }
.slr-hub .slr-film .slr-embed .slr-play-btn { width: 86px; height: 60px; border-radius: 16px; }
.slr-hub .slr-film .slr-embed .slr-play-btn svg { width: 30px; height: 30px; }
.slr-hub .slr-film .slr-embed .slr-cap { display: none; }
  @media (max-width: 900px) {
.slr-hub .slr-film { padding: 40px 0 44px; }
.slr-hub .slr-film h2 { font-size: 26px; max-width: 22ch; }
.slr-hub .slr-film .slr-embed .slr-play-btn { width: 68px; height: 48px; }}
.slr-hub
  .slr-local { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 40px; align-items: start; }
.slr-hub .slr-local-copy h3 { font-family: var(--display); font-weight: 800; font-size: 24px; color: var(--ink) !important; margin: 0 0 10px; }
.slr-hub .slr-local-copy > p { font-size: 14.5px; color: var(--ink-body); margin: 0 0 18px; }
.slr-hub .slr-area-group { margin-bottom: 18px; }
.slr-hub .slr-area-group h4 {
    font-family: var(--sans); font-weight: 700; font-size: 10.5px; letter-spacing: .13em;
    text-transform: uppercase; color: var(--ink-faint) !important; margin: 0 0 8px;
  }
.slr-hub .slr-area-list { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0; padding: 0; }
.slr-hub .slr-area-list li {
    font-size: 13px; color: var(--ink-body); background: #fff;
    border: 1px solid var(--rule); border-radius: 20px; padding: 5px 12px;
  }
.slr-hub .slr-area-list.slr-statewide li { background: var(--action-wash); border-color: #f4d9c6; }
.slr-hub .slr-nap-card {
    background: #fff; border: 1px solid var(--rule); border-radius: 10px;
    padding: 18px 20px; display: flex; flex-direction: column; gap: 10px; margin-top: 4px;
  }
.slr-hub .slr-nap-card .slr-line { display: flex; gap: 11px; align-items: flex-start; font-size: 13.5px; }
.slr-hub .slr-nap-card .slr-line svg { width: 16px; height: 16px; color: var(--link); flex-shrink: 0; margin-top: 2px; }
.slr-hub .slr-nap-card .slr-line b { display: block; color: var(--ink); font-weight: 600; }
.slr-hub .slr-nap-card .slr-line span { color: var(--ink-muted); }
.slr-hub .slr-nap-card a { color: var(--link); text-decoration: none; font-weight: 600; }
.slr-hub .slr-map-frame {
    border: 1px solid var(--rule); border-radius: 10px; overflow: hidden;
    background: #eef5fd; position: relative;
    width: 100%; max-width: 100%; aspect-ratio: 4 / 3;
  }
.slr-hub .slr-map-frame iframe { width: 100%; height: 100%; border: 0; display: block; }
.slr-hub .slr-map-note {
    font-size: 11.5px; color: var(--ink-faint); margin: 8px 0 0; text-align: center;
  }
  @media (max-width: 900px) {
.slr-hub .slr-local { grid-template-columns: minmax(0,1fr); gap: 26px; }}
.slr-hub
  .slr-assure {
    background: linear-gradient(135deg, #1f5688 0%, #2b74b9 55%, #4d6f96 100%);
    color: #fff; padding: 34px 0;
  }
.slr-hub .slr-assure .slr-inner { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; text-align: center; }
.slr-hub .slr-assure .a strong { display: block; font-family: var(--display); font-weight: 800; font-size: 19px; margin-bottom: 5px; }
.slr-hub .slr-assure .a span { font-size: 13px; color: #f1f7fb; }
.slr-hub
  .slr-close-cta {
    padding: 56px 0; text-align: center;
    background: linear-gradient(150deg, #eef5fd 0%, #fbfdfe 48%, #fdf2ec 100%);
    border-top: 1px solid var(--rule);
  }
.slr-hub .slr-close-cta h2 { font-family: var(--display); font-weight: 800; font-size: 32px; color: var(--slr-blue) !important; margin: 0 0 10px; letter-spacing: -0.015em; text-wrap: balance; }
.slr-hub .slr-close-cta p { color: var(--ink-muted); max-width: 54ch; margin: 0 auto 22px; font-size: 15px; }
.slr-hub .slr-close-cta .slr-ctas { display: flex; gap: 11px; justify-content: center; flex-wrap: wrap; }
.slr-hub
  .slr-verify h3 { font-family: var(--display); font-weight: 700; font-size: 16px; color: #8a5a10 !important; margin: 0 0 8px; }
.slr-hub .slr-verify ul { margin: 0; padding-left: 18px; font-size: 13.5px; color: #6d5022; display: flex; flex-direction: column; gap: 5px; }
  @media (max-width: 900px) {
.slr-hub .slr-announce a[href^="tel:"], .slr-hub .slr-route-note a[href^="tel:"], .slr-hub .slr-foot a.slr-tel {
      display: inline-block;
      padding: 10px 14px;
      min-height: 44px;
      line-height: 24px;
      border-radius: 22px;
      text-decoration: none;
      border: 1px solid currentColor;
    }
.slr-hub .slr-announce a[href^="tel:"] { border-color: rgba(255,255,255,.5); margin-top: 4px; }
.slr-hub .slr-foot a.slr-tel { border-color: rgba(255,255,255,.35); margin-top: 6px; }}
  @media (max-width: 900px) {
.slr-hub
    .slr-hero-copy { display: flex; flex-direction: column; }
.slr-hub .slr-hero-copy .slr-kick { order: 1; }
.slr-hub .slr-hero-copy h1 { order: 2; }
.slr-hub .slr-hero-copy .slr-ctas { order: 3; margin-bottom: 20px; }
.slr-hub .slr-hero-copy .slr-sub { order: 4; margin-bottom: 0; }}
  @media (max-width: 980px) {
.slr-hub .slr-hero .slr-inner { grid-template-columns: minmax(0, 1fr); }
.slr-hub .slr-hero h2 { font-size: 32px; }
.slr-hub .slr-prog-grid, .slr-hub .slr-rev-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.slr-hub .slr-payer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.slr-hub .slr-ins-head h2 { font-size: 27px; }
.slr-hub .slr-diff-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.slr-hub .slr-team-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.slr-hub .slr-cat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.slr-hub .slr-week, .slr-hub .slr-spot { grid-template-columns: minmax(0, 1fr); gap: 26px; }
.slr-hub .slr-foot .slr-inner { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
.slr-hub .slr-nav { grid-template-columns: auto auto; }}
  @media (max-width: 640px) {
.slr-hub .slr-inner { padding-inline: 20px; }
.slr-hub .slr-prog-grid, .slr-hub .slr-rev-grid, .slr-hub .slr-diff-grid, .slr-hub .slr-cat-grid { grid-template-columns: minmax(0, 1fr); }
.slr-hub .slr-prog-spec.slr-spec-row { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
.slr-hub .slr-team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.slr-hub .slr-payer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.slr-hub .slr-ins-head h2 { font-size: 23px; }
.slr-hub .slr-assure .slr-inner { grid-template-columns: minmax(0, 1fr); }
.slr-hub .slr-foot .slr-inner { grid-template-columns: minmax(0, 1fr); }
.slr-hub .slr-sec-head h2 { font-size: 25px; }
.slr-hub .slr-hero { padding: 40px 0 38px; }
.slr-hub .slr-band { padding: 38px 0; }}
.slr-hub h1, .slr-hub h2, .slr-hub h3,
.slr-hub h4, .slr-hub h5, .slr-hub h6 {
  color: inherit !important;
  font-family: var(--display) !important;
  margin: 0;
  line-height: 1.2;
  text-transform: none !important;
}
.slr-hub p, .slr-hub li, .slr-hub dd, .slr-hub dt, .slr-hub span, .slr-hub blockquote {
  color: inherit;
  font-family: var(--sans);
}
.slr-hub a { text-decoration: none; }
.slr-hub ul, .slr-hub ol { margin: 0; padding: 0; }
.slr-hub *, .slr-hub *::before, .slr-hub *::after { box-sizing: border-box; }
.slr-hub img { max-width: 100%; height: auto; }
.slr-hub button { font-family: var(--sans); }
.slr-hub .slr-hero h1, .slr-hub .slr-hero .slr-kick, .slr-hub .slr-hero .slr-sub { color: #fff !important; }
.slr-hub .slr-film h2 { color: #fff !important; }
.slr-hub .slr-film > .slr-inner > p { color: #cfe0ec !important; }
.slr-hub .slr-sec-head h2, .slr-hub .slr-close-cta h2, .slr-hub .slr-ins-head h2 { color: var(--heading) !important; }
.slr-hub .slr-sec-head p, .slr-hub .slr-close-cta p { color: var(--ink-muted) !important; }
.slr-hub .slr-prog h3, .slr-hub .slr-strip-copy h3, .slr-hub .slr-week-copy h3, .slr-hub .slr-spot h3 { color: var(--ink) !important; }
.slr-hub .slr-prog.slr-feat h3 { color: var(--heading) !important; }
.slr-hub .slr-assure .slr-a strong { color: #fff !important; }
.slr-hub .slr-eyebrow { color: var(--ink) !important; }
.slr-hub .slr-film .slr-eyebrow { color: #f9aa7b !important; }
.slr-hub .slr-faq summary { color: var(--ink) !important; }
.slr-hub .slr-cred { color: #eaf2f8 !important; }
.slr-hub .slr-hero-creds-label { color: #a6c0d1 !important; }
.slr-hub .slr-hero .slr-inner { max-width: 1240px; padding-inline: 48px; }
.slr-hub .slr-hero-copy { max-width: 640px; margin-left: 0; }
.slr-hub .slr-hero .slr-sub { max-width: 56ch; }
@media (max-width: 1100px) { .slr-hub .slr-hero .slr-inner { padding-inline: 36px; } }
@media (max-width: 900px)  { .slr-hub .slr-hero .slr-inner { padding-inline: 24px; max-width: 100%; }
                             .slr-hub .slr-hero-copy { max-width: 100%; } }
@media (max-width: 640px)  { .slr-hub .slr-hero .slr-inner { padding-inline: 20px; } }
.slr-hub .slr-new{display:inline-block;margin-left:7px;vertical-align:middle;background:var(--action);color:var(--action-ink);font-family:var(--sans);font-size:9.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:3px 7px;border-radius:20px}
.slr-hub .slr-crumb{font-family:var(--sans);font-size:12.5px;letter-spacing:.02em;margin-bottom:14px;color:rgba(255,255,255,.82)}
.slr-hub .slr-crumb a{color:rgba(255,255,255,.82) !important;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.3)}
.slr-hub .slr-crumb a:hover{color:#fff !important;border-bottom-color:#fff}
.slr-hub .slr-crumb span{opacity:.6;padding:0 7px}
.slr-hub .slr-glance{background:var(--wash);border-block:1px solid var(--rule)}
.slr-hub .slr-glance .slr-inner{padding-block:26px}
.slr-hub .slr-glance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:10px;overflow:hidden}
.slr-hub .slr-glance-cell{background:#fff;padding:16px 18px;min-width:0}
.slr-hub .slr-glance-cell dt{font-family:var(--sans);font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:5px}
.slr-hub .slr-glance-cell dd{margin:0;font-size:15px;line-height:1.45;color:var(--ink);font-weight:600}
.slr-hub .slr-prose{max-width:720px}
.slr-hub .slr-prose h2{font-size:clamp(23px,2.4vw,30px);color:var(--heading) !important;margin-bottom:14px}
.slr-hub .slr-prose h3{font-size:18px;color:var(--heading) !important;margin:26px 0 8px}
.slr-hub .slr-prose p{margin:0 0 15px;font-size:16.5px;line-height:1.7;color:var(--ink)}
.slr-hub .slr-prose ul{margin:0 0 18px;padding-left:20px}
.slr-hub .slr-prose li{margin-bottom:9px;font-size:16.5px;line-height:1.65;color:var(--ink)}
.slr-hub .slr-prose li::marker{color:var(--action)}
.slr-hub .slr-prose strong{color:var(--ink);font-weight:700}
.slr-hub .slr-prose a{color:var(--link) !important;text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;text-decoration-color:rgba(43,116,185,.45)}
.slr-hub .slr-prose a:hover{text-decoration-color:var(--link);text-decoration-thickness:2px}
.slr-hub .slr-sib-rail{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,238px),1fr));gap:12px}
.slr-hub .slr-sib{display:block;padding:15px 17px;border:1px solid var(--rule);border-radius:10px;text-decoration:none;background:#fff;transition:border-color .16s,box-shadow .16s,transform .16s}
.slr-hub .slr-sib:hover{border-color:var(--action);box-shadow:0 5px 18px rgba(16,38,54,.09);transform:translateY(-2px)}
.slr-hub .slr-sib strong{display:block;font-family:var(--display);font-size:16px;color:var(--heading) !important;margin-bottom:4px}
.slr-hub .slr-sib span{display:block;font-size:13.5px;line-height:1.5;color:var(--ink-muted)}
.slr-hub .slr-sib-up{display:inline-flex;align-items:center;gap:7px;margin-top:20px;font-family:var(--sans);font-size:14px;font-weight:700;color:var(--link) !important;text-decoration:none}
.slr-hub .slr-sib-up:hover{text-decoration:underline}
@media (max-width:860px){
  .slr-hub .slr-glance-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr))}
}
/* --- compound twins: native Elementor sections carry .slr-hub and the
   component class on one element, so descendant rules need a twin. --- */
.slr-hub.slr-hero{position: relative;
    background: #17313f;
    color: #fff;
    padding: 58px 0 0;
    isolation: isolate;}
.slr-hub.slr-hero::after{content: ""; position: absolute; inset: 0; z-index: -1;
    background: linear-gradient(100deg, rgba(16,38,54,.94) 0%, rgba(16,38,54,.86) 42%, rgba(16,38,54,.52) 72%, rgba(16,38,54,.35) 100%);}
.slr-hub.slr-hero .slr-inner{max-width: 760px;}
.slr-hub.slr-hero .slr-kick{font-size: 11.5px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase;
    color: #ffffff; margin-bottom: 12px;}
.slr-hub.slr-hero h2{font-family: var(--display); font-weight: 800; font-size: 44px; line-height: 1.08;
    margin: 0 0 14px; letter-spacing: -0.02em; text-wrap: balance; color: #fff !important;}
.slr-hub.slr-hero p.slr-sub{font-size: 16.5px; color: #dbe9f3; margin: 0 0 24px; max-width: 48ch;}
.slr-hub.slr-hero .slr-ctas{display: flex; gap: 11px; flex-wrap: wrap; align-items: center;}
.slr-hub.slr-hero-creds{position: relative; z-index: 1; margin-top: 44px;
    border-top: 1px solid rgba(255,255,255,.13);
    background: linear-gradient(180deg, rgba(8,22,31,.28) 0%, rgba(11,29,39,.60) 100%);
    padding: 15px 0 17px;}
.slr-hub.slr-hero-creds .slr-inner{max-width: 1060px;
    display: flex; align-items: center; justify-content: center;
    gap: 18px; flex-wrap: wrap;}
@media (max-width: 1040px) {.slr-hub.slr-hero-creds .slr-inner{flex-direction: column; gap: 11px;}}
.slr-hub.slr-band{padding: 52px 0;}
.slr-hub.slr-band.slr-wash{background: var(--slr-blue-wash);}
.slr-hub.slr-band.slr-warm{background: linear-gradient(160deg, #fdf2ec 0%, #fdf8f4 55%, #eff5fb 100%);}
.slr-hub.slr-film{background: radial-gradient(1200px 620px at 50% -18%, #1a3d52 0%, #14303f 52%, #0f242f 100%);
    padding: 58px 0 62px; text-align: center; position: relative;}
.slr-hub.slr-film .slr-eyebrow{font-size: 11px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase;
    color: #f9aa7b; margin-bottom: 14px;}
.slr-hub.slr-film h2{font-family: var(--display); font-weight: 800; font-size: 36px; color: #fff !important;
    margin: 0 auto 12px; letter-spacing: -0.02em; max-width: 18ch; line-height: 1.12;
    text-wrap: balance;}
.slr-hub.slr-film > .slr-inner > p{color: #cfe0ec; font-size: 15.5px; max-width: 56ch; margin: 0 auto 30px;}
.slr-hub.slr-film .slr-embed{aspect-ratio: 16 / 9;}
.slr-hub.slr-film .slr-embed .slr-play-btn{width: 86px; height: 60px; border-radius: 16px;}
.slr-hub.slr-film .slr-embed .slr-play-btn svg{width: 30px; height: 30px;}
.slr-hub.slr-film .slr-embed .slr-cap{display: none;}
@media (max-width: 900px) {.slr-hub.slr-film{padding: 40px 0 44px;}
.slr-hub.slr-film h2{font-size: 26px; max-width: 22ch;}
.slr-hub.slr-film .slr-embed .slr-play-btn{width: 68px; height: 48px;}}
.slr-hub.slr-assure{background: linear-gradient(135deg, #1f5688 0%, #2b74b9 55%, #4d6f96 100%);
    color: #fff; padding: 34px 0;}
.slr-hub.slr-assure .slr-inner{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; text-align: center;}
.slr-hub.slr-assure .a strong{display: block; font-family: var(--display); font-weight: 800; font-size: 19px; margin-bottom: 5px;}
.slr-hub.slr-assure .a span{font-size: 13px; color: #f1f7fb;}
.slr-hub.slr-close-cta{padding: 56px 0; text-align: center;
    background: linear-gradient(150deg, #eef5fd 0%, #fbfdfe 48%, #fdf2ec 100%);
    border-top: 1px solid var(--rule);}
.slr-hub.slr-close-cta h2{font-family: var(--display); font-weight: 800; font-size: 32px; color: var(--slr-blue) !important; margin: 0 0 10px; letter-spacing: -0.015em; text-wrap: balance;}
.slr-hub.slr-close-cta p{color: var(--ink-muted); max-width: 54ch; margin: 0 auto 22px; font-size: 15px;}
.slr-hub.slr-close-cta .slr-ctas{display: flex; gap: 11px; justify-content: center; flex-wrap: wrap;}
@media (max-width: 980px) {.slr-hub.slr-hero .slr-inner{grid-template-columns: minmax(0, 1fr);}
.slr-hub.slr-hero h2{font-size: 32px;}}
@media (max-width: 640px) {.slr-hub.slr-assure .slr-inner{grid-template-columns: minmax(0, 1fr);}
.slr-hub.slr-hero{padding: 40px 0 38px;}
.slr-hub.slr-band{padding: 38px 0;}}
.slr-hub.slr-hero h1,.slr-hub.slr-hero .slr-kick,.slr-hub.slr-hero .slr-sub{color: #fff !important;}
.slr-hub.slr-film h2{color: #fff !important;}
.slr-hub.slr-film > .slr-inner > p{color: #cfe0ec !important;}
.slr-hub.slr-close-cta h2{color: var(--heading) !important;}
.slr-hub.slr-close-cta p{color: var(--ink-muted) !important;}
.slr-hub.slr-assure .slr-a strong{color: #fff !important;}
.slr-hub.slr-film .slr-eyebrow{color: #f9aa7b !important;}
.slr-hub.slr-hero .slr-inner{max-width: 1240px; padding-inline: 48px;}
.slr-hub.slr-hero .slr-sub{max-width: 56ch;}
@media (max-width: 1100px) {.slr-hub.slr-hero .slr-inner{padding-inline: 36px;}}
@media (max-width: 900px)  {.slr-hub.slr-hero .slr-inner{padding-inline: 24px; max-width: 100%;}}
@media (max-width: 640px)  {.slr-hub.slr-hero .slr-inner{padding-inline: 20px;}}
.slr-hub.slr-glance{background:var(--wash);border-block:1px solid var(--rule)}
.slr-hub.slr-glance .slr-inner{padding-block:26px}
/* ---- editable (native widget) variants ---- */
/* Every rebuilt page starts with a "00 Schema" section that holds only its JSON-LD. Elementor gives every
   column a 1px minimum height, so that section drew a 1px white line above the hero on every page and
   pushed the hero down (spotted by Olivia 2026-09-28). Take it out of the layout: search engines read the
   script from the page source either way. Matches only a section whose single widget is a lone script,
   with or without Elementor's widget-container wrapper. */
.slr-hub.elementor-section:has(> .elementor-container > .elementor-column:only-child > .elementor-widget-wrap > .elementor-widget-html:only-child > .elementor-widget-container > script:only-child),
.slr-hub.elementor-section:has(> .elementor-container > .elementor-column:only-child > .elementor-widget-wrap > .elementor-widget-html:only-child > script:only-child){display:none}
/* ---- the hub's program grid: tinted band, lifted white cards ----------- */
/* The band is two sections, the heading and then the cards. One vertical gradient is split across them:
   the heading takes the top of it and the cards continue from the same color, so it never starts over
   at the join (it did until 2026-09-28; xbrowser/seam_scan.js checks every page for this). */
.slr-hub.slr-band.slr-prog-wash{background:linear-gradient(180deg,#eaf2fc 0%,#eff5fd 100%) !important}
.slr-hub.slr-band.slr-prog-wash.slr-prog-grid--native{background:linear-gradient(180deg,#eff5fd 0%,#f5f9fe 33%,#fff6ee 100%) !important}
.slr-hub.slr-prog-grid--native .slr-prog-card > .elementor-widget-wrap{background:#fff;border:1px solid rgba(27,79,150,.10) !important;
  border-radius:18px;box-shadow:0 22px 44px -32px rgba(15,42,74,.45);transition:transform .2s ease,box-shadow .2s ease}
.slr-hub.slr-prog-grid--native .slr-prog-card > .elementor-widget-wrap:hover{transform:translateY(-4px);
  box-shadow:0 28px 54px -30px rgba(15,42,74,.55)}
.slr-hub.slr-prog-grid--native .slr-prog-card .slr-ico{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;
  margin:0 auto 6px;background:linear-gradient(145deg,#eaf2fc,#fff1e3)}
@media(prefers-reduced-motion:reduce){.slr-hub.slr-prog-grid--native .slr-prog-card > .elementor-widget-wrap:hover{transform:none}}

/* ---- conversion pages: form card beside the details ------------------- */
.slr-hub.slr-form-split > .elementor-container{align-items:flex-start;gap:34px}
.slr-hub .slr-form-card > .elementor-widget-wrap{background:#fff;border:1px solid var(--rule-soft);border-radius:22px;
  padding:30px 30px 26px !important;box-shadow:0 30px 64px -40px rgba(15,42,74,.55)}
.slr-hub .slr-form-card input:not([type=checkbox]):not([type=radio]):not([type=submit]),
.slr-hub .slr-form-card select,.slr-hub .slr-form-card textarea{border-radius:12px !important;border:1px solid #d9e2ec !important;
  padding:12px 14px !important;font-size:15px !important;background:#fbfcfe !important}
.slr-hub .slr-form-card input:focus,.slr-hub .slr-form-card select:focus,.slr-hub .slr-form-card textarea:focus{
  border-color:var(--action) !important;box-shadow:0 0 0 3px var(--action-wash) !important;outline:none}
.slr-hub .slr-form-card [type=submit],.slr-hub .slr-form-card .elementor-button{border-radius:999px !important;
  padding:14px 26px !important;font-weight:600 !important;background:var(--action) !important;border:0 !important}
.slr-hub .slr-form-card [type=submit]:hover,.slr-hub .slr-form-card .elementor-button:hover{filter:brightness(.94)}
.slr-hub .slr-form-side{padding-top:6px}
.slr-hub .slr-form-head{margin:0 0 18px}
.slr-hub .slr-form-head h2{font-size:24px;margin:6px 0 6px;color:var(--heading)}
.slr-hub .slr-form-head p{margin:0;color:var(--ink-muted);font-size:14.5px;line-height:1.55}
.slr-hub .slr-next{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:14px;counter-reset:next}
.slr-hub .slr-next li{position:relative;padding-left:48px;counter-increment:next}
.slr-hub .slr-next li:before{content:counter(next);position:absolute;left:0;top:0;width:34px;height:34px;border-radius:50%;
  display:grid;place-items:center;font-weight:700;color:#fff;background:linear-gradient(145deg,#1b4f96,#2c6cc0)}
.slr-hub .slr-next li b{display:block;color:var(--heading);font-size:15.5px;margin-bottom:2px}
.slr-hub .slr-next li span{color:var(--ink-muted);font-size:14px;line-height:1.5}
.slr-hub .slr-detail-card{border-radius:20px;padding:22px 22px 18px;background:linear-gradient(160deg,#eef5fd,#fff7f0);
  border:1px solid var(--rule-soft);margin-bottom:18px}
.slr-hub .slr-detail-row{display:grid;grid-template-columns:112px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid rgba(16,38,63,.07);font-size:14.5px}
.slr-hub .slr-detail-row:last-child{border-bottom:0}
.slr-hub .slr-detail-row dt{font-size:11.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint);padding-top:2px}
.slr-hub .slr-detail-row dd{margin:0;color:var(--ink-body)}
.slr-hub .slr-detail-row a{color:var(--link);text-decoration:none;font-weight:600}
.slr-hub .slr-assure-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.slr-hub .slr-assure-list li{font-size:13px;padding:7px 12px;border-radius:999px;background:#fff;border:1px solid var(--rule-soft);color:var(--ink-body)}
.slr-hub .slr-callrow{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
@media(max-width:900px){.slr-hub.slr-form-split > .elementor-container{flex-direction:column}
  .slr-hub.slr-form-split .elementor-column{width:100% !important}}

/* ---- home colour blocks: the page alternates like the service hubs ---- */
.slr-hub .slr-hm-band.slr-hm-wash{background:linear-gradient(175deg,#eef5fd 0%,#f7fafe 55%,#eef4fb 100%)}
.slr-hub .slr-hm-band.slr-hm-warm{background:linear-gradient(165deg,#fff6ee 0%,#fdf9f5 55%,#fff3e8 100%)}
.slr-hub .slr-hm-stats.slr-hm-stats--brand{background:linear-gradient(135deg,#0f2f5c 0%,#1b4f96 58%,#2466b5 100%);position:relative;overflow:hidden}
.slr-hub .slr-hm-stats.slr-hm-stats--brand:before{content:"";position:absolute;right:-160px;top:-180px;width:460px;height:460px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(226,128,29,.28),transparent)}
.slr-hub .slr-hm-stats.slr-hm-stats--brand .slr-hm-num{background:linear-gradient(160deg,#fff 30%,#ffd9b3 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.slr-hub .slr-hm-stats.slr-hm-stats--brand .slr-hm-lab{color:rgba(255,255,255,.82)}
.slr-hub .slr-hm-band.slr-hm-brand{background:linear-gradient(140deg,#123a6e 0%,#1b4f96 50%,#2c6cc0 100%);position:relative;overflow:hidden}
.slr-hub .slr-hm-band.slr-hm-brand:before{content:"";position:absolute;left:-200px;bottom:-240px;width:560px;height:560px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(255,255,255,.10),transparent)}
/* light section heads (on dark bands): defined at the end of this file, see 'light heads' */
.slr-hub .slr-hm-quotes{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.slr-hub .slr-hm-quote{margin:0;background:#fff;border-radius:20px;padding:26px 24px 22px;display:flex;flex-direction:column;gap:14px;
  box-shadow:0 24px 50px -30px rgba(0,0,0,.5)}
.slr-hub .slr-hm-quote-stars{color:#d9681e;letter-spacing:3px;font-size:14px}
.slr-hub .slr-hm-quote blockquote{margin:0;font-size:15.5px;line-height:1.62;color:var(--ink-body)}
.slr-hub .slr-hm-quote figcaption{margin-top:auto;font-size:13px;color:var(--ink-faint)}
.slr-hub .slr-hm-quote figcaption strong{display:block;font-size:14.5px;color:var(--heading);margin-bottom:2px}
.slr-hub .slr-hm-ask{padding:clamp(56px,7vw,92px) 0;background:var(--page-bg)}
.slr-hub .slr-hm-ask-card{display:grid;grid-template-columns:1.3fr 1fr;gap:32px;align-items:center;border-radius:28px;
  padding:clamp(30px,4vw,54px);background:linear-gradient(125deg,#b3541a 0%,#a94f17 45%,#1b4f96 140%);color:#fff;
  box-shadow:0 34px 70px -38px rgba(179,84,26,.7)}
.slr-hub .slr-hm-ask-card .slr-hm-kick{color:rgba(255,255,255,.9)}
.slr-hub .slr-hm-ask-card .slr-hm-h2{color:#fff}
.slr-hub .slr-hm-ask-card p{margin:0;color:rgba(255,255,255,.92);font-size:16.5px;line-height:1.6}
.slr-hub .slr-hm-ask-actions{display:flex;flex-direction:column;gap:12px;align-items:stretch}
.slr-hub .slr-hm-ask-actions .slr-btn{justify-content:center}
@media(max-width:980px){.slr-hub .slr-hm-quotes{grid-template-columns:1fr}.slr-hub .slr-hm-ask-card{grid-template-columns:1fr}}

/* ================= HOME PAGE ==========================================
   The home page is not a service page. It uses the same tokens, type scale
   and gradients, but a different rhythm: a full-bleed video hero, a logo
   marquee, oversized numbers, image-led programme tiles and alternating
   split rows. Namespaced slr-hm- so nothing here can leak into the
   service-page furniture. Reference layout: augusthealth.com. */

.slr-hub .slr-hm-inner{max-width:1120px;margin:0 auto;padding:0 24px}
.slr-hub .slr-hm-band{padding:clamp(64px,8vw,104px) 0;background:var(--page-bg)}
.slr-hub .slr-hm-tint{background:linear-gradient(170deg,#f7f9fc 0%,#fdf6f1 62%,#f6f8fb 100%)}
.slr-hub .slr-hm-head{max-width:720px;margin:0 auto clamp(34px,4vw,54px);text-align:center}
.slr-hub .slr-hm-kick{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:#a94f17;margin-bottom:14px}
.slr-hub .slr-hm-h2{font-family:var(--display);font-size:clamp(28px,3.6vw,46px);line-height:1.08;
  letter-spacing:-.02em;color:var(--heading);margin:0 0 14px;text-wrap:balance}
.slr-hub .slr-hm-head p{font-size:17px;line-height:1.62;color:var(--ink-muted);margin:0}

/* ---- hero -------------------------------------------------------- */
.slr-hub .slr-hm-hero{position:relative;min-height:clamp(560px,86vh,780px);display:grid;
  place-items:center;overflow:hidden;isolation:isolate;text-align:center;color:#fff}
.slr-hub .slr-hm-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.slr-hub .slr-hm-scrim{position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(9,24,43,.72) 0%,rgba(9,24,43,.55) 42%,rgba(9,24,43,.80) 100%)}
.slr-hub .slr-hm-hero-inner{padding:clamp(90px,12vh,140px) 24px clamp(70px,9vh,110px);max-width:960px}
.slr-hub .slr-hm-pill{display:inline-flex;align-items:center;gap:9px;padding:8px 16px 8px 12px;
  border-radius:999px;border:1px solid rgba(255,255,255,.34);background:rgba(12,30,58,.38);
  backdrop-filter:blur(8px);color:#fff;text-decoration:none;font-size:13.5px;font-weight:500;
  margin-bottom:26px;transition:background .18s ease,border-color .18s ease}
.slr-hub .slr-hm-pill:hover{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.55)}
.slr-hub .slr-hm-dot{width:7px;height:7px;border-radius:50%;background:#6ee7a8;
  box-shadow:0 0 0 4px rgba(110,231,168,.22)}
.slr-hub .slr-hm-pill-arrow{opacity:.75;font-size:12px}
.slr-hub .slr-hm-display{font-family:var(--display);font-size:clamp(40px,7.2vw,76px);line-height:1.02;
  letter-spacing:-.03em;font-weight:600;margin:0 0 20px;color:#fff;text-wrap:balance;
  text-shadow:0 2px 24px rgba(0,0,0,.28)}
.slr-hub .slr-hm-lede{max-width:620px;margin:0 auto 30px;font-size:clamp(16px,1.35vw,19px);
  line-height:1.6;color:rgba(255,255,255,.90)}
.slr-hub .slr-hm-ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.slr-hub .slr-btn-white{background:#fff;color:var(--heading);border:1px solid #fff}
.slr-hub .slr-btn-white:hover{background:#f1f5f9;color:var(--heading);transform:translateY(-1px)}
.slr-hub .slr-btn-ghost{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.45);
  backdrop-filter:blur(6px)}
.slr-hub .slr-btn-ghost:hover{background:rgba(255,255,255,.18);color:#fff;border-color:#fff}
.slr-hub .slr-hm-note{margin:18px 0 0;font-size:13px;color:rgba(255,255,255,.72)}

.slr-hub .slr-hm-play{position:absolute;right:22px;bottom:22px;z-index:2;display:inline-flex;align-items:center;
  gap:8px;padding:9px 15px;border-radius:999px;border:1px solid rgba(255,255,255,.45);
  background:rgba(12,28,48,.55);backdrop-filter:blur(8px);color:#fff;font-size:13px;font-weight:500;cursor:pointer}
.slr-hub .slr-hm-play:hover{background:rgba(12,28,48,.78);border-color:#fff}
.slr-hub .slr-hm-play[hidden]{display:none}
.slr-hub .slr-hm-scroll{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);
  width:26px;height:42px;border:1.5px solid rgba(255,255,255,.45);border-radius:14px;display:block}
.slr-hub .slr-hm-scroll span{position:absolute;left:50%;top:9px;width:4px;height:8px;border-radius:2px;
  background:rgba(255,255,255,.8);transform:translateX(-50%);animation:slrHmScroll 1.9s ease-in-out infinite}
@keyframes slrHmScroll{0%,100%{transform:translate(-50%,0);opacity:1}55%{transform:translate(-50%,14px);opacity:.25}}

/* ---- accreditation marquee --------------------------------------- */
.slr-hub .slr-hm-marquee{background:var(--ground);border-bottom:1px solid var(--rule-soft);
  padding:26px 0;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
.slr-hub .slr-hm-track{display:flex;width:max-content;min-width:200%;animation:slrHmSlide 46s linear infinite}
.slr-hub .slr-hm-row{flex:0 0 auto}
.slr-hub .slr-hm-row{display:flex;align-items:center;gap:clamp(40px,6vw,78px);padding-right:clamp(40px,6vw,78px)}
.slr-hub .slr-hm-item img{height:34px;width:auto;object-fit:contain;filter:grayscale(1);opacity:.52}
@keyframes slrHmSlide{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---- oversized numbers ------------------------------------------- */
.slr-hub .slr-hm-stats{padding:clamp(52px,6vw,78px) 0;background:var(--page-bg)}
.slr-hub .slr-hm-statgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(22px,3vw,46px);text-align:center}
.slr-hub .slr-hm-num{display:block;font-family:var(--display);font-size:clamp(48px,7vw,92px);line-height:.92;
  letter-spacing:-.045em;font-weight:600;
  background:linear-gradient(145deg,var(--slr-blue-deep) 12%,var(--action) 96%);
  -webkit-background-clip:text;background-clip:text;color:transparent}
.slr-hub .slr-hm-lab{display:block;margin-top:14px;font-size:14px;line-height:1.5;color:var(--ink-muted);
  max-width:230px;margin-left:auto;margin-right:auto}

/* ---- programme tiles --------------------------------------------- */
.slr-hub .slr-hm-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.slr-hub .slr-hm-tile{position:relative;display:flex;flex-direction:column;background:var(--ground);
  border:1px solid var(--rule-soft);border-radius:20px;overflow:hidden;text-decoration:none;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.slr-hub .slr-hm-tile:hover{transform:translateY(-5px);border-color:var(--action);
  box-shadow:0 18px 44px -20px rgba(15,42,74,.42)}
.slr-hub .slr-hm-shot{display:block;aspect-ratio:16/10;overflow:hidden;background:#e8eef5}
.slr-hub .slr-hm-shot img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.slr-hub .slr-hm-tile:hover .slr-hm-shot img{transform:scale(1.045)}
.slr-hub .slr-hm-tile-body{display:block;padding:20px 22px 22px}
.slr-hub .slr-hm-tile-h{display:block;font-weight:600;font-size:17px;color:var(--heading);margin-bottom:6px}
.slr-hub .slr-hm-tile-hrs{display:inline-block;font-size:11.5px;font-weight:600;letter-spacing:.06em;
  text-transform:uppercase;color:var(--action);margin-bottom:10px}
.slr-hub .slr-hm-tile-d{display:block;font-size:14px;line-height:1.55;color:var(--ink-muted)}
.slr-hub .slr-hm-tile-go{position:absolute;right:20px;bottom:20px;color:var(--action);font-size:17px;
  opacity:0;transform:translateX(-6px);transition:opacity .2s ease,transform .2s ease}
.slr-hub .slr-hm-tile:hover .slr-hm-tile-go{opacity:1;transform:translateX(0)}

/* ---- alternating split rows -------------------------------------- */
.slr-hub .slr-hm-split{display:grid;grid-template-columns:1.02fr 1fr;gap:clamp(32px,5vw,68px);align-items:center}
.slr-hub .slr-hm-split .slr-hm-kick{margin-bottom:12px}
.slr-hub .slr-hm-split-copy p{font-size:16.5px;line-height:1.65;color:var(--ink-muted);margin:0 0 20px}
.slr-hub .slr-hm-split-img img{width:100%;border-radius:22px;aspect-ratio:4/3;object-fit:cover;
  box-shadow:0 26px 60px -34px rgba(15,42,74,.55)}
.slr-hub .slr-hm-flip .slr-hm-split-copy{order:2}
.slr-hub .slr-hm-flip .slr-hm-split-img{order:1}
.slr-hub .slr-hm-ticks{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.slr-hub .slr-hm-ticks li{position:relative;padding-left:30px;font-size:15px;line-height:1.5;color:var(--ink-body)}
.slr-hub .slr-hm-ticks li:before{content:"";position:absolute;left:0;top:3px;width:18px;height:18px;
  border-radius:50%;background:var(--action-wash);
  box-shadow:inset 0 0 0 1.5px var(--action)}
.slr-hub .slr-hm-ticks li:after{content:"";position:absolute;left:6px;top:8px;width:6px;height:3px;
  border-left:1.7px solid var(--action);border-bottom:1.7px solid var(--action);transform:rotate(-45deg)}

@media(max-width:980px){
  .slr-hub .slr-hm-tiles{grid-template-columns:repeat(2,1fr)}
  .slr-hub .slr-hm-split{grid-template-columns:1fr;gap:30px}
  .slr-hub .slr-hm-flip .slr-hm-split-copy,.slr-hub .slr-hm-flip .slr-hm-split-img{order:initial}
}
@media(max-width:640px){
  .slr-hub .slr-hm-tiles{grid-template-columns:1fr}
  .slr-hub .slr-hm-statgrid{grid-template-columns:1fr;gap:32px}
  .slr-hub .slr-hm-hero{min-height:74vh}
  .slr-hub .slr-hm-tile-go{opacity:1;transform:none}
}
@media(prefers-reduced-motion:reduce){
  .slr-hub .slr-hm-track{animation:none}
  .slr-hub .slr-hm-scroll span{animation:none}
  .slr-hub .slr-hm-tile:hover{transform:none}
  .slr-hub .slr-hm-tile:hover .slr-hm-shot img{transform:none}
}

/* ---- home page: trust bar, reviews ------------------------------------
   The reference layout (augusthealth.com) earns trust before it explains
   anything: logos, then proof, then the ask. These two bands are that half. */

.slr-hub .slr-badges{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;align-items:end;margin-top:26px}
.slr-hub .slr-badge{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.slr-hub .slr-badge img{max-width:112px;max-height:56px;width:auto;height:auto;object-fit:contain;filter:grayscale(1);opacity:.72}
.slr-hub .slr-badge span{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);line-height:1.4}
@media(max-width:820px){.slr-hub .slr-badges{grid-template-columns:repeat(3,1fr);gap:24px}}
@media(max-width:520px){.slr-hub .slr-badges{grid-template-columns:repeat(2,1fr)}}
.slr-hub .slr-payer-note{display:block;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);margin-top:7px}
.slr-hub .slr-revs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:26px}
.slr-hub .slr-rev{margin:0;background:var(--ground);border:1px solid var(--rule-soft);border-radius:14px;padding:22px 22px 20px;display:flex;flex-direction:column;gap:12px}
.slr-hub .slr-rev-stars{color:#e2801d;font-size:14px;letter-spacing:2px;line-height:1}
.slr-hub .slr-rev blockquote{margin:0;font-size:14.5px;line-height:1.6;color:var(--ink-body)}
.slr-hub .slr-rev figcaption{margin-top:auto;font-weight:600;font-size:13.5px;color:var(--heading)}
.slr-hub .slr-rev figcaption span{display:block;font-weight:400;font-size:12px;color:var(--ink-faint);margin-top:3px}
@media(max-width:900px){.slr-hub .slr-revs{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.slr-hub .slr-revs{grid-template-columns:1fr}}

/* ---- comparison table -------------------------------------------------
   Tabular data belongs in a table: answer engines and screen readers both
   read it far better than cards repeating the same three fields. The wrapper
   scrolls on its own so the page never scrolls sideways on a phone. */
.slr-hub .slr-tablewrap{overflow-x:auto;margin-top:24px;-webkit-overflow-scrolling:touch}
.slr-hub .slr-table{width:100%;min-width:580px;border-collapse:collapse;font-size:15px;line-height:1.5}
.slr-hub .slr-table th,.slr-hub .slr-table td{text-align:left;padding:14px 18px;border-bottom:1px solid var(--rule-soft);vertical-align:top}
.slr-hub .slr-table thead th{font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-muted);border-bottom:2px solid var(--rule);white-space:nowrap;background:transparent}
/* the theme paints every table header orange; this table belongs to the hub
   design system, so the header row stays a quiet label row */
.slr-hub .slr-table thead tr{background:transparent}
.slr-hub .slr-table tbody tr{background:transparent}
.slr-hub .slr-table tbody th{font-weight:600;color:var(--heading);width:30%}
.slr-hub .slr-table tbody th a{color:var(--link);text-decoration:none}
.slr-hub .slr-table tbody th a:hover{text-decoration:underline}
.slr-hub .slr-table tbody td:first-of-type{white-space:nowrap;color:var(--ink-body);font-weight:600;font-size:13.5px}
.slr-hub .slr-table tbody td:last-child{color:var(--ink-muted)}
.slr-hub .slr-table tbody tr:last-child th,.slr-hub .slr-table tbody tr:last-child td{border-bottom:0}
@media(max-width:600px){.slr-hub .slr-table{font-size:14px}.slr-hub .slr-table th,.slr-hub .slr-table td{padding:12px 14px}}

/* Root fix: Elementor's .elementor-widget-wrap is a flex ITEM inside the column
   (flex: 0 1 auto), so it shrinks to its content instead of filling the column.
   That made a 3-up grid render 652px wide inside a 934px column. Scoped to
   .slr-hub so it cannot affect the rest of the site. */
.slr-hub .elementor-column > .elementor-widget-wrap{width:100%}


.slr-hub .elementor-widget-container {min-width:0}/* Heading widget: push wrapper styling down onto the emitted heading. */
.slr-hub .slr-kick .elementor-heading-title {
  font-family:var(--sans) !important;font-size:12px !important;font-weight:800 !important;
  letter-spacing:.14em !important;text-transform:uppercase !important;color:#fff !important;margin:0 0 10px}.slr-hub .slr-hero h1.elementor-heading-title,
.slr-hub.slr-hero h1.elementor-heading-title {color:#fff !important;margin:0 0 14px}.slr-hub .slr-hero .slr-sub p,
.slr-hub.slr-hero .slr-sub p {color:#fff !important;margin:0 0 20px;font-size:17px;line-height:1.6;max-width:640px}/* Hero copy column: constrain the widget wrap,
not a nested div. */
.slr-hub .slr-hero--native .slr-inner > .elementor-widget-wrap {
  max-width:640px;margin-left:0;padding:0}.slr-hub .slr-hero--native .slr-inner,
.slr-hub.slr-hero--native .slr-inner {
  max-width:1240px;padding-inline:48px;margin-inline:auto;width:100%}/* Section headings rendered by the heading widget. */
.slr-hub .slr-sec-head-native .slr-eyebrow .elementor-heading-title {
  font-family:var(--sans) !important;font-size:11.5px !important;font-weight:800 !important;
  letter-spacing:.13em !important;text-transform:uppercase !important;color:var(--ink-faint) !important;margin:0 0 9px}.slr-hub .slr-sec-head-native h2.elementor-heading-title {
  color:var(--heading) !important;font-size:clamp(23px,2.4vw,30px) !important;margin:0 0 12px}.slr-hub .slr-sec-head-native .slr-lede p {
  color:var(--ink-muted) !important;font-size:16.5px;line-height:1.65;margin:0;max-width:720px}/* Prose: text-editor widgets inside a .slr-prose column. */
.slr-hub .slr-prose .elementor-widget-container > *:first-child {margin-top:0}.slr-hub .slr-prose h2.elementor-heading-title {
  color:var(--heading) !important;font-size:clamp(23px,2.4vw,30px) !important;margin:0 0 14px}.slr-hub .slr-prose h3.elementor-heading-title {
  color:var(--heading) !important;font-size:18px !important;margin:26px 0 8px}/* Glance strip: Elementor's flex row does the layout; we supply the treatment.
   Imposing CSS grid here fought the inline width Elementor puts on columns. */
.slr-hub .slr-glance--native .elementor-container,
.slr-hub.slr-glance--native .elementor-container{
  background:var(--rule);border:1px solid var(--rule);border-radius:10px;
  overflow:hidden;gap:1px;align-items:stretch}
.slr-hub .slr-glance--native .slr-glance-cell,
.slr-hub.slr-glance--native .slr-glance-cell{background:#fff;min-width:0}
.slr-hub .slr-glance--native .slr-glance-cell > .elementor-widget-wrap,
.slr-hub.slr-glance--native .slr-glance-cell > .elementor-widget-wrap{padding:16px 18px}
.slr-hub .slr-glance--native .slr-gl-label .elementor-heading-title,
.slr-hub.slr-glance--native .slr-gl-label .elementor-heading-title{
  font-family:var(--sans) !important;font-size:10.5px !important;font-weight:800 !important;
  letter-spacing:.1em !important;text-transform:uppercase !important;
  color:var(--ink-faint) !important;margin:0 0 5px}
.slr-hub .slr-glance--native .slr-gl-value p,
.slr-hub.slr-glance--native .slr-gl-value p{
  margin:0;font-size:15px;line-height:1.45;color:var(--ink) !important;font-weight:600}

/* Sibling rail: same principle, Elementor lays the columns out. */
.slr-hub .slr-sib-rail--native .elementor-container,
.slr-hub.slr-sib-rail--native .elementor-container{gap:12px;align-items:stretch}
.slr-hub .slr-sib-rail--native .slr-sib-card,
.slr-hub.slr-sib-rail--native .slr-sib-card{
  border:1px solid var(--rule);border-radius:10px;background:#fff;min-width:0;
  transition:border-color .16s,box-shadow .16s,transform .16s}
.slr-hub .slr-sib-rail--native .slr-sib-card:hover,
.slr-hub.slr-sib-rail--native .slr-sib-card:hover{
  border-color:var(--action);box-shadow:0 5px 18px rgba(16,38,54,.09);transform:translateY(-2px)}
.slr-hub .slr-sib-rail--native .slr-sib-card > .elementor-widget-wrap,
.slr-hub.slr-sib-rail--native .slr-sib-card > .elementor-widget-wrap{padding:15px 17px}
.slr-hub .slr-sib-rail--native .slr-sib-card .elementor-heading-title,
.slr-hub.slr-sib-rail--native .slr-sib-card .elementor-heading-title{
  font-family:var(--display) !important;font-size:16px !important;
  color:var(--heading) !important;margin:0 0 4px}
.slr-hub .slr-sib-rail--native .slr-sib-card .elementor-heading-title a,
.slr-hub.slr-sib-rail--native .slr-sib-card .elementor-heading-title a{
  color:var(--heading) !important;text-decoration:none}
.slr-hub .slr-sib-rail--native .slr-sib-card p,
.slr-hub.slr-sib-rail--native .slr-sib-card p{
  font-size:13.5px;line-height:1.5;color:var(--ink-muted) !important;margin:0}


/* Card grid rebuilt from Elementor columns. The card is a COLUMN now, so the
   old .slr-prog rules (written for an <a>) do not reach it. Same treatment,
   re-expressed. The title carries the link instead of the whole card. */
.slr-hub .slr-prog-grid--native > .elementor-container,
.slr-hub.slr-prog-grid--native > .elementor-container{gap:18px;align-items:stretch;flex-wrap:wrap}
.slr-hub .slr-sib-rail--native > .elementor-container > .elementor-column,
.slr-hub.slr-sib-rail--native > .elementor-container > .elementor-column{
  flex:0 0 calc((100% - 36px)/4);max-width:calc((100% - 36px)/4);width:auto}
/* Deterministic grids.
   Elementor lays columns out with flex and gives each an inline width class
   (elementor-col-33 etc). Trying to match that with flex-basis produced 6 cards
   on 5 rows at four different widths. Instead: grid on the container, and
   neutralise the column's own width so it becomes a plain grid item. */
.slr-hub .slr-prog-grid--native > .elementor-container,
.slr-hub.slr-prog-grid--native > .elementor-container{
  display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;width:100%;align-items:stretch}
.slr-hub .slr-sib-rail--native > .elementor-container,
.slr-hub.slr-sib-rail--native > .elementor-container{
  display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;width:100%;align-items:stretch}
.slr-hub .slr-glance--native > .elementor-container,
.slr-hub.slr-glance--native > .elementor-container{
  display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;width:100%;align-items:stretch}
.slr-hub .slr-prog-grid--native > .elementor-container > .elementor-column,
.slr-hub.slr-prog-grid--native > .elementor-container > .elementor-column,
.slr-hub .slr-sib-rail--native > .elementor-container > .elementor-column,
.slr-hub.slr-sib-rail--native > .elementor-container > .elementor-column,
.slr-hub .slr-glance--native > .elementor-container > .elementor-column,
.slr-hub.slr-glance--native > .elementor-container > .elementor-column{
  width:auto !important;max-width:none !important;flex:none !important;min-width:0}
/* The widget wrap inside a grid item must fill it, not shrink to content. */
.slr-hub .slr-prog-grid--native .elementor-column > .elementor-widget-wrap,
.slr-hub.slr-prog-grid--native .elementor-column > .elementor-widget-wrap,
.slr-hub .slr-sib-rail--native .elementor-column > .elementor-widget-wrap,
.slr-hub.slr-sib-rail--native .elementor-column > .elementor-widget-wrap,
.slr-hub .slr-glance--native .elementor-column > .elementor-widget-wrap,
.slr-hub.slr-glance--native .elementor-column > .elementor-widget-wrap{width:100%}

/* The column is only the grid item. The card itself (white, rounded, lifted) is the column's widget wrap,
   styled at the top of this file; painting the column as well drew a square frame behind every card
   (fixed 2026-09-28; xbrowser/card_scan.js checks every page for it). */
.slr-hub .slr-prog-card{min-width:0}
/* Side gutter. The section is boxed at 1240px, so below about 1300px its cards ran to the screen edge
   (1px from it on phones). Keep them as far in as the section heading above: 32px, 20px on phones. On
   wide screens this works out to 0, so the desktop layout is unchanged. */
.slr-hub.slr-prog-grid--native > .elementor-container{box-sizing:border-box;
  padding-inline:max(0px, min(32px, calc(32px - (100vw - 1240px) / 2)))}
@media (max-width:640px){.slr-hub.slr-prog-grid--native > .elementor-container{padding-inline:20px}}
.slr-hub .slr-prog-card:hover .elementor-heading-title a{color:var(--link) !important}
.slr-hub .slr-prog-card > .elementor-widget-wrap{
  padding:28px 24px 22px;align-content:flex-start;text-align:center}
.slr-hub .slr-prog-card .slr-ico{
  width:44px;height:44px;color:var(--slr-blue);margin:0 auto 14px;transition:transform .14s}
.slr-hub .slr-prog-card:hover .slr-ico{transform:scale(1.06)}
.slr-hub .slr-prog-card .slr-ico svg{width:100%;height:100%;display:block}
.slr-hub .slr-prog-card .elementor-heading-title{
  font-family:var(--display) !important;font-weight:700 !important;font-size:19px !important;
  color:var(--ink) !important;margin:0 0 9px;text-wrap:balance}
.slr-hub .slr-prog-card .elementor-heading-title a{color:var(--ink) !important;text-decoration:none}
.slr-hub .slr-prog-card .slr-card-copy p{
  font-size:13.5px;margin:0 0 14px;color:var(--ink-body) !important;text-align:center}
.slr-hub .slr-prog-card .slr-prog-spec{
  width:100%;margin:0;padding-top:12px;border-top:1px solid var(--rule-soft);
  display:flex;flex-direction:column;gap:7px;text-align:left}
.slr-hub .slr-prog-card .slr-prog-spec .slr-row{
  display:flex;align-items:baseline;gap:10px;font-size:12.5px}
.slr-hub .slr-prog-card .slr-prog-spec dt{
  font-weight:700;color:var(--ink-faint);min-width:86px;flex:none}
.slr-hub .slr-prog-card .slr-prog-spec dd{margin:0;color:var(--ink-body)}

@media (max-width:860px){
  .slr-hub .slr-prog-grid--native > .elementor-container,
  .slr-hub.slr-prog-grid--native > .elementor-container{grid-template-columns:1fr}
  .slr-hub .slr-sib-rail--native > .elementor-container,
  .slr-hub.slr-sib-rail--native > .elementor-container{grid-template-columns:repeat(2,minmax(0,1fr))}
  .slr-hub .slr-glance--native > .elementor-container,
  .slr-hub.slr-glance--native > .elementor-container{grid-template-columns:repeat(2,minmax(0,1fr))}
  .slr-hub .slr-prog-grid--native > .elementor-container > .elementor-column,
  .slr-hub.slr-prog-grid--native > .elementor-container > .elementor-column{
    flex:0 0 100%;max-width:100%}
  .slr-hub .slr-sib-rail--native > .elementor-container > .elementor-column,
  .slr-hub.slr-sib-rail--native > .elementor-container > .elementor-column{
    flex:0 0 calc((100% - 12px)/2);max-width:calc((100% - 12px)/2)}
  .slr-hub .slr-hero--native .slr-inner,
  .slr-hub.slr-hero--native .slr-inner{padding-inline:20px}
  /* The stale auto-fit glance rule that used to sit here is gone. It came after
     the intended 2-column rule at equal specificity and won, so around 475px
     auto-fit produced 3 columns and left a single orphan on row two. */
}
/* ---- authorship components ----
   Two problems with the plugin's default rendering inside our pages:

   1. The bar reads as a heavy grey band rather than a byline. Its label is
      uppercase 700 at 11px while the NAME it introduces is regular 400 at
      13px, so the word "MEDICALLY REVIEWED BY" outshouts the clinician. It
      also carries border-radius: 0 4px 4px 0, a leftover from a left-accent
      treatment that no longer exists, and pushes the date ~400px away with
      margin-left:auto.

   2. The chip is a 50px pill with a border, sitting directly above a CTA that
      is also a 50px pill with a border. Two pills stacked read as two buttons,
      so "Medical Director" looks clickable. It is a credential, not a control.

   Fixed here rather than in the plugin, so the rest of the site is untouched. */

/* --- the byline bar --- */
.slr-hub .slr-reviewer-bar{
  margin:0 !important;
  padding-inline:max(20px, calc((100% - 1240px) / 2 + 48px)) !important;
  padding-block:11px !important;
  background:#fbfcfd !important;
  border-left:0 !important;
  border-radius:0 !important;
  border-top:1px solid rgba(16,38,54,.07) !important;
  border-bottom:1px solid rgba(16,38,54,.07) !important;
  align-items:baseline;
  gap:8px}
.slr-hub .slr-reviewer-bar__label{
  font-size:10.5px !important;font-weight:700 !important;letter-spacing:.09em !important;
  text-transform:uppercase !important;color:var(--ink-faint) !important}
.slr-hub .slr-reviewer-bar__name{
  font-size:13.5px !important;font-weight:600 !important;color:var(--ink) !important}
.slr-hub .slr-reviewer-bar__name a{
  color:var(--ink) !important;text-decoration:none;
  border-bottom:1px solid rgba(43,116,185,.35)}
.slr-hub .slr-reviewer-bar__name a:hover{
  color:var(--link) !important;border-bottom-color:var(--link)}
.slr-hub .slr-reviewer-bar__date{
  font-size:10.5px !important;font-weight:600 !important;letter-spacing:.06em !important;
  text-transform:uppercase !important;color:var(--ink-faint) !important}

/* --- the bio block --- */
.slr-hub .slr-reviewer-block{
  padding-inline:max(20px, calc((100% - 1240px) / 2 + 48px)) !important;
  border-radius:0 !important;
  margin-block:0 !important}

/* Credential reads as a label, not a control: no pill, no border, no fill. */
.slr-hub .slr-reviewer-block__chip{
  background:none !important;
  border:0 !important;
  border-radius:0 !important;
  padding:0 !important;
  font-size:10.5px !important;
  font-weight:700 !important;
  letter-spacing:.09em !important;
  text-transform:uppercase !important;
  color:var(--ink-faint) !important}
.slr-hub .slr-reviewer-block__chips{
  display:flex;flex-wrap:wrap;gap:14px;margin-block:2px 14px}
/* separate multiple credentials without inventing a pill */
.slr-hub .slr-reviewer-block__chip + .slr-reviewer-block__chip{
  padding-left:14px !important;
  border-left:1px solid rgba(16,38,54,.15) !important}

/* The plugin's CTA is #56afd5 on #f9f9f9 at 13px: 2.35:1, under the 4.5:1
   floor. Corrected for our pages; the plugin still fails elsewhere. */
.slr-hub .slr-reviewer-block__cta{
  color:var(--link) !important;
  border-color:rgba(43,116,185,.45) !important;
  border-width:1px !important}
.slr-hub .slr-reviewer-block__cta:hover{
  border-color:var(--link) !important;background:rgba(43,116,185,.06) !important}

/* Body copy measure. 720px next to 1240px card rows read as a narrow column
   with a large dead gutter. 880px is ~95 characters at 16.5px, still within a
   comfortable measure, and lines up much better with the sections around it. */
.slr-hub .slr-prose{max-width:880px !important}
.slr-hub .slr-sec-head-native .slr-lede p{max-width:880px}


/* ---- dynamic section types ----
   Long service pages were one continuous prose column. These give the page
   rhythm: scannable feature rows, a numbered process band, and a single
   emphasised callout, all reusing the existing card treatment. */

/* feature cards: icon + title + copy, no link, no spec list */
.slr-hub .slr-feat-grid--native > .elementor-container,
.slr-hub.slr-feat-grid--native > .elementor-container{
  display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;width:100%;align-items:stretch}
.slr-hub .slr-feat-grid--native > .elementor-container > .elementor-column,
.slr-hub.slr-feat-grid--native > .elementor-container > .elementor-column{
  width:auto !important;max-width:none !important;flex:none !important;min-width:0}
.slr-hub .slr-feat-card{background:#fff;border:1px solid var(--rule);min-width:0}
.slr-hub .slr-feat-card > .elementor-widget-wrap{padding:24px 22px 20px;width:100%}
.slr-hub .slr-feat-card .slr-ico{
  width:36px;height:36px;color:var(--action);margin-bottom:12px}
.slr-hub .slr-feat-card .slr-ico svg{width:100%;height:100%;display:block}
.slr-hub .slr-feat-card .elementor-heading-title{
  font-family:var(--display) !important;font-weight:700 !important;font-size:17px !important;
  color:var(--ink) !important;margin:0 0 7px;text-wrap:balance}
.slr-hub .slr-feat-card .slr-card-copy p{
  font-size:14px;line-height:1.6;margin:0;color:var(--ink-body) !important}

/* numbered process band */
.slr-hub .slr-steps--native > .elementor-container,
.slr-hub.slr-steps--native > .elementor-container{
  display:grid !important;grid-template-columns:repeat(5,minmax(0,1fr));
  gap:16px;width:100%;align-items:start}
.slr-hub .slr-steps--native > .elementor-container > .elementor-column,
.slr-hub.slr-steps--native > .elementor-container > .elementor-column{
  width:auto !important;max-width:none !important;flex:none !important;min-width:0}
.slr-hub .slr-step > .elementor-widget-wrap{
  padding:0 14px 0 0;border-top:2px solid var(--action);padding-top:14px;width:100%}
.slr-hub .slr-step .slr-step-num .elementor-heading-title{
  font-family:var(--sans) !important;font-size:12px !important;font-weight:800 !important;
  letter-spacing:.1em !important;color:var(--action-2) !important;margin:0 0 6px}
.slr-hub .slr-step h3.elementor-heading-title{
  font-family:var(--display) !important;font-size:15.5px !important;font-weight:700 !important;
  color:var(--ink) !important;margin:0 0 6px;text-wrap:balance}
.slr-hub .slr-step .slr-card-copy p{
  font-size:13.5px;line-height:1.55;margin:0;color:var(--ink-muted) !important}

/* single emphasised callout */
.slr-hub .slr-callout{max-width:880px}
.slr-hub .slr-callout .slr-callout-copy p{
  font-size:17px;line-height:1.65;color:var(--ink) !important;margin:0 0 12px;max-width:820px}

@media (max-width:1024px){
  .slr-hub .slr-steps--native > .elementor-container,
  .slr-hub.slr-steps--native > .elementor-container{
    grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;padding-inline:20px}
  .slr-hub .slr-feat-grid--native > .elementor-container,
  .slr-hub.slr-feat-grid--native > .elementor-container{padding-inline:20px}
}
@media (max-width:860px){
  .slr-hub .slr-feat-grid--native > .elementor-container,
  .slr-hub.slr-feat-grid--native > .elementor-container{
    grid-template-columns:1fr;padding-inline:20px}
  .slr-hub .slr-steps--native > .elementor-container,
  .slr-hub.slr-steps--native > .elementor-container{
    grid-template-columns:1fr;padding-inline:20px}
  /* steps stack, so the divider rule reads better across the full width */
  .slr-hub .slr-step > .elementor-widget-wrap{padding-right:0}
}

/* The glance panel is the container itself (grey behind 1px gaps, rounded), so its gutter has to sit outside
   it and is set by width. As padding (until 2026-09-28) it showed as grey bars beside the cells on tablets
   and phones, and above 860px the panel ran to the screen edge. 32px like the page text, 20px on phones. */
.slr-hub .slr-glance--native > .elementor-container,
.slr-hub.slr-glance--native > .elementor-container{box-sizing:border-box;width:min(1240px, calc(100% - 64px));margin-inline:auto}
@media (max-width:640px){
  .slr-hub .slr-glance--native > .elementor-container,
  .slr-hub.slr-glance--native > .elementor-container{width:calc(100% - 40px)}}

/* Links inside the new card/step/callout copy. Without an explicit rule they
   inherit the theme's #4783bc, which is 4.01:1 on white: under the 4.5 floor.
   This is the same cascade trap that caught the headings and the prose links,
   so it is now covered wherever body copy can contain a link. */
.slr-hub .slr-feat-card a,
.slr-hub .slr-prog-card a,
.slr-hub .slr-step a,
.slr-hub .slr-callout a,
.slr-hub .slr-card-copy a{
  color:var(--link) !important;text-decoration:underline;
  text-underline-offset:2px;text-decoration-thickness:1px;
  text-decoration-color:rgba(43,116,185,.4)}
.slr-hub .slr-feat-card a:hover,
.slr-hub .slr-prog-card a:hover,
.slr-hub .slr-step a:hover,
.slr-hub .slr-callout a:hover,
.slr-hub .slr-card-copy a:hover{text-decoration-color:var(--link)}

/* ---- mid-page CTAs ----
   Two tones. The soft one sits early, before the reader has decided anything,
   so it offers the low-commitment action (coverage check) and keeps the phone
   secondary. The direct one sits later, after the schedule, services and
   admissions detail, and leads with the call. */
.slr-hub .slr-midcta-inner{text-align:center}
.slr-hub .slr-midcta-inner .elementor-heading-title{
  color:var(--heading) !important;font-size:clamp(21px,2.2vw,27px) !important;
  margin:0 0 10px;text-wrap:balance}
.slr-hub .slr-midcta-copy p{
  color:var(--ink-muted) !important;font-size:16px;line-height:1.6;
  margin:0 auto 18px;max-width:56ch}
.slr-hub .slr-midcta .slr-ctas{display:flex;gap:11px;justify-content:center;flex-wrap:wrap}

/* soft: quiet ground, outline action, phone as a text link */
.slr-hub.slr-midcta--soft{background:var(--wash);border-block:1px solid var(--rule)}
.slr-hub .slr-btn-quiet{
  display:inline-flex;align-items:center;padding:11px 8px;
  font-family:var(--sans);font-size:14px;font-weight:600;
  color:var(--link) !important;text-decoration:none}
.slr-hub .slr-btn-quiet:hover{text-decoration:underline}

/* direct: the page's strongest ask before the closing CTA */
.slr-hub.slr-midcta--direct{
  background:linear-gradient(135deg,#1f5688 0%,#2b74b9 62%,#4d6f96 100%)}
.slr-hub.slr-midcta--direct .elementor-heading-title{color:#fff !important}
.slr-hub.slr-midcta--direct .slr-midcta-copy p{color:#f2f7fc !important}

/* Links on the warm ground. --link (#2b74b9) measures 4.44:1 against the warm
   gradient's peach stop, just under the floor, so warm sections take a darker
   blue. Checked against all three stops: 5.3 / 5.5 / 5.3. */
.slr-hub.slr-warm a:not(.slr-btn),
.slr-hub .slr-warm a:not(.slr-btn){color:#26699f !important}

/* ---- button states ----
   Before this, only .slr-btn-blue had a hover (a background swap), and the base
   button had no transition, so the one state that existed snapped. .slr-btn-outline,
   .slr-btn-white and .slr-btn-ghost had no hover at all: an outline button gave
   the reader no feedback that it was interactive.

   Every variant now changes on hover in a way you cannot miss - fill, not just a
   tint - plus a small lift and shadow. Contrast is verified for each hover state,
   not just the resting one, because a hover that drops below 4.5:1 is still a
   failure. Keyboard focus gets its own visible ring; there was none. */

.slr-hub .slr-btn{
  cursor:pointer;
  transition:background-color .16s ease, border-color .16s ease, color .16s ease,
             transform .16s ease, box-shadow .16s ease}

/* outline: inverts to a filled, darker blue. #fff on #1f5688 = 7.65:1 */
.slr-hub .slr-btn-outline:hover,
.slr-hub .slr-btn-outline:focus-visible{
  background:#1f5688 !important;color:#fff !important;border-color:#1f5688 !important;
  transform:translateY(-2px);box-shadow:0 6px 18px rgba(31,86,136,.28)}

/* solid orange (hero + closing + direct CTA): deepens. #3d2412 on #f08342 = 5.5:1 */
.slr-hub .slr-btn-white:hover, .slr-hub .slr-btn-white:focus-visible,
.slr-hub .slr-btn-blue:hover,  .slr-hub .slr-btn-blue:focus-visible{
  background:var(--action-hover) !important;color:var(--action-ink) !important;
  transform:translateY(-2px);box-shadow:0 8px 20px rgba(240,131,66,.36)}

/* ghost (on the dark hero): fills white. #102636 on #fff = 15.5:1 */
.slr-hub .slr-btn-ghost:hover,
.slr-hub .slr-btn-ghost:focus-visible{
  background:#fff !important;color:#102636 !important;border-color:#fff !important;
  transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.25)}

/* the quiet text action beside a soft CTA */
.slr-hub .slr-btn-quiet:hover,
.slr-hub .slr-btn-quiet:focus-visible{
  color:#1f5688 !important;text-decoration:underline;text-underline-offset:3px}

/* the authorship block's CTA is a button too */
.slr-hub .slr-reviewer-block__cta:hover,
.slr-hub .slr-reviewer-block__cta:focus-visible{
  background:var(--link) !important;color:#fff !important;
  border-color:var(--link) !important;transform:translateY(-1px)}

.slr-hub .slr-btn:active{transform:translateY(0);box-shadow:none}

/* Keyboard users got no focus indicator at all. */
.slr-hub .slr-btn:focus-visible,
.slr-hub .slr-btn-quiet:focus-visible,
.slr-hub .slr-reviewer-block__cta:focus-visible{
  outline:3px solid rgba(247,149,91,.75);outline-offset:3px}

@media (prefers-reduced-motion:reduce){
  .slr-hub .slr-btn{transition:background-color .16s ease, color .16s ease}
  .slr-hub .slr-btn:hover,
  .slr-hub .slr-btn:focus-visible{transform:none}
}

/* ---- clinical team ----
   Members link to their profile and show their real headshot. Two records
   currently have the company logo as their avatar, so those fall back to
   initials rather than putting a logo in a person's circle. */
.slr-hub .slr-team-grid{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;margin-top:6px}
.slr-hub .slr-mem{
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;
  text-decoration:none;padding:14px 8px;border-radius:12px;
  transition:background-color .16s ease, transform .16s ease}
.slr-hub .slr-mem:hover{background:rgba(255,255,255,.72);transform:translateY(-2px)}
.slr-hub .slr-mem .slr-av{
  width:72px;height:72px;border-radius:50%;overflow:hidden;display:flex;
  align-items:center;justify-content:center;margin-bottom:8px;
  background:linear-gradient(140deg,#f3e6da,#e7eef6);
  box-shadow:0 2px 10px rgba(16,38,54,.10)}
.slr-hub .slr-mem .slr-av-img{width:100%;height:100%;object-fit:cover;display:block}
.slr-hub .slr-mem .slr-av-init{
  font-family:var(--display);font-weight:800;font-size:22px;color:var(--action-2)}
.slr-hub .slr-mem strong{
  font-family:var(--display);font-size:14.5px;font-weight:700;
  color:var(--ink) !important;line-height:1.3}
.slr-hub .slr-mem span:not(.slr-av):not(.slr-av-init){
  font-size:12.5px;line-height:1.4;color:var(--ink-muted) !important}
.slr-hub .slr-mem:hover strong{color:#26699f !important}
@media (max-width:900px){
  .slr-hub .slr-team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:560px){
  .slr-hub .slr-team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* hours line on the comparison cards */
.slr-hub .slr-sib-card .slr-sib-meta p{
  font-family:var(--sans);font-size:11.5px;font-weight:800;letter-spacing:.06em;
  text-transform:uppercase;color:var(--action-2) !important;margin:0 0 6px}

/* The team block is centre-aligned, so its "meet the full team" action is too.
   Scoped as a modifier: the comparison rail's link stays left, flush with the
   cards above it. */
.slr-hub .slr-sib-up--center{display:flex;justify-content:center;width:100%;margin-top:26px}

/* ---- level-of-care comparison ----
   The level this page is about sits in its own panel on the left; the
   alternatives are a scannable list on the right, so the reader sees where
   they are before seeing what else exists. */
.slr-hub .slr-cmp--native > .elementor-container,
.slr-hub.slr-cmp--native > .elementor-container{
  display:grid !important;grid-template-columns:minmax(0,1fr) minmax(0,1.9fr);
  gap:28px;width:100%;align-items:stretch;
  /* .slr-inner adds 48px inside the 1240 box; match it so the grid lines up
     with the section heading above rather than sitting 48px further left. */
  padding-inline:48px}
.slr-hub .slr-cmp--native > .elementor-container > .elementor-column,
.slr-hub.slr-cmp--native > .elementor-container > .elementor-column{
  width:auto !important;max-width:none !important;flex:none !important;min-width:0}

.slr-hub .slr-cmp-current{
  background:#fff;border:1px solid var(--rule);border-left:4px solid var(--action);
  border-radius:12px}
.slr-hub .slr-cmp-current{display:flex}
.slr-hub .slr-cmp-current > .elementor-widget-wrap{
  padding:22px 22px 20px;width:100%;align-content:flex-start}
.slr-hub .slr-cmp-current .slr-eyebrow .elementor-heading-title{
  font-family:var(--sans) !important;font-size:10.5px !important;font-weight:800 !important;
  letter-spacing:.11em !important;text-transform:uppercase !important;
  color:var(--action-2) !important;margin:0 0 8px}
.slr-hub .slr-cmp-current h3.elementor-heading-title{
  font-family:var(--display) !important;font-size:19px !important;font-weight:700 !important;
  color:var(--ink) !important;margin:0 0 6px;text-wrap:balance}
.slr-hub .slr-cmp-current-hours p{
  font-family:var(--sans);font-size:12px;font-weight:800;letter-spacing:.06em;
  text-transform:uppercase;color:var(--action-2) !important;margin:0 0 10px}
.slr-hub .slr-cmp-current-desc p{
  font-size:14px;line-height:1.6;color:var(--ink-body) !important;margin:0}

.slr-hub .slr-cmp-list{list-style:none;margin:0;padding:0;
  border-top:1px solid var(--rule)}
.slr-hub .slr-cmp-list li{border-bottom:1px solid var(--rule)}
.slr-hub .slr-cmp-list a{
  display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.85fr) minmax(0,1.6fr);
  gap:16px;align-items:baseline;padding:15px 8px 15px 4px;text-decoration:none;
  transition:background-color .14s ease, padding-left .14s ease}
.slr-hub .slr-cmp-list a:hover{background:rgba(255,255,255,.85);padding-left:12px}
.slr-hub .slr-cmp-list .slr-cmp-t{
  font-family:var(--display);font-weight:700;font-size:15.5px;color:var(--link) !important}
.slr-hub .slr-cmp-list a:hover .slr-cmp-t{color:#1f5688 !important}
.slr-hub .slr-cmp-list .slr-cmp-h{
  font-family:var(--sans);font-size:11.5px;font-weight:800;letter-spacing:.05em;
  text-transform:uppercase;color:var(--ink-faint) !important}
.slr-hub .slr-cmp-list .slr-cmp-d{
  font-size:13.5px;line-height:1.5;color:var(--ink-muted) !important}

@media (max-width:900px){
  .slr-hub .slr-cmp--native > .elementor-container,
  .slr-hub.slr-cmp--native > .elementor-container{
    grid-template-columns:1fr;gap:20px;padding-inline:20px}
  .slr-hub .slr-cmp-list a{grid-template-columns:1fr;gap:3px}
}

/* ---- whole-card click target ----
   The card title carries the link; its ::after is stretched over the card so
   the entire tile is clickable. This keeps the columns as native Elementor
   widgets (an <a> wrapping the whole card would force it back to raw HTML)
   and keeps one link per card for assistive tech.
   Note: nothing else inside the card may be a link - a nested link sits under
   the stretched overlay and cannot be clicked. */
.slr-hub .slr-prog-card,
.slr-hub .slr-feat-card{position:relative}
.slr-hub .slr-prog-card .elementor-heading-title a::after{
  content:"";position:absolute;inset:0;z-index:1}
.slr-hub .slr-prog-card:focus-within{
  outline:3px solid rgba(247,149,91,.75);outline-offset:3px}
.slr-hub .slr-prog-card .elementor-heading-title a:focus-visible{outline:none}
.slr-hub .slr-prog-card:hover{cursor:pointer}

/* Steps band column counts. The default is 5; an 8-stage sequence reads better
   as 4 across 2 rows than 8 squeezed into one. */
.slr-hub .slr-steps--4 > .elementor-container,
.slr-hub.slr-steps--4 > .elementor-container{grid-template-columns:repeat(4,minmax(0,1fr))}
.slr-hub .slr-steps--3 > .elementor-container,
.slr-hub.slr-steps--3 > .elementor-container{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1024px){
  .slr-hub .slr-steps--4 > .elementor-container,
  .slr-hub.slr-steps--4 > .elementor-container{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* ---- orange buttons: white text, one shade deeper ----
   White on the original light orange (#f7955b) is 2.2:1 and hard to read, so
   buttons use a deeper step of the same orange (3.5:1 with white). The light
   orange stays for accents. Applies to every orange button the pages use. */
.slr-hub{--action-btn:#d9681e;--action-hover:#c25a17;--action-ink:#ffffff}
.slr-hub .slr-btn-blue,.slr-hub .slr-btn-white,.slr-hub .slr-new{background:var(--action-btn);color:#fff}
.slr-hub .slr-btn-blue svg,.slr-hub .slr-btn-white svg{color:#fff}
.slr-hub .slr-embed .slr-play-btn{background:var(--action-btn)}
.slr-hub .slr-form-card [type=submit],.slr-hub .slr-form-card .elementor-button,
.slr-hub .wpcf7-submit{background:var(--action-btn) !important;color:#fff !important;font-weight:700 !important;border:0 !important}
.slr-hub .slr-form-card [type=submit]:hover,.slr-hub .slr-form-card .elementor-button:hover,
.slr-hub .wpcf7-submit:hover{background:var(--action-hover) !important;filter:none}
/* ---- hero with the form on the right (Verify Insurance) ---- */
.slr-hub.slr-hero--form > .elementor-container{align-items:center;gap:44px;padding-inline:48px}
.slr-hub.slr-hero--form .slr-hero-main{color:#fff}
.slr-hub.slr-hero--form .slr-hero-form > .elementor-widget-wrap{padding:26px 26px 22px !important;
  box-shadow:0 34px 70px -34px rgba(0,0,0,.6);border:0}
.slr-hub.slr-hero--form .slr-hero-form{color:var(--ink)}
.slr-hub.slr-hero--form .slr-hero-form .slr-form-head{margin-bottom:12px}
.slr-hub.slr-hero--form .slr-hero-form .slr-form-head h2{font-size:22px}
.slr-hub.slr-hero--form .slr-hero-form .wpcf7 p{margin:0 0 10px}
@media(max-width:1100px){.slr-hub.slr-hero--form > .elementor-container{padding-inline:32px;gap:32px}}
@media(max-width:900px){.slr-hub.slr-hero--form > .elementor-container{flex-direction:column;padding-inline:20px;gap:22px}
  .slr-hub.slr-hero--form .elementor-column{width:100% !important}}
.slr-hub .slr-next-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:34px;align-items:start}
@media(max-width:860px){.slr-hub .slr-next-grid{grid-template-columns:minmax(0,1fr)}}

/* hero form card: dark text on the white card (the hero sets white), and the
   Contact Form 7 fields laid out two per row so the whole form, submit
   included, sits above the fold. Works on the form's own markup (rows of
   <p> fields); no change to the form itself, which stays editable in CF7. */
.slr-hub.slr-hero--form .slr-hero-form h2{color:var(--heading) !important}
.slr-hub.slr-hero--form .slr-hero-form .slr-eyebrow{color:var(--action-btn)}
.slr-hub.slr-hero--form .slr-hero-form p{color:var(--ink-muted)}
.slr-hub.slr-hero--form .slr-hero-form .wpcf7-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 12px}
.slr-hub.slr-hero--form .slr-hero-form .wpcf7-form .row,
.slr-hub.slr-hero--form .slr-hero-form .wpcf7-form [class*=col-]{display:contents}
.slr-hub.slr-hero--form .slr-hero-form .wpcf7-form p{margin:0 !important;font-size:12.5px;color:var(--ink-muted)}
.slr-hub.slr-hero--form .slr-hero-form .wpcf7-form fieldset,
.slr-hub.slr-hero--form .slr-hero-form .wpcf7-response-output,
.slr-hub.slr-hero--form .slr-hero-form .wpcf7-form p:has(select),
.slr-hub.slr-hero--form .slr-hero-form .wpcf7-form p:has(textarea),
.slr-hub.slr-hero--form .slr-hero-form .wpcf7-form p:has([type=submit]){grid-column:1 / -1}
.slr-hub.slr-hero--form .slr-hero-form .wpcf7-form input:not([type=submit]):not([type=hidden]),
.slr-hub.slr-hero--form .slr-hero-form .wpcf7-form select,
.slr-hub.slr-hero--form .slr-hero-form .wpcf7-form textarea{width:100% !important;max-width:100% !important;box-sizing:border-box;
  padding:10px 12px !important;font-size:14.5px !important}
.slr-hub.slr-hero--form .slr-hero-form .wpcf7-form textarea{height:76px !important;min-height:0 !important;resize:vertical}
.slr-hub.slr-hero--form .slr-hero-form .wpcf7-form [type=submit]{width:100%;padding:14px 22px !important;font-size:15.5px !important}
.slr-hub.slr-hero--form .slr-hero-form .wpcf7-spinner{position:absolute}
@media(max-width:480px){.slr-hub.slr-hero--form .slr-hero-form .wpcf7-form{grid-template-columns:minmax(0,1fr)}}

/* the theme's Bootstrap clearfix pseudo-elements on .row would become grid
   cells; the theme's label/input margins would double the gaps */
.slr-hub.slr-hero--form .slr-hero-form .wpcf7-form .row::before,
.slr-hub.slr-hero--form .slr-hero-form .wpcf7-form .row::after{display:none !important;content:none !important}
.slr-hub.slr-hero--form .slr-hero-form .wpcf7-form label{display:block;margin:0 !important}
.slr-hub.slr-hero--form .slr-hero-form .wpcf7-form input,
.slr-hub.slr-hero--form .slr-hero-form .wpcf7-form select,
.slr-hub.slr-hero--form .slr-hero-form .wpcf7-form textarea{margin:0 !important}
.slr-hub.slr-hero--form .slr-hero-form .wpcf7-form br{display:none}

/* "Birth date:" caption: kept for screen readers, collapsed visually so the
   DOB field lines up with its neighbour (its placeholder says DOB mm/dd/yyyy) */
.slr-hub.slr-hero--form .slr-hero-form .wpcf7-form p:has(input[placeholder^="DOB"]){font-size:0 !important;line-height:0}
.slr-hub.slr-hero--form .slr-hero-form .wpcf7-form p:has(input[placeholder^="DOB"]) input{line-height:normal}

/* ---- photo + text band (native Image widget) ---- */
.slr-hub.slr-media > .elementor-container{align-items:center;gap:44px;padding-inline:24px}
.slr-hub .slr-media-img img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:22px;
  box-shadow:0 30px 60px -40px rgba(15,42,74,.55)}
.slr-hub .slr-media-copy h2{margin-top:0}
@media(max-width:860px){.slr-hub.slr-media > .elementor-container{flex-direction:column;gap:24px}
  .slr-hub.slr-media .elementor-column{width:100% !important}}

/* ---- native Button widgets (.slr-nbtn): same look as the old button rows ---- */
.slr-hub .slr-nbtn{margin:0 11px 11px 0}
.slr-hub .slr-nbtn .elementor-button{display:inline-flex;align-items:center;justify-content:center;
  padding:14px 24px;border-radius:var(--pill);font-family:var(--sans);font-weight:700;font-size:14.5px;
  line-height:1;border:2px solid transparent;text-decoration:none;box-shadow:none;
  transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease}
.slr-hub .slr-nbtn .elementor-button-content-wrapper{display:inline-flex;align-items:center;gap:8px}
.slr-hub .slr-nbtn .elementor-button-icon{display:inline-flex;margin:0}
.slr-hub .slr-nbtn .elementor-button-icon svg{width:14px;height:14px;fill:currentColor}
.slr-hub .slr-nbtn .elementor-button-icon i{font-size:14px}
.slr-hub .slr-nbtn--primary .elementor-button{background:var(--action-btn);color:#fff}
.slr-hub .slr-nbtn--primary .elementor-button:hover,.slr-hub .slr-nbtn--primary .elementor-button:focus-visible{
  background:var(--action-hover);color:#fff;transform:translateY(-1px)}
.slr-hub .slr-nbtn--outline .elementor-button{background:#fff;color:var(--action-2);border-color:var(--action-2)}
.slr-hub .slr-nbtn--outline .elementor-button:hover,.slr-hub .slr-nbtn--outline .elementor-button:focus-visible{
  background:var(--action-2);color:#fff}
.slr-hub .slr-nbtn--ghost .elementor-button{background:rgba(255,255,255,.08);color:#fff;
  border:1px solid rgba(255,255,255,.45);backdrop-filter:blur(6px)}
.slr-hub .slr-nbtn--ghost .elementor-button:hover,.slr-hub .slr-nbtn--ghost .elementor-button:focus-visible{
  background:rgba(255,255,255,.18);color:#fff;border-color:#fff}
.slr-hub .slr-nbtn--quiet .elementor-button{background:none;color:var(--link);padding:11px 8px;font-weight:600;font-size:14px}
.slr-hub .slr-nbtn--quiet .elementor-button:hover{text-decoration:underline;background:none;color:var(--link)}
.slr-hub .slr-nbtn .elementor-button:focus-visible{outline:2px solid #2f7fd1;outline-offset:2px}
/* centred rows: mid-page and closing calls to action */
.slr-hub .slr-midcta-inner > .elementor-widget-wrap,
.slr-hub.slr-close-cta .elementor-column > .elementor-widget-wrap{justify-content:center}
.slr-hub .slr-midcta-inner .slr-nbtn,.slr-hub.slr-close-cta .slr-nbtn{margin:0 5px 10px}
@media(max-width:520px){.slr-hub .slr-nbtn{margin-right:8px}
  .slr-hub .slr-nbtn .elementor-button{padding:13px 18px;font-size:14px}}

/* The hero intro keeps its reading width on the inner container, not on the widget,
   so the widget row stays full width and the inline buttons wrap onto their own line. */
.slr-hub.slr-hero .elementor-widget.slr-sub,.slr-hub .slr-hero .elementor-widget.slr-sub{max-width:none !important;width:100%}
.slr-hub.slr-hero .elementor-widget.slr-sub p,.slr-hub .slr-hero .elementor-widget.slr-sub p{max-width:56ch}

/* same for the closing and mid-page copy: width cap on the inner container, centred */
.slr-hub.slr-close-cta .elementor-widget.slr-answer,.slr-hub .slr-close-cta .elementor-widget.slr-answer,
.slr-hub .slr-midcta-inner .elementor-widget.slr-midcta-copy{max-width:none !important;width:100%}
.slr-hub.slr-close-cta .elementor-widget.slr-answer p,.slr-hub .slr-close-cta .elementor-widget.slr-answer p{max-width:62ch;margin-inline:auto}

/* Space under every button, so buttons that wrap onto two lines (phones, narrow columns) do not
   touch. Elementor's global "space between widgets" (0 on this site) sets widget margins with a
   more specific selector, so this one is marked important. */
.slr-hub .elementor-widget.slr-nbtn{margin-bottom:12px !important;margin-block-end:12px !important}

/* the player that replaces the film thumbnail keeps the same 16:9 frame */
.slr-hub .slr-film-stage > iframe{display:block;width:100%;aspect-ratio:16/9;border:0}

/* form placeholders: set here rather than left to whichever theme or plugin stylesheet happens to
   load last. Clearly lighter than typed text, and still 4.5:1 contrast on the field background. */
.slr-hub .slr-form-card ::placeholder,.slr-hub .slr-hero-form ::placeholder{color:#6f7782 !important;opacity:1}
/* typed text: the theme sets form text to a light grey (#999, about 2.8:1); use the body ink so a
   filled field is clearly darker than an empty one */
.slr-hub .slr-form-card input:not([type=submit]),.slr-hub .slr-form-card select,.slr-hub .slr-form-card textarea{color:#1f2d3d !important}
/* small orange text (home tile hours): the light accent orange is 2.2:1 on white; this deeper step is 4.8:1 */
.slr-hub .slr-hm-tile-hrs{color:#b55719}
/* text for screen readers only (form labels that have no visible text); kept here so it survives a theme change */
.slr-hub .screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute !important;width:1px;word-wrap:normal !important}
/* light heads on dark bands (home testimonials). These must come after the base head rules
   (.slr-hm-head p is muted grey) and be !important, because the base heading rule is
   color:inherit !important; without both, the heading and intro rendered dark grey on dark blue. */
.slr-hub .slr-hm-head--light .slr-hm-kick{color:#ffc48a !important}
.slr-hub .slr-hm-head--light .slr-hm-h2{color:#fff !important}
.slr-hub .slr-hm-head--light p{color:rgba(255,255,255,.82) !important}
