/* Partnership: shared outer gutters, natural headings, complementary expertise. */
body[data-page-key="partnershipPage"] { --sp-accent:#72e7ff; --sp-surface:#0d2036; --sp-tint:rgba(24,174,203,.09); }
body.mr-theme-light[data-page-key="partnershipPage"] { --sp-accent:#086a87; --sp-surface:#fff; --sp-tint:rgba(24,174,203,.06); --mr-muted:#596b80; }
.sp-hero { padding:152px 0 48px; background:radial-gradient(ellipse at 85% 10%,rgba(24,174,203,.16),transparent 65%),var(--mr-bg-soft); }
.sp-hero-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,4vw,64px); align-items:center; }
.sp-hero-copy { min-width:0; }
.sp-kicker { display:inline-flex; align-items:center; gap:12px; color:var(--sp-accent); font-size:.95rem; font-weight:800; }
.sp-kicker::before { content:""; width:28px; flex-shrink:0; border-top:2px solid currentColor; }
.sp-hero h1 { margin:18px 0 24px; font-size:clamp(2.2rem,3.5vw,3.65rem); line-height:1.55; font-weight:900; color:var(--mr-heading); }
.sp-hero-copy > p { margin:0; color:var(--mr-muted); font-size:1.04rem; line-height:2.05; text-wrap:pretty; }
.sp-hero-visual { margin:0; min-width:0; }
.sp-hero-visual img { display:block; width:100%; height:auto; aspect-ratio:3/2; border-radius:30px; border:1px solid var(--mr-border); }
.sp-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.sp-actions a { text-align:center; }
.sp-subnav { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; padding:24px 0; border-bottom:1px solid var(--mr-border); }
.sp-subnav a { display:flex; align-items:center; gap:10px; padding:13px 17px; background:var(--sp-tint); border:1px solid var(--mr-border); border-radius:12px; color:var(--mr-text); font-size:.9rem; font-weight:750; line-height:1.8; text-decoration:none; }
.sp-subnav a:hover { border-color:var(--sp-accent); color:var(--sp-accent); }
.sp-icon { display:block; width:32px; height:32px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.sp-subnav .sp-icon { width:22px; height:22px; color:var(--sp-accent); }
.sp-icon-tile { display:grid; place-items:center; width:54px; height:54px; flex-shrink:0; color:#fff; background:linear-gradient(135deg,#0b4165,#087b92); border:1px solid rgba(114,231,255,.3); border-radius:16px; }
.sp-modes { padding:62px 0; }
.sp-section-heading { max-width:920px; margin:0 auto 32px; text-align:center; }
.sp-section-heading h2,.sp-request h2 { margin:16px 0 18px; font-size:clamp(1.8rem,2.5vw,2.55rem); font-weight:900; line-height:1.6; color:var(--mr-heading); }
.sp-section-heading p { margin:0; color:var(--mr-muted); font-size:1rem; line-height:2; text-wrap:pretty; }
.sp-modes-grid,.sp-partner-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.sp-mode { display:grid; grid-template-rows:auto auto auto 1fr; min-width:0; padding-bottom:26px; background:var(--sp-surface); border:1px solid var(--mr-border); border-radius:24px; scroll-margin-top:8px; }
.sp-mode > img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; border-radius:23px 23px 0 0; }
.sp-mode-heading { display:flex; align-items:flex-start; gap:14px; padding:26px 24px 0; margin-bottom:16px; }
.sp-mode h3 { margin:0; font-size:1.27rem; font-weight:850; line-height:1.8; color:var(--mr-heading); }
.sp-mode-heading > h3 { flex:1; min-width:0; }
.sp-mode-body { margin:0 24px; font-size:.98rem; line-height:2; color:var(--mr-muted); text-wrap:pretty; }
.sp-points { margin:20px 24px 0; padding:18px 0 0; border-top:1px solid var(--mr-border); list-style:none; color:var(--mr-text); font-size:.88rem; line-height:1.95; }
.sp-points li { position:relative; padding-inline-start:18px; }
.sp-points li + li { margin-top:9px; }
.sp-points li::before { content:""; position:absolute; inset-inline-start:0; top:.75em; width:5px; height:5px; border-radius:50%; background:var(--sp-accent); }
.sp-funding-note { margin:24px 0 0; padding:16px 20px; color:var(--mr-muted); border-inline-start:3px solid var(--sp-accent); border-radius:8px; background:var(--sp-tint); font-size:.85rem; line-height:1.95; }
.sp-partners { padding:60px 0; background:var(--mr-bg-soft); scroll-margin-top:8px; }
.sp-partner-card { min-width:0; padding:28px; background:var(--sp-surface); border:1px solid var(--mr-border); border-radius:22px; }
.sp-partner-card h3 { margin:20px 0 12px; color:var(--mr-heading); font-size:1.25rem; line-height:1.75; font-weight:850; }
.sp-partner-card p { margin:0; color:var(--mr-muted); font-size:.98rem; line-height:2; text-wrap:pretty; }
.sp-caption { margin:24px auto 0; max-width:960px; color:var(--mr-muted); font-size:.82rem; line-height:1.95; text-align:center; }
.sp-request { padding:64px 0 48px; scroll-margin-top:8px; }
.sp-request-box { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:clamp(30px,4vw,60px); padding:clamp(26px,4vw,52px); border:1px solid var(--mr-border); border-radius:28px; background:radial-gradient(ellipse at 0 100%,rgba(24,174,203,.12),transparent 65%),var(--mr-bg-soft); }
.sp-request-copy { min-width:0; }
.sp-request-copy > p { margin:0; color:var(--mr-muted); font-size:1rem; line-height:2; }
.sp-request-copy > .sp-request-note { margin-top:20px; font-size:.82rem; }
.sp-request-checklist { list-style:none; margin:0; padding:0; }
.sp-request-checklist li { display:flex; align-items:flex-start; gap:18px; padding:22px 0; }
.sp-request-checklist li + li { border-top:1px solid var(--mr-border); }
.sp-check-number { display:grid; place-items:center; flex-shrink:0; width:42px; height:42px; background:var(--sp-tint); border:1px solid var(--mr-border); border-radius:12px; color:var(--sp-accent); font:600 .88rem Arial,sans-serif; }
.sp-request-checklist h3 { margin:0 0 8px; color:var(--mr-heading); font-size:1.12rem; line-height:1.8; font-weight:800; }
.sp-request-checklist p { margin:0; color:var(--mr-muted); font-size:.95rem; line-height:1.95; }
.sp-subnav a:focus-visible,.sp-actions a:focus-visible { outline:3px solid var(--sp-accent); outline-offset:4px; }
@supports (grid-template-rows:subgrid) {
    .sp-mode { grid-template-rows:subgrid; grid-row:span 4; row-gap:0; }
}
@media (max-width:1100px) {
    .sp-hero h1 { font-size:clamp(2rem,4.2vw,3rem); }
    .sp-modes-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .sp-mode:last-child { grid-column:1/-1; }
    .sp-mode:last-child > img { max-height:360px; object-fit:cover; }
    .sp-request-box { grid-template-columns:1fr; gap:16px; }
    .sp-partner-card { padding:22px; }
}
@media (max-width:800px) {
    .sp-hero { padding:128px 0 34px; }
    .sp-hero-grid { grid-template-columns:1fr; gap:30px; }
    .sp-hero-copy { max-width:680px; }
    .sp-hero-visual img { max-height:440px; object-fit:cover; }
    .sp-partner-grid { grid-template-columns:1fr; gap:16px; }
    .sp-partner-card { display:grid; grid-template-columns:54px 1fr; column-gap:18px; }
    .sp-partner-card .sp-icon-tile { grid-row:span 2; }
    .sp-partner-card h3 { margin:0 0 10px; }
    .sp-partner-card p { grid-column:2; }
}
@media (max-width:600px) {
    .sp-hero { padding-top:122px; }
    .sp-hero h1 { font-size:clamp(1.9rem,7.4vw,2.55rem); }
    .sp-hero-copy > p { font-size:.98rem; }
    .sp-hero-visual img { border-radius:22px; }
    .sp-subnav { justify-content:flex-start; gap:8px; padding:20px 0; }
    .sp-subnav a { font-size:.82rem; padding:10px 12px; gap:8px; }
    .sp-subnav .sp-icon { width:20px; height:20px; }
    .sp-modes,.sp-partners { padding:40px 0; }
    .sp-section-heading { text-align:start; }
    .sp-modes-grid { grid-template-columns:minmax(0,1fr); gap:22px; }
    .sp-mode:last-child { grid-column:auto; }
    .sp-mode:last-child > img { max-height:none; }
    .sp-mode-heading { padding:22px 20px 0; gap:12px; }
    .sp-mode h3 { font-size:1.2rem; }
    .sp-mode-body { margin:0 20px; }
    .sp-points { margin-inline:20px; }
    .sp-request { padding:40px 0 36px; }
    .sp-request-box { padding:26px 20px; border-radius:22px; }
    .sp-request .sp-actions { display:grid; }
    .sp-request-checklist li { gap:12px; }
}
