/* Banking-specific layouts; typography and controls follow the service page. */
.bank-photo { margin: 0; position: relative; padding: 0 28px 28px 0; }
.bank-photo::before { content: ''; position: absolute; inset: 50px 0 0 60px; background: var(--sp-ink); border-radius: 0 0 48px 0; }
.bank-photo > img { position: relative; width: 100%; height: 430px; object-fit: cover; border-radius: 8px 48px 8px 8px; }
.bank-intro .sp-copy > p { margin-top: 22px; }
.bank-tags { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--sp-line); color: var(--sp-ink); font-size: 16px; font-weight: 700; }
.bank-tags span { display: inline-flex; align-items: center; gap: 10px; }
.bank-tags span::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: var(--sp-pink); }
.bank-capability { background: var(--sp-paper); }
.bank-capability .sp-expertise-panel { background: var(--sp-white); }
.bank-capability .sp-expertise-tab[aria-selected="true"] { background: var(--sp-white); }
.bank-proof { padding: 88px 0; }
.bank-proof-panel { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); border-radius: 12px; overflow: hidden; background: var(--sp-ink); }
.bank-proof-copy { padding: 48px; color: var(--sp-white); }
.bank-proof-copy .sp-label { color: var(--sp-soft); }
.bank-proof-copy h2 { color: var(--sp-white); }
.bank-proof-copy > p { margin-top: 24px; color: var(--sp-soft); font-size: 18px; }
.bank-proof-copy .tt-mark,.bank-platform .tt-mark { --mk-spark: var(--accent-deep); --mk-arc: var(--sky-deep); --mk-band: linear-gradient(101deg, hsl(202 55% 55% / .62), hsl(332 84% 62% / .46)); }
.bank-proof-visual { position: relative; min-height: 420px; }
.bank-proof-visual > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.bank-proof-visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, hsl(220 100% 12% / .8), hsl(220 100% 12% / .05)); }
.bank-cadence { margin-top: 32px; display: flex; align-items: center; gap: 20px; padding: 24px 0; border-top: 1px solid hsl(220 30% 43%); border-bottom: 1px solid hsl(220 30% 43%); }
.bank-cadence strong { font: 600 24px/1.25 var(--ff-head); }
.bank-cadence > span { color: var(--sp-soft); font-size: 25px; }
.bank-proof-read { color: var(--sp-white); display: inline-flex; align-items: center; gap: 24px; margin-top: 28px; font-weight: 700; }
.bank-proof-read:hover { text-decoration: underline; text-underline-offset: 5px; }
.bank-proof-visual p { position: absolute; bottom: 36px; left: 36px; right: 36px; z-index: 1; color: var(--sp-white); font: 600 28px/1.3 var(--ff-head); }
.bank-audience { padding-top: 0; }
.bank-team-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 28px; }
.bank-team { border-top: 2px solid var(--sp-line); padding-top: 26px; }
.bank-team img { display: block; width: 34px; height: 34px; margin-bottom: 20px; }
.bank-team svg { width: 34px; height: 34px; color: var(--sp-pink); fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; margin-bottom: 20px; }
.bank-team h3 { font-size: 22px; margin-bottom: 14px; }
.bank-team p { font-size: 17px; }
.bank-platform { background: var(--sp-ink); color: var(--sp-white); }
.bank-platform .sp-label { color: var(--sp-soft); }
.bank-platform h2 { color: var(--sp-white); }
.bank-platform p { color: var(--sp-soft); }
.bank-platform-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; }
.bank-product { padding: 28px 24px; border: 1px solid hsl(220 30% 43%); border-radius: 8px; }
.bank-product h3 { height: 54px; display: flex; align-items: center; margin-bottom: 22px; }
.bank-product img { max-width: 160px; width: 100%; height: auto; max-height: 48px; object-fit: contain; object-position: left center; }
.bank-product p { font-size: 17px; }
.bank-standards { display: grid; grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr); gap: 48px; margin-top: 36px; padding-top: 32px; border-top: 1px solid hsl(220 30% 43%); }
.bank-standards h3 { color: var(--sp-white); font-size: 23px; }
.bank-standards p { font-size: 17px; }
.bank-faq .faq__side > p { margin-top: 24px; font-size: 18px; }
.bank-faq .faq__label { font-size: 19px; }
.bank-faq .faq__a p { font-size: 17px; }
@media(max-width:1050px) {
  .bank-proof-copy { padding: 36px; }
  .bank-team-grid,.bank-platform-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .bank-cadence { flex-wrap: wrap; }
}
@media(max-width:760px) {
  .bank-proof-panel { grid-template-columns:minmax(0,1fr); }
  .bank-proof-visual { min-height:280px; }
  .bank-photo > img { height:340px; }
  .bank-standards { grid-template-columns:minmax(0,1fr); gap:18px; }
  .bank-proof { padding:56px 0; }
}
@media(max-width:800px) {
  .bank-capability .sp-expertise-tab { flex-basis: 50%; }
}
@media(max-width:480px) {
  .bank-team-grid,.bank-platform-grid { grid-template-columns:minmax(0,1fr); }
  .bank-proof-copy { padding:28px; }
  .bank-proof-visual p { left:28px; bottom:28px; font-size:25px; }
  .bank-cadence { gap:14px; }
  .bank-cadence strong { font-size:21px; }
}
