/* Join Us page */
.join-banner-btn{margin-top:26px;position:relative}
.join-intro .section-header p strong{color:var(--primary-blue)}

.join-benefits{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px}
.jb-item{text-align:center;padding:30px 22px;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow);
  border-bottom:3px solid var(--accent-gold);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.jb-item:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}
.jb-item i{width:64px;height:64px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  font-size:1.5rem;color:var(--accent-gold);background:linear-gradient(135deg,var(--primary-blue),var(--secondary-blue));margin-bottom:14px}
.jb-item h4{font-family:var(--font-heading);color:var(--primary-blue);font-size:1.2rem;margin-bottom:6px}
.jb-item p{font-size:.92rem;color:var(--gray)}

/* criteria */
.criteria-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:24px}
.criteria-card{position:relative;background:#fff;border-radius:var(--radius-lg);padding:30px 26px;box-shadow:var(--shadow);
  overflow:hidden;border-top:4px solid var(--primary-blue);transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .4s}
.criteria-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);border-top-color:var(--accent-gold)}
.cc-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  background:rgba(201,162,39,.15);color:var(--accent-gold);font-size:1.3rem;margin-bottom:16px;transition:all .4s var(--ease)}
.criteria-card:hover .cc-icon{background:var(--accent-gold);color:var(--primary-blue);transform:rotate(-8deg) scale(1.08)}
.cc-num{position:absolute;right:18px;top:10px;font-family:var(--font-heading);font-size:2.8rem;font-weight:700;color:rgba(10,37,64,.06)}
.criteria-card h3{font-family:var(--font-heading);font-size:1.15rem;color:var(--primary-blue);margin-bottom:8px}
.criteria-card p{font-size:.92rem;color:var(--gray)}
.join-note{display:flex;gap:14px;align-items:flex-start;margin-top:34px;padding:18px 24px;background:#fff;border-radius:var(--radius);
  border-left:4px solid var(--accent-gold);box-shadow:var(--shadow);font-size:.95rem}
.join-note i{color:var(--accent-gold);font-size:1.3rem;margin-top:3px}

/* steps */
.join-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;position:relative}
.join-steps::before{content:"";position:absolute;top:30px;left:10%;right:10%;height:2px;
  background:repeating-linear-gradient(90deg,var(--accent-gold) 0 8px,transparent 8px 16px)}
.js-step{text-align:center;position:relative}
.js-circle{width:60px;height:60px;margin:0 auto 14px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-family:var(--font-heading);font-size:1.4rem;font-weight:700;color:var(--accent-gold);
  background:linear-gradient(135deg,var(--primary-blue),var(--secondary-blue));border:3px solid var(--accent-gold);
  box-shadow:0 8px 20px rgba(10,37,64,.25);position:relative;z-index:1;transition:transform .4s var(--ease)}
.js-step:hover .js-circle{transform:scale(1.12) rotate(6deg)}
.js-step h4{font-size:1rem;color:var(--primary-blue);margin-bottom:4px}
.js-step p{font-size:.85rem;color:var(--gray)}
@media(max-width:900px){
  .join-steps{grid-template-columns:1fr;gap:26px}
  .join-steps::before{display:none}
}

/* form */
.join-form{max-width:880px;margin:0 auto;background:#fff;padding:40px;border-radius:var(--radius-lg);
  box-shadow:var(--shadow-lg);border-top:5px solid var(--accent-gold)}
.join-form fieldset{border:0;margin:0 0 26px;padding:0}
.join-form legend{font-family:var(--font-heading);font-size:1.2rem;color:var(--primary-blue);padding:0 0 10px;margin-bottom:16px;
  border-bottom:2px solid var(--gray-light);width:100%}
.join-form legend i{color:var(--accent-gold);margin-right:8px}
.join-form .req{color:var(--danger)}
.join-form label small{font-weight:400;color:var(--gray)}
.join-form input[type=file]{padding:9px 12px;background:var(--off-white)}
.hp-field{position:absolute;left:-9999px;top:-9999px;height:0;overflow:hidden}
.err-list{margin:8px 0 0 18px}
.err-list li{list-style:disc;margin-bottom:3px}
.agree{display:flex;gap:12px;align-items:flex-start;padding:16px 18px;margin-bottom:24px;background:var(--off-white);
  border-radius:var(--radius);font-size:.9rem;cursor:pointer;border:1px solid var(--gray-light)}
.agree input{width:18px;height:18px;margin-top:4px;accent-color:var(--accent-gold);flex-shrink:0}
.join-submit{width:100%;justify-content:center;padding:16px;font-size:1rem}
.join-submit:disabled{opacity:.7;cursor:wait}
@media(max-width:600px){.join-form{padding:26px 18px}}

/* success */
.join-success{max-width:640px;margin:0 auto;text-align:center;background:#fff;padding:50px 36px;border-radius:var(--radius-lg);
  box-shadow:var(--shadow-lg);border-top:5px solid var(--success)}
.js-check{width:84px;height:84px;margin:0 auto 20px;border-radius:50%;background:var(--success);color:#fff;font-size:2.2rem;
  display:flex;align-items:center;justify-content:center;animation:popIn .7s var(--ease) both, pulseRingG 2s 1s infinite}
.join-success h3{font-family:var(--font-heading);font-size:1.8rem;color:var(--primary-blue);margin-bottom:10px}
.join-success p{color:var(--gray);margin-bottom:18px}
.ref-box{display:inline-block;padding:12px 26px;margin-bottom:24px;background:#fbf6e3;border:1px dashed var(--accent-gold);
  border-radius:50px;color:var(--primary-blue);font-size:1.05rem}
@keyframes popIn{from{transform:scale(0) rotate(-90deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}
@keyframes pulseRingG{0%{box-shadow:0 0 0 0 rgba(40,167,69,.5)}70%,100%{box-shadow:0 0 0 20px rgba(40,167,69,0)}}
