.partners-page {
  --partner-ink: #142d27;
  --partner-sea: #0d6d61;
  --partner-sky: #d6f4ed;
}
.partner-frame { width: min(1160px, calc(100% - 48px)); margin-inline: auto; }
.partner-crumbs { padding-top: 22px; color: var(--muted); font-size: 13px; }
.partner-crumbs a { color: inherit; }
.partner-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, .96fr); align-items: center; gap: clamp(30px, 5vw, 74px); padding-block: clamp(42px, 7vw, 100px) 100px; }
.partner-eyebrow { color: var(--partner-sea); text-transform: uppercase; letter-spacing: .14em; font-size: 12px; font-weight: 750; margin-bottom: 20px; }
.partner-hero h1 { max-width: 760px; font-size: clamp(2.9rem, 5.5vw, 5.5rem); line-height: 1.02; letter-spacing: -.065em; }
.partner-lead { max-width: 590px; margin-top: 26px; color: var(--muted); font-size: clamp(1.08rem, 1.7vw, 1.32rem); line-height: 1.55; }
.partner-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; margin-top: 32px; }
.partner-button { display: inline-flex; justify-content: center; align-items: center; min-height: 52px; padding: 13px 23px; border-radius: 999px; background: #0b7466; color: #fff; text-decoration: none; font-size: 14px; font-weight: 700; line-height: 1.3; text-align: center; }
.partner-button:hover { background: #075549; color: #fff; }
.partner-text-link { font-size: 14px; font-weight: 650; }
.partner-hero-visual { position: relative; margin: 0; }
.partner-hero-visual img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 32px; }
.partner-hero-visual figcaption { position: absolute; left: 20px; right: 20px; bottom: 20px; width: fit-content; max-width: calc(100% - 40px); padding: 9px 13px; border-radius: 10px; background: rgba(16, 34, 30, .83); color: #fff; font-size: 12px; line-height: 1.3; backdrop-filter: blur(10px); }
.partner-intro { display: grid; grid-template-columns: .43fr 1fr; gap: 34px; align-items: start; padding-block: 44px 82px; border-top: 1px solid var(--line); }
.partner-intro h2 { max-width: 310px; font-size: clamp(1.7rem, 3vw, 2.5rem); }
.partner-intro p { max-width: 720px; color: var(--muted); font-size: 1.1rem; }
.partner-section { padding-block: 86px; border-top: 1px solid var(--line); }
.partner-section-heading { max-width: 780px; margin-bottom: 46px; }
.partner-section-heading h2 { margin-bottom: 14px; }
.partner-section-heading p { color: var(--muted); }
.partner-feature { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(30px, 6vw, 90px); align-items: center; padding-block: 50px; border-top: 1px solid var(--line); }
.partner-feature:nth-of-type(even) .partner-feature-photo { order: 2; }
.partner-feature-photo { margin: 0; }
.partner-feature-photo img { width: 100%; aspect-ratio: 1.3; object-fit: cover; border-radius: 26px; }
.partner-feature-photo figcaption { margin-top: 8px; color: var(--muted); font-size: 12px; }
.partner-feature-copy { max-width: 510px; }
.partner-feature-copy .partner-eyebrow { margin-bottom: 12px; }
.partner-feature-copy h3 { font-size: clamp(1.7rem, 2.7vw, 2.6rem); margin-bottom: 16px; }
.partner-feature-copy p { color: var(--muted); margin-bottom: 18px; }
.partner-feature-copy ul { padding-left: 1.2em; margin: 0 0 22px; color: var(--text); }
.partner-feature-copy li { padding-left: 3px; margin-block: 7px; }
.partner-feature-copy a { font-weight: 680; }
.partner-principle { display: grid; grid-template-columns: .43fr 1fr; gap: 34px; padding: 48px; border-radius: 28px; background: #e4f1eb; color: var(--partner-ink); }
.partner-principle h2 { font-size: clamp(1.7rem, 3vw, 2.5rem); }
.partner-principle p { max-width: 700px; }
.partner-process { padding-block: 95px; }
.partner-process h2 { margin-bottom: 30px; }
.partner-process ol { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; padding: 0; margin: 0; list-style: none; }
.partner-process li { padding: 26px; border: 1px solid var(--line); border-radius: 20px; background: var(--surface); }
.partner-process li span { display: block; color: var(--partner-sea); font-size: 12px; font-weight: 800; letter-spacing: .12em; margin-bottom: 25px; }
.partner-process h3 { margin-bottom: 10px; }
.partner-process p { color: var(--muted); font-size: 15px; }
.partner-faq { padding-block: 0 95px; }
.partner-faq h2 { margin-bottom: 22px; }
.partner-faq details { border-top: 1px solid var(--line); padding: 18px 0; }
.partner-faq details:last-of-type { border-bottom: 1px solid var(--line); }
.partner-faq summary { cursor: pointer; font-weight: 700; padding-right: 24px; }
.partner-faq details p { max-width: 760px; margin-top: 12px; color: var(--muted); }
.partner-final { display: grid; grid-template-columns: 1fr auto; gap: 30px; align-items: center; padding: clamp(32px, 5vw, 60px); margin-bottom: 90px; border-radius: 28px; background: #103c34; color: #f3faf6; }
.partner-final h2 { max-width: 660px; margin-bottom: 12px; }
.partner-final p { max-width: 670px; color: #d1e8df; }
.partner-final .partner-button { background: #a5f1d9; color: #103c34; }
.partner-final .partner-button:hover { background: #d1f9ea; color: #103c34; }
.partner-email { display: inline-block; margin-top: 12px; color: #d1e8df; font-size: 13px; overflow-wrap: anywhere; }
@media (prefers-color-scheme: dark) {
  .partners-page { --partner-sea: #84e5cf; }
  .partner-principle { background: #233d32; color: #edf8f0; }
  .partner-final { background: #164f42; }
  .partner-process li span { color: #84e5cf; }
}
@media (max-width: 760px) {
  .partner-frame { width: min(100% - 36px, 600px); }
  .partner-hero { grid-template-columns: 1fr; padding-block: 44px 72px; gap: 36px; }
  .partner-hero-visual img { aspect-ratio: 1.35; border-radius: 22px; }
  .partner-intro, .partner-feature, .partner-principle, .partner-final { grid-template-columns: 1fr; }
  .partner-intro { padding-block: 34px 65px; gap: 18px; }
  .partner-section { padding-block: 60px; }
  .partner-section-heading { margin-bottom: 25px; }
  .partner-feature { gap: 24px; padding-block: 35px; }
  .partner-feature:nth-of-type(even) .partner-feature-photo { order: 0; }
  .partner-principle { padding: 30px; gap: 16px; }
  .partner-process { padding-block: 70px; }
  .partner-process ol { grid-template-columns: 1fr; }
  .partner-process li { padding: 22px; }
  .partner-process li span { margin-bottom: 12px; }
  .partner-faq { padding-bottom: 70px; }
  .partner-final { margin-bottom: 64px; padding: 32px; }
}
@media (max-width: 380px) {
  .partners-page .nav { gap: 8px; }
  .partners-page .nav-actions { gap: 10px; }
  .partners-page .nav-cta { padding-inline: 12px; }
}
