/* ============================================================
   BREEZE PARTNERSHIP PROGRAM — page-specific stylesheet
   Scoped to /partnership-program/ only. Loaded AFTER the shared
   /style.css so it only ADDS partnership-specific presentation
   (Blue + Orange + Purple accent system) without touching or
   overriding shared site-wide rules used by other pages.
   ============================================================ */

:root{
  --pp-blue:#2563EB;   --pp-blue-l:#EFF6FF;  --pp-blue-b:#BFDBFE;
  --pp-orange:#EA580C; --pp-orange-l:#FFF7ED; --pp-orange-b:#FDBA74;
  --pp-purple:#7C3AED; --pp-purple-l:#F5F3FF; --pp-purple-b:#C4B5FD;
  --pp-green:#059669;  --pp-green-l:#ECFDF5; --pp-green-b:#A7F3D0;
}

/* ---------- Hero ---------- */
.pp-hero{position:relative;overflow:hidden;background:linear-gradient(160deg,#FAFBFF 0%,#F0F4FF 38%,#F8F5FF 70%,#FFF8F0 100%)}
#pp-hero-section{padding:36px 0 52px}
@media(max-width:768px){#pp-hero-section{padding:28px 0 44px}}
@media(max-width:480px){#pp-hero-section{padding:24px 0 36px}}
.pp-hero-mesh{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 60% 55% at 8% 45%,rgba(37,99,235,.08) 0%,transparent 55%),radial-gradient(ellipse 45% 45% at 92% 15%,rgba(124,58,237,.07) 0%,transparent 55%),radial-gradient(ellipse 40% 40% at 80% 92%,rgba(234,88,12,.06) 0%,transparent 50%)}
.pp-hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:start;position:relative;z-index:1}
.pp-hero-badge{display:inline-flex;align-items:center;gap:7px;background:linear-gradient(135deg,rgba(37,99,235,.10),rgba(124,58,237,.09));color:var(--pp-blue);font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;padding:6px 15px;border-radius:100px;border:1px solid rgba(37,99,235,.16);margin-bottom:20px}
.pp-hero-h1{font-family:var(--font-display);font-size:clamp(30px,4vw,48px);font-weight:900;line-height:1.16;letter-spacing:-.03em;color:var(--gray-900);margin-bottom:16px}
.pp-hero-highlight{display:inline;background:linear-gradient(135deg,var(--pp-blue) 0%,var(--pp-purple) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.pp-hero-sub{font-size:16.5px;color:var(--gray-500);line-height:1.75;max-width:520px;margin-bottom:22px}
.pp-hero-revenue{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,var(--pp-orange-l),#FFEDD5);border:1.5px solid var(--pp-orange-b);color:#9A3412;font-family:var(--font-display);font-weight:800;font-size:14px;padding:8px 16px;border-radius:100px;margin-bottom:20px}
.pp-hero-badges{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:28px}
.pp-badge-chip{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--gray-700);background:#fff;border:1.5px solid var(--gray-100);padding:7px 13px;border-radius:100px;box-shadow:var(--shadow-sm)}
.pp-badge-chip svg,.pp-badge-chip .pp-check{color:#059669;flex-shrink:0}
.pp-badge-chip-rev{color:#9A3412;background:linear-gradient(135deg,var(--pp-orange-l),#FFEDD5);border-color:var(--pp-orange-b);font-weight:800}
.pp-hero-ctas{display:flex;gap:12px;flex-wrap:wrap}
.pp-btn-primary{background:linear-gradient(135deg,var(--pp-blue),var(--pp-purple));color:#fff;box-shadow:0 10px 30px rgba(124,58,237,.28);border:none}
.pp-btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 38px rgba(124,58,237,.36)}
.pp-btn-secondary{background:#fff;color:var(--gray-800);border:1.5px solid var(--gray-200)}
.pp-btn-secondary:hover{border-color:var(--pp-blue);color:var(--pp-blue);transform:translateY(-2px)}

.pp-hero-visual{position:relative;margin-top:44px}
.pp-hero-img-wrap{border-radius:22px;overflow:hidden;box-shadow:0 24px 64px rgba(37,99,235,.18),0 8px 24px rgba(124,58,237,.12);border:1px solid rgba(255,255,255,.6);background:linear-gradient(155deg,var(--pp-blue-l),var(--pp-purple-l));aspect-ratio:4/3.1}
.pp-hero-img-wrap img{width:100%;height:100%;object-fit:cover;display:block}

/* ---------- Value strip ---------- */
.pp-strip{background:linear-gradient(160deg,#F0F7FF 0%,#F5F3FF 55%,#FFF7ED 100%);border-top:1px solid #E9EEFB;border-bottom:1px solid #E9EEFB;padding:36px 0}
.pp-strip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.pp-strip-item{background:#fff;border-radius:14px;border:1px solid var(--gray-100);box-shadow:var(--shadow-sm);padding:20px 14px;text-align:center}
.pp-strip-val{font-family:var(--font-display);font-size:22px;font-weight:900;color:var(--gray-900);line-height:1.15;margin-bottom:4px}
.pp-strip-lbl{font-size:12px;font-weight:600;color:var(--gray-500)}

/* ---------- Benefit cards (Why Partner) — matches FSM's #fsm-core-modules
   .fcm-card design language: white card, rounded-18, icon box with
   gradient fill, category tag pill, hover lift + border-color shift. ---------- */
.pp-benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.pp-benefit-grid-9{grid-template-columns:repeat(3,1fr)}
.pp-benefit-card{
  background:#fff;border:1px solid #E2EAFB;border-radius:18px;
  padding:28px 24px 26px;display:flex;flex-direction:column;height:100%;
  box-shadow:0 2px 8px rgba(16,42,97,.05);
  transition:transform 300ms cubic-bezier(.22,1,.36,1),box-shadow 300ms cubic-bezier(.22,1,.36,1),border-color 300ms;
}
.pp-benefit-card:hover{transform:translateY(-6px);border-color:#BFD3FA;box-shadow:0 18px 38px rgba(16,42,97,.13),0 4px 10px rgba(16,42,97,.06)}
.pp-benefit-icon{
  width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  margin-bottom:16px;flex-shrink:0;font-size:22px;
  box-shadow:0 8px 16px rgba(29,78,216,.24),inset 0 1px 1px rgba(255,255,255,.35);
  transition:transform 300ms cubic-bezier(.22,1,.36,1);
}
.pp-benefit-card:hover .pp-benefit-icon{transform:scale(1.06)}
.pp-benefit-tag{
  display:inline-block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  border-radius:20px;padding:4px 11px;margin-bottom:12px;width:fit-content;border:1px solid transparent;
}
.pp-benefit-title{font-family:var(--font-display);font-size:16px;font-weight:700;color:var(--gray-900);margin-bottom:8px;line-height:1.3}
.pp-benefit-desc{font-size:14px;color:var(--gray-500);line-height:1.6;flex-grow:1}
.pp-acc-blue .pp-benefit-icon{background:linear-gradient(150deg,#2563EB 0%,#1D4ED8 55%,#1E3A8A 100%);color:#fff}
.pp-acc-blue .pp-benefit-tag{color:#1D4ED8;background:#EFF4FF;border-color:#DCE6FC}
.pp-acc-orange .pp-benefit-icon{background:linear-gradient(150deg,#FB923C 0%,#F59E0B 55%,#D97706 100%);color:#fff;box-shadow:0 8px 16px rgba(217,119,6,.24),inset 0 1px 1px rgba(255,255,255,.35)}
.pp-acc-orange .pp-benefit-tag{color:#B45309;background:#FFF7ED;border-color:#FDE4C0}
.pp-acc-purple .pp-benefit-icon{background:linear-gradient(150deg,#A78BFA 0%,#7C3AED 55%,#5B21B6 100%);color:#fff;box-shadow:0 8px 16px rgba(91,33,182,.24),inset 0 1px 1px rgba(255,255,255,.35)}
.pp-acc-purple .pp-benefit-tag{color:#6D28D9;background:#F5F3FF;border-color:#DDD6FE}
.pp-acc-green .pp-benefit-icon{background:linear-gradient(150deg,#34D399 0%,#059669 55%,#065F46 100%);color:#fff;box-shadow:0 8px 16px rgba(6,95,70,.24),inset 0 1px 1px rgba(255,255,255,.35)}
.pp-acc-green .pp-benefit-tag{color:#047857;background:#ECFDF5;border-color:#A7F3D0}
@media(max-width:900px){.pp-benefit-grid-9{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.pp-benefit-grid-9{grid-template-columns:1fr}}

/* ---------- Who can partner (reuses .pp-benefit-card design) ---------- */
.pp-partner-type-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}

/* ---------- Partnership type cards (with description) ---------- */
.pp-type-card{background:#fff;border:1.5px solid var(--gray-100);border-radius:16px;padding:22px 20px;text-align:left;transition:all .25s var(--ease);position:relative;overflow:hidden}
.pp-type-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
.pp-type-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.pp-type-card:hover::before{transform:scaleX(1)}
.pp-type-card .pp-benefit-icon{width:40px;height:40px;font-size:18px;margin-bottom:12px}
.pp-type-card .pp-benefit-title{font-size:14.5px}
.pp-type-card .pp-benefit-desc{font-size:12.5px}

/* ---------- Partnership opportunity (Sell/Consult/Implement/Grow) ---------- */
.pp-opp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.pp-opp-card{border-radius:16px;padding:26px 22px;color:#fff;position:relative;overflow:hidden}
.pp-opp-num{font-family:var(--font-display);font-size:12px;font-weight:800;letter-spacing:.08em;opacity:.75;margin-bottom:10px}
.pp-opp-title{font-family:var(--font-display);font-size:19px;font-weight:900;margin-bottom:8px}
.pp-opp-desc{font-size:13px;line-height:1.65;opacity:.92}
.pp-opp-1{background:linear-gradient(155deg,#1D4ED8,#2563EB)}
.pp-opp-2{background:linear-gradient(155deg,#B45309,#EA580C)}
.pp-opp-3{background:linear-gradient(155deg,#6D28D9,#7C3AED)}
.pp-opp-4{background:linear-gradient(155deg,#0F172A,#334155)}

/* ---------- Partnership Journey (redesigned: horizontal desktop / zigzag mobile) ---------- */
.pp-journey{position:relative;padding-top:12px}
.pp-journey-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0}
#pp-journey-path{stroke-dasharray:0;stroke-dashoffset:0;transition:stroke-dashoffset 1.1s cubic-bezier(.22,1,.36,1)}

.pp-journey-steps{position:relative;z-index:1;list-style:none;margin:0;padding:0;display:flex;flex-direction:row;justify-content:space-between;gap:6px}
.pp-journey-step{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center;opacity:0;transform:scale(.85);transition:opacity .45s cubic-bezier(.22,1,.36,1),transform .45s cubic-bezier(.22,1,.36,1)}
.pp-journey-step.pp-active{opacity:1;transform:scale(1)}

/* Desktop connecting line — pure CSS, no JS/SVG dependency (robust
   against font-load timing races). Spans circle-1's center to
   circle-7's center: with 7 equal flex columns and circles centered
   within each, circle-1's center sits at 1/14 of the row width and
   circle-7's center at 13/14, so insetting both sides by 100%/14
   lands exactly on those centers regardless of container width. */
@media(min-width:769px){
  .pp-journey-svg{display:none}
  .pp-journey-steps::before{
    content:'';position:absolute;
    top:24px;left:calc(100%/14);right:calc(100%/14);
    height:2px;margin-top:-1px;
    background:linear-gradient(90deg,#2563EB 0%,#7C3AED 55%,#FF7A00 100%);
    transform:scaleX(0);transform-origin:left center;
    transition:transform 1.6s ease-out;
    z-index:0;pointer-events:none;
  }
  .pp-journey.pp-line-active .pp-journey-steps::before{transform:scaleX(1)}
}

.pp-journey-num{
  position:relative;z-index:2;
  width:48px;height:48px;border-radius:50%;background:#fff;
  border:2px solid var(--gray-200);color:var(--gray-400);
  font-family:var(--font-display);font-weight:900;font-size:15px;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  margin-bottom:14px;box-shadow:0 2px 8px rgba(16,42,97,.05);
  transition:border-color .25s ease,color .25s ease,box-shadow .25s ease,transform .2s ease;
}
.pp-journey-title{
  position:relative;z-index:2;
  font-family:var(--font-display);font-size:13px;font-weight:700;color:var(--gray-700);
  line-height:1.35;max-width:120px;
  opacity:0;transform:translateY(6px);
  transition:opacity .4s cubic-bezier(.22,1,.36,1),transform .4s cubic-bezier(.22,1,.36,1),color .25s ease;
}
.pp-journey-step.pp-active .pp-journey-title{opacity:1;transform:translateY(0)}

/* Per-step accent colors sampled across the Blue -> Purple -> Orange journey */
.pp-journey-step:nth-child(1).pp-active .pp-journey-num{border-color:#2563EB;color:#2563EB;box-shadow:0 0 0 6px rgba(37,99,235,.10)}
.pp-journey-step:nth-child(2).pp-active .pp-journey-num{border-color:#4F46E5;color:#4F46E5;box-shadow:0 0 0 6px rgba(79,70,229,.10)}
.pp-journey-step:nth-child(3).pp-active .pp-journey-num{border-color:#6D28D9;color:#6D28D9;box-shadow:0 0 0 6px rgba(109,40,217,.10)}
.pp-journey-step:nth-child(4).pp-active .pp-journey-num{border-color:#7C3AED;color:#7C3AED;box-shadow:0 0 0 6px rgba(124,58,237,.10)}
.pp-journey-step:nth-child(5).pp-active .pp-journey-num{border-color:#9333EA;color:#9333EA;box-shadow:0 0 0 6px rgba(147,51,234,.10)}
.pp-journey-step:nth-child(6).pp-active .pp-journey-num{border-color:#D9720C;color:#D9720C;box-shadow:0 0 0 6px rgba(217,114,12,.10)}
.pp-journey-step:nth-child(7).pp-active .pp-journey-num{border-color:#EA580C;color:#EA580C;box-shadow:0 0 0 6px rgba(234,88,12,.10)}

/* Desktop hover (gated to non-touch pointer devices only) */
@media(hover:hover) and (pointer:fine){
  .pp-journey-step:hover .pp-journey-num{transform:scale(1.08);box-shadow:0 4px 16px rgba(37,99,235,.18)}
  .pp-journey-step:hover .pp-journey-title{color:var(--pp-blue)}
}

/* ---------- Mobile zigzag (<=768px) ---------- */
@media(max-width:768px){
  .pp-journey-steps{flex-direction:column;gap:34px}
  .pp-journey-step{flex-direction:row;text-align:left;gap:14px;max-width:78%}
  .pp-journey-step .pp-journey-num{margin-bottom:0}
  .pp-journey-title{max-width:180px}
  .pp-journey-step:nth-child(odd){align-self:flex-start}
  .pp-journey-step:nth-child(even){align-self:flex-end;flex-direction:row-reverse;text-align:right}
}
@media(max-width:480px){
  .pp-journey-step{max-width:84%}
  .pp-journey-num{width:40px;height:40px;font-size:13px}
  .pp-journey-title{font-size:13px;max-width:170px}
}

@media(prefers-reduced-motion:reduce){
  .pp-journey-step,.pp-journey-title{transition:none !important;opacity:1 !important;transform:none !important}
  #pp-journey-path{transition:none !important}
  .pp-journey-steps::before{transition:none !important;transform:scaleX(1) !important}
}

/* ---------- Industry opportunity cards ---------- */
.pp-ind-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.pp-ind-card{background:#fff;border:1.5px solid var(--gray-100);border-radius:14px;padding:18px 16px;transition:all .22s var(--ease)}
.pp-ind-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.pp-ind-title{font-family:var(--font-display);font-size:13.5px;font-weight:800;color:var(--gray-900)}

/* ---------- Connected platform ---------- */
.pp-plat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:28px}
.pp-plat-item{display:flex;align-items:center;gap:10px;background:#fff;border:1.5px solid var(--gray-100);border-radius:12px;padding:14px 16px}
.pp-plat-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.pp-cap-row{display:flex;flex-wrap:wrap;gap:9px;justify-content:center}
.pp-cap-chip{font-size:12.5px;font-weight:700;color:var(--gray-600);background:var(--gray-50);border:1px solid var(--gray-100);padding:7px 14px;border-radius:100px}

/* ---------- Application section ---------- */
.pp-apply-section{background:linear-gradient(160deg,#F8FAFF,#F5F3FF);padding:64px 0;scroll-margin-top:90px}
.pp-apply-center{max-width:600px;margin:0 auto}
.pp-form-card{background:#fff;border:1.5px solid var(--gray-100);border-radius:18px;padding:30px;box-shadow:var(--shadow-lg)}
.pp-form-note{background:var(--pp-orange-l);border:1px dashed var(--pp-orange-b);border-radius:10px;padding:10px 14px;font-size:12px;color:#9A3412;margin-bottom:16px;line-height:1.55}
.pp-select{font-family:var(--font-body) !important;font-size:14px !important;color:var(--gray-900) !important;background:#fff !important;-webkit-appearance:menulist;appearance:menulist;line-height:1.4 !important}
.pp-select option{font-family:var(--font-body);font-size:14px;color:var(--gray-900);padding:6px 4px}

@media(max-width:1024px){
  .pp-hero-metrics{grid-template-columns:repeat(2,1fr) !important}
  .pp-hero-grid{grid-template-columns:1fr;gap:40px}
  .pp-strip-grid,.pp-benefit-grid,.pp-partner-type-grid,.pp-opp-grid,.pp-ind-grid{grid-template-columns:repeat(2,1fr)}
  .pp-plat-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  .pp-hero-metrics{grid-template-columns:repeat(2,1fr) !important}
  .pp-strip-grid,.pp-benefit-grid,.pp-partner-type-grid,.pp-opp-grid,.pp-ind-grid,.pp-plat-grid{grid-template-columns:1fr}
  .pp-hero-ctas{flex-direction:column}
  .pp-hero-ctas .btn{width:100%;justify-content:center}
}
@media(max-width:380px){
  .pp-hero-metrics{grid-template-columns:1fr !important}
}

/* ---------- Product Portfolio: bold product name (scoped to this page only) ---------- */
#pp-products .pc-tagline{font-weight:800;color:var(--gray-900)}

/* ---------- FAQ answer links: base site CSS sets a{color:inherit} globally,
   which makes inline links invisible. Style them visibly here since the
   improved FAQ answers now contain contextual internal links. ---------- */
.faq-a a{color:var(--pp-blue);font-weight:700;text-decoration:underline;text-underline-offset:2px}
.faq-a a:hover{color:var(--pp-purple)}
