:root {
  --partner-navy: #152c40;
  --partner-navy-soft: #203b52;
  --partner-orange: #f29203;
  --partner-orange-light: #ffc46a;
  --partner-ink: #1d3041;
  --partner-muted: #627486;
  --partner-line: #dfe6eb;
  --partner-sand: #f7f2e9;
  --partner-white: #ffffff;
}

.partner-management-page { background: #fff; color: var(--partner-ink); }
.partner-page { overflow: hidden; }
.partner-wrap { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.partner-section { padding: clamp(76px, 8vw, 112px) 0; }
.partner-kicker,
.partner-eyebrow { margin: 0 0 18px; color: #9b650d; font-size: .75rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.partner-section h2,
.partner-final h2 { margin: 0; font-size: clamp(2rem, 4vw, 3.45rem); line-height: 1.05; letter-spacing: -.04em; }
.partner-section p { color: var(--partner-muted); font-size: 1.06rem; line-height: 1.75; }

.partner-hero { position: relative; min-height: min(760px, calc(100vh - 90px)); display: grid; align-items: center; isolation: isolate; color: #fff; }
.partner-hero-image,
.partner-hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.partner-hero-image { z-index: -3; object-fit: cover; object-position: center; }
.partner-hero-shade { z-index: -2; background: linear-gradient(90deg, rgba(12, 31, 48, .98) 0%, rgba(17, 43, 63, .94) 38%, rgba(17, 43, 63, .44) 68%, rgba(17, 43, 63, .12) 100%), linear-gradient(0deg, rgba(9, 25, 39, .55), transparent 55%); }
.partner-hero-content { padding-block: clamp(90px, 10vw, 145px); }
.partner-eyebrow { color: var(--partner-orange-light); }
.partner-hero h1 { max-width: 820px; margin: 0; font-size: clamp(3rem, 6.2vw, 6rem); line-height: .98; letter-spacing: -.055em; font-weight: 720; }
.partner-hero h1 span { display: block; margin-top: .13em; color: var(--partner-orange-light); }
.partner-lead { max-width: 700px; margin: 28px 0 0; color: #d6e0e8; font-size: clamp(1.05rem, 1.6vw, 1.27rem); line-height: 1.65; }
.partner-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.partner-button { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; padding: 14px 24px; border: 1px solid var(--partner-orange); border-radius: 8px; background: var(--partner-orange); color: #1f2830; font-size: .98rem; font-weight: 750; text-decoration: none; box-shadow: 0 12px 34px rgba(235, 148, 18, .22); transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease; }
.partner-button:hover { transform: translateY(-2px); background: #ffa51f; box-shadow: 0 16px 38px rgba(235, 148, 18, .3); color: #182631; }
.partner-button:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.partner-button--secondary { border-color: rgba(255,255,255,.55); background: rgba(15, 38, 56, .48); color: #fff; box-shadow: none; backdrop-filter: blur(8px); }
.partner-button--secondary:hover { border-color: #fff; background: rgba(15, 38, 56, .72); color: #fff; }
.partner-trust { display: flex; flex-wrap: wrap; gap: 22px; margin: 32px 0 0; padding: 0; list-style: none; color: #d6e0e8; font-size: .88rem; }
.partner-trust li::before { content: "✓"; margin-right: 8px; color: var(--partner-orange-light); font-weight: 800; }

.partner-intro { background: #fff; }
.partner-intro-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(40px, 7vw, 90px); align-items: end; }
.partner-intro-grid > p { margin: 0; }
.partner-benefits { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 62px; }
.partner-benefits article { min-height: 285px; padding: 34px 30px; border: 1px solid var(--partner-line); border-radius: 18px; background: linear-gradient(145deg, #fff, #f9fbfc); box-shadow: 0 15px 42px rgba(25, 54, 78, .055); }
.partner-benefits article > span { display: block; margin-bottom: 46px; color: var(--partner-orange); font-size: .82rem; font-weight: 800; letter-spacing: .12em; }
.partner-benefits h3 { margin: 0 0 13px; font-size: 1.35rem; }
.partner-benefits p { margin: 0; font-size: .96rem; }

.partner-story { background: var(--partner-sand); }
.partner-story-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(40px, 7vw, 88px); align-items: center; }
.partner-story-image { position: relative; min-height: 570px; margin: 0; overflow: hidden; border-radius: 22px; box-shadow: 0 28px 70px rgba(18, 44, 64, .15); }
.partner-story-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.partner-story-image::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(0deg, rgba(13, 34, 51, .82), transparent); }
.partner-story-image figcaption { position: absolute; z-index: 1; right: 28px; bottom: 25px; left: 28px; color: #fff; font-size: 1rem; font-weight: 700; }
.partner-story-copy h2 { margin-bottom: 36px; }
.partner-steps { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.partner-steps li { position: relative; display: grid; grid-template-columns: 48px 1fr; gap: 18px; padding: 0 0 30px; }
.partner-steps li:not(:last-child)::after { content: ""; position: absolute; top: 42px; bottom: 4px; left: 20px; width: 1px; background: #d9cab3; }
.partner-steps li > span { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid #e7cfa8; border-radius: 50%; background: #fff9ee; color: #9c650d; font-size: .72rem; font-weight: 800; }
.partner-steps h3 { margin: 6px 0 7px; font-size: 1.12rem; }
.partner-steps p { margin: 0; font-size: .94rem; line-height: 1.62; }

.partner-portal { background: var(--partner-navy); color: #fff; }
.partner-portal-grid { display: grid; grid-template-columns: .88fr 1.12fr; gap: clamp(45px, 7vw, 92px); align-items: center; }
.partner-portal .partner-kicker { color: var(--partner-orange-light); }
.partner-portal-copy > p { color: #c7d4de; }
.partner-portal-copy > ul { display: grid; gap: 12px; margin: 28px 0 0; padding: 0; list-style: none; color: #e5edf2; }
.partner-portal-copy > ul li::before { content: "→"; margin-right: 10px; color: var(--partner-orange-light); }
.partner-portal-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 13px; margin-top: 34px; }
.partner-portal-pending { max-width: 390px; color: #9fb0bd; font-size: .78rem; line-height: 1.5; }
.partner-dashboard { overflow: hidden; border: 1px solid rgba(255,255,255,.15); border-radius: 22px; background: #f2f5f7; color: var(--partner-ink); box-shadow: 0 28px 80px rgba(3, 17, 28, .38); transform: rotate(1deg); }
.partner-dashboard-top { height: 54px; display: flex; align-items: center; gap: 10px; padding: 0 22px; border-bottom: 1px solid #dce4e9; background: #e8eef2; }
.partner-dashboard-top strong { font-size: .82rem; }
.partner-dashboard-top i { width: 8px; height: 8px; margin-left: auto; border-radius: 50%; background: #4aae7b; }
.partner-dashboard-logo { color: var(--partner-orange); font-size: 1.35rem; font-weight: 900; letter-spacing: -.14em; }
.partner-dashboard-logo span { color: #20384d; }
.partner-dashboard-body { min-height: 430px; display: grid; grid-template-columns: 126px 1fr; }
.partner-dashboard-body aside { display: grid; align-content: start; gap: 16px; padding: 32px 20px; background: #193248; }
.partner-dashboard-body aside b { height: 9px; border-radius: 9px; background: rgba(255,255,255,.18); }
.partner-dashboard-body aside b:first-child { background: var(--partner-orange); }
.partner-dashboard-body > div { padding: 43px 34px; }
.partner-dashboard-body small { color: #9c650d; font-size: .58rem; font-weight: 800; letter-spacing: .18em; }
.partner-dashboard-body h3 { margin: 10px 0 6px; font-size: 1.58rem; }
.partner-dashboard-body p { margin: 0; color: #6d7e8d; font-size: .78rem; }
.partner-dashboard-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 11px; margin: 31px 0 22px; }
.partner-dashboard-stats span { padding: 17px 13px; border: 1px solid #dfe6eb; border-radius: 12px; background: #fff; color: #7b8996; font-size: .62rem; }
.partner-dashboard-stats b { display: block; margin-bottom: 4px; color: var(--partner-ink); font-size: 1.2rem; }
.partner-dashboard-table { display: grid; gap: 10px; padding: 18px; border: 1px solid #e0e6ea; border-radius: 12px; background: #fff; }
.partner-dashboard-table i { height: 18px; border-radius: 6px; background: linear-gradient(90deg, #e7edf1 24%, #f3f6f8 24% 52%, #e7edf1 52% 70%, #f3f6f8 70%); }

.partner-final { padding: clamp(80px, 9vw, 130px) 0; background: #fff; text-align: center; }
.partner-final-inner { max-width: 920px; }
.partner-final p:not(.partner-kicker) { max-width: 680px; margin: 24px auto 30px; color: var(--partner-muted); font-size: 1.08rem; line-height: 1.7; }

@media (max-width: 920px) {
  .partner-hero { min-height: auto; }
  .partner-hero-shade { background: linear-gradient(90deg, rgba(12,31,48,.97), rgba(17,43,63,.72)), linear-gradient(0deg, rgba(9,25,39,.55), transparent); }
  .partner-intro-grid,
  .partner-story-grid,
  .partner-portal-grid { grid-template-columns: 1fr; }
  .partner-benefits { grid-template-columns: 1fr; }
  .partner-benefits article { min-height: auto; }
  .partner-benefits article > span { margin-bottom: 24px; }
  .partner-story-image { min-height: 440px; }
  .partner-dashboard { max-width: 720px; transform: none; }
}

@media (max-width: 620px) {
  .partner-wrap { width: min(100% - 32px, 1180px); }
  .partner-section { padding: 68px 0; }
  .partner-hero-content { padding-block: 82px; }
  .partner-hero h1 { font-size: clamp(2.7rem, 14vw, 4rem); }
  .partner-actions { flex-direction: column; align-items: stretch; }
  .partner-button { width: 100%; }
  .partner-trust { display: grid; gap: 10px; }
  .partner-story-image { min-height: 340px; }
  .partner-dashboard-body { grid-template-columns: 72px 1fr; min-height: 380px; }
  .partner-dashboard-body aside { padding: 28px 13px; }
  .partner-dashboard-body > div { padding: 34px 18px; }
  .partner-dashboard-stats { gap: 7px; }
  .partner-dashboard-stats span { padding: 12px 8px; }
}

@media (prefers-reduced-motion: reduce) {
  .partner-button { transition: none; }
}
