/* Partner With Us pages (pw- prefix). Loaded via meta.css on partner-with-us/* only. */

/* ---------- Overview: three partner groups ---------- */
.pw-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pw-group{display:flex;flex-direction:column;border:1px solid var(--line);background:var(--ink2);border-radius:28px;overflow:hidden}
.pw-group-img{position:relative;aspect-ratio:16/10;overflow:hidden;border-radius:0 0 28px 0}
.pw-group-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.pw-group:hover .pw-group-img img{transform:scale(1.04)}
.pw-group-img .pw-n{position:absolute;left:18px;top:18px;background:var(--red);color:#fff;font:700 12px/1 var(--sans);letter-spacing:.16em;padding:9px 12px;border-radius:999px}
.pw-group-body{padding:28px 28px 12px;flex:1}
.pw-group-body h3{font-size:clamp(26px,2.3vw,34px);letter-spacing:-.04em;margin-bottom:12px}
.pw-group-body p{color:var(--mute);font-size:16px}
.pw-links{border-top:1px solid var(--line);margin:0 28px 24px}
.pw-links a{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid var(--line);font-weight:700;font-size:17px;transition:color .2s}
.pw-links a:hover{color:var(--red)}
.pw-links a small{display:block;color:var(--mute);font-weight:400;font-size:14px;margin-top:4px}
.pw-links .ic{width:18px;height:18px;transition:transform .25s var(--ease)}
.pw-links a:hover .ic{transform:translate(2px,-2px)}

/* ---------- Program callout (Rising Trade Partners) ---------- */
.pw-callout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);border-radius:32px;overflow:hidden;background:var(--cream);color:var(--ink)}
.pw-callout-img{min-height:340px}
.pw-callout-img img{width:100%;height:100%;object-fit:cover}
.pw-callout-body{padding:clamp(32px,4vw,60px);display:flex;flex-direction:column;justify-content:center;gap:18px}
.pw-callout-body h2{font-size:clamp(32px,3.6vw,54px);line-height:1;letter-spacing:-.045em}
.pw-callout-body p{color:var(--mute-d);font-size:17px}
.pw-callout-body ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.pw-callout-body li{display:flex;gap:12px;align-items:baseline;font-size:16px}
.pw-callout-body li::before{content:"";width:8px;height:8px;background:var(--red);flex:none;transform:translateY(-1px)}
.pw-callout-body .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}

/* ---------- Expectation chips (term / value list) ---------- */
.pw-terms{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.pw-terms>div{padding:28px 28px 28px 0}
.pw-terms>div+div{padding-left:28px;border-left:1px solid var(--line)}
.pw-terms dt{font:700 12px/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--red);margin-bottom:12px}
.pw-terms dd{margin:0;font-size:16px;color:rgba(255,255,255,.78)}
.pw-terms dd b{display:block;color:#fff;font-size:21px;letter-spacing:-.02em;margin-bottom:8px}

/* ---------- Forms (dark background) ---------- */
.pw-formwrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,5vw,80px);align-items:start}
.pw-formwrap .pw-aside h2{font-size:clamp(36px,4vw,60px);line-height:.98;letter-spacing:-.045em;margin-bottom:20px}
.pw-formwrap .pw-aside p{color:var(--mute);font-size:16.5px}
.pw-formwrap .pw-aside p+p{margin-top:14px}
.pw-aside .pw-mail{display:inline-flex;margin-top:22px;color:#fff;border-bottom:1.5px solid var(--red);padding-bottom:4px;font-weight:700}
.pw-form{background:var(--ink2);border:1px solid var(--line);border-radius:28px;padding:clamp(24px,3.4vw,44px)}
.pw-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px 18px}
.pw-f{display:flex;flex-direction:column;gap:8px;min-width:0}
.pw-f.full{grid-column:1/-1}
.pw-f label,.pw-f legend{font:700 12px/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.82)}
.pw-f label .req{color:var(--red);margin-left:4px}
.pw-f input,.pw-f select,.pw-f textarea{width:100%;font:400 16px/1.4 var(--sans);color:#fff;background:var(--ink);border:1px solid rgba(255,255,255,.2);border-radius:14px;padding:14px 16px;transition:border-color .2s,background .2s}
.pw-f textarea{min-height:140px;resize:vertical}
.pw-f select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#fff 50%),linear-gradient(135deg,#fff 50%,transparent 50%);background-position:calc(100% - 22px) 50%,calc(100% - 16px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:44px}
.pw-f select option{background:var(--ink2);color:#fff}
.pw-f input::placeholder,.pw-f textarea::placeholder{color:var(--mute-d)}
.pw-f input:hover,.pw-f select:hover,.pw-f textarea:hover{border-color:rgba(255,255,255,.4)}
.pw-f input:focus,.pw-f select:focus,.pw-f textarea:focus{outline:none;border-color:var(--red);background:var(--black)}
.pw-f input:focus-visible,.pw-f select:focus-visible,.pw-f textarea:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.pw-checks{grid-column:1/-1;border:0;margin:0;padding:0;min-width:0}
.pw-checks legend{margin-bottom:12px;padding:0}
.pw-checkgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.pw-check{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:15px;cursor:pointer;transition:border-color .2s}
.pw-check:hover{border-color:rgba(255,255,255,.4)}
.pw-check input{width:18px;height:18px;accent-color:var(--red);flex:none;margin:0}
.pw-form-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.pw-note{color:var(--mute);font-size:14.5px;max-width:46ch}
.pw-form .btn{border:0;cursor:pointer}

/* ---------- Lifecycle band for P3 / JV ---------- */
.pw-band{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border:1px solid var(--line);border-radius:24px;overflow:hidden}
.pw-band>div{padding:26px 22px;border-left:1px solid var(--line);background:var(--ink2)}
.pw-band>div:first-child{border-left:0}
.pw-band>div:nth-child(even){background:var(--ink3)}
.pw-band span{display:block;font:700 12px/1 var(--sans);letter-spacing:.16em;color:var(--red);margin-bottom:14px}
.pw-band b{display:block;font-size:20px;letter-spacing:-.025em;margin-bottom:8px}
.pw-band p{color:var(--mute);font-size:15px;line-height:1.55}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .pw-groups{grid-template-columns:1fr 1fr}
  .pw-groups .pw-group:last-child{grid-column:1/-1}
  .pw-callout{grid-template-columns:1fr}
  .pw-callout-img{min-height:260px;aspect-ratio:16/8}
  .pw-terms{grid-template-columns:1fr 1fr}
  .pw-terms>div:nth-child(3){padding-left:0;border-left:0}
  .pw-terms>div:nth-child(n+3){border-top:1px solid var(--line)}
  .pw-formwrap{grid-template-columns:1fr}
  .pw-checkgrid{grid-template-columns:1fr 1fr}
  .pw-band{grid-template-columns:1fr 1fr}
  .pw-band>div{border-left:0;border-top:1px solid var(--line)}
  .pw-band>div:nth-child(-n+2){border-top:0}
  .pw-band>div:nth-child(even){border-left:1px solid var(--line)}
  .pw-band>div:last-child:nth-child(odd){grid-column:1/-1}
}
@media (max-width:720px){
  .pw-groups{grid-template-columns:1fr}
  .pw-group,.pw-callout{border-radius:22px}
  .pw-group-body{padding:24px 22px 10px}
  .pw-links{margin:0 22px 20px}
  .pw-terms{grid-template-columns:1fr}
  .pw-terms>div,.pw-terms>div+div{padding:22px 0;border-left:0}
  .pw-terms>div+div{border-top:1px solid var(--line)}
  .pw-fields{grid-template-columns:1fr}
  .pw-checkgrid{grid-template-columns:1fr}
  .pw-form{border-radius:22px}
  .pw-form-foot{flex-direction:column;align-items:stretch}
  .pw-form-foot .btn{width:100%}
  .pw-band{grid-template-columns:1fr}
  .pw-band>div,.pw-band>div:nth-child(even){border-left:0;border-top:1px solid var(--line)}
  .pw-band>div:first-child{border-top:0}
}
