/* 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:var(--ink);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)}

/* ---------- Callout panel (growing firms) ---------- */
.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}
}

/* ---------- Form confirmation (contact.js) ---------- */
.pw-formcol{min-width:0}
.pw-form[hidden],.pw-done[hidden]{display:none!important}
.pw-done{outline:none;background:var(--ink2);border:1px solid var(--line);border-top:4px solid var(--red);border-radius:28px;padding:clamp(24px,3.4vw,44px)}
.pw-done-ic{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--red);color:var(--ink);margin-bottom:24px}
.pw-done-ic .ic{width:26px;height:26px}
.pw-done h2{font-size:clamp(30px,2.8vw,42px);letter-spacing:-.045em;line-height:1}
.pw-done p{margin-top:16px;color:rgba(255,255,255,.82);font-size:17px;max-width:52ch}
.pw-done .pw-done-alt{color:var(--mute);font-size:15px}
.pw-done-alt a{color:#fff;font-weight:700;text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:4px;word-break:break-all}
.pw-done-text{width:100%;margin-top:18px;font:400 13.5px/1.6 var(--mono);color:rgba(255,255,255,.85);background:var(--ink);border:1px solid var(--line);border-radius:14px;padding:16px;resize:vertical}
.pw-done-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.pw-done-btns .btn{cursor:pointer}
.pw-done-btns .btn.red{border:0}
.pw-callout-body .btn.ghost{white-space:normal;word-break:break-all;height:auto;min-height:54px;padding:12px 24px}

/* ---------- Partner overview: sub-page links + technology licensing ---------- */
.pw-paths{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.pw-path{display:flex;flex-direction:column;gap:12px;padding:28px 24px;background:var(--ink2);border:1px solid var(--line);border-top:3px solid var(--red);transition:background .25s,border-color .25s}
.pw-path .pw-path-ic{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--red);color:var(--ink);margin-bottom:8px}
.pw-path .pw-path-ic .ic{width:20px;height:20px}
.pw-path b{font:700 20px/1.1 var(--wide);letter-spacing:-.025em}
.pw-path small{color:var(--mute);font-size:15px;flex:1}
.pw-path .pw-go{display:inline-flex;align-items:center;gap:10px;font:700 11.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase}
.pw-path .pw-go .ic{width:15px;height:15px;color:var(--red);transition:transform .25s}
.pw-path:hover{background:var(--ink3);border-color:rgba(200,240,49,.5)}
.pw-path:hover .pw-go .ic{transform:translateX(4px)}
.pw-tech{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,4vw,64px);align-items:center;padding:clamp(28px,4vw,56px);background:var(--red);color:var(--ink);border-radius:0 0 120px 0}
.pw-tech em{color:var(--ink)}
.pw-tech .kick{color:var(--ink);margin-bottom:18px}
.pw-tech .kick .sq{background:var(--ink)}
.pw-tech h2{font-size:clamp(32px,3.6vw,52px);line-height:1;letter-spacing:-.045em}
.pw-tech p{margin-top:16px;font-size:17px;color:rgba(14,21,19,.82)}
.pw-tech-mail{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 26px;background:var(--ink);color:#fff;border-radius:0 60px 60px 0;font:700 clamp(17px,1.8vw,24px)/1.15 var(--wide);letter-spacing:-.02em;word-break:break-all;transition:background .25s,color .25s}
.pw-tech-mail .rnd{background:var(--red);color:var(--ink)}
.pw-tech-mail:hover{background:#fff;color:var(--ink)}
.pw-tech-mail small{display:block;margin-bottom:8px;font:700 11px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
@media (max-width:1100px){
  .pw-paths{grid-template-columns:repeat(2,1fr)}
  .pw-tech{grid-template-columns:1fr;border-radius:0 0 72px 0}
}
@media (max-width:720px){
  .pw-paths{grid-template-columns:1fr}
  .pw-done{border-radius:22px}
  .pw-done-btns .btn{width:100%}
  .pw-tech{padding:28px 20px;border-radius:0 0 48px 0}
  .pw-tech-mail{border-radius:0 40px 40px 0;padding:18px 20px}
}

.pw-tech-mail{font-size:clamp(16px,1.5vw,20px);overflow-wrap:anywhere;word-break:normal}
