.partners-page { --partner-ink: #0D1830; --partner-muted: #5A667A; --partner-blue: #2557F6; color: var(--partner-ink); }
.partners-page ::selection { background: #DBEAFE; color: #0B1733; }
.partners-page :focus-visible { outline: 3px solid var(--partner-blue); outline-offset: 5px; }
.partners-page a { text-underline-offset: 4px; }
.partners-intro { display: grid; grid-template-columns: 1.35fr 1fr; gap: clamp(32px, 6vw, 88px); align-items: center; padding-top: 80px; padding-bottom: 72px; }
.partners-page .partners-intro h1 { font-size: clamp(2.3rem, 4.3vw, 4rem); line-height: 1.12; letter-spacing: -.03em; margin: 0 0 26px; text-wrap: balance; }
.partners-intro h1 span { color: var(--partner-blue); }
.partners-lead { font-size: 1.12rem; line-height: 1.8; max-width: 55ch; margin: 0 0 30px; color: var(--partner-muted); }
.partners-preparation { padding: 34px; border-radius: 16px; background: #0B1733; color: #fff; }
.partners-page .partners-preparation h2 { font-size: 1.5rem !important; line-height: 1.35; margin: 0 0 16px; color: #fff; letter-spacing: -.02em; }
.partners-page .partners-preparation p { color: #DBE4F0 !important; line-height: 1.7; margin: 0; }
.partners-preparation ul { padding-left: 20px; margin: 24px 0; }
.partners-preparation li { padding-left: 4px; margin: 12px 0; line-height: 1.65; }
.partners-preparation li::marker { color: #78D4F6; }
.partners-preparation a { color: #78D4F6; text-decoration: underline; }
.partners-preparation :focus-visible { outline-color: #78D4F6; }
.partners-directory-section { padding: 54px 0 64px; background: #F6F9FC; border-top: 1px solid #DBE4F0; border-bottom: 1px solid #DBE4F0; }
#partner-directory { scroll-margin-top: 110px; }
#partner-directory [hidden] { display: none !important; }
.partners-directory-heading { display: flex; align-items: end; justify-content: space-between; gap: 28px; }
.partners-page .partners-directory-heading h2, .partners-page .partners-next h2 { font-size: clamp(1.75rem, 2.6vw, 2.3rem) !important; line-height: 1.25; margin: 0 0 12px; letter-spacing: -.02em; }
.partners-directory-heading p { color: var(--partner-muted); margin: 0; line-height: 1.7; }
.partner-search-wrap { width: min(100%, 360px); flex-shrink: 0; }
#partner-directory label { display: block; margin-bottom: 8px; font-weight: 600; font-size: .9rem; }
#partner-search { display: block; width: 100%; box-sizing: border-box; padding: 14px 16px; border: 1px solid #5A667A; border-radius: 8px; font: inherit; background: #fff; color: var(--partner-ink); caret-color: var(--partner-blue); }
#partner-search::placeholder { color: var(--partner-muted); opacity: 1; }
#partner-search:disabled { background: #EEF5FB; cursor: wait; }
#partner-status { margin: 24px 0 18px; color: var(--partner-muted); font-size: .95rem; font-variant-numeric: tabular-nums; }
#partner-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 330px), 1fr)); gap: 24px; }
#partner-list .partner-card { height: 100%; display: flex; flex-direction: column; box-sizing: border-box; padding: 30px; background: #fff; border: 1px solid #DBE4F0; border-radius: 14px; overflow-wrap: anywhere; }
#partner-list .partner-card h3 { font-size: 1.4rem !important; line-height: 1.45; margin: 0 0 22px; letter-spacing: -.02em; color: var(--partner-ink); }
#partner-list .partner-contact-name { font-weight: 600; margin: 0 0 10px; }
#partner-list address { white-space: pre-line; font-style: normal; margin: 0 0 26px; color: var(--partner-muted); line-height: 1.75; }
#partner-list .partner-contact-links { margin-top: auto; padding-top: 18px; border-top: 1px solid #DBE4F0; display: grid; gap: 10px; }
#partner-list .partner-contact-links a { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 16px; color: var(--partner-blue); min-height: 36px; text-decoration: underline; line-height: 1.6; }
#partner-list .partner-contact-links span { color: var(--partner-muted); font-size: .85rem; }
#partner-retry { margin-bottom: 20px; }
.partners-next { display: flex; justify-content: space-between; align-items: center; gap: 36px; padding-top: 60px; padding-bottom: 64px; }
.partners-next p { color: var(--partner-muted); max-width: 60ch; margin: 0; line-height: 1.75; }
.partners-next-actions { flex-shrink: 0; display: flex; flex-direction: column; align-items: center; gap: 16px; }
.partners-text-link { color: var(--partner-blue); text-decoration: underline; }
@media(max-width: 800px) {
    .partners-intro { grid-template-columns: 1fr; padding-top: 42px; padding-bottom: 40px; gap: 32px; }
    .partners-preparation { padding: 26px; }
    .partners-directory-heading, .partners-next { flex-direction: column; align-items: stretch; }
    .partner-search-wrap { width: 100%; }
    .partners-directory-section { padding: 36px 0; }
    .partners-next { padding-top: 40px; padding-bottom: 40px; gap: 24px; }
    .partners-next-actions { align-items: flex-start; }
    #partner-list .partner-card { padding: 24px; }
}
