/* Generated 390px mobile baseline; rebuild with build-mobile-rem.py. */
.partners-page{overflow-x: clip;}
.partners-page [hidden]{display: none !important;}
.partners-page a:focus-visible, .partners-page button:focus-visible, .partner-panel:focus-visible{outline: rgb(47, 107, 255) solid 0.1875rem; outline-offset: 0.25rem;}
.skip-link{position: fixed; top: 0.5rem; left: 0.75rem; z-index: 200; padding: 0.75rem 1.25rem; background: rgb(255, 255, 255); color: rgb(21, 62, 146); transform: translateY(-150%);}
.skip-link:focus{transform: none;}
.subpage-hero--partners .subpage-hero-media img{object-position: center 56%;}
.subpage-hero--partners .subpage-hero-media::before{background: linear-gradient(90deg, rgba(8, 14, 23, 0.78) 0%, rgba(8, 14, 23, 0.62) 39%, rgba(8, 14, 23, 0.32) 72%), linear-gradient(0deg, rgba(6, 11, 18, 0.4), rgba(6, 11, 18, 0.04));}
.partners-section{padding: 5.375rem 0 5.125rem; scroll-margin-top: 5.9375rem; background: rgb(247, 248, 250);}
.partners-heading{display: flex; justify-content: space-between; align-items: baseline; gap: 1.5rem; margin-bottom: 2.375rem;}
.partners-heading h2{font-size: 2rem; line-height: 1.4; letter-spacing: -0.045em; font-weight: 650; word-break: keep-all;}
.partners-heading p{color: rgb(113, 123, 136); font-size: max(13px,0.875rem); word-break: keep-all;}
.partner-tabs{display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.25rem; padding: 0.3125rem; max-width: 42.5rem; margin: 0 0 2.5rem; border: 1px solid rgb(224, 230, 238); border-radius: 0.625rem; background: rgb(236, 240, 245);}
.partner-tabs button{min-width: 0; height: 3.0625rem; border: 0; border-radius: 0.375rem; background: transparent; color: rgb(101, 113, 130); cursor: pointer; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: max(13px,0.9375rem); font-weight: 600; line-height: 1.3; transition: color 0.2s, background 0.2s, box-shadow 0.2s;}
.partner-tabs button[aria-selected="true"]{background: rgb(255, 255, 255); color: rgb(36, 95, 207); box-shadow: rgba(24, 44, 73, 0.063) 0 0.125rem 0.5rem;}
.partner-tabs button:hover{color: rgb(36, 95, 207);}
.partner-panel{scroll-margin-top: 6rem;}
.partner-panel + .partner-panel{margin-top: 3.5rem;}
.partner-tabs:not([hidden]) ~ .partner-panel{margin-top: 0;}
.partner-panel h3{font-size: max(13px,1.125rem); font-weight: 650; line-height: 1.4; margin-bottom: 1.25rem; color: rgb(42, 53, 69);}
.partner-grid{display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.125rem;}
.partner-card{min-width: 0; min-height: 11.4375rem; padding: 1.25rem 1.25rem 1.375rem; display: flex; flex-direction: column; justify-content: center; align-items: center; background: rgb(255, 255, 255); border: 1px solid rgb(227, 232, 239); border-radius: 0.5rem; text-align: center;}
.partner-logo{display: flex; align-items: center; justify-content: center; width: 100%; height: 6.75rem; margin-bottom: 0.875rem;}
.partner-logo img{width: 100%; max-width: 14.5rem; height: 100%; object-fit: contain;}
.partner-name{font-size: max(13px,0.875rem); line-height: 1.55; font-weight: 500; color: rgb(83, 96, 116); word-break: keep-all; overflow-wrap: anywhere;}
.partner-card--text .partner-name{font-size: max(13px,1.0625rem); font-weight: 600; color: rgb(55, 72, 95); max-width: 13.75rem; line-height: 1.65; letter-spacing: -0.025em;}
.partner-card--text .partner-logo{display: none;}
.next-page{padding: 4.125rem 0; background: rgb(255, 255, 255);}
.next-page a{display: grid; grid-template-columns: 9.375rem 1fr auto; align-items: center; gap: 1.875rem; padding: 1.8125rem 0; border-top: 1px solid rgb(34, 42, 55); border-bottom: 1px solid rgb(215, 217, 218);}
.next-page small{color: rgb(133, 140, 149); font-size: max(10px,0.6875rem); font-weight: 750; letter-spacing: 0.02em;}
.next-page strong{font-size: 1.6875rem; letter-spacing: -0.035em;}
.next-page .arrow{font-size: 1.5625rem; transition: transform 0.2s, color 0.2s;}
.next-page a:hover .arrow{color: var(--blue); transform: translateX(0.375rem);}

.partner-grid{grid-template-columns: repeat(3, minmax(0, 1fr));}
.partners-section{padding: 3.5rem 0;}
.partners-heading{display: block; margin-bottom: 1.75rem;}
.partners-heading h2{font-size: 1.625rem;}
.partners-heading p{margin-top: 0.75rem; font-size: max(10px,0.8125rem);}
.partner-tabs{margin-bottom: 1.875rem; gap: 0.125rem; padding: 0.25rem;}
.partner-tabs button{height: 2.75rem; font-size: max(10px,0.8125rem);}
.partner-panel h3{font-size: max(13px,1rem); margin-bottom: 1rem;}
.partner-grid{grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem;}
.partner-card{padding: 1rem 0.75rem; min-height: 9.125rem; border-radius: 0.375rem;}
.partner-logo{height: 4.75rem; margin-bottom: 0.625rem;}
.partner-name{font-size: max(10px,0.75rem);}
.partner-card--text .partner-name{font-size: max(13px,0.875rem);}
.next-page{padding: 3rem 0;}
.next-page a{grid-template-columns: 1fr auto; gap: 0.5rem; padding: 1.375rem 0;}
.next-page small{grid-column: 1 / -1;}
.next-page strong{font-size: 1.375rem;}
.next-page .arrow{grid-area: 2 / 2;}
@media (prefers-reduced-motion: reduce){html{scroll-behavior: auto;}
.partner-tabs button, .next-page .arrow{transition: none;}}
