/* Source-backed partner programme: shared typography, original artwork and
   exact tier columns, with a full-width introduction before the reading rail. */
.partner-program-page > .page-hero { background:#fff;padding-block:24px 32px; }
.partner-program-page > .page-hero .breadcrumb { margin-bottom:24px; }
.partner-program-page > .page-hero .eyebrow { margin-bottom:14px; }
.partner-program-page > .page-hero h1 { margin-bottom:0; }
.partner-program-page .partner-content { padding-top:0; }
.partner-hero-wrap { max-width:1440px; }
.partner-hero { position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr);overflow:hidden;background:#142331;border-radius:8px; }
.partner-hero-photo,.partner-hero-copy { grid-area:1/1;min-width:0; }
.partner-hero-photo .source-figure { margin:0;max-width:none; }
.partner-hero-photo img { display:block;width:100%;height:auto;aspect-ratio:2700/1174; }
.partner-hero-copy { position:relative;z-index:1;align-self:center;max-width:52%;padding:40px 48px;color:#fff; }
.partner-hero-copy .source-paragraph { color:#cceef5;font-size:var(--type-ui);letter-spacing:.04em;margin:0 0 18px; }
.partner-hero-copy h2 { color:#fff;max-width:20ch;font-size:var(--type-h2);line-height:1.5;margin:0 0 28px;text-wrap:balance; }
.partner-hero-actions { display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px; }
.partner-program-page .source-action { margin:0; }
.partner-program-page .source-action a { font-size:var(--type-ui);min-height:44px;display:inline-flex;align-items:center;gap:14px; }
.partner-hero-actions .source-action a { color:#fff; }
.partner-hero-actions .source-action:first-child a { padding:10px 18px;border:1px solid #008eac;border-radius:4px;background:#007e9f; }
.partner-hero-actions .source-action:last-child a { padding:10px 0; }
.partner-content > .source-reading { margin-top:56px; }
.partner-chapter .source-reviewed-section { margin-block:0 48px;padding:0 0 48px;border:0;border-bottom:1px solid #d7e7ed;border-radius:0;background:transparent; }
.partner-chapter .source-reviewed-section > h2,.partner-chapter .source-reviewed-section h3 { margin:0 0 20px;max-width:none; }
.partner-chapter .source-paragraph { margin:0;max-width:680px;color:#40596d;font-size:var(--type-body); }
.partner-introduction { display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:40px;align-items:start; }
.partner-introduction h2,.partner-program-intro h2 { margin:0 0 20px;max-width:none; }
.partner-company { padding-left:28px;border-left:2px solid #d7e7ed; }
.partner-company h3 { color:#007e9f; }
.partner-benefits .source-bullet-list { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px;padding:0;margin:28px 0 0;max-width:none;list-style:none; }
.partner-benefits .source-bullet-list li { position:relative;display:flex;align-items:center;min-height:88px;gap:12px;margin:0;padding:16px 0;border-top:1px solid #d7e7ed;color:#17384d;font-size:var(--type-body);line-height:1.6; }
.partner-benefits .source-bullet-list li::before { content:"";flex:0 0 7px;width:7px;height:7px;border-radius:50%;background:#0089a8;box-shadow:0 0 0 5px #edf8fb; }
.partner-program-intro { display:grid;grid-template-columns:180px minmax(0,1fr);align-items:center;gap:32px;margin-bottom:32px; }
.partner-program-mark { display:grid;place-items:center;min-height:136px;padding:20px;background:#142b43;border-radius:6px; }
.partner-program-mark .source-figure { margin:0; }
.partner-program-mark img { display:block;width:140px;max-width:100%;height:auto;max-height:80px;object-fit:contain; }
.partner-comparison-scroll { max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;border:1px solid #d7e7ed;border-radius:6px;scrollbar-width:thin; }
.partner-comparison-table { width:100%;min-width:660px;table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:var(--type-body);line-height:1.6; }
.partner-comparison-table th,.partner-comparison-table td { padding:16px 14px;text-align:center;border-bottom:1px solid #e2ebef;vertical-align:middle; }
.partner-comparison-table tr > :first-child { width:43%;text-align:left;padding-left:24px; }
.partner-comparison-table thead th { color:#17384d;font-weight:600;background:#f3f8fa;vertical-align:bottom;padding-block:24px 18px; }
.partner-comparison-table thead th:first-child { vertical-align:bottom; }
.partner-comparison-table thead th:nth-child(2) { background:#faf6f1; }
.partner-comparison-table thead th:nth-child(3) { background:#f2f6f9; }
.partner-comparison-table thead th:nth-child(4) { background:#fcf9ed; }
.partner-comparison-table .source-figure { display:flex;justify-content:center;align-items:center;height:88px;margin:0 0 12px;padding:0; }
.partner-comparison-table .source-figure img { display:block;max-width:110px;max-height:88px;width:auto;height:auto;object-fit:contain; }
.partner-comparison-table tbody th { font-weight:400;color:#40596d;background:#fff; }
.partner-comparison-table tbody tr:nth-child(even) > * { background:#f8fbfc; }
.partner-comparison-table tbody tr:last-child > * { border-bottom:0; }
.partner-comparison-table .partner-check { display:inline-grid;place-items:center;color:#007e9f;font-size:18px;font-weight:600; }
.partner-comparison-table tr > :first-child { position:sticky;left:0;z-index:1;border-right:1px solid #e2ebef; }
.partner-comparison-scroll:focus-visible,.partner-program-page a:focus-visible { outline:3px solid #00aeca;outline-offset:4px; }
.partner-chapter .partner-join { padding:32px;background:linear-gradient(118deg,#edf8fb,#fafcfd);border:1px solid #d7e7ed;border-radius:8px; }
.partner-join > h2 { max-width:30ch; }
.partner-join-options { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;padding-block:12px 28px; }
.partner-join-options > div + div { border-left:1px solid #cbdfe7;padding-left:28px; }
.partner-join-options .source-action a { padding:10px 18px;border:1px solid #bad2de;border-radius:4px;color:#007e9f;background:#fff; }
.partner-join-options > div:first-child .source-action a { background:#007e9f;border-color:#007e9f;color:#fff; }
.partner-contact { padding-top:20px;border-top:1px solid #cbdfe7; }
.partner-contact a { color:#007e9f; }
.partner-contact .source-action a { padding-block:8px; }
@media(max-width:1199px){
 .partner-introduction { grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:40px; }
}
@media(max-width:900px){
 .partner-hero-copy { max-width:60%;padding:28px; }
 .partner-hero-copy h2 { margin-bottom:18px; }
 .partner-hero-actions { gap:6px 16px; }
 .partner-introduction { grid-template-columns:minmax(0,1fr);gap:28px; }
 .partner-company { padding-left:24px; }
 .partner-benefits .source-bullet-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px){
 .partner-program-page > .page-hero { padding-block:20px 24px; }
 .partner-program-page > .page-hero .breadcrumb { margin-bottom:20px; }
 .partner-hero { display:flex;flex-direction:column-reverse; }
 .partner-hero-copy { align-self:stretch;max-width:100%;padding:28px 24px;background:#142331; }
 .partner-hero-copy h2 { max-width:100%;font-size:var(--type-h2);line-height:1.5; }
 .partner-hero-photo img { width:100%;height:auto; }
 .partner-content > .source-reading { margin-top:32px; }
 .partner-chapter .source-reviewed-section { margin-bottom:32px;padding-bottom:32px; }
 .partner-chapter .source-reviewed-section > h2 { margin-bottom:20px; }
 .partner-benefits .source-bullet-list { column-gap:20px;margin-top:20px; }
 .partner-benefits .source-bullet-list li { min-height:88px;align-items:flex-start; }
 .partner-benefits .source-bullet-list li::before { margin-top:9px; }
 .partner-program-intro { grid-template-columns:minmax(0,1fr);gap:24px; }
 .partner-program-mark { width:180px;min-height:104px; }
 .partner-comparison-table { min-width:540px; }
 .partner-comparison-table tr > :first-child { width:150px;padding-left:16px; }
 .partner-chapter .partner-join { padding:24px; }
 .partner-join-options { grid-template-columns:minmax(0,1fr);gap:24px; }
 .partner-join-options > div + div { padding:24px 0 0;border-left:0;border-top:1px solid #cbdfe7; }
}
