/* Partner pages: full-width sections on the shared ai-kit skeleton */
body.s-ptn{--ac:#ed1c24;--ac2:#ff6b6b;--ac3:#ffb703;--ac-d:#c9141b;--bk:#0a1230;--bk2:#101c48;--pap:#fff;--tint1:color-mix(in srgb,var(--ac) 4%,#fff);--tint2:color-mix(in srgb,var(--ac) 9%,#fff);--ink:#0b1020;--tx:#4b556f;--mut:#7480a0;--ln:#0b102017;--dtx:#d7deef;--dmut:#a9b4d0;--gr:linear-gradient(120deg,#ed1c24,#ff6b6b 55%,#ffb703);--gr2:linear-gradient(120deg,#ed1c24,#ff4650);--shd:color-mix(in srgb,var(--ac) 16%,transparent)}
.pt-cg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.pt-cg article{padding:26px 22px;border:1px solid var(--ln);border-radius:22px;background:var(--card);box-shadow:0 12px 30px var(--shd);transition:.45s var(--ease)}
.pt-cg article:hover{transform:translateY(-6px);border-color:var(--ac);box-shadow:0 22px 48px var(--shd)}
.pt-n{display:block;margin-bottom:14px;font:700 .72rem var(--f-m);letter-spacing:.14em;color:var(--ac-d)}
body.s-ptn .pt-cg h3{font-size:1.12rem;margin:0 0 8px;letter-spacing:-.02em}
body.s-ptn .pt-cg p{margin:0;font-size:.95rem;line-height:1.6}
.pt-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;position:relative}
.pt-steps li{padding:24px 22px;border:1px solid #ffffff1f;border-radius:22px;background:#ffffff0a}
.pt-sn{display:grid;place-items:center;width:42px;height:42px;margin-bottom:14px;border-radius:12px;background:var(--gr2);color:#fff;font:700 1rem var(--f-d)}
body.s-ptn .ak-dk .pt-steps b{display:block;font-size:1.1rem;margin-bottom:6px;color:#fff}
body.s-ptn .ak-dk .pt-steps p{margin:0;font-size:.94rem;line-height:1.6}
.pt-wg{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.pt-wl{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 22px;border:1px solid var(--ln);border-radius:18px;background:var(--card);text-decoration:none;transition:.45s var(--ease)}
.pt-wl:hover{transform:translateY(-4px);border-color:var(--ac);box-shadow:0 18px 40px var(--shd)}
body.s-ptn .pt-wl b{font-size:1.02rem;line-height:1.3}
.pt-wl i{font-style:normal;color:var(--ac-d);transition:transform .3s var(--ease)}.pt-wl:hover i{transform:translateX(4px)}
body.s-ptn .pt-cta .wrap{max-width:760px}
.pt-pg{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.pt-pc{display:flex;flex-direction:column;gap:6px;padding:26px 24px 22px;border:1px solid var(--ln);border-radius:22px;background:var(--card);box-shadow:0 12px 30px var(--shd);text-decoration:none;transition:.45s var(--ease)}
.pt-pc:hover{transform:translateY(-6px);border-color:var(--ac);box-shadow:0 22px 48px var(--shd)}
body.s-ptn .pt-pc small{font:700 .66rem var(--f-m);letter-spacing:.14em;text-transform:uppercase;color:var(--ac-d)}
body.s-ptn .pt-pc h3{font-size:1.3rem;margin:2px 0 0;letter-spacing:-.02em}
body.s-ptn .pt-pc p{margin:0;font-size:.97rem;line-height:1.6}
.pt-go{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:14px;font-weight:600;font-size:.92rem;color:var(--ink);transition:gap .3s var(--ease),color .3s}
.pt-go svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2}
.pt-pc:hover .pt-go{gap:14px;color:var(--ac-d)}
.pt-chips{display:flex;flex-wrap:wrap;gap:10px}
.pt-chips a{padding:10px 18px;border:1px solid var(--ln);border-radius:999px;background:#fff;color:var(--ink);font-weight:500;font-size:.94rem;text-decoration:none;transition:.3s var(--ease)}
.pt-chips a:hover{border-color:var(--ac);color:var(--ac-d);transform:translateY(-2px)}
.pt-tm{margin:34px auto 0;max-width:560px;padding-top:18px;border-top:1px solid #ffffff1f;font-size:.8rem;line-height:1.5}body.s-ak .ak-dk p.pt-tm{color:var(--dmut)}
body.s-ptn .pt-more{padding:28px 0}.pt-more .pt-tm{margin:0}.pt-more .pt-chips+.pt-tm{margin-top:22px}
@media(max-width:1100px){.pt-cg,.pt-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.pt-cg,.pt-steps{grid-template-columns:minmax(0,1fr)}.pt-pg{grid-template-columns:minmax(0,1fr)}}

/* per-partner accents */

body.pt-signature,.pt-pc.pt-signature,.pt-oc.pt-signature{--ac:#5b4bdb;--ac2:#a5b4fc;--ac3:#f472b6;--ac-d:#4a3bc4;--bk:#110d33;--bk2:#1f1a58;--gr:linear-gradient(120deg,#5b4bdb,#a5b4fc 55%,#f472b6);--gr2:linear-gradient(120deg,#5b4bdb,#7c6df0)}
body.pt-asset,.pt-pc.pt-asset,.pt-oc.pt-asset{--ac:#d97706;--ac2:#fcd34d;--ac3:#14b8a6;--ac-d:#b45309;--bk:#14161a;--bk2:#23262e;--gr:linear-gradient(120deg,#d97706,#fcd34d 55%,#14b8a6);--gr2:linear-gradient(120deg,#d97706,#f59e0b)}
body.pt-centre,.pt-pc.pt-centre,.pt-oc.pt-centre{--ac:#2563eb;--ac2:#60a5fa;--ac3:#f97316;--ac-d:#1d4ed8;--bk:#07122e;--bk2:#0e2250;--gr:linear-gradient(120deg,#2563eb,#60a5fa 55%,#f97316);--gr2:linear-gradient(120deg,#2563eb,#3b82f6)}

/* hero visual */
.pt-vis{padding:18px 18px 22px}
.pt-link{display:grid;grid-template-columns:minmax(0,1fr) minmax(70px,.7fr) minmax(0,1fr);align-items:center;margin:6px 0 16px}
.pt-node{padding:16px 14px;border:1px solid #ffffff2a;border-radius:18px;background:#ffffff0d;text-align:center;position:relative}
.pt-node::after{content:"";position:absolute;inset:-1px;border-radius:inherit;border:1px solid var(--ac2);opacity:.0;animation:ptRing 3s ease-in-out infinite}
.pt-pn::after{animation-delay:1.5s}
body.s-ak .ak-dk .pt-node b{display:block;font:700 1.05rem var(--f-d);color:#fff}
.pt-node small{display:block;margin-top:3px;font-size:.7rem;line-height:1.35;color:var(--dmut)}
.pt-pn{background:linear-gradient(160deg,color-mix(in srgb,var(--ac) 30%,transparent),#ffffff08);border-color:color-mix(in srgb,var(--ac2) 45%,transparent)}
.pt-wire{position:relative;height:2px;margin:0 6px;background:repeating-linear-gradient(90deg,#ffffff40 0 6px,transparent 6px 12px)}
.pt-wire i{position:absolute;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--ac2);box-shadow:0 0 14px var(--ac2);animation:ptFlow 2.4s linear infinite}
.pt-wire i:nth-child(2){animation-delay:.8s}.pt-wire i:nth-child(3){animation-delay:1.6s}
.pt-lanes{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pt-lanes li{display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:12px;align-items:center;padding:10px 12px;border:1px solid #ffffff1c;border-radius:14px;background:#ffffff08;position:relative;overflow:hidden}
.pt-lanes li:has(>a){display:block;padding:0;border:0;background:transparent;overflow:visible}
.pt-lanes a{display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:12px;align-items:center;padding:10px 12px;border:1px solid #ffffff1c;border-radius:14px;background:#ffffff08;position:relative;overflow:hidden;color:inherit;text-decoration:none;cursor:pointer;transition:border-color .25s,background .25s,transform .3s var(--ease)}
.pt-lanes a:hover{border-color:#ffffff66;background:#ffffff14;transform:translateY(-2px)}
.pt-lanes li>i,.pt-lanes a>i{grid-row:1/3;display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:color-mix(in srgb,var(--ac) 24%,transparent);font-style:normal;font-size:1.1rem}
.pt-lanes span{min-width:0}
body.s-ak .ak-dk .pt-lanes b{display:block;font:600 .84rem var(--f-d);color:#fff;line-height:1.25}
.pt-lanes em{font-style:normal;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--dmut)}
.pt-bar{grid-column:2;display:block;height:3px;margin-top:7px;border-radius:3px;background:#ffffff14;position:relative;overflow:hidden;text-decoration:none}
.pt-bar::after{content:"";position:absolute;inset:0;width:100%;background:var(--gr);transform-origin:left;animation:ptBar 3.6s var(--ease) infinite;animation-delay:var(--d,0s)}
@keyframes ptFlow{0%{left:0;opacity:0}15%{opacity:1}85%{opacity:1}100%{left:calc(100% - 10px);opacity:0}}
@keyframes ptRing{0%,100%{opacity:0;transform:scale(1)}50%{opacity:.8;transform:scale(1.04)}}
@keyframes ptBar{0%{transform:scaleX(.08)}60%,100%{transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){.pt-wire i,.pt-node::after,.pt-bar::after{animation:none}.pt-bar::after{transform:none}}

/* sections */
.pt-ic{display:grid;place-items:center;width:54px;height:54px;margin-bottom:14px;border-radius:16px;background:color-mix(in srgb,var(--ac) 14%,transparent);font-size:1.6rem}
.pt-cg article{position:relative;overflow:hidden}
.pt-cg article::before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:var(--gr);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.pt-cg article:hover::before{transform:scaleX(1)}
.pt-n{position:absolute;right:20px;top:20px;margin:0;opacity:.55}
.pt-about{max-width:860px;display:grid;gap:18px}
body.s-ptn .pt-about p{margin:0;font-size:1.12rem;line-height:1.8}
body.s-ptn .ak-lt .pt-about p.pt-call{padding:22px 26px;border-radius:20px;border:1px solid var(--ln);border-left:4px solid var(--ac);background:linear-gradient(120deg,var(--tint1),#fff);color:var(--ink);font-size:1.08rem;box-shadow:0 14px 34px var(--shd)}
.pt-steps::before{content:"";position:absolute;left:5%;right:5%;top:45px;height:2px;background:linear-gradient(90deg,transparent,#ffffff33 10%,#ffffff33 90%,transparent)}
.pt-steps li{position:relative;transition:.45s var(--ease)}
.pt-steps li:hover{transform:translateY(-6px);background:#ffffff12;border-color:color-mix(in srgb,var(--ac2) 55%,transparent)}
.pt-sn{position:relative;box-shadow:0 0 0 6px color-mix(in srgb,var(--ac) 22%,transparent)}
.pt-wl{position:relative}
.pt-wl::before{content:"";position:absolute;left:0;top:18%;bottom:18%;width:3px;border-radius:3px;background:var(--gr)}
.pt-pc .pt-ic{margin-bottom:10px}
.pt-pc{position:relative;overflow:hidden}
.pt-pc::before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:var(--gr);opacity:.0;transition:opacity .4s}
.pt-pc:hover::before{opacity:1}
body.s-ptn .pt-hero .ak-copy h1{font-size:clamp(2.2rem,4.2vw,3.8rem)}
@media(max-width:1100px){.pt-steps::before{display:none}.pt-vis{padding:0}}
.pt-cta{padding:clamp(56px,9vh,96px) 0;text-align:center}
.pt-cta .ak-cta{justify-content:center}
.pt-cta .ak-k{justify-content:center}
.pt-cta h2{font-size:clamp(1.9rem,3.4vw,2.8rem);margin-bottom:14px}
.pt-cta p{font-size:1.04rem}
.pt-cta p.pt-tm{font-size:.8rem}

/* centred section heads */
.pt-chead{margin-inline:auto;text-align:center}
.pt-chead .ak-k{justify-content:center}
.pt-chead p:not(.ak-k){margin-inline:auto;max-width:640px}

/* The partner */
.pt-prof{position:relative;margin:0;padding:clamp(24px,3.4vw,44px);border:1px solid var(--ln);border-radius:28px;background:radial-gradient(520px 260px at 100% 0,color-mix(in srgb,var(--ac) 12%,transparent),transparent 70%),#fff;box-shadow:0 30px 70px var(--shd);overflow:hidden}
.pt-prof::before{content:"";position:absolute;left:0;top:0;right:0;height:4px;background:var(--gr)}
.pt-prof-top{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.pt-prof-top>div{flex:1;min-width:160px}
.pt-prof-top small{display:block;font:700 .66rem var(--f-m);letter-spacing:.14em;text-transform:uppercase;color:var(--ac-d)}
body.s-ptn .pt-prof-top b{display:block;font:700 1.35rem var(--f-d);letter-spacing:-.02em;color:var(--ink)}
.pt-big{width:64px;height:64px;margin:0;font-size:1.9rem;border-radius:20px}
.pt-pill{padding:8px 16px;border-radius:999px;background:color-mix(in srgb,var(--ac) 12%,transparent);font:600 .8rem var(--f-b);color:var(--ac-d)}
body.s-ptn .ak-lt .pt-prof .pt-pill{color:var(--ac-d)}
body.s-ptn .pt-prof .pt-lead{margin:0 0 26px;font-size:clamp(1.1rem,1.5vw,1.3rem);line-height:1.7;color:var(--ink);letter-spacing:-.01em}
.pt-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0}
.pt-meta>div{padding:16px 18px;border-radius:16px;background:var(--tint1);border:1px solid var(--ln)}
.pt-meta dt{margin:0 0 4px;font:700 .62rem var(--f-m);letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
.pt-meta dd{margin:0;font-weight:600;line-height:1.4;color:var(--ink)}
.pt-how{display:flex;gap:20px;align-items:center;margin:18px 0 0;padding:clamp(20px,3vw,30px);border-radius:24px;background:radial-gradient(420px 200px at 0 0,color-mix(in srgb,var(--ac) 40%,transparent),transparent 70%),linear-gradient(160deg,var(--bk2),var(--bk));box-shadow:0 24px 60px var(--shd)}
.pt-how .pt-ic{flex:none;margin:0;background:#ffffff1a}
body.s-ptn .pt-how h3{margin:0 0 6px;font-size:1.2rem;color:#fff}
body.s-ptn .ak-lt .pt-how p{margin:0;line-height:1.7;color:var(--dtx)}

/* Where it fits */
.pt-wg{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.pt-wl{display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:26px 24px 22px;border-radius:24px;overflow:hidden;background:linear-gradient(180deg,#fff,var(--tint1))}
.pt-wl::before{left:0;right:0;top:0;bottom:auto;width:auto;height:3px;border-radius:0;transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.pt-wl:hover::before{transform:scaleX(1)}
body.s-ptn .pt-wl b{display:block;margin:0 0 8px;font-size:1.12rem;letter-spacing:-.02em;color:var(--ink)}
body.s-ptn .pt-wl p{margin:0 0 16px;font-size:.94rem;line-height:1.6}
.pt-wl .pt-go{margin-top:auto;padding-top:0}
.pt-wl:hover .pt-go{gap:14px;color:var(--ac-d)}

@media(max-width:760px){
  .pt-meta{grid-template-columns:minmax(0,1fr)}
  .pt-how{flex-direction:column;align-items:flex-start}
}

/* Other partners */
.pt-og{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.pt-oc{position:relative;display:flex;align-items:center;gap:16px;padding:18px 20px;border:1px solid var(--ln);border-radius:20px;background:#fff;text-decoration:none;overflow:hidden;box-shadow:0 10px 26px color-mix(in srgb,var(--ac) 8%,transparent);transition:.45s var(--ease)}
.pt-oc::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--gr)}
.pt-oc:hover{transform:translateY(-5px);border-color:var(--ac);box-shadow:0 22px 48px var(--shd)}
.pt-oc .pt-ic{flex:none;margin:0}
.pt-ot{flex:1;min-width:0;display:grid;gap:3px}
body.s-ptn .pt-oc small{font:700 .6rem var(--f-m);letter-spacing:.12em;text-transform:uppercase;color:var(--ac-d);line-height:1.35}
body.s-ptn .pt-oc b{font:700 1.05rem var(--f-d);letter-spacing:-.02em;color:var(--ink)}
.pt-arr{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--tint2);font-style:normal;color:var(--ac-d);transition:.35s var(--ease)}
.pt-oc:hover .pt-arr{background:var(--gr2);color:#fff;transform:translateX(3px)}
.pt-all{margin:26px 0 0;text-align:center}
.pt-all a{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--ink);text-decoration:none;transition:gap .3s var(--ease),color .3s}
.pt-all a:hover{gap:14px;color:var(--ac-d)}
.pt-all svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2}

/* solutions: hub + partner blocks */
.pt-pg3{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.pt-cg3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.pt-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.pt-tags em{font-style:normal;padding:5px 12px;border-radius:999px;background:color-mix(in srgb,var(--ac) 10%,transparent);font:600 .74rem var(--f-b);color:var(--ac-d)}
.pt-pgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.pt-ptn{padding:22px 22px 20px;border:1px solid var(--ln);border-left:4px solid var(--ac);border-radius:18px;background:linear-gradient(180deg,#fff,var(--tint1));box-shadow:0 10px 26px color-mix(in srgb,var(--ac) 8%,transparent);transition:.45s var(--ease)}
.pt-ptn:hover{transform:translateY(-4px);box-shadow:0 20px 44px var(--shd)}
.pt-role{display:inline-block;margin-bottom:10px;padding:4px 10px;border-radius:999px;background:color-mix(in srgb,var(--ac) 12%,transparent);font:700 .6rem var(--f-m);letter-spacing:.12em;text-transform:uppercase;color:var(--ac-d)}
body.s-ptn .pt-ptn h3{margin:0 0 6px;font-size:1.12rem;letter-spacing:-.02em}
body.s-ptn .pt-ptn p{margin:0;font-size:.94rem;line-height:1.6}
body.s-ptn .ak-lt p.pt-choose{margin:18px 0 0;padding:16px 20px;border-radius:16px;border:1px dashed color-mix(in srgb,var(--ac) 45%,transparent);background:color-mix(in srgb,var(--ac) 5%,#fff);line-height:1.65}
.pt-choose b{color:var(--ink)}
