.partner-page {
  --partner-red: #ff4a62;
  --partner-blue: #5db8ff;
}

.partner-hero {
  padding: 54px 0 30px;
  background: radial-gradient(circle at 15% 20%, rgba(45, 127, 255, .16), transparent 34rem), #030914;
}

.partner-hero .breadcrumbs { margin-bottom: 24px; }

.partner-hero-panel {
  position: relative;
  min-height: 640px;
  overflow: hidden;
  border: 1px solid var(--line-strong);
  border-radius: 30px;
  background: #050c18;
  box-shadow: 0 36px 90px rgba(0, 0, 0, .42);
}

.partner-slider,
.partner-slides,
.partner-slide {
  position: absolute;
  inset: 0;
}

.partner-slider { z-index: 0; }
.partner-slider:focus-visible { outline: 3px solid var(--partner-blue); outline-offset: -6px; }

.partner-slide {
  margin: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity .55s ease, visibility .55s ease;
}

.partner-slide.is-active {
  opacity: 1;
  visibility: visible;
}

.partner-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.partner-slide figcaption {
  position: absolute;
  right: 28px;
  bottom: 78px;
  z-index: 4;
  max-width: min(420px, 46vw);
  padding: 8px 12px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 999px;
  color: #eef7ff;
  background: rgba(2, 8, 18, .78);
  box-shadow: 0 12px 30px rgba(0, 0, 0, .28);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .02em;
  backdrop-filter: blur(10px);
}

.partner-slider-controls {
  position: absolute;
  right: 28px;
  bottom: 24px;
  z-index: 5;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 7px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 999px;
  background: rgba(2, 8, 18, .82);
  box-shadow: 0 14px 34px rgba(0, 0, 0, .32);
  backdrop-filter: blur(12px);
}

.partner-slider-arrow,
.partner-slider-dots button {
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  color: #fff;
  background: transparent;
  cursor: pointer;
}

.partner-slider-arrow {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  font-size: 1rem;
}

.partner-slider-arrow:hover { background: rgba(93, 184, 255, .2); }
.partner-slider-arrow:focus-visible,
.partner-slider-dots button:focus-visible { outline: 2px solid var(--partner-blue); outline-offset: 2px; }

.partner-slider-dots { display: flex; gap: 7px; }
.partner-slider-dots button { width: 20px; height: 32px; }
.partner-slider-dots button span { width: 7px; height: 7px; border-radius: 999px; background: rgba(255, 255, 255, .48); transition: width .2s ease, background .2s ease; }
.partner-slider-dots button[aria-current="true"] span { width: 20px; background: var(--partner-blue); }

.partner-hero-shade {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, rgba(2, 8, 18, .99) 0%, rgba(2, 8, 18, .95) 37%, rgba(2, 8, 18, .48) 62%, rgba(2, 8, 18, .08) 100%), linear-gradient(0deg, rgba(2, 8, 18, .72), transparent 50%);
}

.partner-hero-copy {
  position: relative;
  z-index: 2;
  width: min(610px, 58%);
  padding: clamp(38px, 7vw, 80px);
}

.partner-hero h1 { margin: 0; max-width: 570px; font-size: clamp(3.4rem, 7.5vw, 7rem); line-height: .9; letter-spacing: -.07em; }
.partner-hero h1 span { display: block; color: var(--partner-blue); }
.partner-hero .lead { max-width: 590px; margin: 24px 0 0; color: #c4d3e7; font-size: 1.08rem; }

.partner-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 26px; }
.partner-tags span { padding: 7px 10px; border: 1px solid rgba(125, 183, 255, .25); border-radius: 999px; color: #d8eaff; background: rgba(14, 73, 137, .22); font-size: .69rem; font-weight: 800; }

.partner-external-action { margin-top: 32px; }
.partner-external-action .button { min-height: 50px; }
.partner-external-action p,
.partner-external-note { max-width: 580px; margin: 12px 0 0; color: #98abc3; font-size: .7rem; line-height: 1.55; }
.partner-external-action strong,
.partner-external-note strong { color: #dce9f9; }

.partner-proof { border-block: 1px solid var(--line); background: #07111f; }
.partner-proof-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.partner-proof-grid > div { padding: 21px 22px; border-right: 1px solid var(--line); }
.partner-proof-grid > div:last-child { border-right: 0; }
.partner-proof strong { display: block; color: #fff; font-size: .9rem; }
.partner-proof span { display: block; margin-top: 4px; color: var(--muted); font-size: .7rem; }

.partner-intro-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr); gap: 56px; align-items: start; }
.partner-intro-grid h2,
.partner-topics h2,
.partner-detail-grid h2,
.partner-bridge h2 { margin: 0 0 18px; font-size: clamp(2.2rem, 5vw, 4.5rem); line-height: .96; letter-spacing: -.055em; }
.partner-intro-grid p:not(.eyebrow),
.partner-detail-grid p:not(.eyebrow),
.partner-bridge p:not(.eyebrow) { color: var(--muted-strong); line-height: 1.75; }

.partner-fit-card { position: relative; overflow: hidden; padding: 30px; border: 1px solid var(--line-strong); border-radius: 24px; background: linear-gradient(145deg, rgba(18, 37, 62, .96), rgba(6, 15, 28, .98)); }
.partner-fit-mark { position: absolute; right: -5px; top: -30px; color: rgba(88, 176, 255, .08); font-size: 9rem; font-weight: 950; }
.partner-fit-card > *:not(.partner-fit-mark) { position: relative; z-index: 1; }
.partner-fit-card ul { margin: 18px 0 0; padding-left: 1.15rem; color: #c4d3e7; }
.partner-fit-card li { margin: 11px 0; }

.partner-topics { background: linear-gradient(180deg, rgba(7, 17, 31, .4), rgba(9, 20, 36, .9)); }
.partner-topic-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.partner-topic-card { min-height: 230px; padding: 26px; border: 1px solid var(--line); border-radius: 21px; background: rgba(8, 18, 33, .96); transition: transform .2s ease, border-color .2s ease; }
.partner-topic-card:hover { transform: translateY(-4px); border-color: var(--line-strong); }
.partner-topic-card > span { color: var(--partner-red); font-size: .68rem; font-weight: 900; letter-spacing: .12em; }
.partner-topic-card h3 { margin: 22px 0 10px; font-size: 1.3rem; }
.partner-topic-card p { margin: 0; color: var(--muted); font-size: .82rem; line-height: 1.65; }

.partner-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.partner-detail-grid article { padding: clamp(28px, 5vw, 48px); border: 1px solid var(--line); border-radius: 24px; background: linear-gradient(145deg, rgba(15, 31, 53, .95), rgba(6, 14, 25, .99)); }
.partner-detail-grid h2 { font-size: clamp(2rem, 4vw, 3.5rem); }

.partner-bridge { padding-top: 30px; }
.partner-bridge-panel { padding: clamp(34px, 7vw, 76px); border: 1px solid var(--line-strong); border-radius: 30px; background: radial-gradient(circle at 85% 35%, rgba(255, 61, 86, .13), transparent 28rem), radial-gradient(circle at 10% 90%, rgba(48, 150, 255, .18), transparent 32rem), #07111f; }
.partner-bridge-panel > div { max-width: 900px; }
.partner-bridge .hero-actions { margin-top: 28px; }

@media (max-width: 980px) {
  .partner-hero-panel { min-height: 720px; }
  .partner-hero-shade { background: linear-gradient(0deg, rgba(2, 8, 18, .99) 0%, rgba(2, 8, 18, .92) 48%, rgba(2, 8, 18, .15) 100%); }
  .partner-hero-copy { width: 100%; padding-top: 290px; }
  .partner-slide figcaption { top: 20px; right: 20px; bottom: auto; }
  .partner-slider-controls { top: 64px; right: 20px; bottom: auto; }
  .partner-proof-grid,
  .partner-topic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .partner-proof-grid > div:nth-child(2) { border-right: 0; }
  .partner-proof-grid > div:nth-child(-n + 2) { border-bottom: 1px solid var(--line); }
  .partner-intro-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .partner-hero { padding-top: 34px; }
  .partner-hero-panel { min-height: 780px; border-radius: 22px; }
  .partner-slide img { object-position: 66% center; }
  .partner-hero-copy { padding: 260px 24px 34px; }
  .partner-slide figcaption { right: 14px; max-width: calc(100% - 28px); font-size: .62rem; }
  .partner-slider-controls { right: 14px; }
  .partner-hero h1 { font-size: clamp(3rem, 16vw, 4.7rem); }
  .partner-proof-grid,
  .partner-topic-grid,
  .partner-detail-grid { grid-template-columns: 1fr; }
  .partner-proof-grid > div { border-right: 0; border-bottom: 1px solid var(--line); }
  .partner-proof-grid > div:last-child { border-bottom: 0; }
  .partner-topic-card { min-height: auto; }
}

@media (prefers-reduced-motion: reduce) {
  .partner-slide,
  .partner-slider-dots button span { transition: none; }
}
