/* /partners: partner programme. Every class is prefixed pt- (v2.css owns the short names). Editorial layout: big type,
   a full-bleed photograph at full brightness, hairline lattices, mono data labels, cyan only as a signal, white primary
   buttons. The platform window is a light app UI set inside the dark page. */

/* the site-wide "Book a load study" bar (x3.js) points customers elsewhere; this page has its own form */
#cta{display:none !important}
.pt-k{display:block; font-family:var(--fm); font-size:9.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--dim)}
.pt-go{width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; transition:transform .45s var(--e)}

/* ---------- hero: type first, then the photograph, then the programme ledger ---------- */
.hero.pt-hero{display:block; min-height:0; overflow:visible; padding:calc(var(--navh) + clamp(46px,6vw,90px)) 0 0; align-items:initial}
.pt-hero-g{display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,.86fr); gap:clamp(30px,3.6vw,64px); align-items:end; margin-top:30px}
.pt-h1{margin-top:24px; font-size:clamp(44px,6.1vw,94px); letter-spacing:-.04em; line-height:.96}
.pt-hero-s{padding-bottom:12px}
.pt-hero-s .lead{max-width:44ch}
.pt-hero-s .btn-row{margin-top:30px}
.pt-hero-fig{position:relative; margin:clamp(46px,6vw,84px) 0 0; padding:0 var(--pt-in,0px)}
.pt-hero-ph{position:relative; overflow:hidden; height:clamp(380px,58vw,860px); border-radius:var(--pt-r,0px); background:var(--bg3)}
.pt-hero-ph img{width:100%; height:100%; object-fit:cover; object-position:50% 58%; transform:scale(var(--pt-s,1.08)); transform-origin:50% 60%; will-change:transform}
.pt-hero-ph::after{content:''; position:absolute; inset:0; background:linear-gradient(to bottom,rgba(5,7,12,.35) 0%,rgba(5,7,12,0) 22%,rgba(5,7,12,0) 70%,rgba(5,7,12,.7) 100%); pointer-events:none}
.pt-hero-fig figcaption{position:absolute; left:calc(var(--gut) + var(--pt-in,0px)); right:calc(var(--gut) + var(--pt-in,0px)); bottom:22px; display:flex; justify-content:space-between; gap:20px; font-family:var(--fm); font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:rgba(238,243,250,.78)}
.pt-band{max-width:var(--maxw); margin:0 auto; padding:0 var(--gut)}
.pt-ledger{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:0; border-bottom:1px solid var(--line)}
.pt-ledger div{padding:30px 24px 32px 0; border-right:1px solid var(--line)}
.pt-ledger div+div{padding-left:28px}
.pt-ledger div:last-child{border-right:0}
.pt-ledger dt{font-family:var(--fm); font-size:9.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--dim)}
.pt-ledger dd{margin:12px 0 0; font-family:var(--fd); font-weight:300; font-size:clamp(34px,3.6vw,54px); line-height:1; letter-spacing:-.03em; color:var(--ink); font-variant-numeric:tabular-nums}
.pt-ledger small{display:block; margin-top:10px; font-family:var(--fb); font-weight:400; font-size:13px; letter-spacing:0; color:var(--mut)}

/* ---------- 01 · partner models: vertical tabs over large photo panels ---------- */
.pt-mx{display:grid; grid-template-columns:minmax(0,.78fr) minmax(0,1.62fr); gap:clamp(24px,3vw,48px); align-items:start}
.pt-mx-list{position:sticky; top:calc(var(--navh) + 24px); display:flex; flex-direction:column; border-top:1px solid var(--line)}
.pt-mx-t{position:relative; display:grid; grid-template-columns:38px minmax(0,1fr) 14px; gap:12px; align-items:center; width:100%; padding:22px 4px 22px 0; border:0; border-bottom:1px solid var(--line); background:none; color:var(--mut); text-align:left; cursor:pointer; transition:color .35s, padding .45s var(--e)}
.pt-mx-t::before{content:''; position:absolute; left:0; bottom:-1px; height:1px; width:0; background:var(--cyan); transition:width .7s var(--e)}
.pt-mx-t em{font-style:normal; font-family:var(--fm); font-size:11px; color:var(--dim); font-variant-numeric:tabular-nums}
.pt-mx-t b{display:block; font-family:var(--fd); font-weight:400; font-size:clamp(19px,1.6vw,23px); letter-spacing:-.015em; color:var(--ink2); transition:color .35s}
.pt-mx-t small{display:block; margin-top:4px; font-size:12.6px; color:var(--dim)}
.pt-mx-t .pt-go{opacity:0; transform:translateX(-6px); color:var(--cyan)}
.pt-mx-t:hover b{color:var(--ink)}
.pt-mx-t.on{padding-left:10px}
.pt-mx-t.on::before{width:100%}
.pt-mx-t.on em{color:var(--cyan)}
.pt-mx-t.on b{color:var(--ink)}
.pt-mx-t.on .pt-go{opacity:1; transform:none}
.pt-mx-t:focus-visible{outline:2px solid var(--cyan); outline-offset:2px}
.pt-mx-panes{position:relative}
.pt-mx-p{display:none; border:1px solid var(--line); border-radius:16px; overflow:hidden; background:var(--bg2)}
.pt-mx-p.on{display:block; animation:ptPane .6s var(--e) both}
.pt-mx-ph{position:relative; aspect-ratio:16/8.4; overflow:hidden; background:var(--bg3)}
.pt-mx-ph img{width:100%; height:100%; object-fit:cover; display:block; animation:ptZoom 1.6s var(--e) both}
.pt-mx-ph::after{content:''; position:absolute; inset:0; background:linear-gradient(to top,var(--bg2) 0%,rgba(8,12,20,0) 45%)}
.pt-mx-n{position:absolute; right:18px; top:16px; z-index:1; font-family:var(--fm); font-size:10px; letter-spacing:.16em; color:rgba(238,243,250,.8)}
.pt-mx-b{padding:0 clamp(22px,3vw,40px) clamp(26px,3vw,38px); margin-top:-34px; position:relative}
.pt-mx-b h3{margin:10px 0 0; font-family:var(--fd); font-weight:400; font-size:clamp(30px,3vw,44px); letter-spacing:-.025em; line-height:1.05; color:var(--ink)}
.pt-mx-l{margin:14px 0 0; max-width:60ch; font-size:16px; line-height:1.65; color:var(--ink2)}
.pt-mx-3{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:28px; border-top:1px solid var(--line)}
.pt-mx-3>div{padding:18px 20px 4px 0}
.pt-mx-3>div+div{padding-left:20px; border-left:1px solid var(--line)}
.pt-mx-3 ul{list-style:none; margin:10px 0 0; padding:0}
.pt-mx-3 li{position:relative; padding:5px 0 5px 16px; font-size:14px; line-height:1.5; color:var(--ink2)}
.pt-mx-3 li::before{content:''; position:absolute; left:0; top:13px; width:7px; height:1px; background:var(--line3)}
.pt-mx-3 p{margin:10px 0 0; font-size:14px; line-height:1.6; color:var(--ink)}
.pt-mx-a{display:inline-flex; align-items:center; gap:10px; margin-top:26px; padding:13px 18px; border-radius:9px; background:var(--ink); color:#05070C; font-family:var(--fd); font-weight:600; font-size:14px; transition:background .3s}
.pt-mx-a:hover{background:#fff}
.pt-mx-a:hover .pt-go{transform:translateX(3px)}
@keyframes ptPane{from{opacity:0; transform:translateY(8px)}to{opacity:1; transform:none}}
@keyframes ptZoom{from{transform:scale(1.06)}to{transform:none}}

/* ---------- 02 · what we add: wiring diagram, then the lattice ---------- */
.pt-fit-sec{padding-top:0}
.pt-fit{display:grid; grid-template-columns:minmax(0,1fr) 90px minmax(0,1.15fr) 90px minmax(0,1fr); align-items:center}
.pt-fit-c ol{list-style:none; margin:14px 0 0; padding:0; border-top:1px solid var(--line)}
.pt-fit-c li{display:flex; gap:14px; align-items:baseline; padding:15px 0; border-bottom:1px solid var(--line); font-family:var(--fd); font-size:17px; color:var(--ink)}
.pt-fit-c li em{font-style:normal; font-family:var(--fm); font-size:10.5px; color:var(--dim)}
.pt-wire{width:100%; height:300px; overflow:visible}
.pt-wire path{fill:none; stroke:rgba(60,204,252,.42); stroke-width:1.2; vector-effect:non-scaling-stroke; stroke-dasharray:3 7; animation:ptFlow 1.6s linear infinite}
.pt-wire-r{transform:scaleX(-1)}
.pt-wire-r path{animation-direction:reverse}
@keyframes ptFlow{to{stroke-dashoffset:-20}}
.pt-core{position:relative; padding:28px 28px 22px; border:1px solid var(--line2); border-radius:16px; background:linear-gradient(180deg,#0B111C,#070B12); box-shadow:0 40px 80px -40px rgba(0,0,0,.9)}
.pt-core-h{display:flex; align-items:center; gap:12px; padding-bottom:18px; border-bottom:1px solid var(--line)}
.pt-core-h b{font-family:var(--fd); font-weight:300; font-size:20px; letter-spacing:.3em; color:var(--ink)}
.pt-core ul{list-style:none; margin:0; padding:0}
.pt-core li{display:flex; justify-content:space-between; gap:12px; padding:13px 0; border-bottom:1px dashed rgba(150,190,255,.1); font-size:14.4px; color:var(--ink2)}
.pt-core li:last-child{border-bottom:0}
.pt-core li::after{content:''; flex:none; align-self:center; width:6px; height:6px; border-radius:50%; background:var(--cyan); opacity:.75}
.pt-value{list-style:none; margin:clamp(60px,7vw,110px) 0 0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--line); border-left:1px solid var(--line)}
.pt-value li{padding:26px 24px 30px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); transition:background .45s var(--e)}
.pt-value li:hover{background:rgba(255,255,255,.02)}
.pt-value em{display:block; font-style:normal; font-family:var(--fm); font-size:11px; color:var(--cyan); font-variant-numeric:tabular-nums}
.pt-value b{display:block; margin-top:26px; font-family:var(--fd); font-weight:500; font-size:18px; line-height:1.3; letter-spacing:-.01em; color:var(--ink)}
.pt-value p{margin:9px 0 0; font-size:13.8px; line-height:1.65; color:var(--mut)}

/* ---------- 03 · agents: the commission instrument ---------- */
.pt-agents-sec{border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:linear-gradient(180deg,var(--bg2),var(--bg))}
.pt-ag-top{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(30px,5vw,90px); align-items:end}
.pt-ag-top .sechead{display:block}
.pt-instr{margin-top:clamp(44px,5vw,70px); border:1px solid var(--line2); border-radius:16px; background:#060A12; padding:24px clamp(18px,2.4vw,34px) 22px}
.pt-instr-h{display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; padding-bottom:16px; border-bottom:1px solid var(--line); font-family:var(--fm); font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--ink2)}
.pt-mk{color:var(--dim); letter-spacing:.08em; text-transform:none}
.pt-ins{display:block; width:100%; height:auto; margin-top:12px; overflow:visible}
.pt-ins text{font-family:var(--fd); font-size:15px; fill:var(--ink)}
.pt-ins .pt-ev-d,.pt-ins .pt-row,.pt-ticks text{font-family:var(--fm); font-size:10.5px; letter-spacing:.14em; fill:var(--dim)}
.pt-ins .pt-row-x{fill:var(--mut)}
.pt-axis{stroke:var(--line3); stroke-width:1}
.pt-ticks line{stroke:var(--line3)}
.pt-prot{fill:rgba(60,204,252,.16); stroke:rgba(60,204,252,.55); stroke-width:1}
.pt-prot-x{fill:rgba(60,204,252,.05); stroke:rgba(60,204,252,.45); stroke-width:1; stroke-dasharray:4 4}
.pt-ev{cursor:default; outline:none}
.pt-ev circle{fill:var(--bg); stroke:var(--cyan); stroke-width:1.5; transition:fill .3s}
.pt-ev-l{fill:none; stroke:var(--line3); stroke-width:1; stroke-dasharray:2 4; transition:stroke .3s}
.pt-pay rect{fill:var(--ink2)}
.pt-dia{fill:var(--cyan)}
.pt-ins text.pt-ev-d{transition:fill .3s}
.pt-ev:hover circle,.pt-ev:focus circle,.pt-ev.on circle{fill:var(--cyan)}
.pt-ins .pt-ev:hover .pt-ev-d,.pt-ins .pt-ev:focus .pt-ev-d,.pt-ins .pt-ev.on .pt-ev-d{fill:var(--cyan)}
.pt-ev:hover .pt-ev-l,.pt-ev:focus .pt-ev-l,.pt-ev.on .pt-ev-l{stroke:var(--cyan)}
.pt-ins .pt-prot,.pt-ins .pt-prot-x{transform-origin:left center; transform-box:fill-box}
.pt-instr.pt-on .pt-prot{animation:ptGrow 1.6s var(--e) both .2s}
.pt-instr.pt-on .pt-prot-x{animation:ptGrow 1s var(--e) both 1.6s}
@keyframes ptGrow{from{transform:scaleX(0)}to{transform:none}}
.pt-read{margin:6px 0 0; padding-top:14px; border-top:1px solid var(--line); min-height:2.8em; font-size:14.4px; line-height:1.6; color:var(--ink2)}
.pt-steps-m{display:none}
.pt-ag-foot{display:grid; grid-template-columns:minmax(0,1fr) auto; gap:30px; align-items:end; margin-top:40px}
.pt-terms{display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); margin:0; border-top:1px solid var(--line)}
.pt-terms div{padding:16px 16px 0 0}
.pt-terms dt{font-family:var(--fm); font-size:9.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--dim)}
.pt-terms dd{margin:8px 0 0; font-family:var(--fd); font-size:16.5px; color:var(--ink); line-height:1.3}

/* ---------- 04 · platform stage: the window un-tilts as it arrives ---------- */
.pt-plat-stage{perspective:1800px}
.pt-plat-stage .pt-app{transform:rotateX(var(--pt-tilt,0deg)) scale(var(--pt-sc,1)); transform-origin:50% 0; will-change:transform}

/* ---------- 04 · the platform window (light UI) ---------- */
.pt-app{--a-bg:#F6F8FB; --a-pn:#FFFFFF; --a-ln:#E3E8EF; --a-ink:#0E1624; --a-mut:#5D6B80; --a-dim:#8A96A8; --a-cy:#0B84C6;
  border-radius:16px; overflow:hidden; background:var(--a-bg); color:var(--a-ink); box-shadow:0 60px 120px -40px rgba(0,0,0,.85),0 0 0 1px rgba(255,255,255,.06);
  font-family:var(--fb)}
.pt-app-bar{display:flex; align-items:center; gap:14px; height:42px; padding:0 16px; background:#E9EDF3; border-bottom:1px solid var(--a-ln)}
.pt-dots{display:flex; gap:7px}.pt-dots i{width:10px; height:10px; border-radius:50%; background:#CBD3DE}
.pt-url{flex:1; max-width:340px; margin:0 auto; padding:5px 14px; border-radius:7px; background:#fff; border:1px solid var(--a-ln); font-family:var(--fm); font-size:11px; color:var(--a-mut); text-align:center; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.pt-ill{font-family:var(--fm); font-size:9.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--a-dim)}
.pt-app-in{display:grid; grid-template-columns:236px minmax(0,1fr); min-height:500px}
.pt-side{display:flex; flex-direction:column; padding:16px 12px; background:#FBFCFE; border-right:1px solid var(--a-ln)}
.pt-side-h{display:flex; align-items:center; gap:10px; padding:6px 10px 18px}
.pt-side-h b{font-family:var(--fd); font-weight:500; font-size:15px; letter-spacing:.02em}
.pt-tabs{display:flex; flex-direction:column; gap:2px}
.pt-tab{display:flex; align-items:center; gap:11px; width:100%; padding:10px 11px; border:0; border-radius:8px; background:none; color:var(--a-mut); font:500 13.6px/1.2 var(--fb); text-align:left; cursor:pointer; transition:background .25s, color .25s}
.pt-tab svg{width:18px; height:18px; flex:none; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round}
.pt-tab:hover{background:#EEF2F7; color:var(--a-ink)}
.pt-tab.on{background:var(--a-ink); color:#fff}
.pt-tab:focus-visible{outline:2px solid var(--a-cy); outline-offset:2px}
.pt-side-f{display:flex; align-items:center; gap:10px; margin-top:auto; padding:16px 10px 4px; border-top:1px solid var(--a-ln); font-size:12.6px; color:var(--a-ink)}
.pt-side-f small{display:block; font-size:11.4px; color:var(--a-dim); margin-top:2px}
.pt-av{display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:#DCE6F2; font:600 11px var(--fb); color:var(--a-ink)}
.pt-main{padding:26px 30px 30px; min-width:0}
.pt-pane-h{display:flex; justify-content:space-between; align-items:flex-end; gap:18px; padding-bottom:18px}
.pt-pane-h b{display:block; font-family:var(--fd); font-weight:500; font-size:21px; letter-spacing:-.01em; color:var(--a-ink)}
.pt-pane-h span{display:block; margin-top:5px; font-size:13.4px; color:var(--a-mut)}
.pt-pane:not([hidden]){animation:ptPane .45s var(--e) both}
@keyframes ptPane{from{opacity:0; transform:translateY(6px)}to{opacity:1; transform:none}}
.pt-tbl{background:var(--a-pn); border:1px solid var(--a-ln); border-radius:12px; overflow:hidden}
.pt-r{display:grid; grid-template-columns:minmax(0,1.9fr) minmax(0,.9fr) minmax(0,.8fr); gap:16px; align-items:center; padding:13px 18px; border-top:1px solid var(--a-ln); font-size:13.4px; color:var(--a-ink)}
.pt-r>span{min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.pt-r>span:not(:first-child){color:var(--a-mut); font-variant-numeric:tabular-nums}
.pt-r.pt-r4{grid-template-columns:minmax(0,1.4fr) minmax(0,1.2fr) minmax(0,.9fr) minmax(0,.7fr)}
.pt-rh{border-top:0; background:#F8FAFC; padding-top:11px; padding-bottom:11px}
.pt-rh>span,.pt-rh>span:not(:first-child){font-family:var(--fm); font-size:9.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--a-dim)}
.pt-st{display:inline-block; padding:3px 9px; border-radius:5px; font:600 11px/1.4 var(--fb); background:#E7F5EE; color:#1D7A4E}
.pt-st-muted{background:#EEF1F5; color:var(--a-mut)}
.pt-st-cy{background:#E3F2FB; color:var(--a-cy)}
.pt-red{display:inline-block; height:10px; border-radius:3px; background:repeating-linear-gradient(90deg,#D9DFE8 0 6px,#E6EAF0 6px 9px); vertical-align:middle}
.pt-bar{display:inline-block; width:70px; height:5px; border-radius:3px; background:#E6EAF0; overflow:hidden; vertical-align:middle; margin-right:9px}
.pt-bar i{display:block; height:100%; background:var(--a-cy); border-radius:inherit}
.pt-r small{font-size:11.6px; color:var(--a-dim)}
.pt-q-sum{display:grid; grid-template-columns:repeat(3,minmax(0,.6fr)) minmax(0,1.6fr); border-top:1px solid var(--a-ln); background:#F8FAFC}
.pt-q-sum div{padding:14px 18px; border-left:1px solid var(--a-ln)}
.pt-q-sum div:first-child{border-left:0}
.pt-q-sum span{display:block; font-family:var(--fm); font-size:9.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--a-dim)}
.pt-q-sum b{display:block; margin-top:6px; font:500 17px var(--fd); color:var(--a-ink); font-variant-numeric:tabular-nums}
.pt-flow{display:flex !important; gap:4px; flex-wrap:wrap}
.pt-flow i{font:600 10.5px/1 var(--fb); font-style:normal; padding:5px 8px; border-radius:5px; background:#EEF1F5; color:var(--a-dim)}
.pt-flow i.on{background:var(--a-ink); color:#fff}
.pt-sd{padding:18px 18px 12px; border-bottom:1px solid var(--a-ln)}
.pt-sd-ch{display:grid; grid-template-columns:repeat(24,1fr); gap:4px; align-items:end; height:110px}
.pt-sd-ch i{display:block; border-radius:3px 3px 0 0; background:#D5DCE6}
.pt-sd-ch i.c{background:#9FD3EE}.pt-sd-ch i.s{background:#F4C978}.pt-sd-ch i.d{background:var(--a-cy)}
.pt-sd-k{display:flex; gap:18px; flex-wrap:wrap; margin-top:12px; font-size:11.6px; color:var(--a-mut)}
.pt-sd-k i{display:inline-block; width:9px; height:9px; border-radius:2px; margin-right:6px; vertical-align:-1px}
.pt-sd-k i.c{background:#9FD3EE}.pt-sd-k i.s{background:#F4C978}.pt-sd-k i.d{background:var(--a-cy)}
.pt-note{max-width:86ch}


/* ---------- 05 · onboarding ---------- */
.pt-ob-sec{padding-top:0}
.pt-ob{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); position:relative}
.pt-ob::before{content:''; position:absolute; left:0; right:0; top:5px; height:1px; background:var(--line2)}
.pt-ob::after{content:''; position:absolute; left:0; top:5px; height:1px; width:var(--pt-ob,0%); background:var(--cyan); transition:width 1.8s var(--e)}
.pt-ob li{position:relative; padding:34px 22px 0 0}
.pt-ob-dot{position:absolute; left:0; top:0; width:11px; height:11px; border-radius:50%; background:var(--bg); border:1px solid var(--line3); z-index:1}
.pt-ob li:last-child .pt-ob-dot{background:var(--cyan); border-color:var(--cyan)}
.pt-ob em{display:block; font-style:normal; font-family:var(--fm); font-size:10.5px; letter-spacing:.08em; color:var(--cyan)}
.pt-ob b{display:block; margin-top:12px; font-family:var(--fd); font-weight:500; font-size:19px; letter-spacing:-.01em; color:var(--ink)}
.pt-ob p{margin:8px 0 0; font-size:14px; line-height:1.6; color:var(--mut)}

/* ---------- 06 · FAQ ---------- */
.pt-faq-sec{padding-top:0}
.pt-faq{display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr); gap:clamp(30px,6vw,110px); align-items:start}
.pt-faq-h{position:sticky; top:calc(var(--navh) + 30px)}
.pt-faq-h .sechead{display:block}
.pt-faq .faq{border-top:1px solid var(--line)}

/* ---------- 07 · apply: one framed card ---------- */
.pt-apply-sec{padding-top:0}
.pt-app-card{display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.5fr); border:1px solid var(--line2); border-radius:20px; overflow:hidden; background:var(--bg2); box-shadow:0 60px 120px -60px rgba(0,0,0,.9)}
.pt-ac-l{display:flex; flex-direction:column; padding:clamp(28px,3.4vw,52px); background:linear-gradient(160deg,#0D1522 0%,#080C14 70%); border-right:1px solid var(--line)}
.pt-ac-l .h2{font-size:clamp(32px,3.1vw,48px)}
.pt-ac-l .body{max-width:40ch}
.pt-ac-inc{margin-top:36px; padding-top:22px; border-top:1px solid var(--line)}
.pt-ac-inc ul{list-style:none; margin:12px 0 0; padding:0}
.pt-ac-inc li{position:relative; padding:6px 0 6px 18px; font-size:14px; line-height:1.55; color:var(--ink2)}
.pt-ac-inc li::before{content:''; position:absolute; left:0; top:15px; width:8px; height:1px; background:var(--cyan)}
.pt-ac-desk{display:flex; flex-direction:column; gap:8px; margin-top:auto; padding-top:30px}
.pt-ac-desk .pt-k{margin-bottom:4px}
.pt-ac-desk a{font-family:var(--fd); font-size:18px; color:var(--ink); transition:color .3s}
.pt-ac-desk a:hover{color:var(--cyan)}
.pt-ac-r{padding:clamp(24px,3.4vw,52px)}
.pt-seg{margin:0 0 10px; padding:0; border:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px}
.pt-seg legend{padding:0 0 12px; font-family:var(--fm); font-size:9.5px; letter-spacing:.19em; text-transform:uppercase; color:var(--mut)}
.pt-seg-o{position:relative; cursor:pointer}
.pt-seg-o input{position:absolute; opacity:0; pointer-events:none}
.pt-seg-o span{display:flex; flex-direction:column; justify-content:space-between; gap:12px; min-height:76px; padding:11px 13px 12px; border:1px solid var(--line2); border-radius:10px; font-size:13.4px; line-height:1.3; color:var(--ink2); transition:border-color .3s, background .3s, color .3s}
.pt-seg-o em{font-style:normal; font-family:var(--fm); font-size:10px; color:var(--dim)}
.pt-seg-o:hover span{border-color:var(--line3); color:var(--ink)}
.pt-seg-o input:checked+span{border-color:var(--ink); background:var(--ink); color:#05070C; font-weight:500}
.pt-seg-o input:checked+span em{color:#5D6B80}
.pt-seg-o input:focus-visible+span{outline:2px solid var(--cyan); outline-offset:2px}
.pt-ac-go{display:flex; align-items:center; gap:18px; flex-wrap:wrap; margin-top:8px}
.pt-ac-go span{font-size:12.6px; color:var(--dim)}
#partner-form.sending button[type=submit]{opacity:.55; pointer-events:none}
/* readable fields: the site-wide 9.5 px faint mono labels disappear on this dark card */
#partner-form .fld label{top:15px; font-family:var(--fb); font-size:13px; font-weight:500; letter-spacing:.01em; text-transform:none; color:var(--ink2)}
#partner-form .fld input,#partner-form .fld select,#partner-form .fld textarea{padding:37px 16px 13px; font-size:16px; border-color:var(--line2); background:rgba(255,255,255,.035)}
#partner-form .fld select{background-position:calc(100% - 19px) 29px,calc(100% - 14px) 29px}
#partner-form .fld input:focus+label,#partner-form .fld select:focus+label,#partner-form .fld textarea:focus+label,#partner-form .fld.fill label{color:var(--cyan)}
#partner-form .fld input:focus,#partner-form .fld select:focus,#partner-form .fld textarea:focus{border-color:rgba(60,204,252,.55)}
#partner-form .pt-seg legend{font-size:11px; color:var(--ink2)}
#partner-form .consent{font-size:14px; color:var(--ink2)}
#partner-form .collect{font-size:13px; color:var(--mut)}
.pt-ac-l .pt-k{color:var(--mut)}
@media (max-width:760px){#partner-form .fld textarea{padding-top:58px}}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .pt-hero-g,.pt-ag-top,.pt-faq{grid-template-columns:1fr}
  .pt-hero-g{align-items:start}
  .pt-ledger{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pt-ledger div:nth-child(2){border-right:0}
  .pt-ledger div:nth-child(3){padding-left:0}
  .pt-ledger div:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .pt-mx{grid-template-columns:minmax(0,.9fr) minmax(0,1.5fr)}
  .pt-mx-3{grid-template-columns:1fr}
  .pt-mx-3>div+div{padding-left:0; border-left:0; border-top:1px solid var(--line)}
  .pt-fit{grid-template-columns:minmax(0,1fr) 50px minmax(0,1.2fr) 50px minmax(0,1fr)}
  .pt-value{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pt-terms{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pt-ag-foot{grid-template-columns:1fr}
  .pt-ob{grid-template-columns:repeat(3,minmax(0,1fr)); row-gap:36px}
  .pt-ob::before,.pt-ob::after{display:none}
  .pt-faq-h{position:static}
  .pt-app-card{grid-template-columns:1fr}
  .pt-ac-l{border-right:0; border-bottom:1px solid var(--line)}
  .pt-ac-desk{margin-top:0}
  .pt-app-in{grid-template-columns:200px minmax(0,1fr)}
  .pt-seg{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:860px){
  .pt-mx{display:block}
  .pt-mx-list{display:none}
  .pt-mx-p,.pt-mx-p.on{display:block; animation:none; margin-bottom:18px}
  .pt-fit{grid-template-columns:1fr}
  .pt-wire{display:none}
  .pt-core{margin:26px 0}
  .pt-instr .pt-ins,.pt-instr .pt-read{display:none}
  .pt-steps-m{display:block; list-style:none; margin:8px 0 0; padding:0}
  .pt-steps-m li{display:grid; grid-template-columns:96px minmax(0,1fr); column-gap:14px; padding:14px 0; border-bottom:1px solid var(--line)}
  .pt-steps-m li:last-child{border-bottom:0}
  .pt-steps-m em{grid-row:1 / span 2; font-style:normal; font-family:var(--fm); font-size:11px; color:var(--cyan); padding-top:3px}
  .pt-steps-m b{font-family:var(--fd); font-weight:500; font-size:17px; color:var(--ink)}
  .pt-steps-m p{margin:3px 0 0; font-size:13.6px; line-height:1.55; color:var(--mut)}
}
@media (max-width:760px){
  .pt-h1{font-size:clamp(40px,11.4vw,58px)}
  .pt-hero-ph{height:62vw; min-height:260px}
  .pt-hero-fig figcaption{font-size:9px; letter-spacing:.12em; bottom:14px}
  .pt-hero-fig figcaption span+span{display:none}
  .pt-ledger dd{font-size:34px}
  .pt-ledger div{padding:22px 14px 24px 0}
  .pt-ledger div+div{padding-left:16px}
  .pt-mx-b{margin-top:-20px}
  .pt-mx-ph{aspect-ratio:16/10}
  .pt-value{grid-template-columns:1fr}
  .pt-terms{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pt-ob{grid-template-columns:1fr; row-gap:0}
  .pt-ob li{padding:20px 0 20px 28px; border-bottom:1px solid var(--line)}
  .pt-ob-dot{top:25px}
  .pt-app-in{grid-template-columns:1fr; min-height:0}
  .pt-side{border-right:0; border-bottom:1px solid var(--a-ln); padding:12px}
  .pt-side-h,.pt-side-f{display:none}
  .pt-tabs{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px}
  .pt-tab{padding:9px 10px; font-size:12.6px}
  .pt-main{padding:18px 14px 20px}
  .pt-r{grid-template-columns:minmax(0,1fr) auto; padding:12px 14px}
  .pt-r>span:nth-child(2){display:none}
  .pt-r.pt-r4{grid-template-columns:minmax(0,1fr) auto auto}
  .pt-r.pt-r4>span:nth-child(2){display:none}
  .pt-q-sum{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pt-q-sum div:last-child{grid-column:1 / -1; border-left:0; border-top:1px solid var(--a-ln)}
  .pt-sd-ch{height:80px; gap:2px}
  .pt-ill{display:none}
  .pt-seg{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pt-seg-o span{min-height:64px}
}
@media (prefers-reduced-motion:reduce){
  .pt-mx-p.on,.pt-mx-ph img,.pt-pane:not([hidden]),.pt-instr.pt-on .pt-prot,.pt-instr.pt-on .pt-prot-x{animation:none}
  .pt-wire path{animation:none}
  .pt-hero-ph img{transform:none}
  .pt-plat-stage .pt-app{transform:none}
}
