/* =================================================================
   Maxta Partners — Shared Design System
   File: partners.css
   Scope: body.page-partners, body.page-partners-tech, body.page-partners-channel
   ================================================================= */


/* ── Reset ── */

/* ── Design Tokens ── */
:root {
  --brand-600: #1d4ed8;
  --brand-500: #3b82f6;
  --brand-400: #60a5fa;
  --brand-50:  #eff6ff;
  --gray-900: #0f172a;
  --gray-800: #1e293b;
  --gray-700: #334155;
  --gray-600: #475569;
  --gray-500: #64748b;
  --gray-300: #cbd5e1;
  --gray-200: #e2e8f0;
  --gray-100: #f1f5f9;
  --gray-50:  #f8fafc;
  --radius-sm:   .5rem;
  --radius-md:   .75rem;
  --radius-lg:   1rem;
  --radius-xl:   1.25rem;
  --radius-2xl:  1.5rem;
  --radius-full: 9999px;
}

body.page-partners, body.page-partners-tech, body.page-partners-channel { font-family: 'Inter', system-ui, -apple-system, sans-serif; background: #fff; color: var(--gray-700); -webkit-font-smoothing: antialiased; overflow-x: hidden; }

/* ── AOS ── */
[data-aos] { opacity: 0; transition: opacity .68s cubic-bezier(.215,.61,.355,1), transform .68s cubic-bezier(.215,.61,.355,1); }
[data-aos="fade-up"]    { transform: translateY(24px); }
[data-aos="fade-right"] { transform: translateX(-24px); }
[data-aos="fade-left"]  { transform: translateX(24px); }
[data-aos].aos-animate  { opacity: 1; transform: translate(0,0); }

/* ── Keyframes ── */
@keyframes ping-anim { 75%,100% { transform: scale(2.2); opacity: 0; } }
@keyframes float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
@keyframes shimmer { from { background-position: -200% 0; } to { background-position: 200% 0; } }

/* ── Layout ── */
.pt-container { max-width: 80rem; margin-inline: auto; padding-inline: 1.5rem; }
@media (min-width: 1024px) { .pt-container { padding-inline: 2rem; } }

.pt-section { padding-block: 6rem; }
.pt-section--white { background: #fff; }
.pt-section--gray  { background: var(--gray-50); }

/* ── Typography utilities ── */
.pt-g-text {
  background: linear-gradient(135deg, #1d4ed8, #3b82f6, #8B5CF6);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
/* sec-label: unified in hero.css */

.pt-section-header { text-align: center; margin-bottom: 4rem; }
.pt-section-heading { font-size: clamp(1.875rem, 4vw, 2.75rem); font-weight: 700; color: var(--gray-900); line-height: 1.2; margin-bottom: 1rem; }
.pt-section-subtext { color: var(--gray-600); max-width: 40rem; margin-inline: auto; line-height: 1.7; }

/* ── Buttons ── */
.pt-btn {
  display: inline-flex; align-items: center; gap: .5rem;
  border-radius: var(--radius-md); font-weight: 600; font-size: 1rem;
  padding: .875rem 2rem; transition: opacity .2s, transform .2s, box-shadow .2s; cursor: pointer; border: none;
}
.pt-btn:hover { transform: translateY(-2px); }
.pt-btn--grad {
  background: linear-gradient(135deg, #0EA5E9, #8B5CF6); color: #fff;
  box-shadow: 0 8px 24px rgba(59,130,246,.3); position: relative; overflow: hidden;
}
.pt-btn--grad::after { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, #38BDF8, #A78BFA); opacity: 0; transition: opacity .25s; }
.pt-btn--grad > * { position: relative; z-index: 1; }
.pt-btn--grad:hover::after { opacity: 1; }
.pt-btn--grad:hover { box-shadow: 0 12px 32px rgba(59,130,246,.4); }
.pt-btn--outline { border: 1px solid var(--gray-200); color: var(--gray-600); border-radius: var(--radius-full); background: transparent; }
.pt-btn--outline:hover { border-color: var(--brand-400); color: var(--brand-600); }
.pt-btn--outline-light { border: 1px solid rgba(255,255,255,.2); color: rgba(255,255,255,.75); border-radius: var(--radius-full); background: transparent; }
.pt-btn--outline-light:hover { border-color: rgba(255,255,255,.5); color: #fff; }
.pt-btn--sm { padding: .625rem 1.25rem; font-size: .875rem; }
.pt-btn--full { width: 100%; justify-content: center; }

/* ── Pills ── */
.pt-pill {
  display: inline-flex; align-items: center; gap: .375rem;
  border-radius: var(--radius-full); padding: .3rem .85rem;
  font-size: .75rem; font-weight: 600;
}
.pt-pill--blue   { background: rgba(59,130,246,.08); border: 1px solid rgba(59,130,246,.2);  color: var(--brand-600); }
.pt-pill--violet { background: rgba(139,92,246,.08); border: 1px solid rgba(139,92,246,.25); color: #7C3AED; }
.pt-pill--green  { background: rgba(16,185,129,.08); border: 1px solid rgba(16,185,129,.25); color: #047857; }
.pt-pill--amber  { background: rgba(245,158,11,.08); border: 1px solid rgba(245,158,11,.25); color: #b45309; }
.pt-pill--teal   { background: rgba(20,184,166,.08); border: 1px solid rgba(20,184,166,.25); color: #0d9488; }
.pt-pill--rose   { background: rgba(244,63,94,.08);  border: 1px solid rgba(244,63,94,.25);  color: #be123c; }

/* ── Badges ── */
.pt-badge {
  font-size: .65rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .1em; padding: .2rem .6rem; border-radius: var(--radius-full);
}
.pt-badge--green  { background: rgba(16,185,129,.1); border: 1px solid rgba(16,185,129,.25); color: #047857; }
.pt-badge--blue   { background: rgba(59,130,246,.1); border: 1px solid rgba(59,130,246,.25); color: var(--brand-600); }
.pt-badge--amber  { background: rgba(245,158,11,.1); border: 1px solid rgba(245,158,11,.25); color: #b45309; }
.pt-badge--violet { background: rgba(139,92,246,.1); border: 1px solid rgba(139,92,246,.25); color: #7C3AED; }
.pt-badge--teal   { background: rgba(20,184,166,.1); border: 1px solid rgba(20,184,166,.25); color: #0d9488; }

/* ── Icon box ── */
.pt-icon-box {
  width: 3rem; height: 3rem; border-radius: var(--radius-md);
  display: flex; align-items: center; justify-content: center;
}
.pt-icon-box--blue   { background: rgba(59,130,246,.08); border: 1px solid rgba(59,130,246,.2);  color: var(--brand-600); }
.pt-icon-box--violet { background: rgba(139,92,246,.08); border: 1px solid rgba(139,92,246,.2);  color: #7C3AED; }
.pt-icon-box--green  { background: rgba(16,185,129,.08); border: 1px solid rgba(16,185,129,.2);  color: #047857; }
.pt-icon-box--amber  { background: rgba(245,158,11,.08); border: 1px solid rgba(245,158,11,.2);  color: #b45309; }
.pt-icon-box--teal   { background: rgba(20,184,166,.08); border: 1px solid rgba(20,184,166,.2);  color: #0d9488; }
.pt-icon-box--rose   { background: rgba(244,63,94,.08);  border: 1px solid rgba(244,63,94,.2);   color: #be123c; }

/* ── Card base ── */
.pt-card {
  background: #fff; border: 1px solid var(--gray-200);
  border-radius: var(--radius-lg); padding: 2rem;
  box-shadow: 0 1px 3px rgba(0,0,0,.04);
  transition: transform .3s, box-shadow .3s;
}
.pt-card:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(59,130,246,.08), 0 0 0 1px rgba(59,130,246,.12); }

/* ═══════════════════════════════════════════
   HERO — now using unified .page-hero from hero.css
   ═══════════════════════════════════════════ */


/* ═══════════════════════════════════════════
   PARTNER TYPE CARDS (overview page)
   ═══════════════════════════════════════════ */
.pt-type-grid {
  display: grid; grid-template-columns: 1fr; gap: 1.5rem;
}
@media (min-width: 768px)  { .pt-type-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .pt-type-grid { grid-template-columns: repeat(3, 1fr); } }

.pt-type-card {
  background: #fff; border: 1px solid var(--gray-200);
  border-radius: var(--radius-2xl); padding: 2rem;
  box-shadow: 0 1px 3px rgba(0,0,0,.04);
  transition: transform .3s, box-shadow .3s;
  display: flex; flex-direction: column; gap: 1rem;
  position: relative;
}
.pt-type-card:hover { transform: translateY(-5px); box-shadow: 0 20px 48px rgba(59,130,246,.09), 0 0 0 1px rgba(59,130,246,.13); }
.pt-type-card--featured { border-color: rgba(59,130,246,.3); box-shadow: 0 4px 20px rgba(59,130,246,.08); }
.pt-type-card--featured:hover { box-shadow: 0 20px 48px rgba(59,130,246,.14), 0 0 0 1px rgba(59,130,246,.2); }

.pt-type-card__badge {
  position: absolute; top: -1rem; left: 50%; transform: translateX(-50%);
  background: linear-gradient(135deg, var(--brand-600), #7C3AED);
  color: #fff; font-size: .65rem; font-weight: 700;
  padding: .3rem 1rem; border-radius: var(--radius-full);
  white-space: nowrap; letter-spacing: .08em;
  box-shadow: 0 4px 12px rgba(29,78,216,.35);
}
.pt-type-card__icon { width: 3rem; height: 3rem; border-radius: var(--radius-md); display: flex; align-items: center; justify-content: center; }
.pt-type-card__icon--blue   { background: rgba(59,130,246,.08); border: 1px solid rgba(59,130,246,.2);  color: var(--brand-600); }
.pt-type-card__icon--violet { background: rgba(139,92,246,.08); border: 1px solid rgba(139,92,246,.2);  color: #7C3AED; }
.pt-type-card__icon--green  { background: rgba(16,185,129,.08); border: 1px solid rgba(16,185,129,.2);  color: #047857; }

.pt-type-card__num      { font-size: .7rem; font-weight: 800; color: var(--gray-300); letter-spacing: .12em; }
.pt-type-card__title    { font-size: 1.25rem; font-weight: 800; color: var(--gray-900); }
.pt-type-card__subtitle { font-size: .75rem; color: var(--gray-500); letter-spacing: .06em; margin-top: -.5rem; }
.pt-type-card__body     { font-size: .875rem; color: var(--gray-600); line-height: 1.7; }

.pt-type-card__perks { display: flex; flex-direction: column; gap: .5rem; padding-top: .25rem; border-top: 1px solid var(--gray-100); flex: 1; }
.pt-type-card__perks li { display: flex; align-items: center; gap: .5rem; font-size: .8125rem; color: var(--gray-700); }
.pt-type-card__perks svg { color: #10B981; flex-shrink: 0; }

.pt-type-card__link {
  display: inline-flex; align-items: center; gap: .375rem;
  font-size: .875rem; font-weight: 600; margin-top: auto; padding-top: .5rem;
  transition: gap .2s;
}
.pt-type-card__link:hover { gap: .625rem; }
.pt-type-card__link--blue   { color: var(--brand-600); }
.pt-type-card__link--violet { color: #7C3AED; }
.pt-type-card__link--green  { color: #047857; }

/* ═══════════════════════════════════════════
   PARTNER SPOTLIGHT GRID
   ═══════════════════════════════════════════ */
.pt-partner-group { margin-bottom: 3.5rem; }
.pt-partner-group:last-child { margin-bottom: 0; }
.pt-partner-group__label { margin-bottom: 1.25rem; }

.pt-partner-row {
  display: grid; grid-template-columns: 1fr; gap: 1.25rem;
}
@media (min-width: 640px)  { .pt-partner-row { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .pt-partner-row { grid-template-columns: repeat(3, 1fr); } }

.pt-partner-card {
  background: #fff; border: 1px solid var(--gray-200); border-radius: var(--radius-lg);
  overflow: hidden; display: flex; flex-direction: column;
  transition: transform .3s, box-shadow .3s;
  box-shadow: 0 1px 3px rgba(0,0,0,.04);
}
.pt-partner-card:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(59,130,246,.08), 0 0 0 1px rgba(59,130,246,.12); }

.pt-partner-card__logo {
  height: 5rem; display: flex; align-items: center; justify-content: center;
  font-size: 1.25rem; font-weight: 900; letter-spacing: -.02em;
  background: var(--gray-50); border-bottom: 1px solid var(--gray-100);
}
.pt-partner-card__logo--blue   { color: var(--brand-600); }
.pt-partner-card__logo--violet { color: #7C3AED; }
.pt-partner-card__logo--green  { color: #047857; }
.pt-partner-card__logo--amber  { color: #b45309; }
.pt-partner-card__logo--teal   { color: #0d9488; }
.pt-partner-card__logo--rose   { color: #be123c; }
.pt-partner-card__logo--gray   { color: var(--gray-600); }

.pt-partner-card__body { padding: 1.25rem; flex: 1; }
.pt-partner-card__name { font-size: .9375rem; font-weight: 700; color: var(--gray-900); margin-bottom: .2rem; }
.pt-partner-card__type { font-size: .75rem; color: var(--gray-500); margin-bottom: .625rem; }
.pt-partner-card__desc { font-size: .8125rem; color: var(--gray-600); line-height: 1.65; }
.pt-partner-card__footer { padding: 0 1.25rem 1.25rem; display: flex; align-items: center; justify-content: flex-end; }

.pt-partner-card--join {
  border-style: dashed; border-color: var(--gray-300);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center; padding: 2rem; gap: 1rem; min-height: 14rem;
  background: var(--gray-50);
}
.pt-partner-card--join:hover { border-color: var(--brand-400); background: var(--brand-50); }
.pt-partner-card__join-icon { width: 3rem; height: 3rem; border-radius: var(--radius-full); background: #fff; border: 1px solid var(--gray-200); display: flex; align-items: center; justify-content: center; color: var(--brand-500); }
.pt-partner-card__join-text { font-size: 1rem; font-weight: 700; color: var(--gray-700); }
.pt-partner-card__join-sub  { font-size: .8125rem; color: var(--gray-500); line-height: 1.6; }

/* ═══════════════════════════════════════════
   VALUE SECTION (dual column)
   ═══════════════════════════════════════════ */
.pt-value-layout {
  display: grid; grid-template-columns: 1fr; gap: 4rem; align-items: start;
}
@media (min-width: 1024px) { .pt-value-layout { grid-template-columns: 2fr 3fr; } }

.pt-value-heading { font-size: clamp(1.75rem, 3.5vw, 2.5rem); font-weight: 800; color: var(--gray-900); line-height: 1.2; margin-bottom: 1rem; }
.pt-value-body    { font-size: .9375rem; color: var(--gray-600); line-height: 1.75; margin-bottom: 2rem; }

.pt-value-items { display: flex; flex-direction: column; gap: 1.5rem; }
.pt-value-item  { display: flex; align-items: flex-start; gap: 1rem; }
.pt-value-item__icon {
  width: 2.5rem; height: 2.5rem; border-radius: var(--radius-md); flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
}
.pt-value-item__icon--blue   { background: rgba(59,130,246,.08); border: 1px solid rgba(59,130,246,.2);  color: var(--brand-600); }
.pt-value-item__icon--violet { background: rgba(139,92,246,.08); border: 1px solid rgba(139,92,246,.2);  color: #7C3AED; }
.pt-value-item__icon--green  { background: rgba(16,185,129,.08); border: 1px solid rgba(16,185,129,.2);  color: #047857; }
.pt-value-item__icon--amber  { background: rgba(245,158,11,.08); border: 1px solid rgba(245,158,11,.2);  color: #b45309; }
.pt-value-item__title { font-size: .9375rem; font-weight: 700; color: var(--gray-900); margin-bottom: .3rem; }
.pt-value-item__desc  { font-size: .8125rem; color: var(--gray-600); line-height: 1.65; }

/* Comparison table */
.pt-value-visual { background: #fff; border: 1px solid var(--gray-200); border-radius: var(--radius-xl); overflow: hidden; box-shadow: 0 4px 16px rgba(0,0,0,.05); max-height: 32rem; overflow-y: auto; }
.pt-value-visual::-webkit-scrollbar { width: 4px; }
.pt-value-visual::-webkit-scrollbar-track { background: transparent; }
.pt-value-visual::-webkit-scrollbar-thumb { background: var(--gray-300); border-radius: 4px; }
.pt-value-visual::-webkit-scrollbar-thumb:hover { background: var(--gray-500); }
@media (min-width: 1024px) { .pt-value-layout > div:first-child { position: sticky; top: 6rem; align-self: start; } }
.pt-value-chart__header { padding: 1.5rem 1.75rem 1rem; border-bottom: 1px solid var(--gray-100); position: sticky; top: 0; background: #fff; z-index: 2; }
.pt-compare-table { width: 100%; border-collapse: collapse; font-size: .8125rem; }
.pt-compare-table thead th {
  padding: .875rem 1rem; text-align: center; font-weight: 700;
  color: var(--gray-500); font-size: .75rem; text-transform: uppercase; letter-spacing: .08em;
  background: var(--gray-50); border-bottom: 1px solid var(--gray-200);
}
.pt-compare-table thead th:first-child { text-align: left; padding-left: 1.75rem; }
.pt-compare-table tbody td { padding: .75rem 1rem; text-align: center; border-bottom: 1px solid var(--gray-100); color: var(--gray-700); }
.pt-compare-table tbody td:first-child { text-align: left; padding-left: 1.75rem; color: var(--gray-600); }
.pt-compare-table tbody tr:last-child td { border-bottom: none; }
.pt-compare-table tbody tr:hover td { background: var(--gray-50); }
.pt-compare-table__th--highlight { color: var(--brand-600) !important; background: var(--brand-50) !important; }
.pt-compare-table__td--highlight { background: rgba(59,130,246,.03); }
.pt-compare-table__dash { color: var(--gray-300); }

/* ═══════════════════════════════════════════
   CONTACT / JOIN FORM
   ═══════════════════════════════════════════ */
.pt-join {
  display: grid; grid-template-columns: 1fr; gap: 4rem; align-items: start;
  background: #fff; border: 1px solid var(--gray-200); border-radius: var(--radius-2xl);
  padding: 3rem; box-shadow: 0 4px 24px rgba(0,0,0,.05);
}
@media (min-width: 1024px) { .pt-join { grid-template-columns: 1fr 1fr; } }

.pt-join__title { font-size: clamp(1.75rem, 3.5vw, 2.5rem); font-weight: 800; color: var(--gray-900); line-height: 1.2; margin-block: .5rem 1.25rem; }
.pt-join__body  { font-size: .9375rem; color: var(--gray-600); line-height: 1.75; margin-bottom: 2rem; }
.pt-join__contacts { display: flex; flex-direction: column; gap: .75rem; }
.pt-join__contact-item { display: flex; align-items: center; gap: .75rem; font-size: .875rem; color: var(--gray-600); }
.pt-join__contact-item svg { color: var(--brand-500); flex-shrink: 0; }

.pt-join__form { display: flex; flex-direction: column; gap: 1rem; }
.pt-form-row   { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 640px) { .pt-form-row { grid-template-columns: 1fr 1fr; } }
.pt-form-field { display: flex; flex-direction: column; gap: .4rem; }
.pt-form-label { font-size: .8125rem; font-weight: 600; color: var(--gray-700); }
.pt-form-label span { color: var(--brand-600); }
.pt-form-input {
  padding: .75rem 1rem; border: 1px solid var(--gray-200); border-radius: var(--radius-md);
  font-size: .875rem; color: var(--gray-900); background: #fff; font-family: inherit;
  transition: border-color .2s, box-shadow .2s; outline: none;
}
.pt-form-input:focus { border-color: var(--brand-400); box-shadow: 0 0 0 3px rgba(59,130,246,.1); }
.pt-form-input::placeholder { color: var(--gray-400, #94A3B8); }
.pt-form-select { cursor: pointer; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right .875rem center; padding-right: 2.5rem; }
.pt-form-textarea { resize: vertical; min-height: 7rem; }

/* ═══════════════════════════════════════════
   CTA section
   ═══════════════════════════════════════════ */
.pt-cta {
  background: linear-gradient(135deg, #0f172a, #1e293b);
  padding-block: 7rem; text-align: center; position: relative; overflow: hidden;
}
.pt-cta::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse 65% 55% at 50% 100%, rgba(59,130,246,.1), transparent); pointer-events: none; }
.pt-cta__inner  { position: relative; z-index: 10; }
.pt-cta__title  { font-size: clamp(2rem, 5vw, 3.25rem); font-weight: 900; color: #fff; line-height: 1.15; letter-spacing: -.03em; margin-block: 1rem 1.5rem; }
.pt-cta__body   { font-size: 1.1rem; color: #94A3B8; line-height: 1.7; max-width: 38rem; margin-inline: auto; margin-bottom: 2.5rem; }
.pt-cta__actions { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: center; }

/* ═══════════════════════════════════════════
   TECH PARTNERS — logo wall, cert cards
   ═══════════════════════════════════════════ */
.pt-logo-wall {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px;
  background: var(--gray-200); border: 1px solid var(--gray-200);
  border-radius: var(--radius-lg); overflow: hidden;
}
@media (min-width: 480px) { .pt-logo-wall { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 768px) { .pt-logo-wall { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 1024px){ .pt-logo-wall { grid-template-columns: repeat(6, 1fr); } }

.pt-logo-item {
  background: #fff; display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  padding: 1.75rem 1rem; gap: .5rem;
  transition: background .25s;
}
.pt-logo-item:hover { background: var(--brand-50); }
.pt-logo-item__name { font-size: .75rem; font-weight: 700; color: var(--gray-500); letter-spacing: .06em; text-align: center; }
.pt-logo-item__monogram {
  width: 2.75rem; height: 2.75rem; border-radius: var(--radius-md);
  display: flex; align-items: center; justify-content: center;
  font-size: .8rem; font-weight: 900; letter-spacing: -.02em;
}

/* Featured partner card (tech page) */
.pt-feat-partner {
  display: grid; grid-template-columns: 1fr; gap: 3rem; align-items: center;
  background: #fff; border: 1px solid var(--gray-200); border-radius: var(--radius-2xl);
  padding: 2.5rem 3rem; margin-bottom: 2rem;
  box-shadow: 0 4px 20px rgba(0,0,0,.04);
  transition: transform .3s, box-shadow .3s;
}
@media (min-width: 768px) { .pt-feat-partner { grid-template-columns: auto 1fr auto; } }
.pt-feat-partner:hover { transform: translateY(-3px); box-shadow: 0 16px 40px rgba(59,130,246,.08), 0 0 0 1px rgba(59,130,246,.12); }

.pt-feat-partner__logo-box {
  width: 5rem; height: 5rem; border-radius: var(--radius-xl);
  display: flex; align-items: center; justify-content: center;
  font-size: 1rem; font-weight: 900; flex-shrink: 0;
}
.pt-feat-partner__category { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; color: var(--gray-500); margin-bottom: .5rem; }
.pt-feat-partner__name   { font-size: 1.375rem; font-weight: 800; color: var(--gray-900); margin-bottom: .75rem; }
.pt-feat-partner__desc   { font-size: .9rem; color: var(--gray-600); line-height: 1.7; }
.pt-feat-partner__meta   { display: flex; flex-direction: column; gap: .625rem; align-items: flex-start; flex-shrink: 0; }

/* ═══════════════════════════════════════════
   CHANNEL — why MaxDeploy cards
   ═══════════════════════════════════════════ */
.pt-why-grid {
  display: grid; grid-template-columns: 1fr; gap: 1.25rem;
}
@media (min-width: 640px)  { .pt-why-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .pt-why-grid { grid-template-columns: repeat(4, 1fr); } }

.pt-why-card {
  background: #fff; border: 1px solid var(--gray-200);
  border-radius: var(--radius-xl); padding: 1.75rem;
  display: flex; flex-direction: column; gap: .875rem;
  box-shadow: 0 1px 3px rgba(0,0,0,.04);
  transition: transform .3s, box-shadow .3s;
}
.pt-why-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(59,130,246,.08), 0 0 0 1px rgba(59,130,246,.12);
}
.pt-why-card__num {
  font-size: .65rem; font-weight: 800; color: var(--gray-300); letter-spacing: .14em;
}
.pt-why-card__icon {
  width: 2.5rem; height: 2.5rem; border-radius: var(--radius-md);
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.pt-why-card__icon--blue   { background: rgba(59,130,246,.08); border: 1px solid rgba(59,130,246,.2);  color: var(--brand-600); }
.pt-why-card__icon--green  { background: rgba(16,185,129,.08); border: 1px solid rgba(16,185,129,.2);  color: #047857; }
.pt-why-card__icon--violet { background: rgba(139,92,246,.08); border: 1px solid rgba(139,92,246,.2);  color: #7C3AED; }
.pt-why-card__icon--amber  { background: rgba(245,158,11,.08); border: 1px solid rgba(245,158,11,.2);  color: #b45309; }
.pt-why-card__title {
  font-size: .9375rem; font-weight: 700; color: var(--gray-900); line-height: 1.3;
}
.pt-why-card__desc {
  font-size: .8125rem; color: var(--gray-600); line-height: 1.7;
}

/* ═══════════════════════════════════════════
   CHANNEL — tier cards
   ═══════════════════════════════════════════ */
.pt-tier-grid {
  display: grid; grid-template-columns: 1fr; gap: 1.5rem;
}
@media (min-width: 768px) { .pt-tier-grid { grid-template-columns: repeat(3, 1fr); } }

.pt-tier-card {
  border-radius: var(--radius-2xl); padding: 2rem; position: relative;
  display: flex; flex-direction: column; gap: 1.25rem;
  transition: transform .3s, box-shadow .3s;
}
.pt-tier-card:hover { transform: translateY(-4px); }
.pt-tier-card--register { background: var(--gray-50); border: 1px solid var(--gray-200); }
.pt-tier-card--register:hover { box-shadow: 0 16px 40px rgba(0,0,0,.07); }
.pt-tier-card--elite {
  background: #fff; border: 1px solid rgba(59,130,246,.3);
  box-shadow: 0 4px 20px rgba(59,130,246,.08);
}
.pt-tier-card--elite:hover { box-shadow: 0 20px 48px rgba(59,130,246,.14), 0 0 0 1px rgba(59,130,246,.2); }
.pt-tier-card--strategic {
  background: linear-gradient(135deg, #0f172a, #1e293b);
  border: 1px solid rgba(59,130,246,.3); color: #fff;
}
.pt-tier-card--strategic:hover { box-shadow: 0 20px 48px rgba(0,0,0,.3), 0 0 0 1px rgba(59,130,246,.3); }

.pt-tier-card__crown {
  position: absolute; top: -1rem; left: 50%; transform: translateX(-50%);
  background: linear-gradient(135deg, #b45309, #f59e0b);
  color: #fff; font-size: .65rem; font-weight: 700;
  padding: .3rem 1rem; border-radius: var(--radius-full);
  white-space: nowrap; letter-spacing: .08em;
}
.pt-tier-card__tier-num { font-size: .7rem; font-weight: 800; color: var(--gray-300); letter-spacing: .12em; }
.pt-tier-card--strategic .pt-tier-card__tier-num { color: rgba(255,255,255,.3); }
.pt-tier-card__title { font-size: 1.375rem; font-weight: 800; color: var(--gray-900); }
.pt-tier-card--strategic .pt-tier-card__title { color: #fff; }
.pt-tier-card__subtitle { font-size: .75rem; color: var(--gray-500); margin-top: -.75rem; }
.pt-tier-card--strategic .pt-tier-card__subtitle { color: #64748B; }
.pt-tier-card__desc { font-size: .875rem; color: var(--gray-600); line-height: 1.7; }
.pt-tier-card--strategic .pt-tier-card__desc { color: #94A3B8; }

.pt-tier-perks { display: flex; flex-direction: column; gap: .625rem; flex: 1; }
.pt-tier-perks li { display: flex; align-items: flex-start; gap: .625rem; font-size: .8125rem; color: var(--gray-700); }
.pt-tier-card--strategic .pt-tier-perks li { color: #CBD5E1; }
.pt-tier-perks svg { flex-shrink: 0; margin-top: .1rem; }

/* Process steps */
.pt-process { display: flex; flex-direction: column; gap: 0; position: relative; }
@media (min-width: 768px) {
  .pt-process { flex-direction: row; align-items: flex-start; }
  .pt-process::before { content: ''; position: absolute; top: 1.375rem; left: 0; right: 0; height: 2px; background: var(--gray-200); z-index: 0; }
}
.pt-process-step {
  flex: 1; display: flex; flex-direction: column; align-items: center;
  text-align: center; padding: 1.5rem 1rem; position: relative; z-index: 1;
}
.pt-process-step__num {
  width: 2.75rem; height: 2.75rem; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: .875rem; font-weight: 800; margin-bottom: 1rem;
  background: #fff; border: 2px solid var(--brand-500); color: var(--brand-600);
  box-shadow: 0 0 0 4px var(--brand-50);
}
.pt-process-step__title { font-size: .9375rem; font-weight: 700; color: var(--gray-900); margin-bottom: .5rem; }
.pt-process-step__desc  { font-size: .8125rem; color: var(--gray-500); line-height: 1.65; }

/* ═══════════════════════════════════════════
   ACADEMIC / RESEARCH (tech page Jay Lee)
   ═══════════════════════════════════════════ */
.pt-research-banner {
  background: linear-gradient(135deg, #0f172a 0%, #1a1f35 60%, #1e1a2e 100%);
  border-radius: var(--radius-2xl); padding: 3rem;
  display: grid; grid-template-columns: 1fr; gap: 2.5rem; align-items: center;
  border: 1px solid rgba(139,92,246,.3);
  box-shadow: 0 8px 40px rgba(139,92,246,.1);
  position: relative; overflow: hidden;
}
@media (min-width: 1024px) { .pt-research-banner { grid-template-columns: 1fr auto; } }
.pt-research-banner::before {
  content: ''; position: absolute; top: -50%; right: -20%;
  width: 30rem; height: 30rem; border-radius: 50%;
  background: radial-gradient(circle, rgba(139,92,246,.12), transparent 65%);
  pointer-events: none;
}
.pt-research-banner__eyebrow { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; color: #A78BFA; margin-bottom: .75rem; }
.pt-research-banner__title   { font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 800; color: #fff; line-height: 1.2; margin-bottom: 1rem; }
.pt-research-banner__title span { background: linear-gradient(to right, #A78BFA, #60A5FA); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.pt-research-banner__body    { font-size: .9rem; color: #94A3B8; line-height: 1.75; margin-bottom: 1.5rem; }
.pt-research-banner__tags    { display: flex; flex-wrap: wrap; gap: .625rem; }
.pt-research-banner__tag {
  padding: .3rem .85rem; border-radius: var(--radius-full);
  font-size: .75rem; font-weight: 600;
  background: rgba(139,92,246,.15); border: 1px solid rgba(139,92,246,.3); color: #C4B5FD;
}
.pt-research-banner__card {
  background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1);
  border-radius: var(--radius-xl); padding: 1.75rem 2rem; text-align: center; min-width: 14rem;
}
.pt-research-banner__avatar {
  width: 5rem; height: 5rem; border-radius: 50%;
  background: linear-gradient(135deg, rgba(139,92,246,.3), rgba(59,130,246,.3));
  border: 2px solid rgba(139,92,246,.4);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.75rem; font-weight: 900; color: #C4B5FD;
  margin: 0 auto 1rem;
}
.pt-research-banner__person-name  { font-size: 1rem; font-weight: 800; color: #fff; }
.pt-research-banner__person-title { font-size: .8rem; color: #94A3B8; margin-top: .25rem; line-height: 1.5; }
.pt-research-banner__person-org   { font-size: .75rem; color: #A78BFA; font-weight: 600; margin-top: .5rem; }

/* ═══════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════ */
@media (max-width: 639px) {
  .pt-section { padding-block: 4rem; }
  .pt-cta  { padding-block: 5rem; }
  .pt-join { padding: 2rem; gap: 2rem; }
  .pt-feat-partner { padding: 1.75rem; gap: 1.5rem; }
  .pt-research-banner { padding: 2rem; }
}

/* ═══════════════════════════════════════════
   CHANNEL PAGE — reason cards
   ═══════════════════════════════════════════ */
.pt-channel-reasons {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}
@media (min-width: 640px)  { .pt-channel-reasons { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .pt-channel-reasons { grid-template-columns: repeat(4, 1fr); } }

.pt-channel-reason {
  background: #fff;
  border: 1px solid var(--gray-200);
  border-radius: var(--radius-xl);
  padding: 1.75rem;
  display: flex;
  flex-direction: column;
  gap: .875rem;
  box-shadow: 0 1px 3px rgba(0,0,0,.04);
  transition: transform .3s, box-shadow .3s;
}
.pt-channel-reason:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(59,130,246,.08), 0 0 0 1px rgba(59,130,246,.12);
}
.pt-channel-reason__num {
  font-size: .65rem; font-weight: 800; color: var(--gray-300); letter-spacing: .14em;
}
.pt-channel-reason__icon { /* pt-icon-box variant handled by shared .pt-icon-box */ }
.pt-channel-reason__title {
  font-size: .9375rem; font-weight: 700; color: var(--gray-900); line-height: 1.3;
}
.pt-channel-reason__desc {
  font-size: .8125rem; color: var(--gray-600); line-height: 1.7;
}
