.partners-page{
  overflow:hidden;
  background:var(--page);
}
.partners-hero{
  position:relative;
  padding:170px 0 116px;
  overflow:hidden;
  background:
    radial-gradient(circle at 82% 18%,rgba(8,191,210,.14),transparent 24%),
    radial-gradient(circle at 68% 86%,rgba(88,111,238,.12),transparent 28%),
    linear-gradient(180deg,var(--page-alt),var(--page));
}
.partners-hero:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(rgba(88,111,238,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(88,111,238,.045) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:linear-gradient(to bottom,#000,transparent 84%);
}
.partners-hero-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  gap:68px;
  align-items:center;
}
.partners-hero h1{
  max-width:720px;
  margin:0 0 24px;
  font-size:clamp(52px,6vw,80px);
  line-height:.98;
  letter-spacing:-.066em;
  color:var(--text);
}
.partners-hero-copy{
  max-width:620px;
  margin:0 0 30px;
  color:var(--text-soft);
  font-size:18px;
  line-height:1.72;
}
.partners-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:11px;
}
.partners-proof{
  display:flex;
  flex-wrap:wrap;
  gap:26px;
  margin-top:36px;
  padding-top:23px;
  border-top:1px solid var(--border);
}
.partners-proof div{
  min-width:120px;
  color:var(--text-soft);
  font-size:11px;
}
.partners-proof strong{
  display:block;
  margin-bottom:3px;
  color:var(--text);
  font-size:15px;
}

/* Hero ecosystem visual */
.partner-ecosystem{
  position:relative;
  min-height:500px;
}
.ecosystem-glow{
  position:absolute;
  inset:5% 0 0 8%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(88,111,238,.19),transparent 66%);
}
.ecosystem-panel{
  position:absolute;
  inset:28px 0 18px 3%;
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:30px;
  background:color-mix(in srgb,var(--surface) 95%,transparent);
  box-shadow:0 34px 80px var(--shadow);
  backdrop-filter:blur(18px);
}
.ecosystem-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  height:62px;
  padding:0 22px;
  border-bottom:1px solid var(--border);
}
.ecosystem-brand{
  display:flex;
  align-items:center;
  gap:10px;
}
.ecosystem-brand i{
  width:30px;height:30px;
  display:grid;place-items:center;
  border-radius:10px;
  background:linear-gradient(135deg,var(--blue),var(--cyan));
  color:#fff;
  font-style:normal;
  font-size:11px;
  font-weight:900;
}
.ecosystem-brand strong{display:block;color:var(--text);font-size:12px}
.ecosystem-brand span{display:block;color:var(--text-faint);font-size:8px}
.ecosystem-live{
  padding:6px 9px;
  border-radius:999px;
  background:#e8f9f5;
  color:#159468;
  font-size:8px;
  font-weight:900;
  letter-spacing:.07em;
}
.ecosystem-map{
  position:relative;
  height:415px;
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 26%,rgba(88,111,238,.08),transparent 19%),
    radial-gradient(circle at 82% 72%,rgba(8,191,210,.08),transparent 22%),
    linear-gradient(180deg,#f8faff,#f1f5fb);
}
.ecosystem-map:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(91,111,238,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(91,111,238,.05) 1px,transparent 1px);
  background-size:38px 38px;
}
.ecosystem-center{
  position:absolute;
  left:50%;top:50%;
  transform:translate(-50%,-50%);
  width:142px;height:142px;
  border-radius:50%;
  display:grid;
  place-items:center;
  text-align:center;
  background:linear-gradient(135deg,#566ced,#687cf0);
  color:#fff;
  box-shadow:0 0 0 18px rgba(88,111,238,.08),0 24px 54px rgba(52,67,135,.24);
  z-index:3;
}
.ecosystem-center strong{font-size:22px;letter-spacing:-.04em}
.ecosystem-center span{display:block;margin-top:3px;color:#dfe5ff;font-size:8px;letter-spacing:.11em;text-transform:uppercase}
.partner-node{
  position:absolute;
  z-index:3;
  min-width:126px;
  padding:15px 17px;
  border:1px solid #e2e7ef;
  border-radius:16px;
  background:rgba(255,255,255,.94);
  box-shadow:0 14px 30px rgba(38,53,96,.09);
}
.partner-node strong{display:block;color:#263145;font-size:11px}
.partner-node span{display:block;margin-top:3px;color:#8b95a6;font-size:8px}
.partner-node.n1{left:7%;top:15%}
.partner-node.n2{left:8%;bottom:16%}
.partner-node.n3{right:7%;top:15%}
.partner-node.n4{right:8%;bottom:16%}
.partner-node.n5{left:50%;top:6%;transform:translateX(-50%)}
.partner-node.n6{left:50%;bottom:6%;transform:translateX(-50%)}
.partner-line{
  position:absolute;
  z-index:1;
  height:1px;
  transform-origin:left center;
  background:linear-gradient(90deg,rgba(88,111,238,.15),rgba(8,191,210,.45),rgba(88,111,238,.15));
}
.partner-line.l1{width:210px;left:20%;top:32%;transform:rotate(16deg)}
.partner-line.l2{width:210px;left:20%;top:68%;transform:rotate(-16deg)}
.partner-line.l3{width:210px;left:50%;top:36%;transform:rotate(-16deg)}
.partner-line.l4{width:210px;left:50%;top:64%;transform:rotate(16deg)}
.partner-line.l5{width:140px;left:45%;top:23%;transform:rotate(90deg)}
.partner-line.l6{width:140px;left:45%;bottom:22%;transform:rotate(90deg)}
.ecosystem-float{
  position:absolute;
  z-index:4;
  padding:13px 15px;
  border:1px solid var(--border);
  border-radius:16px;
  background:color-mix(in srgb,var(--surface) 95%,transparent);
  box-shadow:0 16px 34px var(--shadow);
  backdrop-filter:blur(14px);
}
.ecosystem-float span{display:block;color:var(--text-faint);font-size:8px;text-transform:uppercase}
.ecosystem-float strong{display:block;margin-top:4px;color:var(--text);font-size:18px}
.ecosystem-float em{color:#11a36a;font-size:8px;font-style:normal}
.ecosystem-float.one{left:-12px;top:94px}
.ecosystem-float.two{right:-8px;bottom:42px}

/* Shared */
.partners-section{padding:116px 0}
.partners-section.alt{background:linear-gradient(180deg,var(--page-alt),var(--page))}
.partners-section.dark{
  color:#fff;
  background:
    radial-gradient(circle at 12% 15%,rgba(8,191,210,.10),transparent 23%),
    radial-gradient(circle at 87% 80%,rgba(88,111,238,.11),transparent 25%),
    linear-gradient(180deg,#121a2d,#0c1322);
}
.partners-section.dark h2,.partners-section.dark h3{color:#fff}
.partners-section.dark p{color:#aeb9cb}
.partner-section-head{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:50px;
  align-items:end;
  margin-bottom:48px;
}
.partner-section-head h2{
  max-width:760px;
  margin:0;
  color:var(--text);
  font-size:clamp(38px,4.6vw,60px);
  line-height:1.02;
  letter-spacing:-.057em;
}
.partner-section-head p{
  max-width:520px;
  margin:0;
  color:var(--text-soft);
  font-size:16px;
  line-height:1.75;
}
.section-kicker{
  margin-bottom:15px;
  color:var(--blue);
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

/* Partner types */
.partner-type-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.partner-type-card{
  min-height:360px;
  padding:30px;
  border:1px solid var(--border);
  border-radius:25px;
  background:var(--surface);
  box-shadow:0 12px 32px var(--shadow);
}
.partner-type-card.featured{
  color:#fff;
  border-color:transparent;
  background:
    radial-gradient(circle at 90% 12%,rgba(8,191,210,.26),transparent 32%),
    linear-gradient(135deg,#556bed,#687cf0);
}
.partner-type-card.featured h3,.partner-type-card.featured p{color:#fff}
.partner-type-card.featured p{color:#e6ebff}
.partner-type-icon{
  display:grid;
  place-items:center;
  width:44px;height:44px;
  border-radius:14px;
  background:var(--surface-3);
  color:var(--blue);
  font-size:13px;
  font-weight:900;
}
.partner-type-card.featured .partner-type-icon{color:#fff;background:rgba(255,255,255,.16)}
.partner-type-card h3{
  margin:50px 0 13px;
  color:var(--text);
  font-size:26px;
  letter-spacing:-.04em;
}
.partner-type-card p{
  margin:0;
  color:var(--text-soft);
  font-size:13px;
  line-height:1.72;
}
.partner-type-list{
  display:grid;
  gap:9px;
  margin-top:25px;
}
.partner-type-list span{
  position:relative;
  padding-left:18px;
  color:var(--text-soft);
  font-size:11px;
  font-weight:700;
}
.partner-type-list span:before{
  content:"";
  position:absolute;
  left:0;top:5px;
  width:7px;height:7px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--blue),var(--cyan));
}
.partner-type-card.featured .partner-type-list span{color:#eef2ff}
.partner-type-card.featured .partner-type-list span:before{background:#fff}

/* Value cards */
.partner-value-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:15px;
}
.partner-value-card{
  min-height:240px;
  padding:26px;
  border:1px solid var(--border);
  border-radius:22px;
  background:var(--surface);
}
.partner-value-card span{
  display:grid;
  place-items:center;
  width:38px;height:38px;
  border-radius:13px;
  background:var(--surface-3);
  color:var(--blue);
  font-size:11px;
  font-weight:900;
}
.partner-value-card h3{
  margin:34px 0 9px;
  color:var(--text);
  font-size:19px;
}
.partner-value-card p{
  margin:0;
  color:var(--text-soft);
  font-size:12px;
  line-height:1.65;
}

/* Process */
.partner-process{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.partner-process-card{
  position:relative;
  padding:27px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:22px;
  background:rgba(255,255,255,.045);
}
.partner-process-card:after{
  content:"→";
  position:absolute;
  top:50%;right:-11px;
  transform:translateY(-50%);
  color:#516079;
  font-size:18px;
  font-weight:900;
}
.partner-process-card:last-child:after{display:none}
.partner-process-number{color:#6de0e9;font-size:10px;font-weight:900;letter-spacing:.13em}
.partner-process-card h3{margin:38px 0 9px;font-size:20px}
.partner-process-card p{margin:0;font-size:12px;line-height:1.65}

/* Logo showcase */
.partner-logo-showcase{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.partner-logo-card{
  min-height:110px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  border:1px solid var(--border);
  border-radius:18px;
  background:var(--surface);
  transition:.2s;
}
.partner-logo-card:hover{
  transform:translateY(-4px);
  box-shadow:0 14px 28px var(--shadow);
}
.partner-logo-card img{
  max-width:100%;
  max-height:48px;
  object-fit:contain;
}

/* Partner model */
.partner-model-layout{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:50px;
  align-items:center;
}
.partner-model-copy h2{
  margin:0 0 20px;
  color:var(--text);
  font-size:clamp(38px,4.3vw,56px);
  line-height:1.03;
  letter-spacing:-.055em;
}
.partner-model-copy p{
  margin:0;
  color:var(--text-soft);
  font-size:15px;
  line-height:1.75;
}
.partner-model-pills{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:26px;
}
.partner-model-pills span{
  padding:8px 11px;
  border:1px solid var(--border);
  border-radius:999px;
  background:var(--surface);
  color:var(--text-soft);
  font-size:11px;
  font-weight:700;
}
.partner-model-panel{
  display:grid;
  gap:12px;
  padding:24px;
  border:1px solid var(--border);
  border-radius:26px;
  background:var(--surface);
  box-shadow:0 18px 44px var(--shadow);
}
.partner-model-row{
  display:grid;
  grid-template-columns:1.1fr .9fr .9fr;
  gap:12px;
  align-items:center;
  min-height:68px;
  padding:14px 16px;
  border:1px solid var(--border-soft);
  border-radius:14px;
  background:var(--page-alt);
}
.partner-model-row strong{color:var(--text);font-size:12px}
.partner-model-row span{color:var(--text-soft);font-size:11px}
.partner-model-status{
  justify-self:end;
  padding:6px 9px;
  border-radius:999px;
  background:#eaf8f2;
  color:#159968;
  font-size:9px;
  font-weight:900;
}

/* Bridge */
.partner-bridge{
  padding:108px 0 10px;
  background:var(--page);
}
.partner-bridge-box{
  display:grid;
  grid-template-columns:1fr auto;
  gap:40px;
  align-items:center;
  padding:46px 50px;
  border:1px solid var(--border);
  border-radius:28px;
  background:
    radial-gradient(circle at 88% 15%,rgba(8,191,210,.08),transparent 28%),
    linear-gradient(135deg,var(--page-alt),var(--surface));
}
.partner-bridge h2{
  max-width:760px;
  margin:0;
  color:var(--text);
  font-size:clamp(32px,4vw,50px);
  line-height:1.04;
  letter-spacing:-.052em;
}
.partner-bridge p{
  max-width:630px;
  margin:15px 0 0;
  color:var(--text-soft);
  font-size:14px;
}
.partner-bridge-actions{
  display:flex;
  flex-direction:column;
  gap:10px;
}

/* Active nav */
.menu a[href="partners.html"]{color:var(--blue)}
.menu a[href="partners.html"]:after{width:22px}

/* Dark */
html[data-theme="dark"] .partners-hero{
  background:
    radial-gradient(circle at 82% 22%,rgba(8,191,210,.08),transparent 25%),
    radial-gradient(circle at 66% 86%,rgba(88,111,238,.09),transparent 28%),
    linear-gradient(180deg,#0e1525,#0b1020);
}
html[data-theme="dark"] .ecosystem-panel,
html[data-theme="dark"] .ecosystem-float{
  background:rgba(21,29,49,.95);
}
html[data-theme="dark"] .ecosystem-map{
  background:
    radial-gradient(circle at 18% 26%,rgba(88,111,238,.08),transparent 19%),
    radial-gradient(circle at 82% 72%,rgba(8,191,210,.08),transparent 22%),
    linear-gradient(180deg,#11192b,#0d1424);
}
html[data-theme="dark"] .partner-node{
  background:#151d31;
  border-color:#2a3650;
}
html[data-theme="dark"] .partner-node strong{color:#f4f7ff}
html[data-theme="dark"] .partner-model-status{background:#173a31;color:#61deb0}

/* Responsive */
@media(max-width:980px){
  .partners-hero-grid,
  .partner-section-head,
  .partner-model-layout{
    grid-template-columns:1fr;
  }
  .partner-ecosystem{width:min(720px,100%);margin:auto}
  .partner-type-grid{grid-template-columns:1fr}
  .partner-value-grid{grid-template-columns:1fr 1fr}
  .partner-process{grid-template-columns:1fr 1fr}
  .partner-process-card:nth-child(2):after{display:none}
}
@media(max-width:650px){
  .partners-hero{padding-top:136px;padding-bottom:86px}
  .partners-hero h1{font-size:48px}
  .partners-section{padding:82px 0}
  .partner-ecosystem{min-height:420px}
  .ecosystem-panel{inset:20px 0}
  .ecosystem-map{height:350px}
  .partner-node{min-width:98px;padding:11px}
  .partner-node.n5,.partner-node.n6{display:none}
  .ecosystem-float{display:none}
  .partner-value-grid,.partner-process{grid-template-columns:1fr}
  .partner-process-card:after{display:none}
  .partner-logo-showcase{grid-template-columns:1fr 1fr}
  .partner-model-row{grid-template-columns:1fr}
  .partner-model-status{justify-self:start}
  .partner-bridge-box{grid-template-columns:1fr;padding:34px 28px}
  .partner-bridge-actions{align-items:flex-start}
}
