/* Banking audience additions; shared audience.css owns the page components. */
.banks-page :is(h1, h2, h3) { text-wrap: balance; }
.banks-page section[id] { scroll-margin-top: calc(var(--header-height) + 24px); }
.banks-hero { isolation: isolate; }
.banks-hero-art { position: absolute; inset: 0; z-index: -2; }
.banks-hero-art img { width: 100%; height: 100%; object-fit: cover; object-position: 60% center; }
.banks-hero::before { z-index: -1; background: linear-gradient(90deg, rgba(2,8,18,.88), rgba(2,8,18,.66) 44%, rgba(2,8,18,.08) 72%); }
.banks-hero .page-hero-inner::after { content: none; }
.banks-hero .page-hero-inner { min-height: 590px; padding-block: 44px 72px; align-items: start; }
.banks-hero h1 { font-size: 3rem; max-width: 650px; }
.banks-hero .hero-panel { align-self: start; }
.banks-hero .hero-panel-list > div { min-width: 0; }
.banks-hero .facts-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: visible; }
.banks-hero .facts-strip > div { min-width: 0; }
.banks-approach-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.banks-approach { padding-block: 24px 0; border-top: 2px solid var(--gold); }
.banks-approach h3 { color: var(--gold-light); font-size: 1.15rem; line-height: 1.4; }
.banks-approach p { margin-top: 16px; color: rgba(255,255,255,.82); }
.banks-approach ul { margin-top: 22px; padding-inline-start: 20px; color: var(--white); }
.banks-approach li { padding-block: 5px; }
.banks-approach li::marker { color: var(--gold-light); }
.banks-page .offer-card p, .banks-page .step-stage p { font-size: .95rem; line-height: 1.65; }
.banks-page .offer-card h3 { font-size: 1.2rem; line-height: 1.3; }
.banks-page .offer-num { box-shadow: none; }
.banks-responsible { background-image: url("../assets/images/audience-pattern-bg.jpg"); }
.banks-delivery-statement { max-width: 900px; margin: 28px auto 0; color: rgba(255,255,255,.86); text-align: center; }
.banks-framework-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px 28px; padding: 0; list-style: none; }
.banks-framework-list li { padding-block: 12px; border-top: 1px solid rgba(183,138,45,.36); color: var(--navy); font-size: .93rem; }
.banks-cta { background-image: url("../assets/images/audience-cta-bg.jpg"); }
.banks-cta .banks-security-note { margin-top: 24px; font-size: .87rem; color: rgba(255,255,255,.82); }
.banks-page .btn { white-space: normal; text-align: center; min-height: 48px; }
.banks-page .step-stage::after { content: none; }
html[dir="rtl"] .banks-hero::before { background: linear-gradient(270deg, rgba(2,8,18,.85), rgba(2,8,18,.65) 50%, rgba(2,8,18,.32)); }
@media (min-width: 980px) {
  .banks-hero .page-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(270px, .48fr); width: 100%; }
  .banks-hero .hero-panel-list { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .banks-hero .hero-panel-list > div { padding: 10px; gap: 8px; }
  .banks-hero .hero-panel-list em { width: 24px; height: 24px; font-size: .65rem; }
  .banks-hero .hero-panel-list strong { font-size: .8rem; }
}
@media (min-width: 768px) and (max-width: 979px) {
  .banks-hero .page-hero-inner { padding-block: 30px 60px; }
  .banks-hero h1 { font-size: 2.65rem; }
  .banks-hero .hero-panel-list { grid-template-columns: repeat(4, minmax(0,1fr)); }
  .banks-hero .hero-panel-list > div { flex-direction: column; align-items: start; }
  .banks-hero::before { background: rgba(2,8,18,.65); }
  .banks-framework-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 767px) {
  /* Keep phone copy, dedicated imagery, priorities and rail in natural order. */
  .banks-hero { display: grid; padding-top: var(--header-height); }
  .banks-hero::before { content: none; }
  .banks-hero .page-hero-inner, .banks-hero .page-hero-grid { display: contents; }
  .banks-hero-copy { order: 0; padding: 24px 20px 28px; }
  .banks-hero h1 { font-size: 2.1rem; }
  .banks-hero .hero-subtitle { font-size: 1rem; line-height: 1.65; }
  .banks-hero .hero-actions .btn { width: 100%; }
  .banks-hero-art { position: relative; inset: auto; z-index: 0; order: 1; display: block; aspect-ratio: 4 / 3; }
  .banks-hero-art img { display: block; object-position: center 83%; }
  .banks-hero .hero-panel { order: 2; margin: 20px; padding: 16px; backdrop-filter: none; }
  .banks-hero .hero-panel-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .banks-hero .hero-panel-list > div { padding: 10px; gap: 8px; }
  .banks-hero .hero-panel-list strong { font-size: .84rem; }
  .banks-hero .hero-panel-list em { width: 24px; height: 24px; }
  .banks-hero .facts-strip { order: 3; grid-template-columns: repeat(2,minmax(0,1fr)); margin-block: 0; width: calc(100% - 40px); backdrop-filter: none; }
  .banks-hero .facts-strip > div { min-height: 76px; padding: 14px; }
  .banks-hero .facts-strip strong { font-size: .93rem; }
  .banks-approach-grid { grid-template-columns: minmax(0,1fr); gap: 28px; }
  .banks-framework-list { grid-template-columns: minmax(0,1fr); gap: 0; }
  .banks-page .course-gateway { grid-template-columns: minmax(0,1fr); }
  .banks-page .course-gateway .btn { justify-self: stretch; }
  .banks-page .steps-track { grid-template-columns: minmax(0,1fr); }
  .banks-page .step-stage { padding-inline-start: 64px; }
  .banks-page .step-num { position: absolute; inset-inline-start: 14px; top: 18px; }
  .banks-page .step-stage h3 { margin-top: 0; }
  .banks-page .cta-panel { padding: 22px 18px; }
  .banks-page .cta-panel .hero-actions .btn { width: 100%; }
}
@media (max-width: 360px) {
  .banks-hero h1 { font-size: 1.9rem; }
  .banks-hero .hero-panel-list > div { padding: 9px 7px; gap: 6px; }
  .banks-hero .hero-panel-list em { display: none; }
}
