/* Partnership landing page styles
   All rules are scoped under the ".partner" class hierarchy so they
   do not affect (or get affected by) other pages' CSS. */
    .partner {
    --logo-yellow: #F9C013;
    --logo-green:  #71B345;
    --logo-blue:   #4A90E2;
    --logo-grey:   #808080;
    --navy:       #1a2e4a;
    --navy-deep:  #2569A0;
    --navy-mid:   #3A82C8;
    --blue-light: #4A90E2;
    --orange:     #f57c00;
    --orange-alt: #ff9800;
    --orange-pale:#fff3e0;
    --sky:        #f0f7ff;
    --sky-mid:    #D4E8F9;
    --border:     #C5DCF0;
    --text:       #2A3F55;
    --text-light: #5A6F85;
    --text-muted: #808080;
    --white:      #ffffff;
    --success:    #71B345;
    --accent-yellow-pale: #FEF8E6;
    --r:          12px;
    --rl:         20px;
    --sh:         0 4px 24px rgba(74,144,226,.10);
    --shl:        0 8px 40px rgba(74,144,226,.16);
    --surface-1: #ffffff;
    --surface-2: #EDF5FC;
    --brand-navy: #2569A0;
    --brand-orange: #f57c00;
    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-lg: 16px;
    --section-space: 80px;
    --section-space-md: 64px;
    --section-space-sm: 52px;
    --section-heading-space: 48px;
    --footer-space: 36px;
    }
    .partner, .partner *, .partner *::before, .partner *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    body.partner {
    font-family: 'Roboto', sans-serif;
    line-height: 1.65;
    overflow-x: hidden;
    color: var(--text);
    background: #EDF5FC;
    }
    .partner a { text-decoration: none; color: inherit; }
    .partner img { max-width: 100%; display: block; }
    .partner button { font-family: inherit; cursor: pointer; border: none; outline: none; }

    /* ── Layout ── */
    .partner .wrap { max-width: 1180px; margin: 0 auto; padding: 0 24px; }
    .partner section {
    padding: 80px 0;
    padding-top: var(--section-space);
    padding-bottom: var(--section-space); }

    /* ── Typography helpers ── */
    .partner .tag {
    display: inline-block;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    padding: 5px 13px;
    border-radius: 30px;
    margin-bottom: 14px;
    background: var(--accent-yellow-pale);
    color: var(--navy);
    }
    .partner .tag.inv {
    background: rgba(255,255,255,.12);
    color: #fff;
    }
    .partner h2.sh {
      font-size: clamp(1.65rem, 3vw, 2.6rem);
      font-weight: 800;
      color: var(--navy);
      line-height: 1.2;
      margin-bottom: 14px;
    }
    .partner h2.sh span { color: var(--logo-blue); }
    .partner h2.sh.inv { color: #fff; }
    .partner .sh-sub {
      font-size: 1.05rem;
      color: var(--text-light);
      max-width: 600px;
      margin: 0 auto 0;
    }
    .partner .sh-sub.inv { color: rgba(255,255,255,.65); }
    .partner .underline {
      width: 52px; height: 4px;
      background: var(--logo-yellow);
      border-radius: 2px;
      margin: 14px auto 0;
    }
    .partner .underline.left { margin-left: 0; }

    /* ── Buttons ── */
    .partner .btn {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 13px 26px;
      border-radius: 8px;
      font-size: .93rem;
      font-weight: 700;
      transition: all .22s;
      letter-spacing: .01em;
    }
    .partner .btn-lg { padding: 16px 34px; font-size: 1rem; }
    .partner .btn-primary { background: var(--orange); color: #fff; }
    .partner .btn-primary:hover { background: var(--orange-alt); transform: translateY(-2px); box-shadow: 0 6px 22px rgba(245,124,0,.35); }
    .partner .btn-white {
    background: #fff;
    color: var(--navy); }
    .partner .btn-white:hover { background: var(--sky); transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,0,0,.12); }
    .partner .btn-outline { background: transparent; color: #fff; border: 2px solid rgba(255,255,255,.45); }
    .partner .btn-outline:hover { border-color: #fff; background: rgba(255,255,255,.08); }
    .partner .btn-outline-dark { background: transparent; color: var(--navy); border: 2px solid var(--navy); }
    .partner .btn-outline-dark:hover { background: var(--navy); color: #fff; }
    .partner .cta-row { display: flex; gap: 14px; flex-wrap: wrap; }
    .partner .cta-row.center { justify-content: center; }

    /* ══════════════════════════════════════
       1. NAV
    ══════════════════════════════════════ */
    .partner #nav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 200;
    transition: box-shadow .3s;
    background: #ffffff;
    border-bottom: 1px solid #C5DCF0;
    }
    .partner #nav.scrolled {
    box-shadow: 0 4px 16px rgba(74,144,226,.14); }
    .partner .nav-inner {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 70px;
    }
    .partner .nav-logo { display: flex; align-items: center; gap: 10px; }
    .partner .nav-logo-box {
    color: #fff;
    font-weight: 800;
    font-size: 1.15rem;
    padding: 5px 11px;
    border-radius: var(--radius-sm);
    background: linear-gradient(135deg, var(--logo-yellow) 0%, var(--logo-green) 50%, var(--logo-blue) 100%);
    }
    .partner .nav-tagline {
    font-size: .72rem;
    font-weight: 600;
    color: rgba(255,255,255,.8);
    font-size: .76rem;
    letter-spacing: .03em; }
    .partner .nav-links { display: flex; align-items: center; gap: 28px; list-style: none; }
    .partner .nav-links a { color: rgba(255,255,255,.65); font-size: .88rem; font-weight: 500; transition: color .2s; }
    .partner .nav-links a:hover { color: #fff; }
    @media (max-width: 700px) { .partner .nav-links { display: none; } }

    /* ══════════════════════════════════════
       2. HERO - REWORKED
    ══════════════════════════════════════ */
    .partner #hero {
      background: #080f1c;
      min-height: 100vh;
      padding-top: 66px;
      display: flex; align-items: stretch;
      flex-direction: column;
      position: relative; overflow: hidden;
    }
    /* Dot grid texture */
    .partner #hero::before {
      content: '';
      position: absolute; inset: 0;
      background-image: radial-gradient(circle, rgba(255,255,255,.055) 1px, transparent 1px);
      background-size: 34px 34px;
      pointer-events: none; z-index: 0;
    }
    /* Gradient sweep */
    .partner #hero::after {
      content: '';
      position: absolute; inset: 0;
      background: linear-gradient(135deg, rgba(13,30,51,.95) 0%, rgba(10,25,45,.7) 50%, rgba(20,55,90,.5) 100%);
      pointer-events: none; z-index: 0;
    }
    .partner .h-orb {
      position: absolute; border-radius: 50%;
      pointer-events: none; z-index: 0;
    }
    .partner .h-orb1 {
      top: -220px; right: -100px;
      width: 820px; height: 820px;
      background: radial-gradient(circle, rgba(249,192,19,.2) 0%, transparent 62%);
      animation: orbpulse 9s ease-in-out infinite alternate;
    }
    .partner .h-orb2 {
      bottom: -250px; left: -140px;
      width: 700px; height: 700px;
      background: radial-gradient(circle, rgba(74,144,226,.2) 0%, transparent 65%);
      animation: orbpulse 12s ease-in-out infinite alternate-reverse;
    }
    .partner .h-orb3 {
      top: 40%; left: 42%;
      width: 400px; height: 400px;
      background: radial-gradient(circle, rgba(113,179,69,.12) 0%, transparent 70%);
      animation: orbpulse 7s ease-in-out infinite alternate;
    }
    @keyframes orbpulse {
      0%   { transform: scale(1) translate(0,0); }
      100% { transform: scale(1.08) translate(20px, -18px); }
    }

    /* ── Hero inner layout ── */
    .partner .hero-inner {
      position: relative; z-index: 2;
      flex: 1;
      display: grid;
      grid-template-columns: 1fr;
      align-items: center;
      min-height: calc(100vh - 66px);
      padding: 84px 0 76px;
    }
    .partner .hero-copy {
      width: 100%;
      max-width: 860px;
      margin: 0 auto;
      text-align: left;
    }
    @media (max-width: 980px) {
      .partner .hero-inner { min-height: auto; padding: 72px 0 58px; }
      .partner .hero-copy { max-width: 760px; }
    }

    /* ── Eyebrow badge ── */
    .partner .hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    border: 1px solid rgba(245,124,0,.32);
    border-radius: 30px;
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-size: .66rem;
    line-height: 1.45;
    padding: 6px 13px;
    margin-bottom: 16px;
    max-width: 520px;
    background: var(--accent-yellow-pale);
    border-color: #F5D76E;
    color: #8A6A00;
    }
    .partner .h-pulse {
      width: 7px; height: 7px; border-radius: 50%;
      background: var(--orange); flex-shrink: 0;
      box-shadow: 0 0 0 0 rgba(245,124,0,.6);
      animation: hpulse 2.2s ease-in-out infinite;
    }
    @keyframes hpulse {
      0%   { box-shadow: 0 0 0 0 rgba(245,124,0,.7); }
      60%  { box-shadow: 0 0 0 7px rgba(245,124,0,0); }
      100% { box-shadow: 0 0 0 0 rgba(245,124,0,0); }
    }

    /* ── Main headline ── */
    .partner .hero-h1 {
      font-size: clamp(2.5rem, 5vw, 4rem);
      font-weight: 800; color: #fff;
      line-height: 1.08; letter-spacing: -.025em;
      margin-bottom: 6px;
      width: 100%;
      max-width: 90%;
    }
    
    /* Rotating word line */
    .partner .hero-word-wrap {
    font-size: clamp(2.5rem, 5vw, 4rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -.025em;
    height: 1.12em;
    overflow: hidden;
    margin-bottom: 20px;
    }
    .partner .hero-words {
      display: flex; flex-direction: column;
      animation: wordCycle 10s ease-in-out infinite;
    }
    .partner .hero-words span {
      display: block;
      height: 1.12em; line-height: 1.12em;
      background: linear-gradient(90deg, #ffffff, #8fd3ff, #d8ecff);
      -webkit-background-clip: text; -webkit-text-fill-color: transparent;
      background-clip: text;
      white-space: nowrap;
    }
    @keyframes wordCycle {
      0%,20%    { transform: translateY(0); }
      25%,45%   { transform: translateY(-1.12em); }
      50%,70%   { transform: translateY(-2.24em); }
      75%,95%   { transform: translateY(-3.36em); }
      100%      { transform: translateY(-4.48em); }
    }

    /* ── Sub & checks ── */
    .partner .hero-sub {
    font-size: 1.08rem;
    line-height: 1.78;
    font-size: 1rem;
    line-height: 1.68;
    max-width: 590px;
    font-size: .95rem;
    line-height: 1.62;
    color: rgba(255,255,255,.88);
    font-size: 1rem;
    line-height: 1.7;
    margin-bottom: 20px;
    }
    .partner .hero-checks { display: flex; flex-direction: column; gap: 11px; margin-bottom: 32px; max-width: 780px; }
    .partner .hero-check {
    display: flex;
    gap: 11px;
    font-size: .9rem;
    font-weight: 500;
    font-size: .86rem;
    font-size: .82rem;
    line-height: 1.55;
    align-items: flex-start;
    color: rgba(255,255,255,.95);
    font-size: .88rem;
    }
    .partner .hck {
    border-radius: 50%;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .62rem;
    color: #fff;
    font-weight: 900;
    width: 18px;
    height: 18px;
    font-size: .58rem;
    margin-top: 2px;
    background: var(--logo-green);
    box-shadow: 0 3px 12px rgba(113,179,69,.35);
    }

    /* ── CTAs ── */
    .partner .hero-ctas {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    margin-bottom: 8px; }
    .partner .btn-hero-primary {
      display: inline-flex; align-items: center; gap: 9px;
      background: linear-gradient(135deg, #ff8c00 0%, #e65100 100%);
      color: #fff; padding: 17px 32px;
      font-size: 1rem; font-weight: 800; font-family: inherit;
      border-radius: 10px; border: none; cursor: pointer;
      box-shadow: 0 8px 30px rgba(230,81,0,.5), 0 2px 0 rgba(255,255,255,.12) inset;
      transition: all .25s; position: relative; overflow: hidden; text-decoration: none;
    }
    .partner .btn-hero-primary::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent);
    transition: left .5s;
    display: none;
    }
    .partner .btn-hero-primary:hover::before { left: 160%; }
    .partner .btn-hero-primary:hover { transform: translateY(-3px); box-shadow: 0 14px 40px rgba(230,81,0,.6); }

    .partner .btn-hero-ghost {
      display: inline-flex; align-items: center; gap: 9px;
      background: rgba(255,255,255,.07);
      color: rgba(255,255,255,.9);
      border: 1.5px solid rgba(255,255,255,.2);
      padding: 17px 28px;
      font-size: .95rem; font-weight: 700; font-family: inherit;
      border-radius: 10px; cursor: pointer;
      transition: all .25s; text-decoration: none;
    }
    .partner .btn-hero-ghost:hover { background: rgba(255,255,255,.13); border-color: rgba(255,255,255,.45); transform: translateY(-2px); }
    .partner .hero-microcopy {
    color: rgba(255,255,255,.38);
    margin-bottom: 0;
    font-size: .67rem; }

    /* Avatar trust row */
    .partner .hero-trust-row { display: flex; align-items: center; gap: 12px; margin-top: 4px; }
    .partner .h-avs { display: flex; }
    .partner .h-av {
      width: 34px; height: 34px; border-radius: 50%;
      border: 2.5px solid #080f1c;
      display: flex; align-items: center; justify-content: center;
      font-size: .65rem; font-weight: 800; color: #fff;
      margin-left: -9px; flex-shrink: 0;
    }
    .partner .h-av:first-child { margin-left: 0; }
    .partner .h-av-text { font-size: .8rem; color: rgba(255,255,255,.6); font-weight: 500; }
    .partner .h-av-text strong { color: #fff; }

    /* ── Right: Dashboard ── */
    .partner .hero-dash { position: relative; }
    @media (max-width: 980px) { .partner .hero-dash { display: none; } }

    /* Floating cards */
    .partner .float-card {
      position: absolute;
      background: rgba(8,18,36,.9);
      backdrop-filter: blur(20px);
      border: 1px solid rgba(255,255,255,.15);
      border-radius: 13px;
      padding: 11px 15px;
      display: flex; align-items: center; gap: 11px;
      box-shadow: 0 16px 40px rgba(0,0,0,.5);
      z-index: 10; white-space: nowrap;
    }
    .partner .fc1 { top: -26px; right: -20px; animation: fcf 4.5s ease-in-out infinite; }
    .partner .fc2 { bottom: -22px; left: -26px; animation: fcf 5.5s ease-in-out infinite reverse; }
    @keyframes fcf { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-9px)} }
    .partner .fc-ico { font-size: 1.25rem; }
    .partner .fc-t strong { display: block; font-size: .78rem; font-weight: 800; color: #fff; }
    .partner .fc-t span { font-size: .68rem; color: rgba(255,255,255,.5); }

    /* Dashboard panel */
    .partner .dash-panel {
      background: rgba(8,18,38,.88);
      backdrop-filter: blur(24px);
      border: 1px solid rgba(255,255,255,.11);
      border-radius: 18px; overflow: hidden;
      box-shadow: 0 40px 100px rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.04);
    }
    .partner .dash-hdr {
      background: rgba(255,255,255,.045);
      border-bottom: 1px solid rgba(255,255,255,.07);
      padding: 13px 18px;
      display: flex; align-items: center; justify-content: space-between;
    }
    .partner .dash-hdr-left { display: flex; align-items: center; gap: 8px; }
    .partner .dash-dots span {
      display: inline-block; width: 10px; height: 10px;
      border-radius: 50%; margin-right: 4px;
    }
    .partner .dd1{background:#ff5f57} .partner .dd2{background:#ffbd2e} .partner .dd3{background:#28c840}
    .partner .dash-hdr-title { color: rgba(255,255,255,.5); font-size: .7rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
    .partner .dash-live-pill {
      display: flex; align-items: center; gap: 5px;
      background: rgba(40,200,64,.12); border: 1px solid rgba(40,200,64,.25);
      color: #28c840; font-size: .65rem; font-weight: 800; letter-spacing: .06em;
      padding: 4px 10px; border-radius: 20px;
    }
    .partner .live-dot { width: 6px; height: 6px; background: #28c840; border-radius: 50%; animation: ldp 1.4s ease-in-out infinite; }
    @keyframes ldp { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.25;transform:scale(.7)} }

    /* Metrics row */
    .partner .dash-metrics {
      display: grid; grid-template-columns: 1fr 1fr 1fr;
      border-bottom: 1px solid rgba(255,255,255,.06);
    }
    .partner .dm {
      padding: 16px 14px;
      border-right: 1px solid rgba(255,255,255,.05);
      text-align: center;
    }
    .partner .dm:last-child { border-right: none; }
    .partner .dm-n { font-size: 1.55rem; font-weight: 800; color: #fff; line-height: 1; }
    .partner .dm-n.or { color: var(--orange-alt); }
    .partner .dm-n.gr { color: #28c840; }
    .partner .dm-l { font-size: .63rem; color: rgba(255,255,255,.4); font-weight: 700; text-transform: uppercase; letter-spacing: .05em; margin-top: 5px; }

    /* Bar chart */
    .partner .dash-chart { padding: 14px 18px 8px; }
    .partner .dc-lbl { font-size: .63rem; color: rgba(255,255,255,.35); font-weight: 800; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 10px; }
    .partner .bars-wrap { display: flex; align-items: flex-end; gap: 6px; height: 64px; }
    .partner .bar-col { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 4px; }
    .partner .bar-fill {
      width: 100%; border-radius: 4px 4px 0 0;
      background: rgba(245,124,0,.22);
      position: relative; transition: height .6s ease;
      min-height: 4px;
    }
    .partner .bar-fill.peak { background: var(--orange); }
    .partner .bar-fill .btip {
      position: absolute; top: -17px; left: 50%; transform: translateX(-50%);
      font-size: .58rem; color: rgba(255,255,255,.55); font-weight: 700; white-space: nowrap;
    }
    .partner .bar-fill.peak .btip { color: var(--orange-alt); }
    .partner .bar-d { font-size: .57rem; color: rgba(255,255,255,.28); font-weight: 600; }

    /* Feed */
    .partner .dash-feed { padding: 12px 18px; border-top: 1px solid rgba(255,255,255,.06); }
    .partner .df-hd { font-size: .63rem; color: rgba(255,255,255,.32); font-weight: 800; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 9px; }
    .partner .df-row {
      display: flex; align-items: center; gap: 9px;
      padding: 6px 0;
      border-bottom: 1px solid rgba(255,255,255,.04);
    }
    .partner .df-row:last-child { border: none; }
    .partner .df-d { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; }
    .partner .df-d.g{background:var(--logo-green)} .partner .df-d.o{background:var(--orange)} .partner .df-d.b{background:var(--logo-blue)}
    .partner .df-msg { flex: 1; font-size: .74rem; color: rgba(255,255,255,.62); }
    .partner .df-ago { font-size: .63rem; color: rgba(255,255,255,.25); }

    /* AI bottom strip */
    .partner .dash-ai {
      display: grid; grid-template-columns: 1fr 1fr;
      border-top: 1px solid rgba(255,255,255,.06);
    }
    .partner .dai { padding: 12px 16px; display: flex; align-items: center; gap: 9px; border-right: 1px solid rgba(255,255,255,.05); }
    .partner .dai:last-child { border: none; }
    .partner .dai-ico { font-size: 1.1rem; }
    .partner .dai-t strong { display: block; color: #fff; font-size: .78rem; font-weight: 800; }
    .partner .dai-t span { font-size: .68rem; color: rgba(255,255,255,.38); }

    /* ── Bottom stat bar ── */
    .partner .hero-stat-bar {
      position: relative; z-index: 2;
      display: grid; grid-template-columns: repeat(6, 1fr);
      border-top: 1px solid rgba(255,255,255,.07);
      background: rgba(0,0,0,.25);
    }
    @media (max-width: 768px) { .partner .hero-stat-bar { grid-template-columns: repeat(3,1fr); } }
    .partner .hsb {
      text-align: center; padding: 22px 12px;
      border-right: 1px solid rgba(255,255,255,.07);
      position: relative;
    }
    .partner .hsb:last-child { border: none; }
    .partner .hsb-n { font-size: 1.6rem; font-weight: 800; color: var(--orange-alt); line-height: 1; }
    .partner .hsb-l { font-size: .63rem; color: rgba(255,255,255,.42); font-weight: 700; text-transform: uppercase; letter-spacing: .05em; margin-top: 5px; }

    /* ══════════════════════════════════════
       3. TRUST STRIP
    ══════════════════════════════════════ */
    .partner #trust {
    background: var(--surface-1);
    border-top-color: var(--logo-yellow);
    }
    .partner .trust-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(130px,1fr));
      gap: 24px 12px;
      align-items: center;
    }
    .partner .trust-item { text-align: center; }
    .partner .trust-num { font-size: 2rem; font-weight: 800; color: var(--navy); line-height: 1; }
    .partner .trust-lab { font-size: .72rem; font-weight: 700; color: var(--text-light); text-transform: uppercase; letter-spacing: .05em; margin-top: 4px; }
    .partner .trust-badge-row { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; margin-top: 36px; }
    .partner .trust-badge {
      display: inline-flex; align-items: center; gap: 7px;
      background: #fff; border: 1px solid var(--border);
      border-radius: 8px; padding: 8px 16px;
      font-size: .78rem; font-weight: 700; color: var(--navy);
      box-shadow: 0 2px 8px rgba(0,0,0,.05);
    }
    .partner .tbdot { width: 8px; height: 8px; border-radius: 50%; background: var(--success); flex-shrink: 0; }

    /* ══════════════════════════════════════
       4. OPPORTUNITY
    ══════════════════════════════════════ */
    .partner #opportunity { background: var(--white); }
    .partner .opp-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
    @media (max-width: 800px) { .partner .opp-grid { grid-template-columns: 1fr; } }
    .partner .opp-text h2 { font-size: clamp(1.7rem, 3vw, 2.4rem); font-weight: 800; color: var(--navy); margin-bottom: 14px; line-height: 1.2; }
    .partner .opp-text h2 span { color: var(--orange); }
    .partner .opp-text p { color: var(--text-light); font-size: .97rem; line-height: 1.82; margin-bottom: 20px; }
    .partner .opp-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
    .partner .opp-card {
    background: var(--sky);
    border-left: 4px solid var(--orange);
    border-radius: var(--r);
    padding: 18px 16px;
    border-left-color: var(--logo-green);
    }
    .partner .opp-card .n { font-size: 1.8rem; font-weight: 800; color: var(--navy); }
    .partner .opp-card .l { font-size: .78rem; color: var(--text-light); font-weight: 600; margin-top: 3px; }

    /* ══════════════════════════════════════
       5. GAP
    ══════════════════════════════════════ */
    .partner #gap { background: var(--navy-deep); }
    .partner .gap-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px,1fr)); gap: 18px; }
    .partner .gap-card {
      background: rgba(255,255,255,.05);
      border: 1px solid rgba(255,255,255,.09);
      border-radius: var(--r);
      padding: 26px 22px;
      transition: all .25s;
    }
    .partner .gap-card:hover {
    background: rgba(255,255,255,.09);
    transform: translateY(-3px);
    border-color: rgba(74,144,226,.45); }
    .partner .gap-icon { font-size: 1.7rem; margin-bottom: 12px; }
    .partner .gap-card h4 {
    font-size: .93rem;
    font-weight: 700;
    margin-bottom: 7px;
    color: var(--navy); }
    .partner .gap-card p {
    font-size: .82rem;
    line-height: 1.65;
    color: var(--text-light); }

    /* ══════════════════════════════════════
       6. PROPOSITION
    ══════════════════════════════════════ */
    .partner #proposition { background: var(--sky); }
    .partner .prop-layout { display: grid; grid-template-columns: 1fr 2fr; gap: 64px; align-items: start; }
    @media (max-width: 880px) { .partner .prop-layout { grid-template-columns: 1fr; } }
    .partner .prop-left h2 { font-size: clamp(1.65rem,3vw,2.3rem); font-weight: 800; color: var(--navy); margin-bottom: 14px; line-height: 1.2; }
    .partner .prop-left h2 span { color: var(--orange); }
    .partner .prop-left p { color: var(--text-light); font-size: .95rem; line-height: 1.8; margin-bottom: 22px; }
    .partner .prop-callout {
    background: var(--navy);
    color: rgba(255,255,255,.8);
    border-radius: var(--r);
    padding: 20px 22px;
    font-size: .9rem;
    line-height: 1.75;
    border-left: 4px solid var(--orange);
    border-left-color: var(--logo-yellow);
    }
    .partner .prop-callout strong { color: #fff; }
    .partner .prop-pills {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 14px;
    }
    @media (max-width: 560px) { .partner .prop-pills { grid-template-columns: 1fr 1fr; } }
    .partner .ppill {
      background: #fff;
      border: 1px solid var(--border);
      border-radius: var(--r);
      padding: 18px 14px;
      text-align: center;
      box-shadow: var(--sh);
      transition: all .22s;
    }
    .partner .ppill:hover { border-color: var(--orange); box-shadow: 0 6px 20px rgba(245,124,0,.14); transform: translateY(-2px); }
    .partner .ppill-ico { font-size: 1.65rem; margin-bottom: 8px; }
    .partner .ppill span { font-size: .8rem; font-weight: 700; color: var(--navy); display: block; }

    /* ══════════════════════════════════════
       7. PLATFORM FEATURES
    ══════════════════════════════════════ */
    .partner #features { background: var(--white); }
    .partner .features-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px,1fr)); gap: 22px; }
    @media (max-width: 720px) { .partner .features-grid { grid-template-columns: 1fr; } }
    .partner .fcard {
      border: 1.5px solid var(--border);
      border-radius: var(--rl);
      padding: 30px 26px;
      transition: all .3s;
      position: relative; overflow: hidden;
    }
    .partner .fcard::after {
      content: '';
      position: absolute; top: 0; left: 0; right: 0; height: 4px;
      background: var(--orange);
      transform: scaleX(0); transform-origin: left;
      transition: transform .3s;
    }
    .partner .fcard:hover::after { transform: scaleX(1); }
    .partner .fcard:hover { border-color: transparent; box-shadow: var(--shl); transform: translateY(-4px); }
    .partner .fcard-icon {
      width: 54px; height: 54px; border-radius: 13px;
      background: var(--sky);
      display: flex; align-items: center; justify-content: center;
      font-size: 1.4rem; margin-bottom: 18px;
    }
    .partner .fcard h3 { font-size: 1.05rem; font-weight: 800; color: var(--navy); margin-bottom: 9px; }
    .partner .fcard p { font-size: .85rem; color: var(--text-light); line-height: 1.72; }
    .partner .fcard-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }
    .partner .ftag { background: var(--sky); color: var(--navy); font-size: .68rem; font-weight: 700; padding: 4px 10px; border-radius: 20px; }

    /* ══════════════════════════════════════
       8. ASSESSMENT PARTNERSHIPS
    ══════════════════════════════════════ */
    .partner #partnerships { background: var(--sky); }
    .partner .pship-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; align-items: stretch; }
    @media (max-width: 980px) { .partner .pship-grid { grid-template-columns: repeat(2, 1fr); } }
    @media (max-width: 680px) { .partner .pship-grid { grid-template-columns: 1fr; } }
    .partner .pship-card {
      background: #fff;
      border-radius: var(--rl);
      padding: 34px 30px;
      border: 1px solid var(--border);
      box-shadow: var(--sh);
      display: flex; flex-direction: column; gap: 16px;
    }
    .partner .pship-head { display: flex; align-items: center; gap: 16px; }
    .partner .pship-logo {
      width: 62px; height: 62px; border-radius: 13px;
      display: flex; align-items: center; justify-content: center;
      font-weight: 900; font-size: 1rem; letter-spacing: -.02em;
      flex-shrink: 0;
    }
    .partner .ielts-logo { background: #004b8d; color: #fff; }
    .partner .pte-logo { background: #4b2aad; color: #fff; }
    .partner .toefl-logo { background: #1f4f8f; color: #fff; }
    .partner .det-logo { background: #1a1a2e; color: #29d4ff; }
    .partner .lc-logo { background: #003366; color: #fff; }
    .partner .oet-logo { background: #0b7f6d; color: #fff; }
    .partner .celpip-logo { background: #1565c0; color: #fff; }
    .partner .pship-name { font-size: 1.1rem; font-weight: 800; color: var(--navy); }
    .partner .pship-full { font-size: .78rem; color: var(--text-light); margin-top: 3px; }
    .partner .pship-desc { font-size: .88rem; color: var(--text-light); line-height: 1.75; }
    .partner .pship-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: .74rem;
    font-weight: 700;
    padding: 5px 12px;
    border-radius: 20px;
    width: fit-content;
    background: var(--accent-yellow-pale);
    color: var(--navy);
    }

    /* ══════════════════════════════════════
       9. STAKEHOLDERS
    ══════════════════════════════════════ */
    .partner #stakeholders { background: var(--navy-deep); }
    .partner .tabs-row { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; margin-bottom: 36px; }
    .partner .tab-btn {
    padding: 9px 22px;
    border-radius: 30px;
    border: 2px solid rgba(255,255,255,.2);
    font-size: .87rem;
    font-weight: 700;
    cursor: pointer;
    transition: all .22s;
    border-color: #c8d9ec;
    color: var(--navy);
    background: #ffffff;
    }
    .partner .tab-btn:hover {
    border-color: #9ebbdc;
    color: var(--navy); }
    .partner .tab-btn.active {
    background: var(--orange);
    border-color: var(--orange);
    color: #ffffff; }
    .partner .tab-pane {
      display: none;
      background: rgba(255,255,255,.05);
      border: 1px solid rgba(255,255,255,.09);
      border-radius: var(--rl);
      padding: 40px;
    }
    .partner .tab-pane.active { display: grid; grid-template-columns: auto 1fr; gap: 40px; align-items: start; }
    @media (max-width: 680px) { .partner .tab-pane.active { grid-template-columns: 1fr; } }
    .partner .tab-pane-ico { font-size: 4.5rem; line-height: 1; }
    .partner .tab-pane h3 { font-size: 1.45rem; font-weight: 800; color: #fff; margin-bottom: 10px; }
    .partner .tab-pane > div > p { color: rgba(255,255,255,.65); font-size: .93rem; line-height: 1.78; margin-bottom: 20px; }
    .partner .tab-bullets { display: flex; flex-direction: column; gap: 10px; }
    .partner .tbullet { display: flex; align-items: center; gap: 10px; color: rgba(255,255,255,.8); font-size: .88rem; }
    .partner .tcheck {
      width: 20px; height: 20px; background: var(--orange);
      border-radius: 50%; display: flex; align-items: center; justify-content: center;
      font-size: .62rem; color: #fff; flex-shrink: 0;
    }

    /* ══════════════════════════════════════
       10. ROLLOUT STEPS
    ══════════════════════════════════════ */
    .partner #rollout { background: var(--white); }
    .partner .steps-wrap { position: relative; margin-top: 50px; }
    .partner .steps-line {
    position: absolute;
    top: 36px;
    left: 15%;
    right: 15%;
    height: 3px;
    z-index: 0;
    background: linear-gradient(90deg, var(--logo-yellow), var(--logo-blue));
    }
    @media (max-width: 840px) { .partner .steps-line { display: none; } }
    .partner .steps-grid {
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      gap: 0; position: relative; z-index: 1;
    }
    @media (max-width: 840px) { .partner .steps-grid { grid-template-columns: 1fr 1fr; gap: 24px; } }
    @media (max-width: 480px) { .partner .steps-grid { grid-template-columns: 1fr; } }
    .partner .step {
      display: flex; flex-direction: column; align-items: center;
      text-align: center; padding: 0 10px;
    }
    .partner .step-circ {
      width: 72px; height: 72px; border-radius: 50%;
      background: var(--navy); color: #fff;
      display: flex; align-items: center; justify-content: center;
      font-size: 1.6rem; margin-bottom: 16px;
      border: 5px solid #fff;
      box-shadow: 0 4px 18px rgba(26,46,74,.22);
      transition: all .28s;
    }
    .partner .step:hover .step-circ { background: var(--orange); transform: scale(1.1); }
    .partner .step h4 { font-size: .87rem; font-weight: 800; color: var(--navy); margin-bottom: 6px; }
    .partner .step p { font-size: .77rem; color: var(--text-light); line-height: 1.55; }

    /* ══════════════════════════════════════
       11. PARTNERSHIP MODELS
    ══════════════════════════════════════ */
    .partner #models { background: var(--sky); }
    .partner .models-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; align-items: stretch; }
    @media (max-width: 900px) { .partner .models-grid { grid-template-columns: repeat(2, 1fr); } }
    @media (max-width: 560px) { .partner .models-grid { grid-template-columns: 1fr; } }
    .partner .mcard {
      background: #fff;
      border: 1.5px solid var(--border);
      border-radius: var(--r);
      padding: 24px 20px;
      transition: all .22s;
      display: flex; flex-direction: column; gap: 10px;
    }
    .partner .mcard:hover { border-color: var(--orange); box-shadow: 0 6px 22px rgba(245,124,0,.13); transform: translateY(-3px); }
    .partner .mcard-ico { font-size: 1.75rem; }
    .partner .mcard h4 { font-size: .93rem; font-weight: 800; color: var(--navy); }
    .partner .mcard p { font-size: .82rem; color: var(--text-light); line-height: 1.65; }

    /* ══════════════════════════════════════
       12. WHY TCY
    ══════════════════════════════════════ */
    .partner #why { background: var(--white); }
    .partner .why-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px,1fr)); gap: 22px; }
    .partner .wcard {
      background: var(--sky);
      border: 1px solid var(--sky-mid);
      border-radius: var(--r);
      padding: 26px 22px;
      transition: all .25s;
    }
    .partner .wcard:hover { background: var(--navy); border-color: var(--navy); }
    .partner .wcard:hover .wnum, .partner .wcard:hover h4, .partner .wcard:hover p { color: #fff; }
    .partner .wnum {
    font-size: 2.4rem;
    font-weight: 800;
    line-height: 1;
    margin-bottom: 8px;
    transition: color .25s;
    color: var(--logo-blue); }
    .partner .wcard h4 { font-size: .92rem; font-weight: 800; color: var(--navy); margin-bottom: 7px; transition: color .25s; }
    .partner .wcard p { font-size: .82rem; color: var(--text-light); line-height: 1.65; transition: color .25s; }

    /* ══════════════════════════════════════
       13. IMPACT METRICS
    ══════════════════════════════════════ */
    .partner #metrics { background: var(--navy); }
    .partner .met-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
    @media (max-width: 880px) { .partner .met-grid { grid-template-columns: repeat(2,1fr); } }
    @media (max-width: 460px) { .partner .met-grid { grid-template-columns: 1fr 1fr; } }
    .partner .mcard2 {
      background: rgba(255,255,255,.06);
      border: 1px solid rgba(255,255,255,.1);
      border-radius: var(--r);
      padding: 20px 16px;
      text-align: center;
      transition: all .22s;
    }
    .partner .mcard2:hover { background: rgba(245,124,0,.15); border-color: rgba(245,124,0,.3); }
    .partner .mcard2-ico { font-size: 1.5rem; margin-bottom: 9px; }
    .partner .mcard2 h4 { color: #fff; font-size:1rem; font-weight: 700; line-height: 1.4; }

    /* ══════════════════════════════════════
       14. FINAL CTA
    ══════════════════════════════════════ */
    .partner #finalcta {
    background: var(--logo-blue);
    text-align: center;
    border-top: 1px solid #e3edf8;
    border-bottom: 1px solid #e3edf8;
    }
    .partner #finalcta h2 { font-size: clamp(1.9rem,4vw,3.1rem); font-weight: 800; color: #fff; margin-bottom: 14px; line-height: 1.2; }
    .partner #finalcta p { color: rgba(255,255,255,.82); font-size: 1.05rem; /*margin-bottom: 36px;*/ margin-bottom: 0px; max-width: 600px; margin-left: auto; margin-right: auto; }

    /* ══════════════════════════════════════
       15. CONTACT FORM
    ══════════════════════════════════════ */
    .partner #contact { background: var(--sky); }
    .partner .contact-grid { display: grid; grid-template-columns: 1fr 1.6fr; gap: 60px; align-items: start; }
    @media (max-width: 900px) { .partner .contact-grid { grid-template-columns: 1fr; } }
    .partner .ci h2 { font-size: clamp(1.65rem,3vw,2.2rem); font-weight: 800; color: var(--navy); margin-bottom: 14px; }
    .partner .ci p { color: var(--text-light); font-size: .95rem; line-height: 1.8; margin-bottom: 28px; }
    .partner .cdetail { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
    .partner .cdetail .cd-icon {
      width: 36px; height: 36px; background: var(--logo-blue);
      border-radius: 8px; display: flex; align-items: center; justify-content: center;
      color: #fff; flex-shrink: 0;
    }
    .partner .cdetail .cd-icon .material-icons {
      font-size: 20px;
      line-height: 1;
    }
    .partner .cdetail > span { font-size: .88rem; font-weight: 600; color: var(--navy); }
    .partner .linkedin-card {
      margin-top: 24px;
      display: grid;
      grid-template-columns: 1fr;
      gap: 18px;
      align-items: center;
      background: #fff;
      border: 1px solid var(--border);
      border-radius: 16px;
      padding: 24px 20px;
      box-shadow: 0 8px 28px rgba(26,46,74,.08);
    }
    .partner .linkedin-kicker {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      color: var(--navy);
      font-size: .68rem;
      font-weight: 800;
      letter-spacing: .08em;
      text-transform: uppercase;
      margin-bottom: 7px;
    }
    .partner .linkedin-mark {
      width: 26px;
      height: 26px;
      /* border-radius: 5px;
      background: #0a66c2;
      color: #fff; */
      display: inline-flex;
      align-items: center;
      justify-content: center;
      /* font-size: .72rem;
      font-weight: 800;
      letter-spacing: -.03em; */
    }
    .partner .linkedin-card h3 {
      margin: 0 0 5px;
      color: var(--navy);
      font-size: 1rem;
      font-weight: 800;
      line-height: 1.35;
    }
    .partner .linkedin-role {
      color: var(--text-light);
      font-size: .79rem;
      font-weight: 600;
      margin-bottom: 15px;
    }
    .partner .linkedin-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    background:#0077b5;
    color: #fff;
    padding: 9px 14px;
    border-radius: 8px;
    font-size: .78rem;
    font-weight: 800;
    transition: transform .2s, background .2s, box-shadow .2s;
    }
    .partner .linkedin-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 7px 18px rgba(10,102,194,.24);
    background: #3A7FCC;
    }
    @media (max-width: 430px) {
      .partner .linkedin-card { grid-template-columns: 1fr; }
    }
    .partner .cform {
      background: #fff;
      border-radius: var(--rl);
      padding:20px 30px;
      box-shadow: var(--sh);
      border: 1px solid var(--border);
      position: relative;
    }
    .partner .cform h3 { font-size: 1.2rem; font-weight: 800; color: var(--navy); margin-bottom: 14px; text-align: center; }
    .partner .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
    .partner .contact-grid button.btn.btn-primary.form-submit.btn-lg { justify-content: center; }

    @media (max-width: 560px) { .partner .form-row { grid-template-columns: 1fr; } }
    .partner .fg { margin-bottom: 10px; }
    .partner .fg label {
      display: block; font-size: .72rem; font-weight: 800;
      color: var(--navy); text-transform: uppercase;
      letter-spacing: .06em; margin-bottom: 6px;
    }
    .partner .fg input, .partner .fg select, .partner .fg textarea {
      width: 100%; padding: 11px 13px;
      border: 1.5px solid var(--border);
      border-radius: 8px;
      font-family: inherit; font-size: .88rem; color: var(--text);
      background: #fff; outline: none; transition: border-color .2s;
    }
    /* ----------------------------------------- */
    .partner .fg .multi-select{
        position:relative;
        width:100%;
        font-family:inherit;
        max-width: 291.86px;
    }

    .partner .fg .multi-select .multi-select-trigger{
        width:100%;
        padding:8px 13px;
        border:1.5px solid var(--border);
        border-radius:8px;
        font-size:.88rem;
        color:var(--text);
        background:#fff;
        cursor:pointer;
        display:flex;
        justify-content:space-between;
        align-items:center;
        transition:border-color .2s;
        box-sizing:border-box;
    }

    .multi-select.open .multi-select-trigger{
        border-color:#1a73e8;
    }

    .partner .fg .multi-select .multi-select-dropdown{
        position: absolute;
        top: calc(100% + 6px);
        left: 0;
        width: 100%;
        background: #fff;
        border: 1px solid #ddd;
        border-radius: 8px;
        box-shadow: 0 8px 24px rgba(0, 0, 0, .08);
        display: none;
        max-height: 260px;
        overflow-y: auto;
        z-index: 999;
        padding: 8px 0;
    }

    .partner .fg .multi-select.open .multi-select-dropdown{
        display:block;
    }

    .partner .fg .multi-select .multi-select-dropdown label{     
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 2px 10px;
        cursor: pointer;
        font-size: 13px;
        font-weight: 400;
        text-transform: none;
        letter-spacing: 0;
        margin-bottom: 0px;
    }

    .partner .fg .multi-select .multi-select-dropdown label:hover{
        background:#f5f7fa;
    }

    .partner .fg .multi-select .multi-select-dropdown input[type="checkbox"]{
        width:13px;
        height:13px;
        cursor:pointer;
    }

    .partner .fg .multi-select .placeholder{
        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
        flex:1;
    }

    .partner .fg .multi-select .arrow{
        margin-left:10px;
        transition:.25s;
    }

    .partner .fg .multi-select .multi-select.open .arrow{
        transform:rotate(180deg);
    }


    /* ----------------------------------------- */
    .partner .fg input:focus, .partner .fg select:focus, .partner .fg textarea:focus { border-color: var(--orange); }
    .partner .fg textarea { resize: vertical; min-height: 75px; }
    .partner .form-submit {
    padding: 14px;
    font-size: .97rem;
    margin-top: -3px;
    width: 100%; }
    .partner .form-submit:disabled {
      opacity: 0.65;
      cursor: not-allowed;
    }
    .partner #form-actions.is-hidden {
      display: none !important;
    }
    .partner .form-note { font-size: .72rem; color: var(--text-muted); text-align: center; margin-top: 10px; }
    .partner .fg input.input-error,
    .partner .fg textarea.input-error,
    .partner .fg .multi-select.input-error .multi-select-trigger {
      border-color: #d32f2f;
      background: #fff5f5;
    }
    .partner .form-success-inline {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      margin-top: 14px;
      padding: 14px 16px;
      background: #e8f8f0;
      border: 1.5px solid var(--success);
      border-radius: var(--r);
      text-align: left;
    }
    .partner .form-success-inline[hidden] {
      display: none !important;
    }
    .partner .form-success-inline .form-success-icon {
      font-size: 1.4rem;
      color: var(--success);
      flex-shrink: 0;
      margin-top: 1px;
    }
    .partner .form-success-inline p {
      font-size: .88rem;
      font-weight: 600;
      color: var(--success);
      line-height: 1.5;
      margin: 0;
    }

    /* ══════════════════════════════════════
       FOOTER
    ══════════════════════════════════════ */
    .partner footer {
    background: var(--navy-deep);
    text-align: center;
    padding: var(--footer-space) 0;
    }
    .partner footer p { color: rgba(255,255,255,.38); font-size: .78rem; }
    .partner footer a { color: rgba(255,255,255,.55); }
    .partner footer a:hover { color: var(--logo-blue); }

    /* ── Fade-in ── */
    .partner .fi { opacity: 0; transform: translateY(26px); transition: opacity .65s ease, transform .65s ease; }
    .partner .fi.vis { opacity: 1; transform: none; }
    .partner .fi.d1 { transition-delay: .1s; }
    .partner .fi.d2 { transition-delay: .2s; }
    .partner .fi.d3 { transition-delay: .3s; }
    .partner .fi.d4 { transition-delay: .4s; }
    .partner .fi.d5 { transition-delay: .5s; }
    .partner .fi.d6 { transition-delay: .6s; }

    /* ── Section center ── */
    .partner .sh-wrap { text-align: center; margin-bottom: 48px; }
  

    /* Conversion copy update */
    .partner .compact-heading { margin-bottom: 48px; }
    .partner .secondary-proof {
    text-align: center;
    color: var(--navy);
    font-size: .86rem;
    font-weight: 700;
    margin-top: 24px; }
    .partner .gap-grid-four { grid-template-columns: repeat(4, 1fr); }
    .partner .outcomes-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
    .partner .outcome-card { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); border-radius: var(--r); padding: 28px 22px; }
    .partner .outcome-icon { font-size: 1.8rem; margin-bottom: 12px; }
    .partner .outcome-card h3 { color: #fff; font-size: 1rem; font-weight: 800; margin-bottom: 8px; }
    .partner .outcome-card p { color: rgba(255,255,255,.63); font-size: .86rem; line-height: 1.7; }
    .partner .compliance-copy {
    text-align:center;
    font-size:.78rem;
    color:var(--text-muted);
    margin-top: 24px; }
    .partner .steps-grid { grid-template-columns: repeat(3, 1fr); }
    .partner .section-cta {
    text-align: center;
    margin-top: 40px; }
    .partner .models-help {
    text-align: center;
    margin: 28px auto 0;
    max-width: 680px;
    font-size: .88rem;
    color: var(--text-light);
    margin-top: 32px; }
    .partner .metrics-six { grid-template-columns: repeat(3, 1fr); }
    .partner .optional-label { font-weight: 500; text-transform: none; letter-spacing: 0; color: var(--text-muted); }

    /* No red or orange font styling */
    .partner h2.sh span, .partner .opp-text h2 span, .partner .prop-left h2 span { color: inherit; }
    .partner .dm-n.or, .partner .dm-n.gr { color: #fff; }

    @media (max-width: 980px) {
      .partner .gap-grid-four, .partner .outcomes-grid { grid-template-columns: repeat(2, 1fr); }
      .partner .steps-grid { grid-template-columns: repeat(3, 1fr); gap: 26px 0; }
      .partner .steps-line { display: none; }
    }
    @media (max-width: 620px) {
      .partner .gap-grid-four, .partner .outcomes-grid, .partner .metrics-six, .partner .steps-grid { grid-template-columns: 1fr; }
      .partner .hero-h1, .partner .hero-word-wrap { font-size: clamp(2.05rem, 10vw, 2.75rem); }
      .partner .hero-words span { white-space: nowrap; }
      .partner .hero-eyebrow { font-size: .66rem; padding: 7px 12px; }
      .partner .hero-ctas { flex-direction: column; align-items: stretch; }
      .partner .btn-hero-primary, .partner .btn-hero-ghost { justify-content: center; width: 100%; }
      .partner .fg .multi-select{max-width: inherit;}
    }


    /* Premium compact hero layout */
    .partner #hero {
      min-height: auto;
      padding-top: 66px;
    }
    .partner .hero-inner {
      min-height: 560px;
      padding: 46px 0 42px;
      grid-template-columns: minmax(0, 1.18fr) minmax(360px, .82fr);
      gap: 56px;
      align-items: center;
    }
    .partner .hero-copy {
      max-width: 690px;
      margin: 0;
    }
    .partner .hero-h1,
    .partner .hero-word-wrap {
      font-size: clamp(2.6rem, 4.2vw, 3.65rem);
    }
    .partner .hero-checks {
      gap: 9px;
      margin-bottom: 25px;
    }
    .partner .btn-hero-primary,
    .partner .btn-hero-ghost {
    padding-top: 14px;
    padding-bottom: 14px;
    padding: 13px 24px;
    font-size: .9rem;
    }

    .partner .hero-system {
    position: relative;
    width: 100%;
    justify-self: end;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 22px;
    background:
        linear-gradient(145deg, rgba(255,255,255,.09), rgba(255,255,255,.025)),
        rgba(7,18,36,.58);
    box-shadow: 0 28px 70px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.08);
    backdrop-filter: blur(18px);
    overflow: hidden;
    max-width: 420px;
    padding: 20px;
    }
    .partner .hero-system::before {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(115deg, transparent 25%, rgba(255,255,255,.05) 48%, transparent 70%);
      transform: translateX(-120%);
      animation: systemSweep 8s ease-in-out infinite;
      pointer-events: none;
    }
    .partner .hero-system::after {
      content: '';
      position: absolute;
      width: 180px;
      height: 180px;
      right: -75px;
      top: -85px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(45,108,162,.28), transparent 68%);
      pointer-events: none;
    }
    @keyframes systemSweep {
      0%, 60% { transform: translateX(-130%); }
      82%, 100% { transform: translateX(130%); }
    }
    .partner .system-top,
    .partner .system-footer {
      position: relative;
      z-index: 1;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
    }
    .partner .system-kicker {
      color: rgba(255,255,255,.52);
      font-size: .66rem;
      font-weight: 800;
      letter-spacing: .11em;
    }
    .partner .system-status {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      color: #a9e7bf;
      font-size: .64rem;
      font-weight: 800;
      letter-spacing: .08em;
    }
    .partner .system-status i {
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: #38d477;
      box-shadow: 0 0 0 5px rgba(56,212,119,.10);
      animation: statusPulse 2s ease-in-out infinite;
    }
    @keyframes statusPulse { 50% { opacity: .45; transform: scale(.8); } }
    .partner .system-title {
    position: relative;
    z-index: 1;
    color: rgba(255,255,255,.7);
    font-size: .98rem;
    line-height: 1.45;
    margin: 10px 0 14px;
    font-size: .9rem;
    }
    .partner .system-title strong {
    color: #fff;
    font-size: 1.32rem;
    font-weight: 800;
    font-size: 1.12rem;
    }
    .partner .system-layers {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 8px;
    }
    .partner .system-layer {
    display: grid;
    grid-template-columns: 34px 1fr;
    align-items: start;
    border: 1px solid rgba(255,255,255,.08);
    transition: transform .22s ease, background .22s ease, border-color .22s ease;
    padding: 10px 12px;
    gap: 10px;
    border-radius: 12px;
    background: rgba(255,255,255,.05);
    border-color: rgba(255,255,255,.16);
    }
    .partner .system-layer:hover {
      transform: translateX(-4px);
      background: rgba(255,255,255,.075);
      border-color: rgba(255,255,255,.16);
    }
    .partner .layer-index {
    display: grid;
    place-items: center;
    border-radius: 9px;
    font-size: .66rem;
    font-weight: 800;
    width: 28px;
    height: 28px;
    font-size: .62rem;
    background: rgba(255,255,255,.2);
    color: #fff;
    }
    .partner .layer-label {
    display: block;
    margin-bottom: 2px;
    color: rgba(255,255,255,.38);
    font-size: .59rem;
    font-weight: 800;
    letter-spacing: .1em;
    font-size: .54rem;
    }
    .partner .system-layer h3 {
    margin: 0;
    color: #fff;
    font-size: .84rem;
    font-weight: 750;
    line-height: 1.35;
    font-size: .78rem;
    line-height: 1.32;
    }
    .partner .layer-meta {
    margin-top: 3px;
    color: rgba(255,255,255,.48);
    font-size: .68rem;
    line-height: 1.45;
    font-size: .62rem;
    line-height: 1.38;
    }
    .partner .exam-chip-row {
      display: flex;
      flex-wrap: wrap;
      gap: 5px;
      margin-top: 7px;
    }
    .partner .exam-chip-row span {
      padding: 3px 7px;
      border: 1px solid rgba(255,255,255,.08);
      border-radius: 999px;
      background: rgba(255,255,255,.055);
      color: rgba(255,255,255,.7);
      font-size: .57rem;
      font-weight: 700;
    }
    .partner .system-footer {
    border-top: 1px solid rgba(255,255,255,.08);
    justify-content: flex-start;
    flex-wrap: wrap;
    margin-top: 12px;
    padding-top: 12px;
    }
    .partner .system-footer span {
    color: rgba(255,255,255,.52);
    font-size: .63rem;
    font-weight: 700;
    font-size: .58rem;
    }
    .partner .system-footer span + span::before {
      content: '•';
      margin-right: 10px;
      color: rgba(255,255,255,.2);
    }

    @media (max-width: 980px) {
      .partner .hero-inner {
        min-height: auto;
        grid-template-columns: 1fr;
        gap: 32px;
        padding: 54px 0 46px;
      }
      .partner .hero-copy { max-width: 760px; }
      .partner .hero-system {
        max-width: 760px;
        justify-self: start;
      }
      .partner .system-layers { grid-template-columns: repeat(3, minmax(0, 1fr)); }
      .partner .system-layer { grid-template-columns: 1fr; }
    }
    @media (max-width: 700px) {
      .partner #hero { padding-top: 66px; }
      .partner .hero-inner { padding: 42px 0 38px; gap: 26px; }
      .partner .hero-system { padding: 20px; border-radius: 18px; }
      .partner .system-layers { grid-template-columns: 1fr; }
      .partner .system-layer { grid-template-columns: 34px 1fr; }
      .partner .hero-word-wrap { margin-bottom: 17px; }
      .partner .hero-checks { margin-bottom: 22px; }
    }

    /* ══════════════════════════════════════
       FINAL REFRAMED PAGE COMPONENTS
    ══════════════════════════════════════ */
    .partner .audience-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 18px;
    }
    .partner .audience-card {
      background: #fff;
      border: 1px solid var(--border);
      border-radius: var(--r);
      padding: 22px 20px;
      box-shadow: var(--sh);
      transition: all .22s;
    }
    .partner .audience-card:hover {
      transform: translateY(-3px);
      border-color: var(--orange);
      box-shadow: 0 8px 28px rgba(26,46,74,.13);
    }
    .partner .audience-card h3 {
      color: var(--navy);
      font-size: .95rem;
      font-weight: 800;
      margin-bottom: 7px;
      line-height: 1.35;
    }
    .partner .audience-card p {
      color: var(--text-light);
      font-size: .82rem;
      line-height: 1.65;
    }

    .partner .decision-strip {
      background: #fff;
      border: 1px solid var(--border);
      border-radius: var(--rl);
      box-shadow: var(--sh);
      padding: 26px;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 14px;
      margin-top: 34px;
    }
    .partner .decision-item {
    border-left: 3px solid var(--orange);
    padding-left: 14px;
    border-left-color: var(--logo-green);
    }
    .partner .decision-item strong {
      display: block;
      color: var(--navy);
      font-size: .88rem;
      font-weight: 800;
      margin-bottom: 4px;
    }
    .partner .decision-item span {
      color: var(--text-light);
      font-size: .78rem;
      line-height: 1.55;
      display: block;
    }

    .partner .capability-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 18px;
    }
    .partner .cap-card {
      background: #fff;
      border: 1px solid var(--border);
      border-radius: var(--rl);
      padding: 28px 24px;
      box-shadow: var(--sh);
      transition: all .22s;
    }
    .partner .cap-card:hover {
      transform: translateY(-3px);
      box-shadow: var(--shl);
    }
    .partner .cap-card .cap-icon { font-size: 1.7rem; margin-bottom: 12px; }
    .partner .cap-card h3 { font-size: 1rem; font-weight: 800; color: var(--navy); margin-bottom: 8px; }
    .partner .cap-card p { font-size: .84rem; color: var(--text-light); line-height: 1.7; }

    .partner .model-grid-final {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 22px;
    }
    .partner .model-final {
      background: #fff;
      border: 1.5px solid var(--border);
      border-radius: var(--rl);
      padding: 30px 28px;
      box-shadow: var(--sh);
      transition: all .25s;
      position: relative;
      overflow: hidden;
    }
    .partner .model-final::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 5px;
    background: var(--logo-blue);
    }
    .partner .model-final:hover {
      border-color: var(--orange);
      box-shadow: var(--shl);
      transform: translateY(-4px);
    }
    .partner .model-num {
    display: inline-flex;
    width: 34px;
    height: 34px;
    align-items: center;
    justify-content: center;
    color: #fff;
    border-radius: 10px;
    font-weight: 800;
    font-size: .76rem;
    margin-bottom: 14px;
    background: var(--logo-blue);
    }
    .partner .model-final h3 {
      color: var(--navy);
      font-size: 1.15rem;
      font-weight: 800;
      margin-bottom: 9px;
      line-height: 1.35;
    }
    .partner .model-desc {
      color: var(--text-light);
      font-size: .88rem;
      line-height: 1.72;
      margin-bottom: 16px;
    }
    .partner .model-meta {
      display: grid;
      gap: 9px;
      margin-top: 14px;
    }
    .partner .model-meta div {
      background: var(--sky);
      border-radius: 10px;
      padding: 11px 13px;
      color: var(--text-light);
      font-size: .78rem;
      line-height: 1.55;
    }
    .partner .model-meta strong {
      color: var(--navy);
      font-weight: 800;
    }

    .partner .brand-grid, .partner .api-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 18px;
    }
    .partner .brand-card, .partner .api-card {
      background: #fff;
      border: 1px solid var(--border);
      border-radius: var(--r);
      padding: 23px 20px;
      box-shadow: var(--sh);
    }
    .partner .brand-card h3, .partner .api-card h3 {
      color: var(--navy);
      font-size: .95rem;
      font-weight: 800;
      margin-bottom: 7px;
    }
    .partner .brand-card p, .partner .api-card p {
      color: var(--text-light);
      font-size: .82rem;
      line-height: 1.65;
    }
    .partner .api-note {
      margin: 28px auto 0;
      max-width: 740px;
      text-align: center;
      color: var(--text-light);
      font-size: .9rem;
      line-height: 1.7;
    }
    .partner .api-note strong { color: var(--navy); }

    .partner .tests-grid-final {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 18px;
    }
    .partner .test-card-final {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: var(--r);
    padding: 22px 20px;
    box-shadow: var(--sh);
    border-top: 4px solid #cedff1;
    display: flex;
    flex-direction: column;
    gap: 8px;
    }
    .partner .test-pill {
      display: inline-flex;
      padding: 5px 11px;
      background: var(--sky);
      color: var(--navy);
      border-radius: 999px;
      font-size: .72rem;
      font-weight: 800;
      margin-bottom: 0px;
      width: fit-content;
    }
    .partner .test-card-final h3 {
      font-size: .98rem;
      color: var(--navy);
      font-weight: 800;
      margin-bottom: 6px;
    }
    .partner .test-card-final p {
      color: var(--text-light);
      font-size: .8rem;
      line-height: 1.6;
    }

    .partner .outcomes-grid-six {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 18px;
    }

    @media (max-width: 980px) {
      .partner .audience-grid, .partner .capability-grid, .partner .brand-grid, .partner .api-grid, .partner .tests-grid-final {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
      .partner .decision-strip { grid-template-columns: repeat(2, 1fr); }
      .partner .model-grid-final { grid-template-columns: 1fr; }
      .partner .outcomes-grid-six { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    }
    @media (max-width: 620px) {
      .partner .audience-grid, .partner .capability-grid, .partner .brand-grid, .partner .api-grid, .partner .tests-grid-final, .partner .decision-strip, .partner .outcomes-grid-six {
        grid-template-columns: 1fr;
      }
      .partner .model-final { padding: 26px 22px; }
    }


    /* Surgical polish: cleaner hero and final conversion copy */
    .partner .hero-inner {
      min-height: 510px;
      padding: 40px 0 36px;
      grid-template-columns: minmax(0, 1.03fr) minmax(330px, .77fr);
      gap: 48px;
    }
    .partner .hero-copy { max-width: 620px; }
    .partner .hero-h1 {
      font-size: clamp(2.15rem, 3.55vw, 3.12rem);
      line-height: 1.08;
      /* max-width: 620px; */
      margin-bottom: 15px;
    }
    .partner .hero-core-line {
      font-size: clamp(1.75rem, 2.85vw, 2.55rem);
      font-weight: 800;
      line-height: 1.1;
      letter-spacing: -.02em;
      margin-bottom: 8px;
      background: linear-gradient(90deg, #ffffff, #9bd8ff, #d8ecff);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }
    .partner .hero-conversion-line {
      color: #fff;
      font-size: clamp(1.05rem, 1.45vw, 1.25rem);
      font-weight: 800;
      margin-bottom: 18px;
      letter-spacing: -.01em;
    }
    .partner .hero-checks { gap: 8px; margin-bottom: 22px; max-width: 610px; }

    @media (max-width: 980px) {
      .partner .hero-inner { grid-template-columns: 1fr; min-height: auto; gap: 28px; padding: 44px 0 38px; }
      .partner .hero-copy { max-width: 760px; }
      .partner .hero-system { max-width: 760px; }
      .partner .system-layers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .partner .system-layer { grid-template-columns: 34px 1fr; }
    }
    @media (max-width: 620px) {
      .partner .hero-h1 { font-size: clamp(2rem, 10vw, 2.55rem); }
      .partner .hero-core-line { font-size: clamp(1.55rem, 8vw, 2.05rem); }
      .partner .hero-conversion-line { font-size: 1rem; }
      .partner .system-layers { grid-template-columns: 1fr; }
    }

  

    /* Hero visual integration */
    .partner .hero-image-card {
      max-width: 500px;
      padding: 18px;
      border-radius: 24px;
      background: linear-gradient(155deg, rgba(255,255,255,.10), rgba(255,255,255,.03)), rgba(7,18,36,.64);
      border: 1px solid rgba(255,255,255,.14);
      box-shadow: 0 30px 72px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.08);
      overflow: hidden;
    }
    .partner .hero-image-card::before,
    .partner .hero-image-card::after { display: none; }
    .partner .hero-image-top {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      margin-bottom: 14px;
    }
    .partner .hero-image-shell {
    position: relative;
    overflow: hidden;
    border-radius: var(--radius-md);
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.04);
    box-shadow: none;
    }
    .partner .hero-image-shell::after {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, rgba(7,18,36,.02) 0%, rgba(7,18,36,.16) 100%);
      pointer-events: none;
    }
    .partner .hero-illustration {
      display: block;
      width: 100%;
      height: auto;
      /* aspect-ratio: 4 / 3; */
      /* object-fit: cover; */
      object-fit: contain;
    }
    .partner .hero-image-caption {
      margin-top: 14px;
      padding-top: 14px;
      border-top: 1px solid rgba(255,255,255,.08);
    }
    .partner .hero-image-title {
      margin: 0 0 10px;
      color: #fff;
      font-size: .95rem;
      font-weight: 750;
      line-height: 1.5;
    }
    .partner .hero-image-tags {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 8px;
    }
    .partner .hero-image-tags span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 7px 11px;
    border-radius: 999px;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .02em;
    white-space: nowrap;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.24);
    color: rgba(255,255,255,.92);
    }
    @media (max-width: 980px) {
      .partner .hero-image-card { max-width: 760px; padding: 16px; }
    }
    @media (max-width: 700px) {
      .partner .hero-image-top { flex-direction: column; align-items: flex-start; }
      .partner .hero-image-card { border-radius: 20px; }
      .partner .hero-image-title { font-size: .9rem; }
      .partner .hero-image-tags span { font-size: .65rem; }
    }


    /* API section visual integration */
    .partner .api-visual-wrap {
      margin: 34px auto 0;
      max-width: 1080px;
    }
    .partner .api-visual-card {
      position: relative;
      overflow: hidden;
      border-radius: 22px;
      background:
        linear-gradient(145deg, rgba(13,30,51,.98), rgba(7,18,36,.96)),
        var(--navy-deep);
      border: 1px solid rgba(255,255,255,.10);
      box-shadow: 0 24px 70px rgba(13,30,51,.24);
      padding: 14px;
    }
    .partner .api-visual-card::before {
      content: '';
      position: absolute;
      inset: 0;
      background:
        radial-gradient(circle at 18% 15%, rgba(45,108,162,.20), transparent 34%),
        radial-gradient(circle at 86% 35%, rgba(245,124,0,.14), transparent 32%);
      pointer-events: none;
      z-index: 0;
    }
    .partner .api-visual-image {
      position: relative;
      z-index: 1;
      width: 100%;
      height: auto;
      display: block;
      border-radius: 16px;
      border: 1px solid rgba(255,255,255,.08);
      box-shadow: inset 0 0 0 1px rgba(255,255,255,.04);
    }
    .partner .api-visual-note {
      margin-top: 13px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      flex-wrap: wrap;
      color: rgba(255,255,255,.66);
      font-size: .78rem;
      font-weight: 650;
      text-align: center;
      position: relative;
      z-index: 1;
    }
    .partner .api-visual-note span {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 6px 10px;
      border-radius: 999px;
      background: rgba(255,255,255,.055);
      border: 1px solid rgba(255,255,255,.08);
    }
    .partner .api-visual-note span::before {
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--logo-green);
    box-shadow: 0 0 0 4px rgba(113,179,69,.18);
    }
    @media (max-width: 760px) {
      .partner .api-visual-card { padding: 9px; border-radius: 18px; }
      .partner .api-visual-image { border-radius: 12px; }
      .partner .api-visual-note { font-size: .7rem; }
    }

    /* PDF change: left-align the business-model headline/subhead block */
    .partner #audience .audience-heading { /*text-align: left;*/ margin-bottom: 48px; }
    .partner #audience .audience-heading .sh-sub { margin-left: auto; margin-right: auto; max-width: 780px; text-align: center; }
    .partner #audience .audience-heading .underline { margin-left: auto; margin-right: auto; }

    /* Brand alignment pass: reduce visual noise and match TCY-style UI language */
    .partner .nav-links a {
      color: rgba(255,255,255,.86);
      font-weight: 600;
    }
    .partner .nav-links a:hover {
      color: #ffffff;
    }

    .partner #hero {
      min-height: auto;
      background: linear-gradient(180deg, #4A90E2 0%, #3578B5 55%, #2569A0 100%);
    }
    .partner #hero::before,
    .partner #hero::after,
    .partner .h-orb1,
    .partner .h-orb2,
    .partner .h-orb3 {
      display: none;
    }
    .partner .hero-inner {
      min-height: 0;
      padding: 56px 0 52px;
      gap: 36px;
    }
    .partner .hero-h1 {
      font-size: clamp(2rem, 3.4vw, 2.9rem);
      line-height: 1.14;
    }
    .partner .hero-core-line {
      background: none;
      -webkit-text-fill-color: #ffffff;
      color: #ffffff;
      font-size: clamp(1.4rem, 2.4vw, 2rem);
      margin-bottom: 10px;
    }

    .partner .btn,
    .partner .btn-hero-primary,
    .partner .btn-hero-ghost {
      border-radius: var(--radius-sm);
      transition: background-color .2s ease, color .2s ease, border-color .2s ease;
      transform: none;
      box-shadow: none;
    }
    .partner .btn-hero-primary {
      background: var(--brand-orange);
      color: #ffffff;
      padding: 14px 24px;
      font-weight: 700;
    }
    .partner .btn-hero-primary:hover {
      background: #e06f00;
      transform: none;
      box-shadow: none;
    }
    .partner .btn-hero-ghost {
      background: rgba(255,255,255,.1);
      border: 1px solid rgba(255,255,255,.55);
      color: #ffffff;
      padding: 14px 24px;
      font-weight: 700;
    }
    .partner .btn-hero-ghost:hover {
      background: rgba(255,255,255,.16);
      border-color: rgba(255,255,255,.8);
      transform: none;
    }

    .partner .hero-image-card,
    .partner .hero-system {
    border-radius: var(--radius-lg);
    box-shadow: none;
    backdrop-filter: none;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.22);
    }
    .partner .hero-image-shell::after,
    .partner .hero-system::before,
    .partner .hero-system::after {
      display: none;
    }

    .partner .audience-card,
    .partner .cap-card,
    .partner .model-final,
    .partner .brand-card,
    .partner .api-card,
    .partner .test-card-final,
    .partner .decision-strip {
      border-radius: var(--radius-md);
      box-shadow: 0 2px 12px rgba(18,49,90,.08);
      border-color: #d9e4f1;
    }
    .partner .audience-card:hover,
    .partner .cap-card:hover,
    .partner .model-final:hover {
      transform: translateY(-2px);
      box-shadow: 0 6px 18px rgba(18,49,90,.12);
    }

    @media (max-width: 980px) {
      .partner section {
        padding: 64px 0;
      }
      .partner .hero-inner {
        padding: 46px 0 40px;
      }
    }
    @media (max-width: 620px) {
      .partner .wrap,
      .partner .nav-inner {
        padding-left: 18px;
        padding-right: 18px;
      }
      .partner .hero-ctas {
        gap: 10px;
      }
    }

    /* Light mode conversion with TCY brand accents */
    .partner .nav-tagline,
    .partner .nav-links a { color: var(--navy); }
    .partner .nav-links a:hover { color: var(--logo-blue); }

    .partner #hero {
      background: linear-gradient(135deg, #4A90E2 0%, #3578B5 55%, #2569A0 100%);
    }
    .partner .hero-h1,
    .partner .hero-core-line,
    .partner .hero-conversion-line { color: #fff; -webkit-text-fill-color: #fff; }
    .partner .hero-sub,
    .partner .hero-check,
    .partner .hero-microcopy { color: rgba(255,255,255,.86); }
    .partner .btn-hero-ghost {
      background: rgba(255,255,255,.08);
      color: #fff;
      border-color: rgba(255,255,255,.55);
    }
    .partner .btn-hero-ghost:hover {
      background: rgba(255,255,255,.15);
      border-color: rgba(255,255,255,.72);
    }
    .partner .hero-image-title,
    .partner .system-title,
    .partner .system-title strong,
    .partner .system-layer h3,
    .partner .system-footer span { color: #fff; }
    .partner .system-kicker,
    .partner .layer-label,
    .partner .layer-meta { color: rgba(255,255,255,.74); }
    .partner .exam-chip-row span,
    .partner .hero-image-tags span {
      background: rgba(255,255,255,.11);
      border-color: rgba(255,255,255,.28);
      color: #fff;
    }
    .partner .test-card-final.ielts { border-top-color: #0d5ea8; }
    .partner .test-card-final.pte { border-top-color: #5a36b1; }
    .partner .test-card-final.toefl { border-top-color: #1f4f8f; }
    .partner .test-card-final.det { border-top-color: #1f9ed8; }
    .partner .test-card-final.lc { border-top-color: #1f6fb5; }
    .partner .test-card-final.oet { border-top-color: #0f8a79; }
    .partner .test-card-final.celpip { border-top-color: #1565c0; }
    .partner .test-features {
      margin: 2px 0 0;
      padding-left: 18px;
      color: var(--text-light);
      font-size: .78rem;
      line-height: 1.55;
    }
    .partner .test-features li { margin: 4px 0; }

    /* #finalcta intentionally excluded from these light-mode overrides */
    .partner #gap,
    .partner #stakeholders,
    .partner #metrics,
    .partner footer {
      background: #ffffff;
    }
    .partner h2.sh.inv,
    .partner .tab-pane h3,
    .partner .mcard2 h4,
    .partner .outcome-card h3 { color: var(--navy); }
    .partner .sh-sub.inv,
    .partner .tab-pane > div > p,
    .partner .tbullet,
    .partner .outcome-card p,
    .partner footer p,
    .partner footer a { color: var(--text-light); }

    .partner .gap-card,
    .partner .tab-pane,
    .partner .mcard2,
    .partner .outcome-card {
      background: #f7fbff;
      border: 1px solid #dbe7f4;
    }
    .partner .ticon {
      background: var(--orange);
      color: #ffffff;
    }
    .partner .f-pill {
      background: #f3f8ff;
      color: var(--navy);
      border: 1px solid #d5e3f2;
    }
    .partner .f-pill i {
      background: var(--orange);
      color: #ffffff;
    }
    .partner .insight-strip {
      margin-top: 26px;
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 14px;
    }
    .partner .insight-card {
      background: #f7fbff;
      border: 1px solid #dbe7f4;
      border-radius: 10px;
      padding: 14px 12px;
    }
    .partner .insight-card strong {
      display: block;
      color: var(--navy);
      font-size: .82rem;
      margin-bottom: 4px;
    }
    .partner .insight-card span {
      color: var(--text-light);
      font-size: .76rem;
      line-height: 1.5;
    }
    @media (max-width: 980px) {
      .partner .insight-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }
    @media (max-width: 620px) {
      .partner .insight-strip {
        grid-template-columns: 1fr;
      }
    }

    /* TCY logo color theme — blue/green/yellow sitewide; orange reserved for CTAs */
    .partner .opp-text h2 span,
    .partner .prop-left h2 span {
      color: var(--logo-blue);
    }
    .partner .fcard::before {
      background: var(--logo-blue);
    }
    .partner .ticon,
    .partner .tbullet span {
      background: var(--logo-green);
    }
    .partner .step-circ {
      background: var(--logo-blue);
    }
    .partner .step:hover .step-circ {
      background: var(--logo-green);
    }
    .partner .audience-card:hover,
    .partner .cap-card:hover,
    .partner .model-final:hover,
    .partner .mcard:hover,
    .partner .ppill:hover {
      border-color: var(--logo-blue);
      box-shadow: 0 6px 20px rgba(74,144,226,.14);
    }
    .partner .cd-icon {
      background: var(--orange);
    }

    /* Material Icons — shared icon containers */
    .partner .gap-icon,
    .partner .cap-icon,
    .partner .outcome-icon {
      display: flex;
      align-items: center;      
      line-height: 1;
      color: var(--logo-blue);
    }
    .partner .mcard2-ico {
      display: flex;
      align-items: center;
      justify-content: center;
      line-height: 1;
      color: var(--logo-blue);
    }
    .partner .gap-icon .material-icons { font-size: 32px; }
    .partner .cap-icon .material-icons { font-size: 34px; }
    .partner .outcome-icon .material-icons { font-size: 36px; }
    .partner .mcard2-ico .material-icons { font-size: 30px; }
    .partner .hck .material-icons {
      font-size: 14px;
      line-height: 1;
    }
    .partner .linkedin-mark .material-icons {
      font-size: 15px;
      line-height: 1;
    }
    .partner .mi-inline {
      font-size: 1.05em;
      vertical-align: -3px;
      margin-left: 2px;
    }

    /* ── Unified vertical rhythm (equal section spacing sitewide) ── */

    .partner #hero {
      padding-top: 70px;
      padding-bottom: 0;
      min-height: auto;
    }

    .partner .hero-inner {
      min-height: auto;
      padding-top: 48px;
      padding-bottom: 48px;
    }

    .partner #trust,
    .partner #audience,
    .partner #gap,
    .partner #features,
    .partner #models,
    .partner #branding,
    .partner #api,
    .partner #tests,
    .partner #stakeholders,
    .partner #metrics,
    .partner #rollout,
    .partner #finalcta,
    .partner #contact {
      padding-top: var(--section-space);
      padding-bottom: var(--section-space);
    }

    .partner .sh-wrap,
    .partner .compact-heading {
      margin-bottom: var(--section-heading-space);
    }
    .partner #audience .audience-heading{margin-bottom: 0;}

    @media (max-width: 980px) {
      .partner section,
      .partner #trust,
      .partner #audience,
      .partner #gap,
      .partner #features,
      .partner #models,
      .partner #branding,
      .partner #api,
      .partner #tests,
      .partner #stakeholders,
      .partner #metrics,
      .partner #rollout,
      .partner #finalcta,
      .partner #contact {
        padding-top: var(--section-space-md);
        padding-bottom: var(--section-space-md);
      }

      .partner #hero {
        padding-top: 70px;
        padding-bottom: 0;
      }

      .partner .hero-inner {
        padding-top: 40px;
        padding-bottom: 40px;
      }
    }

    @media (max-width: 620px) {
      .partner section,
      .partner #trust,
      .partner #audience,
      .partner #gap,
      .partner #features,
      .partner #models,
      .partner #branding,
      .partner #api,
      .partner #tests,
      .partner #stakeholders,
      .partner #metrics,
      .partner #rollout,
      .partner #finalcta,
      .partner #contact {
        padding-top: var(--section-space-sm);
        padding-bottom: var(--section-space-sm);
      }

      .partner .hero-inner {
        padding-top: 32px;
        padding-bottom: 32px;
      }
    }

/* ── Form field errors ── */
@keyframes fieldErrorFadeIn {
  from {
    opacity: 0;
    transform: translateY(-3px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.field-error {
  display: none;
  font-size: 12px;
  color: red;
  font-weight: 500;
  margin-top: 4px;
  line-height: 1.4;
  align-items: center;
  gap: 6px;
}

.field-error:not(:empty) {
  display: flex;
  animation: fieldErrorFadeIn 0.25s ease;
}

.field-error:not(:empty)::before {
  content: "!";
  flex-shrink: 0;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: #ffeaea;
  border: 1px solid #ffcccc;
  color: red;
  font-size: 10px;
  font-weight: 700;
  line-height: 13px;
  text-align: center;
}

.partner .form-general-error {
  display: none;
  font-size: 12px;
  color: red;
  font-weight: 500;
  margin-top: 8px;
  line-height: 1.4;
  text-align: left;
  align-items: center;
  gap: 6px;
}

.partner .form-general-error:not(:empty) {
  display: flex;
  animation: fieldErrorFadeIn 0.25s ease;
}

.partner .form-general-error:not(:empty)::before {
  content: "!";
  flex-shrink: 0;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: #ffeaea;
  border: 1px solid #ffcccc;
  color: red;
  font-size: 10px;
  font-weight: 700;
  line-height: 13px;
  text-align: center;
}
