.partners-page{
  background:#fff;
  color:#111;
  overflow:hidden;
}

.partners-page .section-header{
  max-width:var(--max);
  margin:0 auto 36px;
  padding:0 24px;
  text-align:left;
}

.partners-page .section-header h2{
  font-family:Montserrat,Arial,sans-serif;
  font-size:clamp(2.2rem,4.4vw,4.7rem);
  line-height:.96;
  margin:0 0 18px;
  text-transform:uppercase;
  letter-spacing:-.055em;
  color:#111;
}

.partners-page .section-header p{
  margin:0;
  max-width:920px;
  color:#4d4d4d;
  font-size:1.05rem;
}

.partners-hero{
  background:
    radial-gradient(circle at 82% 18%, rgba(230,9,16,.28), transparent 34%),
    radial-gradient(circle at 10% 82%, rgba(230,9,16,.14), transparent 36%),
    linear-gradient(135deg, #050505 0%, #0e0e0e 58%, #210002 100%);
  color:#fff;
  padding:82px 24px 88px;
  position:relative;
  overflow:hidden;
}

.partners-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size:52px 52px;
  opacity:.28;
  pointer-events:none;
}

.partners-hero-inner{
  max-width:var(--max);
  margin:0 auto;
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  gap:48px;
  align-items:center;
  position:relative;
}

.hero-copy h1{
  font-family:Montserrat,Arial,sans-serif;
  font-size:clamp(3.6rem,7vw,7rem);
  line-height:.88;
  letter-spacing:-.07em;
  text-transform:uppercase;
  margin:14px 0 22px;
  color:#fff;
}

.hero-copy h1 span{
  color:var(--accent);
}

.hero-copy p{
  color:#e0e0e0;
  font-size:1.08rem;
  margin:0 0 18px;
  max-width:640px;
}

.hero-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:30px;
}

.btn-dark{
  background:transparent;
  color:#fff;
  border:1px solid rgba(255,255,255,.24);
}

.btn-dark:hover{
  background:#181818;
  color:#fff;
  border-color:rgba(255,255,255,.4);
}

.hero-visual{
  position:relative;
  min-height:560px;
}

.hero-visual-main{
  position:absolute;
  inset:0 24px 0 0;
  border-radius:28px;
  overflow:hidden;
  background:#111;
  box-shadow:0 30px 80px rgba(0,0,0,.28);
}

.hero-visual-main:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(0,0,0,.06), rgba(0,0,0,.48)),
    radial-gradient(circle at 80% 20%, rgba(230,9,16,.35), transparent 32%);
}

.hero-visual-main img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.hero-brand-pill{
  position:absolute;
  z-index:2;
  width:220px;
  min-height:88px;
  border-radius:999px;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(255,255,255,.45);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px 24px;
  box-shadow:0 18px 46px rgba(0,0,0,.18);
  backdrop-filter:blur(12px);
}

.hero-brand-pill img{
  max-width:100%;
  max-height:54px;
  object-fit:contain;
  display:block;
}

.hero-pill-one{ top:28px; right:-12px; }
.hero-pill-two{ left:-18px; top:144px; }
.hero-pill-three{ right:18px; bottom:116px; }
.hero-pill-four{ left:18px; bottom:24px; }

.partner-intro-strip{
  background:#fff;
  position:relative;
  margin-top:-1px;
}

.partner-intro-strip:before{
  content:"";
  position:absolute;
  top:-56px;
  left:0;
  right:0;
  height:58px;
  background:#fff;
  clip-path:polygon(0 0, 100% 18%, 100% 100%, 0 100%);
}

.partner-intro-strip-inner{
  max-width:var(--max);
  margin:0 auto;
  padding:42px 24px 34px;
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:32px;
  align-items:start;
}

.intro-message h2{
  font-family:Montserrat,Arial,sans-serif;
  font-size:clamp(2rem,4vw,4rem);
  line-height:.97;
  letter-spacing:-.05em;
  text-transform:uppercase;
  margin:0;
  color:#111;
}

.intro-points{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}

.intro-point{
  background:#fafafa;
  border:1px solid #e5e5e5;
  border-radius:20px;
  padding:22px;
}

.intro-point strong{
  display:block;
  font-family:Montserrat,Arial,sans-serif;
  font-size:.96rem;
  text-transform:uppercase;
  color:#111;
  margin-bottom:10px;
}

.intro-point p{
  margin:0;
  color:#555;
  font-size:.95rem;
  line-height:1.5;
}

.ecosystem-brands{
  padding:78px 0 86px;
  background:#f5f5f5;
}

.ecosystem-grid{
  max-width:var(--max);
  margin:0 auto;
  padding:0 24px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.ecosystem-card{
  background:#fff;
  border:1px solid #e4e4e4;
  border-radius:28px;
  padding:26px;
  color:#111;
  text-decoration:none;
  box-shadow:0 14px 32px rgba(0,0,0,.05);
  transition:.22s ease;
}

.ecosystem-card:hover{
  transform:translateY(-4px);
  border-color:rgba(230,9,16,.35);
  box-shadow:0 24px 54px rgba(0,0,0,.10);
  color:#111;
}

.ecosystem-card-top{
  display:flex;
  align-items:center;
  gap:18px;
  margin-bottom:20px;
}

.ecosystem-logo-wrap{
  width:112px;
  height:76px;
  border-radius:20px;
  background:#f7f7f7;
  border:1px solid #ececec;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px 16px;
  flex-shrink:0;
}

.ecosystem-logo-wrap img{
  max-width:100%;
  max-height:46px;
  object-fit:contain;
  display:block;
}

.ecosystem-logo-wrap span{
  display:none;
  width:100%;
  height:100%;
  align-items:center;
  justify-content:center;
  font-family:Montserrat,Arial,sans-serif;
  font-weight:900;
  font-size:1.25rem;
  color:#111;
}

.ecosystem-category{
  display:block;
  font-family:Montserrat,Arial,sans-serif;
  color:var(--accent);
  font-size:.73rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
  margin-bottom:8px;
}

.ecosystem-card h3{
  font-family:Montserrat,Arial,sans-serif;
  font-size:1.55rem;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:-.045em;
  margin:0;
  color:#111;
}

.ecosystem-card p{
  margin:0 0 20px;
  color:#555;
  line-height:1.55;
}

.ecosystem-chip-list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.ecosystem-chip-list em{
  font-style:normal;
  font-family:Montserrat,Arial,sans-serif;
  font-size:.7rem;
  font-weight:900;
  text-transform:uppercase;
  color:#111;
  background:#f3f3f3;
  border:1px solid #e4e4e4;
  border-radius:999px;
  padding:8px 10px;
}

.partner-pathways{
  background:#0f0f0f;
  color:#fff;
  padding:84px 24px;
  position:relative;
  overflow:hidden;
}

.partner-pathways:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 78% 20%, rgba(230,9,16,.18), transparent 32%),
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,.02) 1px, transparent 1px);
  background-size:auto,52px 52px,52px 52px;
  pointer-events:none;
}

.partner-pathways-inner{
  max-width:var(--max);
  margin:0 auto;
  position:relative;
}

.pathways-copy{
  max-width:840px;
  margin-bottom:34px;
}

.pathways-copy h2{
  font-family:Montserrat,Arial,sans-serif;
  font-size:clamp(2.2rem,4.6vw,4.6rem);
  line-height:.96;
  text-transform:uppercase;
  letter-spacing:-.055em;
  margin:0 0 18px;
  color:#fff;
}

.pathways-copy p{
  margin:0;
  color:#d8d8d8;
  font-size:1.05rem;
  max-width:780px;
}

.pathways-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}

.pathway-card{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  border-radius:28px;
  padding:26px;
  min-height:340px;
  transition:.2s ease;
}

.pathway-card:hover{
  transform:translateY(-4px);
  background:rgba(255,255,255,.11);
  border-color:rgba(255,255,255,.2);
}

.pathway-eyebrow{
  display:block;
  font-family:Montserrat,Arial,sans-serif;
  color:var(--accent);
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
  margin-bottom:10px;
}

.pathway-card h3{
  font-family:Montserrat,Arial,sans-serif;
  font-size:1.5rem;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:-.045em;
  margin:0 0 14px;
  color:#fff;
}

.pathway-card p{
  margin:0 0 18px;
  color:#d9d9d9;
  line-height:1.55;
}

.pathway-card ul{
  margin:0;
  padding-left:18px;
  color:#fff;
}

.pathway-card li{
  margin:0 0 10px;
  color:#f1f1f1;
}

.relationship-layout{
  background:#fff;
  padding:86px 24px;
}

.relationship-layout-inner{
  max-width:var(--max);
  margin:0 auto;
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:28px;
  align-items:stretch;
}

.relationship-image{
  min-height:560px;
  border-radius:30px;
  overflow:hidden;
  background:#111;
  position:relative;
  box-shadow:0 24px 60px rgba(0,0,0,.14);
}

.relationship-image:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(0,0,0,.04), rgba(0,0,0,.42)),
    radial-gradient(circle at 18% 18%, rgba(230,9,16,.28), transparent 34%);
}

.relationship-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.relationship-panel{
  background:#f7f7f7;
  border:1px solid #e4e4e4;
  border-radius:30px;
  padding:34px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.relationship-panel h2{
  font-family:Montserrat,Arial,sans-serif;
  font-size:clamp(2rem,4.4vw,4rem);
  line-height:.96;
  text-transform:uppercase;
  letter-spacing:-.05em;
  margin:0 0 18px;
  color:#111;
}

.relationship-panel p{
  color:#555;
  font-size:1.03rem;
  line-height:1.6;
  margin:0 0 28px;
}

.platform-chip-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
}

.platform-chip{
  background:#fff;
  border:1px solid #e4e4e4;
  border-radius:18px;
  padding:18px;
  text-decoration:none;
  color:#111;
  transition:.18s ease;
}

.platform-chip:hover{
  transform:translateY(-2px);
  border-color:rgba(230,9,16,.32);
  box-shadow:0 14px 30px rgba(0,0,0,.06);
  color:#111;
}

.platform-chip strong{
  display:block;
  font-family:Montserrat,Arial,sans-serif;
  font-size:.95rem;
  line-height:1.15;
  text-transform:uppercase;
  margin-bottom:6px;
}

.platform-chip span{
  color:#666;
  font-size:.85rem;
}

.partner-form-section{
  background:
    radial-gradient(circle at 84% 16%, rgba(230,9,16,.26), transparent 32%),
    linear-gradient(135deg, #050505 0%, #101010 58%, #250002 100%);
  padding:88px 24px;
  color:#fff;
}

.partner-form-shell{
  max-width:var(--max);
  margin:0 auto;
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:28px;
  align-items:start;
}

.partner-form-copy h2{
  font-family:Montserrat,Arial,sans-serif;
  font-size:clamp(2.3rem,4.8vw,4.8rem);
  line-height:.96;
  letter-spacing:-.055em;
  text-transform:uppercase;
  margin:0 0 18px;
  color:#fff;
}

.partner-form-copy p{
  color:#d9d9d9;
  font-size:1.04rem;
  line-height:1.6;
  margin:0 0 18px;
}

.partner-form-notes{
  display:grid;
  gap:14px;
  margin-top:30px;
}

.partner-form-notes div{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  padding:18px;
}

.partner-form-notes strong{
  display:block;
  font-family:Montserrat,Arial,sans-serif;
  font-size:.9rem;
  text-transform:uppercase;
  margin-bottom:8px;
  color:#fff;
}

.partner-form-notes span{
  color:#d6d6d6;
  font-size:.94rem;
  line-height:1.5;
}

.partner-form-card{
  background:#fff;
  border-radius:30px;
  padding:28px;
  box-shadow:0 26px 60px rgba(0,0,0,.22);
}

.partner-form{
  display:grid;
  gap:16px;
}

.form-grid.two{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
}

.form-field{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.form-field label{
  font-family:Montserrat,Arial,sans-serif;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.03em;
  text-transform:uppercase;
  color:#111;
}

.form-field input,
.form-field select,
.form-field textarea{
  width:100%;
  border:1px solid #dddddd;
  border-radius:16px;
  padding:14px 16px;
  font-size:1rem;
  font-family:Lato,Arial,sans-serif;
  color:#111;
  background:#fff;
  outline:none;
  transition:border-color .16s ease, box-shadow .16s ease;
}

.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus{
  border-color:rgba(230,9,16,.65);
  box-shadow:0 0 0 4px rgba(230,9,16,.08);
}

.form-submit{
  width:100%;
  margin-top:6px;
}

.eyebrow{
  display:block;
  font-family:Montserrat,Arial,sans-serif;
  color:var(--accent);
  font-size:.78rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:12px;
}

@media (max-width: 1180px){
  .partners-hero-inner,
  .partner-intro-strip-inner,
  .relationship-layout-inner,
  .partner-form-shell{
    grid-template-columns:1fr;
  }

  .intro-points,
  .ecosystem-grid,
  .pathways-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .hero-visual{
    min-height:500px;
  }
}

@media (max-width: 860px){
  .partners-hero,
  .partner-pathways,
  .relationship-layout,
  .partner-form-section{
    padding:64px 22px;
  }

  .partners-page .section-header{
    padding:0 22px;
  }

  .hero-copy h1,
  .partners-page .section-header h2,
  .pathways-copy h2,
  .relationship-panel h2,
  .partner-form-copy h2,
  .intro-message h2{
    font-size:clamp(2.7rem,13vw,5rem);
  }

  .hero-visual{
    min-height:auto;
    display:grid;
    gap:12px;
  }

  .hero-visual-main{
    position:relative;
    inset:auto;
    height:380px;
    border-radius:24px;
  }

  .hero-brand-pill,
  .hero-pill-one,
  .hero-pill-two,
  .hero-pill-three,
  .hero-pill-four{
    position:relative;
    top:auto;
    right:auto;
    left:auto;
    bottom:auto;
    width:100%;
    min-height:80px;
    border-radius:18px;
  }

  .intro-points,
  .ecosystem-grid,
  .pathways-grid,
  .platform-chip-grid,
  .form-grid.two{
    grid-template-columns:1fr;
  }

  .relationship-image{
    min-height:340px;
  }

  .relationship-image img{
    height:340px;
  }

  .partner-form-card{
    padding:22px;
    border-radius:24px;
  }
}

@media (max-width: 560px){
  .hero-actions .btn{
    width:100%;
  }

  .ecosystem-card,
  .pathway-card{
    padding:22px;
  }

  .ecosystem-card-top{
    flex-direction:column;
    align-items:flex-start;
  }

  .ecosystem-logo-wrap{
    width:96px;
    height:68px;
  }
}