/* Scoped to the workspace; uses the existing HomeBridge palette. */
.partnership-home {
    --ph-navy: var(--thb-navy, #0b1633);
    --ph-purple: var(--thb-purple, #6c5ce7);
    --ph-line: #dce2ed;
    --ph-muted: #4c596f;
    /* The inner-page header is pinned to the viewport and reserves no layout space, so the top of
       this page sat behind it. Clear its height, then keep the intended gap below. */
    padding: calc(var(--thb-fixed-header, 73px) + 52px) 0 64px;
    background: linear-gradient(135deg, #f4f2ff 0, #fff8ef 580px, #f8f9fc 1050px);
    color: var(--ph-navy);
}
.partnership-home * { box-sizing: border-box; }
.partnership-home .container { max-width: 1160px; }
.partnership-home a { color: var(--ph-navy); text-underline-offset: 4px; }
.partnership-home h1, .partnership-home h2, .partnership-home h3 { color: var(--ph-navy); font-weight: 700; }
.partnership-heading { max-width: 850px; margin-bottom: 24px; }
.partnership-heading h1 { font-size: clamp(30px, 4vw, 46px); line-height: 1.15; letter-spacing: -1px; margin: 10px 0 16px; }
.partnership-heading > p:not(.partnership-eyebrow) { font-size: 18px; line-height: 1.65; color: var(--ph-muted); }
.partnership-home .partnership-eyebrow { font-size: 11px; font-weight: 800; letter-spacing: 1.7px; color: #9b450c; margin: 0 0 8px; }
.partnership-account { display: inline-block; font-size: 13px; color: var(--ph-muted); }
.partnership-jump { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-bottom: 28px; }
.partnership-jump a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; font-weight: 650; }
.partnership-continue { display: flex; justify-content: space-between; align-items: center; gap: 30px; background: #fff; border: 1px solid #d9d2fb; border-left: 5px solid var(--ph-purple); border-radius: 16px; padding: 28px; margin-bottom: 36px; box-shadow: 0 8px 24px #0b163308; }
.partnership-continue h2 { font-size: 24px; margin: 0 0 8px; }
.partnership-continue > div { max-width: 650px; min-width: 0; }
.partnership-continue p:not(.partnership-eyebrow) { margin: 0; color: var(--ph-muted); font-size: 15px; line-height: 1.65; overflow-wrap: anywhere; }
.partnership-section { margin-top: 32px; padding: 0; }
.partnership-section h2 { font-size: 25px; line-height: 1.3; margin: 0 0 8px; scroll-margin-top: 120px; }
.partnership-section-head { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 20px; }
.partnership-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.partnership-action { display: block; text-decoration: none !important; border: 1px solid var(--ph-line); border-radius: 14px; background: #fff; padding: 23px; transition: border-color .15s, box-shadow .15s; }
.partnership-action > span { font-size: 16px; font-weight: 750; display: flex; justify-content: space-between; gap: 10px; }
.partnership-action p { font-size: 14px; line-height: 1.6; color: var(--ph-muted); margin: 12px 0 0; }
.partnership-action:hover { border-color: var(--ph-purple); box-shadow: 0 6px 20px #6c5ce710; }
.partnership-status { display: inline-block; border: 1px solid #d8d2f7; border-radius: 20px; padding: 5px 10px; font-size: 12px; line-height: 1.5; font-weight: 650; background: #f0edff; color: #433594; }
.partnership-verification, .partnership-empty { padding: 28px; border: 1px solid var(--ph-line); border-radius: 14px; background: #fff; }
.partnership-verification { border-left: 4px solid #f47b20; }
.partnership-home h3 { font-size: 20px; line-height: 1.4; margin: 0 0 8px; }
.partnership-verification p, .partnership-empty p { color: var(--ph-muted); font-size: 14px; line-height: 1.6; margin: 0; }
.partnership-home .partnership-button { display: inline-block; flex-shrink: 0; max-width: 100%; border-radius: 9px; background: var(--ph-navy); color: #fff; padding: 13px 19px; min-height: 48px; font-weight: 700; font-size: 14px; text-align: center; text-decoration: none; }
.partnership-home .partnership-button:hover { background: #2d2856; color: #fff; }
.partnership-home .partnership-button-secondary { background: #fff; border: 1px solid #b5abc9; color: var(--ph-navy); }
.partnership-home .partnership-button-secondary:hover { background: #f0edff; color: var(--ph-navy); }
.partnership-organisations { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.partnership-company { background: #fff; border: 1px solid var(--ph-line); border-radius: 16px; padding: 26px; min-width: 0; }
.partnership-company-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; font-size: 12px; color: var(--ph-muted); }
.partnership-company h3 { overflow-wrap: anywhere; }
.partnership-company-guidance { color: var(--ph-muted); font-size: 14px; line-height: 1.6; margin: 0 0 16px; }
.partnership-tags { display: flex; flex-wrap: wrap; gap: 6px; padding: 0; margin: 15px 0; list-style: none; }
.partnership-tags li { font-size: 12px; background: #f3f4f8; border-radius: 5px; padding: 4px 8px; }
.partnership-muted { color: var(--ph-muted); font-size: 14px; line-height: 1.6; }
.partnership-company-links { list-style: none; margin: 18px 0 0; padding: 0; }
.partnership-company-links li { border-top: 1px solid #e8eaf0; padding: 14px 0 0; margin-top: 14px; }
.partnership-company-links a { font-size: 14px; font-weight: 700; display: flex; justify-content: space-between; align-items: center; min-height: 44px; gap: 10px; text-decoration: none; }
.partnership-company-links p { font-size: 13px; line-height: 1.55; color: var(--ph-muted); margin: 2px 0 0; }
.partnership-page-actions { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; margin-top: 16px; font-size: 14px; }
.partnership-page-actions a { display: inline-flex; align-items: center; min-height: 44px; }
.partnership-company:only-child { grid-column: 1 / -1; }
.partnership-company:only-child .partnership-company-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 26px; }
.partnership-join, .partnership-guide, .partnership-help { border-top: 1px solid var(--ph-line); padding-top: 32px; margin-top: 38px; }
.partnership-join > p:not(.partnership-eyebrow) { font-size: 14px; color: var(--ph-muted); margin: 0 0 20px; }
.partnership-join .partnership-action { border-top: 3px solid #f47b20; }
.partnership-footnote { max-width: 800px; font-size: 12px; color: var(--ph-muted); line-height: 1.6; margin: 28px 0 0; }
.partnership-home a:focus-visible, .partnership-home summary:focus-visible { outline: 3px solid #5a46d2; outline-offset: 5px; }
.partnership-empty > a { display: inline-block; margin-top: 12px; font-weight: 650; }
.partnership-steps { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; padding: 0; margin: 24px 0 0; }
.partnership-steps li { display: flex; gap: 12px; align-items: flex-start; }
.partnership-steps li > span { flex: 0 0 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; background: #e9e5ff; color: #433594; font-size: 13px; font-weight: 700; }
.partnership-steps h3 { font-size: 15px; margin: 2px 0 6px; }
.partnership-steps p { font-size: 13px; line-height: 1.6; color: var(--ph-muted); margin: 0; }
.partnership-help details { background: #fff; border: 1px solid var(--ph-line); border-radius: 12px; padding: 0 20px; margin-top: 12px; }
.partnership-help summary { padding: 17px 0; cursor: pointer; font-size: 15px; font-weight: 700; }
.partnership-help details p, .partnership-help-contact { color: var(--ph-muted); font-size: 14px; line-height: 1.7; margin: 0 0 20px; max-width: 80ch; }
.partnership-help-contact { margin: 20px 0 0; }
@media (max-width: 991px) {
    .partnership-continue { flex-direction: column; align-items: flex-start; gap: 20px; }
    .partnership-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
    .partnership-home { padding: calc(var(--thb-fixed-header, 73px) + 30px) 0 42px; }
    .partnership-heading > p:not(.partnership-eyebrow) { font-size: 16px; }
    .partnership-jump { gap: 4px 20px; }
    .partnership-actions, .partnership-organisations, .partnership-steps, .partnership-company:only-child .partnership-company-links { grid-template-columns: 1fr; }
    .partnership-section-head { align-items: flex-start; flex-direction: column; }
    .partnership-action, .partnership-company, .partnership-continue, .partnership-verification, .partnership-empty { padding: 21px; }
    .partnership-section h2, .partnership-continue h2 { font-size: 23px; }
    .partnership-continue .partnership-button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .partnership-action { transition: none; } }
