/* =================================================================
   Partner Page V2 — DDS Resellers Program + Huawei Cloud Affiliates
   Scoped under .pv2 so it cannot collide with the rest of the site.
   Reuses the iv2 design tokens (navy, mint, red, etc.).
   ================================================================= */

/* Alpine: hide cloaked elements until the component initialises */
[x-cloak]{display:none !important}

.pv2{
  /* Brand palette (source of truth: assets/css/main.css) */
  --pv2-navy:#121D37;       /* brand navy */
  --pv2-navy-2:#1A2A50;     /* brand navy-light */
  --pv2-ivory:#F8F7F5;
  --pv2-fog:#E8EDF5;
  --pv2-red:#C52127;        /* brand red */
  --pv2-mint:#85D0CF;       /* brand teal (was off-brand mint #5FD3A3) */
  --pv2-blue:#738FC1;       /* brand secondary blue */
  --pv2-pink:#DB9FC7;       /* brand secondary pink */
  --pv2-mute:#5D6B85;
  --pv2-display:'Bricolage Grotesque', system-ui, sans-serif;
  --pv2-sans:'Inter', system-ui, sans-serif;

  background:var(--pv2-ivory);
  color:var(--pv2-navy);
  font-family:var(--pv2-sans);
}

.pv2 *,.pv2 *::before,.pv2 *::after{box-sizing:border-box}
.pv2 img,.pv2 svg{max-width:100%;display:block}
.pv2 a{color:inherit;text-decoration:none}
.pv2 button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;padding:0}

.pv2-wrap{max-width:1280px;margin:0 auto;padding:0 40px}
@media(max-width:720px){.pv2-wrap{padding:0 20px}}

/* ════ HERO — lighthouse-themed, evening sky gradient ═══════════
   The PDF uses a lighthouse over a purple-pink dusk sky. We
   recreate that mood with a layered gradient + grain texture.
   ──────────────────────────────────────────────────────────────── */
.pv2-hero{
  position:relative;overflow:hidden;
  background:
    /* warm lamp glow, upper-left */
    radial-gradient(800px 520px at 18% 12%, rgba(255,210,150,.16), transparent 60%),
    /* brand teal aurora, lower-right */
    radial-gradient(1000px 700px at 82% 100%, rgba(133,208,207,.16), transparent 65%),
    /* brand pink dusk on the horizon */
    radial-gradient(1100px 380px at 50% 108%, rgba(219,159,199,.18), transparent 70%),
    /* brand-blue evening sky deepening to brand navy */
    linear-gradient(165deg, #2B3A63 0%, #1D2C4F 38%, var(--pv2-navy) 100%);
  color:var(--pv2-ivory);
  padding:140px 0 120px;
}
.pv2-hero::before{
  content:'';position:absolute;inset:0;pointer-events:none;opacity:.4;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .05 0'/></filter><rect width='200' height='200' filter='url(%23n)'/></svg>");
  mix-blend-mode:overlay;
}
.pv2-hero-inner{
  position:relative;z-index:2;
  display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center;
}
@media(max-width:980px){.pv2-hero-inner{grid-template-columns:1fr;gap:48px}}

.pv2-hero-eyebrow{
  display:inline-flex;align-items:center;gap:12px;
  padding:8px 16px;
  background:rgba(95,211,163,.12);
  border:1px solid rgba(95,211,163,.32);
  border-radius:999px;
  font-size:12px;font-weight:500;letter-spacing:.04em;color:var(--pv2-mint);
  margin-bottom:32px;
}
.pv2-hero-eyebrow::before{
  content:'';width:8px;height:8px;border-radius:50%;background:var(--pv2-mint);
  box-shadow:0 0 12px rgba(95,211,163,.8);
  animation:pv2-pulse 2s ease-in-out infinite;
}
@keyframes pv2-pulse{0%,100%{opacity:1}50%{opacity:.4}}

.pv2-hero h1{
  font-family:var(--pv2-display);font-weight:700;
  font-size:clamp(40px,5.4vw,72px);
  line-height:1.02;letter-spacing:-.025em;
  margin:0 0 24px;
}
.pv2-hero h1 em{
  font-style:normal;
  background:linear-gradient(120deg, var(--pv2-mint), #BEE3D2);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.pv2-hero-sub{
  font-size:19px;line-height:1.55;color:rgba(248,247,245,.75);
  max-width:54ch;margin:0 0 40px;
}
.pv2-hero-cta{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:48px}

.pv2-btn-primary{
  background:var(--pv2-red);color:var(--pv2-ivory);
  font-family:var(--pv2-sans);font-weight:600;font-size:15px;
  padding:16px 28px;border-radius:999px;
  display:inline-flex;align-items:center;gap:10px;
  transition:transform .2s, box-shadow .2s;
  box-shadow:0 8px 24px rgba(197,33,39,.32);
}
.pv2-btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(197,33,39,.48)}
.pv2-btn-primary::after{content:'→';transition:transform .2s}
.pv2-btn-primary:hover::after{transform:translateX(4px)}
.pv2-btn-ghost{
  color:var(--pv2-ivory);font-family:var(--pv2-sans);font-weight:500;font-size:15px;
  padding:16px 24px;border-radius:999px;
  border:1px solid rgba(248,247,245,.24);
  transition:background .2s, border-color .2s;
}
.pv2-btn-ghost:hover{background:rgba(248,247,245,.06);border-color:rgba(248,247,245,.4)}
/* Outline button for light sections (navy on ivory) */
.pv2-btn-line{
  color:var(--pv2-navy);font-family:var(--pv2-sans);font-weight:600;font-size:15px;
  padding:14px 24px;border-radius:999px;
  display:inline-flex;align-items:center;gap:10px;
  border:1.5px solid rgba(18,29,55,.22);
  transition:background .2s, border-color .2s, color .2s, transform .2s;
}
.pv2-btn-line::after{content:'→';transition:transform .2s}
.pv2-btn-line:hover{background:var(--pv2-navy);color:var(--pv2-ivory);border-color:var(--pv2-navy);transform:translateY(-2px)}
.pv2-btn-line:hover::after{transform:translateX(4px)}
.pv2-btn-line:focus-visible{outline:2px solid var(--pv2-mint);outline-offset:3px}

/* Hero stats — 3 counters */
.pv2-hero-stats{
  display:grid;grid-template-columns:repeat(3,1fr);gap:32px;
  padding-top:32px;border-top:1px solid rgba(248,247,245,.12);
}
@media(max-width:600px){.pv2-hero-stats{grid-template-columns:1fr;gap:24px}}
.pv2-stat-num{
  font-family:var(--pv2-display);font-weight:700;
  font-size:clamp(28px,3.4vw,40px);
  line-height:1;letter-spacing:-.02em;
  background:linear-gradient(180deg, var(--pv2-ivory) 0%, rgba(248,247,245,.6) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.pv2-stat-suf{color:var(--pv2-mint);font-family:var(--pv2-display);font-weight:700;font-size:.7em}
.pv2-stat-lbl{font-size:13px;color:rgba(248,247,245,.6);margin-top:6px;line-height:1.4;max-width:22ch}

/* Hero lighthouse illustration */
.pv2-hero-art{
  position:relative;height:480px;
  display:flex;align-items:center;justify-content:center;
}
.pv2-lighthouse{
  position:relative;z-index:2;
  width:160px;height:380px;
}
.pv2-lighthouse svg{
  width:100%;height:100%;
  filter:drop-shadow(0 30px 60px rgba(0,0,0,.5));
}
/* Beam emanating from the lamp.
   --beam-angle is driven by JS on desktop (cursor tracking).
   When the device has no fine pointer (touch) or the user prefers
   reduced motion, JS leaves --beam-angle untouched and the auto
   sweep animation takes over instead. */
.pv2-beam{
  position:absolute;z-index:1;
  width:600px;height:160px;
  top:88px;left:50%;
  --beam-angle:-12deg;
  transform-origin:30px 80px;
  transform:rotate(var(--beam-angle));
  background:linear-gradient(90deg, rgba(255,210,150,.5), rgba(255,210,150,0) 80%);
  border-radius:0 80px 80px 0;
  filter:blur(8px);
  opacity:.55;
  /* eased follow so the beam glides toward the cursor */
  transition:transform .35s cubic-bezier(.22,1,.36,1), opacity .35s ease;
  animation:pv2-beam-sweep 8s ease-in-out infinite;
}
/* Desktop with a real cursor: kill the auto sweep; JS drives the angle. */
.pv2-hero-art.is-tracking .pv2-beam{
  animation:none;
}
.pv2-hero-art.is-tracking .pv2-beam{opacity:.5}
.pv2-hero-art.is-tracking.is-active .pv2-beam{opacity:.78}
@keyframes pv2-beam-sweep{
  0%   {transform:rotate(-20deg);opacity:.4}
  50%  {transform:rotate(20deg); opacity:.7}
  100% {transform:rotate(-20deg);opacity:.4}
}
/* Lamp core brightens as the cursor nears the lighthouse */
.pv2-lamp{
  transition:opacity .3s ease;
  transform-box:fill-box;transform-origin:center;
}
.pv2-hero-art.is-active .pv2-lamp{
  filter:drop-shadow(0 0 10px rgba(255,220,160,.9));
}
/* Stars in the sky */
.pv2-star{
  position:absolute;z-index:0;
  width:2px;height:2px;border-radius:50%;
  background:#fff;
  animation:pv2-twinkle 3s ease-in-out infinite;
}
.pv2-star.s1{top:10%; left:20%; animation-delay:0s}
.pv2-star.s2{top:18%; left:78%; animation-delay:.7s}
.pv2-star.s3{top:32%; left:12%; animation-delay:1.4s}
.pv2-star.s4{top:24%; left:62%; animation-delay:2.1s}
.pv2-star.s5{top:42%; left:88%; animation-delay:.3s}
.pv2-star.s6{top:8%;  left:50%; animation-delay:1.6s}
@keyframes pv2-twinkle{
  0%,100%{opacity:.3;transform:scale(1)}
  50%   {opacity:1;  transform:scale(1.5)}
}

@media(max-width:980px){
  .pv2-hero-art{height:340px}
  .pv2-lighthouse{width:120px;height:280px}
}

/* ════ 3-STEP partner journey nav ══════════════════════════════
   Sits inside each hero, showing the visitor where they are
   in the 3-page journey (Become Our Partner → Enablement →
   Certified). Same look across all three pages. */
.pv2-stepnav{
  display:flex;align-items:center;gap:8px;
  margin-top:48px;padding-top:32px;
  border-top:1px solid rgba(248,247,245,.12);
  flex-wrap:wrap;
}
.pv2-stepnav-link{
  display:flex;align-items:center;gap:12px;
  color:rgba(248,247,245,.7);
  transition:color .25s, transform .25s;
}
.pv2-stepnav-link:hover{color:var(--pv2-ivory);transform:translateY(-1px)}
.pv2-stepnav-link.is-active{color:var(--pv2-ivory)}
.pv2-stepnav-link.is-active .pv2-stepnav-circle{
  background:var(--pv2-mint);border-color:var(--pv2-mint);color:var(--pv2-navy);
  box-shadow:0 0 0 5px rgba(95,211,163,.18), 0 8px 22px -8px rgba(95,211,163,.5);
}
.pv2-stepnav-link.is-done .pv2-stepnav-circle{
  background:rgba(95,211,163,.18);border-color:rgba(95,211,163,.5);color:var(--pv2-mint);
}
.pv2-stepnav-circle{
  width:34px;height:34px;border-radius:50%;
  background:transparent;border:2px solid rgba(248,247,245,.25);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--pv2-display);font-weight:700;font-size:14px;
  flex-shrink:0;
  transition:background .25s, border-color .25s, color .25s, box-shadow .25s;
}
.pv2-stepnav-label{
  font-family:var(--pv2-display);font-weight:600;font-size:13px;
  letter-spacing:.02em;
  white-space:nowrap;
}
.pv2-stepnav-connector{
  flex:1;min-width:18px;max-width:32px;height:1px;
  background:linear-gradient(90deg, rgba(248,247,245,.2), rgba(248,247,245,.1));
}
@media(max-width:760px){
  .pv2-stepnav{gap:6px}
  .pv2-stepnav-circle{width:28px;height:28px;font-size:12px}
  .pv2-stepnav-label{font-size:11px}
  .pv2-stepnav-connector{display:none}
}

/* ════ SECTION SCAFFOLD ════════════════════════════════════════ */
.pv2-section{padding:120px 0;position:relative}
.pv2-section.is-gray{background:linear-gradient(180deg, var(--pv2-ivory) 0%, var(--pv2-fog) 100%)}
.pv2-section.is-navy{background:linear-gradient(180deg, var(--pv2-navy) 0%, var(--pv2-navy-2) 100%);color:var(--pv2-ivory)}
.pv2-section.is-navy .pv2-eyebrow{color:var(--pv2-mint)}
.pv2-section.is-navy .pv2-title{color:var(--pv2-ivory)}
.pv2-section.is-navy .pv2-lede{color:rgba(248,247,245,.7)}

.pv2-eyebrow{
  display:inline-block;
  font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:var(--pv2-red);margin-bottom:20px;
}
.pv2-title{
  font-family:var(--pv2-display);font-weight:700;
  font-size:clamp(32px,4vw,52px);
  line-height:1.05;letter-spacing:-.02em;
  margin:0 0 20px;max-width:26ch;color:var(--pv2-navy);
}
.pv2-lede{font-size:19px;line-height:1.55;color:var(--pv2-mute);max-width:60ch;margin:0 0 56px}

/* ════ OBJECTIVES — 3 cards with the iconic Huawei red gradient bar ═══ */
.pv2-objectives{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;position:relative}
@media(max-width:900px){.pv2-objectives{grid-template-columns:1fr;gap:24px}}
.pv2-objective{
  background:#fff;border-radius:20px;padding:32px;
  text-align:center;
  position:relative;
  border:1px solid rgba(11,25,51,.06);
  transition:transform .3s, box-shadow .3s;
  box-shadow:0 1px 0 rgba(11,25,51,.05), 0 16px 36px -18px rgba(11,25,51,.16);
}
.pv2-objective:hover{transform:translateY(-4px);box-shadow:0 1px 0 rgba(11,25,51,.05), 0 28px 60px -20px rgba(11,25,51,.24)}
.pv2-objective-icon{
  width:64px;height:64px;border-radius:50%;
  background:linear-gradient(135deg, var(--pv2-red), #8E1518);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 20px;
  box-shadow:0 10px 28px -8px rgba(197,33,39,.5);
}
.pv2-objective-icon svg{width:30px;height:30px;color:var(--pv2-ivory)}
.pv2-objective h4{
  font-family:var(--pv2-display);font-weight:700;font-size:20px;line-height:1.2;
  color:var(--pv2-red);margin:0 0 12px;
}
.pv2-objective p{font-size:14.5px;line-height:1.6;color:var(--pv2-mute);margin:0}

/* ════ SIGNATURE — Enablement Journey (4-stage horizontal) ═════ */
.pv2-journey{
  background:#fff;border-radius:24px;padding:36px;
  box-shadow:0 1px 0 rgba(11,25,51,.04), 0 24px 60px -20px rgba(11,25,51,.18), 0 8px 24px -8px rgba(11,25,51,.08);
}
.pv2-journey-flow{
  position:relative;
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  padding:8px 8% 40px;
}
@media(max-width:760px){.pv2-journey-flow{grid-template-columns:repeat(2,1fr);padding:8px 4px 24px;gap:24px 8px}}
.pv2-journey-flow::before{
  content:'';position:absolute;
  top:42px;left:11%;right:11%;height:2px;
  background:rgba(11,25,51,.12);
  border-radius:2px;
}
.pv2-journey-flow::after{
  content:'';position:absolute;
  top:42px;left:11%;height:2px;
  width:var(--journey-fill, 0%);
  background:linear-gradient(90deg, var(--pv2-mint), var(--pv2-red));
  border-radius:2px;
  box-shadow:0 0 12px rgba(95,211,163,.5);
  transition:width .4s cubic-bezier(.2,.8,.2,1);
}
@media(max-width:760px){.pv2-journey-flow::before, .pv2-journey-flow::after{display:none}}

.pv2-step{
  display:flex;flex-direction:column;align-items:center;text-align:center;
  cursor:pointer;padding:0 8px;
  position:relative;z-index:2;
  transition:transform .2s;
}
.pv2-step:hover{transform:translateY(-2px)}
.pv2-step-node{
  width:64px;height:64px;border-radius:50%;
  background:#fff;border:2px solid rgba(11,25,51,.12);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--pv2-display);font-weight:700;font-size:18px;color:var(--pv2-mute);
  margin-bottom:16px;
  transition:background .25s, border-color .25s, color .25s, transform .25s, box-shadow .25s;
}
.pv2-step[aria-selected="true"] .pv2-step-node{
  background:var(--pv2-navy);border-color:var(--pv2-mint);color:var(--pv2-mint);
  transform:scale(1.1);
  box-shadow:0 0 0 6px rgba(95,211,163,.16), 0 12px 32px -10px rgba(11,25,51,.3);
}
.pv2-step.is-done .pv2-step-node{
  background:var(--pv2-mint);border-color:var(--pv2-mint);color:var(--pv2-navy);
}
.pv2-step-code{
  font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--pv2-mute);margin-bottom:4px;
}
.pv2-step[aria-selected="true"] .pv2-step-code{color:var(--pv2-red)}
.pv2-step-name{
  font-family:var(--pv2-display);font-weight:700;font-size:15px;line-height:1.2;
  color:var(--pv2-navy);
}

/* Detail panel below the journey */
.pv2-journey-detail{
  background:linear-gradient(180deg, var(--pv2-ivory) 0%, var(--pv2-fog) 100%);
  border-radius:18px;padding:32px;margin-top:8px;
}
.pv2-journey-detail-eyebrow{
  font-family:var(--pv2-display);font-weight:700;font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--pv2-red);margin-bottom:8px;
}
.pv2-journey-detail h3{
  font-family:var(--pv2-display);font-weight:700;font-size:26px;line-height:1.2;
  margin:0 0 12px;color:var(--pv2-navy);letter-spacing:-.01em;
}
.pv2-journey-detail-summary{
  font-size:15px;line-height:1.6;color:var(--pv2-mute);margin:0 0 24px;
}
.pv2-journey-items{
  display:grid;grid-template-columns:repeat(3,1fr);gap:16px;
}
@media(max-width:720px){.pv2-journey-items{grid-template-columns:1fr}}
.pv2-journey-item{
  background:#fff;border-radius:14px;padding:20px;
  border:1px solid rgba(11,25,51,.06);
  display:flex;flex-direction:column;gap:10px;
}
.pv2-journey-item-icon{
  width:36px;height:36px;border-radius:10px;
  background:linear-gradient(135deg, rgba(95,211,163,.16), rgba(197,33,39,.1));
  display:flex;align-items:center;justify-content:center;
  color:var(--pv2-red);
}
.pv2-journey-item-icon svg{width:18px;height:18px}
.pv2-journey-item h5{
  font-family:var(--pv2-display);font-weight:700;font-size:14px;line-height:1.2;
  margin:0;color:var(--pv2-red);
}
.pv2-journey-item p{font-size:13px;line-height:1.55;color:var(--pv2-navy);margin:0}

/* ════ TIER TABLE — 3 tiers (Basic / Professional / Advanced) ══ */
.pv2-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:900px){.pv2-tiers{grid-template-columns:1fr;gap:16px}}
.pv2-tier{
  background:#fff;border-radius:18px;padding:32px;
  border:1px solid rgba(11,25,51,.08);
  display:flex;flex-direction:column;gap:16px;
  position:relative;overflow:hidden;
  transition:transform .25s, box-shadow .25s, border-color .25s;
  box-shadow:0 1px 0 rgba(11,25,51,.04), 0 12px 30px -18px rgba(11,25,51,.14);
}
.pv2-tier:hover{transform:translateY(-4px);box-shadow:0 1px 0 rgba(11,25,51,.04), 0 24px 50px -20px rgba(11,25,51,.22);border-color:rgba(95,211,163,.4)}
.pv2-tier.is-featured{
  background:linear-gradient(180deg, var(--pv2-navy) 0%, var(--pv2-navy-2) 100%);
  color:var(--pv2-ivory);
  border-color:var(--pv2-mint);
  box-shadow:0 1px 0 rgba(11,25,51,.04), 0 24px 50px -20px rgba(11,25,51,.4);
}
.pv2-tier.is-featured .pv2-tier-name{color:var(--pv2-mint)}
.pv2-tier.is-featured .pv2-tier-target{color:rgba(248,247,245,.65)}
.pv2-tier.is-featured .pv2-tier-row{border-color:rgba(248,247,245,.1)}
.pv2-tier.is-featured .pv2-tier-row-label{color:rgba(248,247,245,.5)}
.pv2-tier.is-featured .pv2-tier-row-value{color:var(--pv2-ivory)}
.pv2-tier-badge{
  position:absolute;top:16px;right:16px;
  font-family:var(--pv2-display);font-weight:700;font-size:9.5px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--pv2-mint);
  background:rgba(95,211,163,.12);border:1px solid rgba(95,211,163,.32);
  padding:4px 10px;border-radius:999px;
}
.pv2-tier-name{
  font-family:var(--pv2-display);font-weight:700;font-size:22px;line-height:1.2;
  color:var(--pv2-red);margin:0;
}
.pv2-tier-target{
  font-family:var(--pv2-display);font-weight:600;font-size:14px;
  color:var(--pv2-mute);margin:0;
}
.pv2-tier-target strong{color:var(--pv2-navy);font-weight:700}
.pv2-tier.is-featured .pv2-tier-target strong{color:var(--pv2-ivory)}
.pv2-tier-rows{
  display:flex;flex-direction:column;
  margin-top:4px;
  border-top:1px solid rgba(11,25,51,.08);
}
.pv2-tier-row{
  display:flex;justify-content:space-between;align-items:center;
  padding:12px 0;
  border-bottom:1px solid rgba(11,25,51,.06);
}
.pv2-tier-row:last-child{border-bottom:none}
.pv2-tier-row-label{
  font-size:12.5px;color:var(--pv2-mute);
  font-family:var(--pv2-display);font-weight:600;letter-spacing:.02em;
}
.pv2-tier-row-value{
  font-family:var(--pv2-display);font-weight:700;font-size:18px;
  color:var(--pv2-navy);letter-spacing:-.01em;
}
.pv2-tier-row-value em{color:var(--pv2-red);font-style:normal}
.pv2-tier.is-featured .pv2-tier-row-value em{color:var(--pv2-mint)}
/* Green check used in place of a text value (MDF / certification incentive) */
.pv2-check{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:rgba(22,163,74,.12);color:#16a34a}
.pv2-check svg{width:15px;height:15px;display:block}
.pv2-tier.is-featured .pv2-check{background:rgba(52,211,153,.18);color:#34d399}

/* ════ INCENTIVES TABLES — 3 stacked tables on dark navy ══════ */
.pv2-incentives{display:grid;grid-template-columns:1fr;gap:28px}
.pv2-itable{
  background:rgba(248,247,245,.04);
  border:1px solid rgba(248,247,245,.1);
  border-radius:16px;overflow:hidden;
}
.pv2-itable-head{
  padding:20px 24px;border-bottom:1px solid rgba(248,247,245,.1);
}
.pv2-itable-head h4{
  font-family:var(--pv2-display);font-weight:700;font-size:18px;line-height:1.2;
  color:var(--pv2-mint);margin:0 0 4px;
}
.pv2-itable-head p{font-size:13px;color:rgba(248,247,245,.6);margin:0;line-height:1.5}
.pv2-itable table{
  width:100%;border-collapse:collapse;
}
.pv2-itable th,
.pv2-itable td{
  padding:14px 24px;text-align:left;
  font-size:14px;line-height:1.4;
  border-bottom:1px solid rgba(248,247,245,.08);
}
.pv2-itable th{
  font-family:var(--pv2-display);font-weight:700;font-size:11.5px;
  letter-spacing:.1em;text-transform:uppercase;
  color:rgba(95,211,163,.85);
  background:linear-gradient(90deg, rgba(197,33,39,.18), rgba(197,33,39,.05));
}
.pv2-itable tr:last-child td{border-bottom:none}
.pv2-itable td{color:var(--pv2-ivory)}
.pv2-itable td.is-amount{
  font-family:var(--pv2-display);font-weight:700;color:var(--pv2-mint);
}

/* ════ AFFILIATES SECTION — tabbed for Individuals / Tech Leaders ══ */
.pv2-aff-tabs{
  display:inline-flex;
  background:rgba(11,25,51,.05);border:1px solid rgba(11,25,51,.08);
  border-radius:999px;padding:6px;gap:4px;
  margin-bottom:36px;
}
.pv2 .pv2-aff-tab{
  font-family:var(--pv2-display);font-weight:700;font-size:13.5px;
  padding:10px 22px;border-radius:999px;
  color:var(--pv2-mute);
  cursor:pointer;
  transition:background .25s, color .25s;
}
.pv2 .pv2-aff-tab[aria-selected="true"]{
  background:var(--pv2-navy);color:var(--pv2-ivory);
}
.pv2 .pv2-aff-tab:hover:not([aria-selected="true"]){color:var(--pv2-navy)}

.pv2-aff-card{
  background:#fff;border-radius:24px;padding:36px;
  border:1px solid rgba(11,25,51,.06);
  box-shadow:0 1px 0 rgba(11,25,51,.04), 0 24px 60px -20px rgba(11,25,51,.18);
}
.pv2-aff-head{
  display:flex;align-items:baseline;justify-content:space-between;gap:24px;
  margin-bottom:32px;padding-bottom:28px;
  border-bottom:1px solid rgba(11,25,51,.08);
  flex-wrap:wrap;
}
.pv2-aff-title{
  font-family:var(--pv2-display);font-weight:700;font-size:24px;line-height:1.2;
  color:var(--pv2-navy);margin:0;letter-spacing:-.01em;
}
.pv2-aff-subtitle{
  font-family:var(--pv2-display);font-weight:600;font-size:13px;color:var(--pv2-red);
  letter-spacing:.04em;
}

.pv2-aff-features{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
  margin-bottom:32px;
}
@media(max-width:760px){.pv2-aff-features{grid-template-columns:1fr;gap:16px}}
.pv2-aff-feature{
  background:linear-gradient(180deg, var(--pv2-ivory) 0%, var(--pv2-fog) 100%);
  border-radius:14px;padding:24px;text-align:center;
}
.pv2-aff-feature-icon{
  width:48px;height:48px;border-radius:50%;
  background:linear-gradient(135deg, var(--pv2-red), #8E1518);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 14px;
  box-shadow:0 8px 20px -6px rgba(197,33,39,.5);
}
.pv2-aff-feature-icon svg{width:22px;height:22px;color:var(--pv2-ivory)}
.pv2-aff-feature h5{
  font-family:var(--pv2-display);font-weight:700;font-size:14px;line-height:1.2;
  color:var(--pv2-red);margin:0 0 6px;
}
.pv2-aff-feature-value{
  font-family:var(--pv2-display);font-weight:700;font-size:22px;line-height:1.1;
  color:var(--pv2-navy);letter-spacing:-.01em;margin:0 0 4px;
}
.pv2-aff-feature p{font-size:12.5px;line-height:1.5;color:var(--pv2-mute);margin:0}

.pv2-aff-perks h4{
  font-family:var(--pv2-display);font-weight:700;font-size:14px;letter-spacing:.04em;
  text-transform:uppercase;color:var(--pv2-mute);margin:0 0 14px;
}
.pv2-aff-perks ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px 24px}
@media(max-width:760px){.pv2-aff-perks ul{grid-template-columns:1fr}}
.pv2-aff-perks li{
  font-size:14px;line-height:1.55;color:var(--pv2-navy);
  padding-left:24px;position:relative;
}
.pv2-aff-perks li::before{
  content:'✓';position:absolute;left:0;top:1px;
  width:18px;height:18px;border-radius:50%;
  background:rgba(95,211,163,.18);color:var(--pv2-mint);
  display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:700;
}

/* Scenario worked example for each affiliates tab */
.pv2-aff-scenario{
  margin-top:28px;padding-top:28px;
  border-top:1px solid rgba(11,25,51,.08);
}
.pv2-aff-scenario-head{
  font-family:var(--pv2-display);font-weight:700;font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--pv2-mute);margin-bottom:14px;
}
.pv2-aff-scenario-title{
  font-family:var(--pv2-display);font-weight:700;font-size:18px;
  color:var(--pv2-navy);margin:0 0 18px;
}
.pv2-aff-calc{
  display:grid;grid-template-columns:repeat(2,1fr);gap:16px;
}
@media(max-width:560px){.pv2-aff-calc{grid-template-columns:1fr}}
.pv2-aff-calc-card{
  background:linear-gradient(180deg, var(--pv2-ivory), var(--pv2-fog));
  border:1px solid rgba(11,25,51,.06);border-radius:14px;padding:20px;
}
.pv2-aff-calc-card.is-bonus{
  background:linear-gradient(180deg, rgba(197,33,39,.06), rgba(197,33,39,.02));
  border-color:rgba(197,33,39,.18);
}
.pv2-aff-calc-label{
  font-family:var(--pv2-display);font-weight:700;font-size:11.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--pv2-red);margin-bottom:8px;
}
.pv2-aff-calc-formula{font-size:13.5px;color:var(--pv2-mute);line-height:1.5;margin-bottom:6px}
.pv2-aff-calc-result{
  font-family:var(--pv2-display);font-weight:700;font-size:24px;letter-spacing:-.01em;
  color:var(--pv2-navy);line-height:1;
}

/* ════ PROGRAM PICKER — final "which one?" card pair ═══════════ */
.pv2-picker{
  display:grid;grid-template-columns:1fr 1fr;gap:24px;
  max-width:980px;margin:0 auto;
}
@media(max-width:760px){.pv2-picker{grid-template-columns:1fr;gap:16px}}
.pv2-pick{
  background:#fff;border-radius:20px;padding:36px 32px;
  border:1.5px solid rgba(11,25,51,.08);
  text-align:center;
  transition:transform .25s, box-shadow .25s, border-color .25s;
  position:relative;overflow:hidden;
}
.pv2-pick:hover{
  transform:translateY(-6px);
  border-color:var(--pv2-red);
  box-shadow:0 1px 0 rgba(11,25,51,.04), 0 28px 60px -20px rgba(11,25,51,.3);
}
.pv2-pick::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg, var(--pv2-mint), var(--pv2-red));
  transform:scaleX(0);transform-origin:left;
  transition:transform .35s;
}
.pv2-pick:hover::before{transform:scaleX(1)}
.pv2-pick-icon{
  width:56px;height:56px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 16px;
}
.pv2-pick-icon.is-mint{background:linear-gradient(135deg, var(--pv2-mint), #3FA079);box-shadow:0 8px 20px -6px rgba(95,211,163,.5)}
.pv2-pick-icon.is-red{background:linear-gradient(135deg, var(--pv2-red), #8E1518);box-shadow:0 8px 20px -6px rgba(197,33,39,.5)}
.pv2-pick-icon svg{width:26px;height:26px;color:var(--pv2-ivory)}
.pv2-pick-eyebrow{
  font-family:var(--pv2-display);font-weight:700;font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--pv2-red);margin-bottom:6px;
}
.pv2-pick h4{
  font-family:var(--pv2-display);font-weight:700;font-size:22px;line-height:1.2;
  color:var(--pv2-navy);margin:0 0 12px;
}
.pv2-pick p{font-size:14.5px;line-height:1.6;color:var(--pv2-mute);margin:0 0 18px}
.pv2-pick a{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--pv2-sans);font-weight:600;font-size:13.5px;
  color:var(--pv2-red);
}
.pv2-pick a::after{content:'→';transition:transform .2s}
.pv2-pick a:hover::after{transform:translateX(4px)}

/* ════ CTA band — same as iv2 ══════════════════════════════════ */
.pv2-cta-band{
  margin:80px auto 80px;max-width:1180px;
  background:
    radial-gradient(800px 400px at 80% 50%, rgba(95,211,163,.16), transparent),
    linear-gradient(135deg, var(--pv2-red), #8E1518);
  border-radius:32px;padding:80px 64px;
  color:var(--pv2-ivory);text-align:center;
  position:relative;overflow:hidden;
}
.pv2-cta-band::before{
  content:'';position:absolute;inset:0;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .06 0'/></filter><rect width='200' height='200' filter='url(%23n)'/></svg>");
  mix-blend-mode:overlay;pointer-events:none;
}
.pv2-cta-band > *{position:relative;z-index:2}
.pv2-cta-band h2{
  font-family:var(--pv2-display);font-weight:700;
  font-size:clamp(32px,4vw,48px);line-height:1.1;letter-spacing:-.02em;
  margin:0 0 20px;max-width:26ch;margin-inline:auto;color:var(--pv2-ivory);
}
.pv2-cta-band p{font-size:18px;line-height:1.55;color:rgba(248,247,245,.88);max-width:54ch;margin:0 auto 36px}
.pv2-cta-band .pv2-btn-primary{background:var(--pv2-ivory);color:var(--pv2-red);box-shadow:0 8px 24px rgba(0,0,0,.16)}
.pv2-cta-band .pv2-btn-primary:hover{background:#fff;transform:translateY(-2px)}
/* mobile: tighter band + no big bottom gap before the footer */
@media(max-width:760px){
  .pv2-cta-band{margin:40px 16px 0;padding:40px 24px;border-radius:22px}
  .pv2-cta-band .pv2-btn-primary{width:100%;justify-content:center}
  /* stack any title+paragraph split block: title full-width, then paragraph */
  .pv2-split{grid-template-columns:1fr !important;gap:18px !important}
}

/* ════ Reveal (decoration only — content always visible) ══════ */
.pv2 .pv2-reveal{transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.pv2.js-ready .pv2-reveal.is-pending{transform:translateY(14px)}
.pv2.js-ready .pv2-reveal.is-in{transform:none}
.pv2.js-ready .pv2-reveal.delay-1{transition-delay:.08s}
.pv2.js-ready .pv2-reveal.delay-2{transition-delay:.16s}
.pv2.js-ready .pv2-reveal.delay-3{transition-delay:.24s}
@media(prefers-reduced-motion:reduce){
  .pv2-reveal,.pv2-star{
    animation:none;transition:none;transform:none;
  }
  /* Beam holds a calm resting angle — no sweep, no cursor follow */
  .pv2-beam{animation:none;transition:none;--beam-angle:-10deg;}
}
