/* Partner programme refinement. All rules are scoped to this page. */
#partners-page { --partner-ink:#102e43; --partner-muted:#586b78; --partner-line:#dbe4e9; --partner-red:#b52b35; --partner-header:136px; }
#partners-page .page-hero { padding:0; background:linear-gradient(120deg,#f1f5f7,#fff 65%); color:var(--partner-ink); }
#partners-page .page-hero .editorial-hero-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; width:100%; max-width:1440px; min-height:630px; padding:64px 80px; align-items:center; }
#partners-page .page-hero .editorial-hero-copy { padding:0; max-width:none; min-width:0; }
#partners-page .page-hero .crumb { margin:0 0 36px; color:var(--partner-muted); font-size:12px; }
#partners-page .page-hero .crumb a { color:var(--partner-muted); }
#partners-page .page-hero h1 { font-size:clamp(54px,5.6vw,80px); font-weight:500; line-height:1.09; letter-spacing:-.045em; color:var(--partner-ink); margin:0 0 24px; padding-bottom:8px; }
#partners-page .page-hero h1 span { display:block; color:var(--partner-red)!important; }
#partners-page .page-hero .lead { color:var(--partner-muted); font-size:20px; line-height:1.8; max-width:530px; margin:0 0 28px; }
#partners-page .page-hero .chips { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 20px; margin:0 0 30px; padding-top:24px; border-top:1px solid var(--partner-line); }
#partners-page .page-hero .chip { color:#36556b; font-size:13px; }
#partners-page .page-hero .chip i { background:var(--partner-red); }
#partners-page .page-hero .btn.ghost { color:var(--partner-ink); border-color:#98aab7; }
#partners-page .page-hero .editorial-art { position:relative; inset:auto; width:100%; height:480px; min-height:0; max-height:none; aspect-ratio:auto; background:transparent; align-self:center; margin:0; padding:0; border:0; border-radius:0; overflow:hidden; }
#partners-page .page-hero .editorial-art > img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; object-position:center; mix-blend-mode:multiply; opacity:1; }
#partners-page .page-hero .editorial-art::after { background:none; }
#partners-page .page-hero .motion-toggle { right:14px; bottom:14px; }
#partners-page .page-body { padding:0 0 68px; }
#partners-page .partner-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; margin:0; padding:32px 0; background:#fff; border:0; border-bottom:1px solid var(--partner-line); border-radius:0; }
#partners-page .partner-metrics .stat-cell { padding:8px 32px; border:0; border-right:1px solid var(--partner-line); background:none; text-align:left; }
#partners-page .partner-metrics .stat-cell:first-child { padding-left:0; }
#partners-page .partner-metrics .stat-cell:last-child { border-right:0; }
#partners-page .partner-metrics strong { color:var(--partner-ink); font-size:44px; font-weight:500; line-height:1.2; letter-spacing:-.035em; }
#partners-page .partner-metrics span { display:block; margin-top:10px; font-size:11px; line-height:1.7; text-transform:uppercase; letter-spacing:.055em; color:var(--partner-muted); }
#partners-page .partner-nav { display:flex; flex-wrap:wrap; align-items:center; gap:12px 30px; position:sticky; top:var(--partner-header); z-index:25; margin:0; padding:14px 0; background:#fff; border:0; border-bottom:1px solid var(--partner-line); border-radius:0; }
#partners-page .partner-nav strong { font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:var(--partner-muted); font-weight:500; margin-right:auto; }
#partners-page .partner-nav a { color:#36546a; font-size:13px; text-decoration:none; padding:8px 0; border-bottom:2px solid transparent; }
#partners-page .partner-nav a:is(:hover,[aria-current="location"]) { color:var(--partner-red); border-bottom-color:var(--partner-red); }
#partners-page :is(#benefits,#steps,#tiers,#calc,#faqs) { scroll-margin-top:calc(var(--partner-header) + 110px); }
#partners-page .partner-section-heading { margin-bottom:34px; }
#partners-page .partner-section-index { display:block; font-size:11px; line-height:1; color:var(--partner-red); letter-spacing:.13em; margin-bottom:20px; }
#partners-page .partner-section-heading h2 { font-size:clamp(34px,3.5vw,48px); font-weight:500; line-height:1.17; letter-spacing:-.035em; margin:0; color:var(--partner-ink); text-align:left; }
#partners-page .partner-benefits { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; padding:76px 0; align-items:center; }
#partners-page .partner-benefit-intro { min-width:0; }
#partners-page .partner-bridge { width:100%; height:290px; aspect-ratio:auto; min-height:0; max-height:none; padding:0; margin:0 0 26px; border:0; background:#f9fafb; border-radius:4px; overflow:hidden; }
#partners-page .partner-bridge img { display:block; width:100%; height:100%; max-width:none; max-height:none; object-fit:contain; aspect-ratio:auto; margin:0; mix-blend-mode:multiply; }
#partners-page .partner-benefit-intro .row { gap:12px; margin:0; }
#partners-page .partner-benefit-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
#partners-page .partner-benefit { display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:26px; min-width:0; min-height:204px; padding:28px; background:#fff; border:1px solid var(--partner-line); border-radius:4px; box-shadow:none; }
#partners-page .partner-benefit .icon { display:grid; place-items:center; width:44px; height:44px; padding:10px; margin:0; border-radius:5px; background:#f4f7f9; color:var(--partner-red); }
#partners-page .partner-benefit .icon svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.6; }
#partners-page .partner-benefit p { margin:0; font-size:19px; line-height:1.6; color:var(--partner-ink); }
#partners-page .partner-onboarding { padding:44px; margin:0 0 76px; border-radius:5px; background:linear-gradient(118deg,#0e293e,#1a4158); }
#partners-page .partner-onboarding .partner-section-index { color:#bfd0dd; }
#partners-page .partner-onboarding h2 { color:#fff; }
#partners-page .partner-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; }
#partners-page .partner-steps .step { padding:28px 24px 0; border:0; border-top:1px solid #ffffff38; border-left:1px solid #ffffff26; border-radius:0; background:none; min-width:0; }
#partners-page .partner-steps .step:first-child { padding-left:0; border-left:0; }
#partners-page .partner-steps .step:last-child { padding-right:0; }
#partners-page .partner-steps .n { display:grid; place-items:center; justify-content:center; width:40px; height:40px; margin:0 0 24px; padding:0; border:1px solid #8ca6b8; border-radius:50%; color:#e3edf4; font-size:19px; line-height:1; background:none!important; }
#partners-page .partner-steps h4 { color:#fff; font-size:22px; margin:0 0 14px; line-height:1.35; font-weight:500; }
#partners-page .partner-steps p { color:#d1dfe9; font-size:15px; line-height:1.85; margin:0; }
#partners-page .partner-steps a { color:#fff; text-underline-offset:4px; }
#partners-page .partner-commissions { padding-bottom:72px; }
#partners-page .partner-tier-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
#partners-page .partner-tier { display:flex; flex-direction:column; min-width:0; padding:34px; background:#f8fafb; border:1px solid var(--partner-line); border-top:3px solid #a9bcc9; border-radius:4px; transition:background .2s,border-color .2s; }
#partners-page .partner-tier h3 { margin:0 0 28px; font-size:25px; line-height:1.3; font-weight:500; color:var(--partner-ink); }
#partners-page .partner-section-intro { max-width:760px; margin:22px 0 0; color:var(--partner-muted); font-size:17px; line-height:1.85; }
#partners-page .partner-rate-terms { margin:0 0 30px; font-size:30px; line-height:1.3; letter-spacing:-.025em; color:var(--partner-ink); }
#partners-page .partner-rate-terms span { display:block; margin-top:10px; color:var(--partner-muted); font-size:12px; line-height:1.6; letter-spacing:0; }
#partners-page .partner-tier dl { margin:0 0 28px; }
#partners-page .partner-tier dl > div { border-top:1px solid var(--partner-line); padding:18px 0; }
#partners-page .partner-tier dt { margin:0 0 6px; font-size:11px; text-transform:uppercase; letter-spacing:.055em; color:var(--partner-muted); }
#partners-page .partner-tier dd { margin:0; font-size:16px; line-height:1.65; color:var(--partner-ink); }
#partners-page .partner-tier-action { display:flex; justify-content:space-between; align-items:center; gap:16px; width:100%; margin-top:auto; padding:13px 0; border:0; border-top:1px solid var(--partner-line); border-radius:0; font:inherit; font-size:14px; font-weight:500; text-align:left; background:none; color:var(--partner-red); cursor:pointer; text-decoration:none; }
#partners-page .partner-tier-action span { font-size:22px; }
#partners-page .partner-tier.is-featured { background:#102f45; border-color:#102f45; border-top-color:#c74b55; }
#partners-page .partner-tier.is-featured :is(h3,.partner-rate-terms,dd,.partner-tier-action) { color:#fff; }
#partners-page .partner-tier.is-featured :is(dt,.partner-rate-terms span) { color:#c3d3df; }
#partners-page .partner-tier.is-featured :is(dl > div,.partner-tier-action) { border-color:#ffffff2d; }
#partners-page :is(.partner-tier-action,.partner-nav a):focus-visible { outline:2px solid #b52b35; outline-offset:5px; }
#partners-page .partner-tier.is-featured .partner-tier-action:focus-visible { outline-color:#fff; }
#partners-page .partner-commissions .info-box { margin:20px 0 0; padding:22px 24px; font-size:14px; line-height:1.8; }
#partners-page .partner-agreement { padding:0 0 54px; }
#partners-page .partner-agreement-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); border:1px solid var(--partner-line); border-radius:5px; overflow:hidden; }
#partners-page .partner-agreement-details { padding:38px; min-width:0; background:#f3f6f8; }
#partners-page .partner-agreement-details > p { margin:0 0 28px; color:var(--partner-muted); font-size:17px; line-height:1.85; }
#partners-page .partner-agreement-details dl { margin:0; }
#partners-page .partner-agreement-details dl > div { padding:22px 0; border-top:1px solid var(--partner-line); }
#partners-page .partner-agreement-details dl > div:last-child { padding-bottom:0; }
#partners-page .partner-agreement-details dt { margin:0 0 8px; font-size:16px; color:var(--partner-ink); font-weight:500; }
#partners-page .partner-agreement-details dd { margin:0; font-size:15px; line-height:1.85; color:var(--partner-muted); }
#partners-page .partner-agreement-callout { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:44px; min-width:0; background:radial-gradient(ellipse at 100% 0,#2b5368,transparent 72%),#102b40; }
#partners-page .partner-callout-label { color:#c2d5e2; font-size:11px; text-transform:uppercase; letter-spacing:.07em; line-height:1.8; }
#partners-page .partner-agreement-callout h3 { margin:22px 0; font-size:34px; line-height:1.2; letter-spacing:-.03em; color:#fff; font-weight:500; }
#partners-page .partner-agreement-callout p { margin:0 0 28px; color:#d3e0e9; font-size:16px; line-height:1.85; }
#partners-page .partner-agreement-callout .btn { max-width:100%; white-space:normal; text-align:center; }
#partners-page .partner-agreement-link { margin-top:24px; padding-top:22px; border-top:1px solid #ffffff30; color:#fff; font-size:14px; line-height:1.8; text-underline-offset:4px; }
#partners-page .partner-agreement-link:focus-visible { outline:2px solid #fff; outline-offset:5px; }
#partners-page .partner-resources .check-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; list-style:none; margin:0 0 30px; padding:0; }
#partners-page .partner-resources .check-list li { position:relative; padding:24px 26px 24px 48px; margin:0; border:1px solid var(--partner-line); border-radius:4px; color:var(--partner-muted); font-size:14px; line-height:1.85; }
#partners-page .partner-resources .check-list li::before { position:absolute; left:22px; top:25px; }
#partners-page .partner-resources .warn-box { margin:0 0 68px; padding:24px 28px; font-size:13px; line-height:1.85; text-align:left!important; }
#partners-page .partner-faq { display:grid; grid-template-columns:minmax(0,.3fr) minmax(0,.7fr); gap:60px; margin-bottom:40px; }
#partners-page .partner-faq .faq { min-width:0; margin:0; }
#partners-page .partner-faq details { padding:0; margin:0 0 12px; border:1px solid var(--partner-line); border-radius:4px; background:#fff; }
#partners-page .partner-faq summary { position:relative; display:block; padding:22px 58px 22px 24px; color:var(--partner-ink); font-size:17px; font-weight:500; line-height:1.65; list-style:none; }
#partners-page .partner-faq summary::before { position:absolute; top:26px; left:auto; right:20px; width:22px; height:22px; margin:0; line-height:22px; }
#partners-page .partner-faq summary::-webkit-details-marker { display:none; }
#partners-page .partner-faq summary:focus-visible { outline:2px solid #b52b35; outline-offset:-4px; }
#partners-page .partner-faq details p { padding:0 24px 24px; margin:0; font-size:15px; line-height:1.85; }
#partners-page .partner-final-actions { justify-content:flex-start; gap:14px; }
#partners-page .cta { background:linear-gradient(120deg,#102b40,#254b63); padding:64px 0; }
#partners-page .cta h2 { font-size:clamp(34px,3.8vw,52px); line-height:1.15; font-weight:500; }
@media(max-width:1200px) {
 #partners-page .page-hero .editorial-hero-grid { padding:56px 48px; gap:36px; min-height:570px; }
 #partners-page .page-hero h1 { font-size:64px; }
 #partners-page .page-hero .editorial-art { height:400px; }
 #partners-page .partner-benefits { gap:36px; }
 #partners-page .partner-benefit { padding:24px; }
 #partners-page .partner-tier { padding:28px; }
 #partners-page .partner-agreement-details { padding:30px; }
 #partners-page .partner-agreement-callout { padding:34px; }
}
@media(max-width:1050px) { #partners-page { --partner-header:74px; } }
@media(max-width:900px) {
 #partners-page .page-hero .editorial-hero-grid { grid-template-columns:minmax(0,1fr); padding:44px 32px; gap:24px; }
 #partners-page .page-hero .lead { max-width:640px; }
 #partners-page .page-hero .editorial-art { height:300px; }
 #partners-page .partner-nav { gap:8px 22px; }
 #partners-page .partner-nav strong { width:100%; }
 #partners-page .partner-metrics .stat-cell { padding-inline:20px; }
 #partners-page .partner-metrics strong { font-size:36px; }
 #partners-page .partner-benefits { grid-template-columns:1fr; padding-block:52px; gap:36px; }
 #partners-page .partner-bridge { height:290px; }
 #partners-page .partner-benefit { min-height:175px; }
 #partners-page .partner-onboarding { padding:34px; margin-bottom:52px; }
 #partners-page .partner-steps { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 0; }
 #partners-page .partner-steps .step:nth-child(odd) { border-left:0; padding-left:0; }
 #partners-page .partner-steps .step:nth-child(even) { padding-right:0; }
 #partners-page .partner-tier-grid { gap:18px; }
 #partners-page .partner-tier { padding:24px; }
 #partners-page .partner-agreement-grid { grid-template-columns:1fr; }
 #partners-page .partner-faq { grid-template-columns:1fr; gap:0; }
 #partners-page .partner-resources .check-list { gap:18px; }
 #partners-page .partner-resources .check-list li { padding:22px 20px 22px 42px; }
 #partners-page .partner-resources .check-list li::before { left:18px; top:23px; }
}
@media(max-width:800px) {
 #partners-page .partner-nav { position:static; }
 #partners-page :is(#benefits,#steps,#tiers,#calc,#faqs) { scroll-margin-top:110px; }
 #partners-page .partner-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); padding-block:18px; }
 #partners-page .partner-metrics .stat-cell { padding:22px; }
 #partners-page .partner-metrics .stat-cell:first-child { padding-left:22px; }
 #partners-page .partner-metrics .stat-cell:nth-child(even) { border-right:0; }
 #partners-page .partner-metrics .stat-cell:nth-child(-n+2) { border-bottom:1px solid var(--partner-line); }
 #partners-page .partner-tier-grid { grid-template-columns:1fr; }
 #partners-page .partner-tier dl { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
 #partners-page .partner-resources .check-list { grid-template-columns:1fr; }
}
@media(max-width:600px) {
 #partners-page .page-hero .editorial-hero-grid { padding:38px 20px; gap:16px; }
 #partners-page .page-hero h1 { font-size:clamp(43px,11.5vw,60px); }
 #partners-page .page-hero .lead { font-size:17px; line-height:1.8; }
 #partners-page .page-hero .chip { font-size:12px; }
 #partners-page .page-hero .editorial-art { height:250px; }
 #partners-page .partner-metrics strong { font-size:32px; }
 #partners-page .partner-metrics .stat-cell { padding:20px 16px; }
 #partners-page .partner-metrics .stat-cell:first-child { padding-left:16px; }
 #partners-page .partner-metrics span { font-size:10px; letter-spacing:.025em; }
 #partners-page .partner-nav { gap:6px 18px; padding-block:18px; }
 #partners-page .partner-nav a { font-size:12px; }
 #partners-page .partner-section-heading h2 { font-size:34px; }
 #partners-page .partner-bridge { height:230px; }
 #partners-page .partner-benefit-grid { grid-template-columns:1fr; gap:14px; }
 #partners-page .partner-benefit { flex-direction:row; align-items:center; gap:20px; min-height:0; padding:24px; }
 #partners-page .partner-benefit .icon { flex-shrink:0; }
 #partners-page .partner-benefit p { font-size:17px; }
 #partners-page .partner-onboarding { padding:30px 24px; }
 #partners-page .partner-steps { grid-template-columns:1fr; gap:26px; }
 #partners-page .partner-steps .step { border-left:0; padding:24px 0 0; }
 #partners-page .partner-commissions { padding-bottom:52px; }
 #partners-page .partner-tier { padding:28px; }
 #partners-page .partner-tier dl { grid-template-columns:1fr; gap:0; }
 #partners-page .partner-agreement-details,#partners-page .partner-agreement-callout { padding:28px 24px; }
 #partners-page .partner-faq summary { padding:20px 50px 20px 20px; font-size:16px; }
 #partners-page .partner-faq summary::before { top:24px; right:16px; }
 #partners-page .partner-faq details p { padding:0 20px 22px; }
 #partners-page .partner-resources .warn-box { margin-bottom:48px; padding:24px; }
}
@media(prefers-reduced-motion:reduce) { #partners-page .partner-tier { transition:none; } }
