.partners-page { overflow: hidden; }

.partner-hero {
  position: relative;
  isolation: isolate;
  padding: 110px 0 94px;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
  background:
    linear-gradient(90deg, rgba(8, 11, 11, .99) 0%, rgba(8, 11, 11, .9) 56%, rgba(8, 11, 11, .63) 100%),
    repeating-linear-gradient(0deg, rgba(80, 227, 194, .09) 0 1px, transparent 1px 42px),
    repeating-linear-gradient(90deg, rgba(80, 227, 194, .09) 0 1px, transparent 1px 42px),
    #080b0b;
}

.partner-hero::after {
  position: absolute;
  z-index: -1;
  top: -200px;
  right: -80px;
  width: 620px;
  height: 620px;
  border: 1px solid rgba(200, 255, 61, .26);
  border-radius: 50%;
  box-shadow: 0 0 0 80px rgba(80, 227, 194, .04);
  content: "";
}

.partner-hero-grid,
.partner-two-column,
.partner-continuity {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, .82fr);
  gap: clamp(36px, 7vw, 96px);
  align-items: center;
}

.partner-hero h1 {
  max-width: 850px;
  margin: 14px 0 0;
  font-size: clamp(56px, 6.3vw, 104px);
  line-height: .87;
}

.partner-hero .lead {
  max-width: 700px;
  margin-top: 28px;
  color: #bdc8c3;
  font-size: 19px;
}

.partner-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }

.partner-diagram {
  padding: 24px;
  border: 1px solid rgba(200, 255, 61, .3);
  background: rgba(16, 21, 21, .94);
  box-shadow: 0 24px 72px rgba(0, 0, 0, .36);
}

.partner-diagram h2 { margin: 0 0 20px; font-size: 25px; }
.partner-flow { display: grid; grid-template-columns: 1fr 24px 1fr; gap: 8px; align-items: center; }
.partner-node { min-height: 88px; display: grid; place-content: center; padding: 12px; border: 1px solid var(--line-strong); background: #151b1b; color: #dce5e1; text-align: center; font-weight: 700; }
.partner-node small { display: block; margin-top: 5px; color: var(--muted); font-size: 11px; font-weight: 500; }
.partner-node.center { grid-column: 1 / -1; min-height: 72px; border-color: rgba(80, 227, 194, .5); background: rgba(80, 227, 194, .08); }
.partner-arrow { color: var(--blue); font-size: 21px; text-align: center; }
.partner-legend { display: flex; flex-wrap: wrap; gap: 14px; margin: 18px 0 0; color: var(--muted); font-family: var(--mono); font-size: 11px; }
.partner-legend i { display: inline-block; width: 8px; height: 8px; margin-right: 6px; background: var(--gold); }

.partner-section { padding: 100px 0; border-bottom: 1px solid var(--line); }
.partner-section.alt { background: #101515; }
.partner-section h2 { margin: 0; font-size: clamp(40px, 4.5vw, 72px); line-height: .9; }
.partner-section p { color: var(--muted); }
.partner-copy { display: grid; gap: 18px; max-width: 790px; }
.partner-quote { padding: 20px 22px; border-left: 3px solid var(--gold); background: #151b1b; color: #dce5e1; font-size: 19px; font-weight: 700; }

.partner-roles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin-top: 42px; background: var(--line); }
.partner-role { min-height: 228px; padding: 28px; background: #151b1b; }
.partner-role .eyebrow { margin: 0 0 46px; }
.partner-role h3 { margin: 0; color: var(--gold); font-size: 30px; }
.partner-role p { margin: 12px 0 0; }

.partner-targets { background: #101515; }
.partner-targets .eyebrow { color: var(--blue); }
.target-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin-top: 42px; background: var(--line); }
.target-card { min-height: 228px; padding: 28px; background: #151b1b; }
.target-number { display: block; color: var(--gold); font-family: var(--display); font-size: clamp(48px, 5.2vw, 78px); font-weight: 900; line-height: .85; }
.target-card p { margin: 18px 0 0; color: #dce5e1; }
.target-card small { display: block; margin-top: 16px; color: var(--muted); }

.partner-capabilities { display: grid; border-top: 1px solid var(--line); }
.partner-capability { display: grid; grid-template-columns: 46px minmax(0, 1fr); gap: 18px; padding: 23px 0; border-bottom: 1px solid var(--line); }
.partner-capability span { color: var(--blue); font-family: var(--mono); font-size: 13px; font-weight: 900; }
.partner-capability h3 { margin: 0; color: var(--ink); font-size: 22px; }
.partner-capability p { margin: 7px 0 0; }

.continuity-card { padding: 28px; border: 1px solid var(--line); background: #151b1b; }
.continuity-item { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 14px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--line); }
.continuity-item:last-child { border-bottom: 0; }
.continuity-index { display: grid; place-items: center; width: 36px; height: 36px; background: var(--gold); color: #07100b; font-family: var(--mono); font-size: 12px; font-weight: 900; }
.continuity-item strong { display: block; color: var(--ink); }
.continuity-item span:not(.continuity-index) { color: var(--muted); font-size: 14px; }
.partner-notice { margin-top: 25px; padding: 16px 18px; border: 1px solid rgba(80, 227, 194, .35); background: rgba(80, 227, 194, .06); color: #dce5e1; }

.outcome-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 42px; border: 1px solid var(--line); border-right: 0; border-bottom: 0; }
.outcome { min-height: 184px; padding: 24px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #151b1b; }
.outcome b { display: block; color: var(--gold); font-family: var(--display); font-size: 29px; text-transform: uppercase; }
.outcome p { margin: 10px 0 0; font-size: 14px; }

.partners-footer { padding: 46px 0; background: #080b0b; color: var(--muted); font-family: var(--mono); font-size: 12px; text-transform: uppercase; }
.partners-footer .shell { display: flex; justify-content: space-between; gap: 20px; align-items: center; }
.partners-footer strong { color: var(--ink); }

@media (max-width: 900px) {
  .partner-hero { padding: 76px 0; }
  .partner-hero-grid, .partner-two-column, .partner-continuity { grid-template-columns: minmax(0, 1fr); }
  .partner-roles, .target-grid { grid-template-columns: 1fr; }
  .outcome-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .partner-hero { padding: 62px 0; }
  .partner-hero h1 { font-size: clamp(40px, 11vw, 54px); overflow-wrap: anywhere; }
  .partner-hero .lead { font-size: 17px; }
  .partner-section { padding: 72px 0; }
  .partner-section h2 { font-size: 42px; overflow-wrap: anywhere; }
  .partner-diagram, .continuity-card { padding: 20px; }
  .partner-flow { grid-template-columns: 1fr; }
  .partner-node.center { grid-column: auto; }
  .partner-arrow { transform: rotate(90deg); }
  .outcome-grid { grid-template-columns: 1fr; }
  .partners-footer .shell { display: block; }
  .partners-footer span { display: block; margin-top: 10px; }
}
