/* /partners (referral partner programme). Builds on home.css (.hm-*) and fq-page.css (.pg-*, .hub-*).
   Square edges, hairlines, one blue accent. No commission figures on this page (founder rule). */

.pt .hm-sec--alt::after,.pt .hm-gridbg::after{display:none;}
.pt .hm-dark .hm-head p,.pt .hm-dark .hm-eyebrow{color:rgba(255,255,255,.78);}
#how,#apply,#faq{scroll-margin-top:90px;}

/* hero mock: owner labels */
.pt-st--you{color:#fff;background:var(--ink);}

/* ---------- who does what: two lanes ---------- */
.pt-lanes{position:relative;display:grid;grid-template-columns:118px minmax(0,1fr);grid-template-rows:1fr 1fr;row-gap:14px;column-gap:18px;}
.pt-lane-k{grid-column:1;display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:#fff;}
.pt-lane-k svg,.pt-lane-k img{flex:none;width:34px;height:34px;padding:7px;}
.pt-lane-k svg{background:#fff;color:var(--ink);}
.pt-lane-k img{background:#fff;}
.pt-lane-k--you{grid-row:1;}
.pt-lane-k--fq{grid-row:2;}
.pt-track{grid-column:2;align-self:center;height:0;border-top:1px dashed rgba(255,255,255,.3);}
.pt-track--you{grid-row:1;}
.pt-track--fq{grid-row:2;}
.pt-steps{grid-column:2;grid-row:1/3;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:1fr 1fr;row-gap:14px;column-gap:14px;position:relative;z-index:1;}
.pt-step{grid-column:var(--c);display:flex;flex-direction:column;padding:20px 20px 22px;min-height:178px;border:1px solid rgba(255,255,255,.14);}
.pt-step--you{grid-row:1;background:#fff;}
.pt-step--fq{grid-row:2;background:var(--accent);border-color:var(--accent);}
.pt-step__top{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.pt-step__n{font-size:13px;font-weight:600;letter-spacing:.4px;}
.pt-step__who{font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;padding:3px 7px;border:1px solid currentColor;}
.pt-step--you .pt-step__n,.pt-step--you .pt-step__who{color:var(--accent);}
.pt-step--fq .pt-step__n,.pt-step--fq .pt-step__who{color:#fff;}
.pt .pt-step h3{margin-top:16px;font-size:18px;line-height:1.25;letter-spacing:-.3px;}
.pt .pt-step--you h3{color:var(--ink);}
.pt .pt-step p{margin-top:8px;font-size:14.5px;line-height:1.55;}
.pt-step--you p{color:var(--text-2);}
.pt-step--fq p{color:#fff;}
.pt .pt-how__note{margin-top:26px;font-size:16px;line-height:1.6;color:rgba(255,255,255,.82);max-width:70ch;}

/* ---------- good introductions ---------- */
.pt-fit__grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.9fr);gap:20px;align-items:start;}
.pt-signals{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#DDE3FB;border:1px solid #DDE3FB;}
.pt-signal{position:relative;display:flex;flex-direction:column;background:#fff;padding:26px 26px 24px;}
.pt-signal__ic{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent);}
.pt-signal__n{position:absolute;top:26px;right:26px;font-size:13px;font-weight:600;color:var(--text-3);}
.pt .pt-signal h3{margin-top:18px;font-size:19px;line-height:1.3;letter-spacing:-.3px;}
.pt .pt-signal p{margin-top:auto;padding-top:18px;font-size:14.5px;}
.pt-signal p > span{display:block;margin-bottom:4px;font-size:11.5px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--text-3);}
.pt-signal p a{font-weight:600;color:var(--accent);}
.pt-signal p a:hover{text-decoration:underline;text-underline-offset:3px;}
.pt-who{background:#fff;border:1px solid #DDE3FB;padding:28px;}
.pt .pt-who h3{font-size:22px;letter-spacing:-.4px;}
.pt .pt-who p{margin-top:8px;font-size:15px;line-height:1.55;color:var(--text-3);}
.pt-who ul{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px;}
.pt-who li{font-size:14px;color:var(--ink);border:1px solid var(--line-2);padding:8px 12px;}

/* ---------- apply ---------- */
.pt-apply__in{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;align-items:start;}
.pt .pt-apply h2{margin-top:18px;font-size:44px;line-height:1.06;letter-spacing:-1.3px;color:#fff;}
.pt .pt-apply__copy > p{margin-top:20px;font-size:17px;line-height:1.6;color:rgba(255,255,255,.88);max-width:44ch;}
.pt-apply .hm-eyebrow{color:#fff;}
.pt-apply__contact{list-style:none;margin:32px 0 0;padding:0;}
.pt-apply__contact li{padding:18px 0;border-top:1px solid rgba(255,255,255,.28);}
.pt-apply__contact span{display:block;margin-bottom:8px;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:rgba(255,255,255,.85);}
.pt-apply__contact a{display:inline-flex;align-items:center;gap:10px;font-size:20px;letter-spacing:-.3px;color:#fff;}
.pt-apply__contact a:hover{text-decoration:underline;text-underline-offset:4px;}
.pt-card{background:#fff;padding:36px;box-shadow:0 40px 80px -40px rgba(5,10,48,.55);}
.pt .pt-form__intro{font-size:16px;line-height:1.5;color:var(--text-2);margin-bottom:22px;}
.pt-form{display:flex;flex-direction:column;gap:16px;}
.pt-form[hidden]{display:none;}
.pt-row2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.pt-field label{display:block;margin-bottom:7px;font-size:13.5px;font-weight:500;color:var(--ink);}
.pt-req{color:#B42318;}
.pt-opt{font-weight:400;color:var(--text-3);}
.pt-field input,.pt-field select,.pt-field textarea{width:100%;font-family:inherit;font-size:15px;color:var(--ink);background:#fff;border:1px solid #8C93A6;border-radius:0;outline:none;transition:border-color .15s ease,box-shadow .15s ease;}
.pt-field input,.pt-field select{height:48px;padding:0 14px;}
.pt-field textarea{padding:12px 14px;line-height:1.5;resize:vertical;min-height:110px;}
.pt-field input::placeholder,.pt-field textarea::placeholder{color:#6B7280;}
.pt-field input:focus,.pt-field select:focus,.pt-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);}
.pt-field select{-webkit-appearance:none;appearance:none;padding-right:40px;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="8" viewBox="0 0 12 8" fill="none" stroke="%2345474C" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M1 1.5l5 5 5-5"/></svg>');background-repeat:no-repeat;background-position:right 15px center;}
.pt-submit{width:100%;margin-top:6px;}
.pt-submit[disabled]{opacity:.6;cursor:default;transform:none;}
.pt .pt-form__privacy{font-size:13px;line-height:1.5;color:var(--text-3);}
.pt-form__privacy a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;}
.pt .pt-form__err{font-size:13.5px;color:#B42318;}
.pt-success{padding:40px 4px;text-align:center;}
.pt-success[hidden]{display:none;}
.pt-success__ic{width:56px;height:56px;margin:0 auto 20px;display:flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;}
.pt .pt-success h3{font-size:24px;letter-spacing:-.4px;}
.pt .pt-success p{margin:12px auto 0;max-width:40ch;font-size:15px;line-height:1.6;color:var(--text-2);}
.pt-success a{color:var(--accent);font-weight:600;}
.fq-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
/* intl-tel-input */
.pt .iti{width:100%;display:block;}
.pt .iti__country-list{z-index:10;text-align:left;font-size:14px;}
.pt .iti--separate-dial-code .iti__selected-flag{background:#fff;}
.pt .iti__selected-dial-code{color:var(--ink);}  /* the form sits on a blue band; keep the dial code dark on the white field */
.pt .iti--separate-dial-code input[type=tel]{padding-left:96px !important;}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .pt-lanes{grid-template-columns:1fr;grid-template-rows:auto;}
  .pt-lane-k,.pt-track{display:none;}
  .pt-steps{grid-column:1;grid-row:auto;display:flex;flex-direction:column;gap:12px;}
  .pt-step{min-height:0;}
  .pt-step--you{margin-right:48px;}
  .pt-step--fq{margin-left:48px;}
  .pt-fit__grid{grid-template-columns:1fr;}
}
@media (max-width:980px){
  .pt-apply__in{grid-template-columns:1fr;gap:40px;}
}
@media (max-width:760px){
  .pt-step--you{margin-right:28px;}
  .pt-step--fq{margin-left:28px;}
  .pt-signals{background:none;border:0;}
  .pt-signal{border:1px solid #DDE3FB;}
  .pt .pt-apply h2{font-size:32px;letter-spacing:-.8px;}
  .pt-card{padding:24px 20px;}
  .pt-row2{grid-template-columns:1fr;}
  .pt-apply__contact a{font-size:18px;}
}

/* ---------- hero flow: contact -> Framworq -> referral fee ---------- */
.pt-flow{position:relative;max-width:440px;margin-left:auto;display:flex;flex-direction:column;}
.pt-flow__node{position:relative;z-index:1;display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:16px;align-items:center;padding:20px 22px;background:#fff;border:1px solid var(--line-2);box-shadow:0 22px 44px -28px rgba(11,17,60,.35);}
.pt-flow__ic{width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent);}
.pt-flow__node b{display:block;font-size:17px;font-weight:600;letter-spacing:-.2px;color:var(--ink);}
.pt-flow__node small{display:block;margin-top:3px;font-size:13.5px;line-height:1.4;color:var(--text-3);}
.pt-flow__tag{font-size:11.5px;font-weight:600;padding:4px 9px;color:#fff;background:var(--ink);}
.pt-flow__node--hub{background:var(--accent);border-color:var(--accent);box-shadow:0 26px 50px -24px rgba(16,40,224,.55);}
.pt-flow__node--hub .pt-flow__ic{background:#fff;}
.pt-flow__node--hub b{color:#fff;}
.pt-flow__node--hub small{color:#fff;}
.pt-flow__node--hub .pt-flow__tag{color:var(--accent);background:#fff;}
.pt-flow__seg{position:relative;display:block;width:0;height:46px;margin-left:48px;border-left:1.5px dashed #9AA8F5;}
.pt-flow__seg i{position:absolute;left:-4.5px;top:0;width:7px;height:7px;background:var(--accent);opacity:0;}
.is-live .pt-flow__seg i{animation:ptRun 2.4s linear infinite;}
.is-live .pt-flow__seg + .pt-flow__node + .pt-flow__seg i{animation-delay:1.2s;}
@keyframes ptRun{0%{top:-4px;opacity:0;}12%,88%{opacity:1;}100%{top:42px;opacity:0;}}
.pt-flow__chip{bottom:-52px;left:-30px;}
@media (max-width:980px){.pt-flow{margin-left:0;}}
@media (max-width:760px){
  .pt-flow{max-width:none;}
  .pt-flow__node{grid-template-columns:44px minmax(0,1fr) auto;gap:12px;padding:16px;}
  .pt-flow__ic{width:44px;height:44px;}
  .pt-flow__seg{margin-left:38px;height:30px;}
}
@media (prefers-reduced-motion:reduce){.is-live .pt-flow__seg i{animation:none;opacity:0;}}
