/* Partners — dense magazine scale */

.partners-page{
  background:#fff;
  color:#111;
  font-size:13px;
  line-height:1.45;
}

.partners-page .eyebrow,
.eyebrow{
  display:inline-block;
  font-family:Montserrat,Arial,sans-serif;
  color:var(--accent);
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.1em;
  margin-bottom:8px;
}

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

.partners-page .section-header h2{
  font-family:Montserrat,Arial,sans-serif;
  font-size:var(--section-h2);
  line-height:1.1;
  margin:8px 0 8px;
  text-transform:uppercase;
  letter-spacing:-.035em;
  color:#111;
}

.partners-page .section-header p{
  margin:0;
  max-width:640px;
  color:#555;
  font-size:13px;
  line-height:1.5;
}

/* HERO */

.partners-hero{
  position:relative;
  background:#050505;
  color:#fff;
  padding:var(--page-pad-y) 24px calc(var(--page-pad-y) + 6px);
  overflow:hidden;
}

.partners-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 82% 18%,rgba(230,9,16,.2),transparent 34%),
    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,48px 48px,48px 48px;
  opacity:.9;
  pointer-events:none;
}

.partners-hero-inner{
  position:relative;
  max-width:var(--max);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
  gap:24px;
  align-items:center;
}

.hero-copy h1{
  font-family:Montserrat,Arial,sans-serif;
  font-size:clamp(1.55rem,2.8vw,2.15rem);
  line-height:1.08;
  letter-spacing:-.04em;
  text-transform:uppercase;
  margin:10px 0 12px;
  color:#fff;
}

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

.hero-copy p{
  color:#d8d8d8;
  font-size:13px;
  margin:0 0 10px;
  max-width:520px;
  line-height:1.5;
}

.hero-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:16px;
}

.partners-page .hero-actions .btn{
  min-height:40px;
  padding:0 16px;
  font-size:11px;
}

.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:360px;
}

.hero-visual-main{
  position:absolute;
  inset:0 16px 0 0;
  border-radius:10px;
  overflow:hidden;
  background:#111;
  box-shadow:0 16px 40px 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,.42));
  pointer-events:none;
}

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

.hero-brand-pill{
  position:absolute;
  z-index:2;
  width:160px;
  min-height:64px;
  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:12px 16px;
  box-shadow:0 10px 28px rgba(0,0,0,.16);
}

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

.hero-pill-one{top:16px;right:-8px}
.hero-pill-two{left:-12px;top:100px}
.hero-pill-three{right:12px;bottom:80px}
.hero-pill-four{left:12px;bottom:12px}

/* INTRO STRIP */

.partner-intro-strip{
  background:#fff;
  border-bottom:1px solid #ececec;
}

.partner-intro-strip-inner{
  max-width:var(--max);
  margin:0 auto;
  padding:24px 24px 20px;
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:20px;
  align-items:start;
}

.intro-message h2{
  font-family:Montserrat,Arial,sans-serif;
  font-size:var(--section-h2);
  line-height:1.1;
  letter-spacing:-.035em;
  text-transform:uppercase;
  margin:8px 0 0;
  color:#111;
}

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

.intro-point{
  background:#fafafa;
  border:1px solid #ececec;
  border-radius:10px;
  padding:14px;
}

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

.intro-point p{
  margin:0;
  color:#555;
  font-size:12px;
  line-height:1.45;
}

/* ECOSYSTEM BRANDS */

.ecosystem-brands{
  padding:36px 24px;
  background:#f7f7f7;
}

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

.ecosystem-card{
  display:flex;
  flex-direction:column;
  gap:10px;
  background:#fff;
  border:1px solid #ececec;
  border-radius:10px;
  padding:14px;
  color:#111;
  text-decoration:none;
  transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;
}

.ecosystem-card:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(0,0,0,.07);
  border-color:#ddd;
  color:#111;
}

.ecosystem-card-top{
  display:flex;
  gap:12px;
  align-items:flex-start;
}

.ecosystem-logo-wrap{
  flex:0 0 52px;
  width:52px;
  height:52px;
  border-radius:8px;
  background:#f5f5f5;
  border:1px solid #ececec;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

.ecosystem-logo-wrap img{
  max-width:80%;
  max-height:80%;
  object-fit:contain;
}

.ecosystem-logo-wrap span{
  font-family:Montserrat,Arial,sans-serif;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  color:#888;
}

.ecosystem-card-meta{
  min-width:0;
}

.ecosystem-category{
  display:inline-block;
  font-family:Montserrat,Arial,sans-serif;
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--accent);
  margin-bottom:4px;
}

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

.ecosystem-card p{
  margin:0;
  color:#555;
  font-size:12px;
  line-height:1.45;
  flex:1;
}

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

.ecosystem-chip-list em{
  font-style:normal;
  font-size:9px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.04em;
  padding:4px 8px;
  border-radius:999px;
  background:#f3f3f3;
  border:1px solid #e8e8e8;
  color:#444;
}

/* PATHWAYS */

.partner-pathways{
  padding:36px 24px;
  background:#fff;
  position:relative;
}

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

.pathways-copy{
  max-width:640px;
  margin-bottom:18px;
}

.pathways-copy h2{
  font-family:Montserrat,Arial,sans-serif;
  font-size:var(--section-h2);
  line-height:1.1;
  margin:8px 0 8px;
  text-transform:uppercase;
  letter-spacing:-.035em;
}

.pathways-copy p{
  margin:0;
  color:#555;
  font-size:13px;
  line-height:1.5;
}

.pathways-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.pathway-card{
  background:#fafafa;
  border:1px solid #ececec;
  border-radius:10px;
  padding:16px;
  transition:transform .15s ease,box-shadow .15s ease;
}

.pathway-card:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(0,0,0,.06);
}

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

.pathway-card h3{
  font-family:Montserrat,Arial,sans-serif;
  font-size:1rem;
  line-height:1.12;
  margin:0 0 8px;
  text-transform:uppercase;
  letter-spacing:-.02em;
}

.pathway-card p{
  margin:0 0 10px;
  color:#555;
  font-size:12px;
  line-height:1.45;
}

.pathway-card ul{
  margin:0;
  padding-left:1rem;
}

.pathway-card li{
  color:#555;
  font-size:12px;
  line-height:1.45;
  margin-bottom:4px;
}

/* RELATIONSHIP */

.relationship-layout{
  padding:36px 24px;
  background:#f7f7f7;
  border-top:1px solid #ececec;
}

.relationship-layout-inner{
  max-width:var(--max);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:14px;
  align-items:stretch;
}

.relationship-image{
  min-height:280px;
  border-radius:10px;
  overflow:hidden;
  background:#111;
  position:relative;
}

.relationship-image:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.38));
  pointer-events:none;
}

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

.relationship-panel{
  background:#fff;
  border:1px solid #ececec;
  border-radius:10px;
  padding:18px;
}

.relationship-panel h2{
  font-family:Montserrat,Arial,sans-serif;
  font-size:clamp(1.1rem,1.8vw,1.35rem);
  line-height:1.12;
  margin:8px 0 10px;
  text-transform:uppercase;
  letter-spacing:-.03em;
}

.relationship-panel p{
  margin:0 0 14px;
  color:#555;
  font-size:13px;
  line-height:1.5;
}

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

.platform-chip{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:12px;
  border:1px solid #ececec;
  border-radius:10px;
  background:#fafafa;
  text-decoration:none;
  color:#111;
  transition:transform .15s ease,border-color .15s ease,background .15s ease;
}

.platform-chip:hover{
  transform:translateY(-2px);
  border-color:rgba(230,9,16,.35);
  background:#fff;
  color:#111;
}

.platform-chip strong{
  font-family:Montserrat,Arial,sans-serif;
  font-size:11px;
  text-transform:uppercase;
  color:#111;
}

.platform-chip span{
  font-size:11px;
  color:#666;
  line-height:1.4;
}

/* FORM SECTION */

.partner-form-section{
  padding:36px 24px 48px;
  background:#fff;
}

.partner-form-shell{
  max-width:var(--max);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:24px;
  align-items:start;
}

.partner-form-copy h2{
  font-family:Montserrat,Arial,sans-serif;
  font-size:var(--section-h2);
  line-height:1.1;
  margin:8px 0 10px;
  text-transform:uppercase;
  letter-spacing:-.035em;
}

.partner-form-copy p{
  margin:0 0 14px;
  color:#555;
  font-size:13px;
  line-height:1.5;
}

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

.partner-form-notes div{
  padding:12px;
  border:1px solid #ececec;
  border-radius:10px;
  background:#fafafa;
}

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

.partner-form-notes span{
  color:#555;
  font-size:12px;
  line-height:1.45;
}

.partner-form-card{
  background:#fafafa;
  border:1px solid #ececec;
  border-radius:10px;
  padding:20px;
}

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

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

.form-field{
  display:grid;
  gap:4px;
}

.form-field label{
  font-family:Montserrat,Arial,sans-serif;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:#444;
}

.form-field input,
.form-field select,
.form-field textarea{
  width:100%;
  border:1px solid #e0e0e0;
  border-radius:8px;
  padding:10px 12px;
  font:inherit;
  font-size:13px;
  color:#111;
  background:#fff;
}

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

.form-submit{
  width:100%;
  margin-top:4px;
  min-height:40px;
  font-size:11px;
}

/* RESPONSIVE */

@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,minmax(0,1fr));
  }

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

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

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

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

  .hero-visual-main{
    position:relative;
    inset:auto;
    height:240px;
  }

  .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:56px;
    border-radius:10px;
  }

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

  .relationship-image,
  .relationship-image img{
    min-height:220px;
  }

  .hero-actions .btn{
    width:100%;
  }
}
