.join-page-body{min-height:100vh;padding-bottom:104px;background-attachment:fixed!important}
.join-site-header{background:rgba(247,240,210,.92);border-bottom:1px solid rgba(11,75,122,.20);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.join-brand-link{text-decoration:none;color:inherit}
.join-home-link{display:inline-flex;text-decoration:none}
.join-main{max-width:980px;padding-top:20px;padding-bottom:40px}
.join-shell{display:grid;gap:14px}
.join-heading-block,.join-instructions,.join-form{position:relative;border:1px solid rgba(11,75,122,.32);border-radius:7px;background:rgba(251,247,230,.94);box-shadow:0 10px 28px rgba(7,55,89,.13)}
.join-heading-block{padding:22px 24px 20px;border-top:6px solid var(--navy)}
.join-eyebrow{display:block;color:var(--navy);font-size:.76rem;font-weight:900;letter-spacing:.085em;text-transform:uppercase}
.join-heading-block h1{margin:6px 0 7px;color:var(--navy-deep);font-size:clamp(2.1rem,5vw,3.6rem);line-height:.98;letter-spacing:-.025em}
.join-heading-block p{max-width:760px;margin:0;color:#42596a;font-size:1rem;line-height:1.48}
.join-instructions{padding:16px 20px;border-left:5px solid var(--gold)}
.join-instructions>strong{color:var(--navy-deep);font-size:1.05rem}
.join-instructions ol{display:grid;gap:3px;margin:8px 0 8px;padding-left:22px;color:#42596a}
.join-instructions p{margin:0;color:var(--navy-deep);line-height:1.4}
.join-progress{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.join-progress>span{display:grid;place-items:center;min-height:52px;border:1px solid rgba(11,75,122,.30);border-radius:6px;background:rgba(251,247,230,.88);color:#6a7c88;font-weight:900;font-size:.82rem}
.join-progress>span span{display:block;font-size:.62rem;text-transform:uppercase;letter-spacing:.04em}
.join-progress>span.active{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:0 6px 14px rgba(7,55,89,.18)}
.join-form{padding:0;overflow:hidden}
.join-step{padding:22px 24px 24px}
.join-step-heading{display:flex;align-items:center;gap:10px;margin-bottom:18px}
.join-step-heading>span{flex:0 0 auto;padding:4px 7px;border-radius:4px;background:var(--gold);color:var(--navy-deep);font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.join-step-heading h2{margin:0;color:var(--navy-deep);font-size:1.45rem}
.join-choice-fieldset{margin:0 0 16px;padding:0;border:0;display:grid;gap:9px}
.join-choice-fieldset legend{margin-bottom:8px;color:var(--navy);font-weight:900}
.join-choice-card{display:flex;align-items:flex-start;gap:11px;padding:13px 14px;border:1px solid rgba(11,75,122,.30);border-radius:6px;background:rgba(255,253,245,.75);cursor:pointer}
.join-choice-card:has(input:checked){border-color:var(--navy);box-shadow:inset 4px 0 0 var(--gold),0 4px 12px rgba(7,55,89,.08)}
.join-choice-card input{width:auto;margin-top:3px;accent-color:var(--navy)}
.join-choice-card strong,.join-choice-card small{display:block}
.join-choice-card strong{color:var(--navy-deep)}
.join-choice-card small{margin-top:3px;color:#5e7180;line-height:1.35}
.join-choice-fieldset.compact{padding:14px;border:1px solid rgba(11,75,122,.24);border-radius:6px;background:rgba(255,253,245,.55)}
.join-inline-choice{display:inline-flex!important;align-items:center;gap:7px;margin:0 18px 0 0!important;color:var(--navy-deep)!important}
.join-inline-choice input{width:auto!important;margin:0!important;accent-color:var(--navy)}
.join-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.join-field-grid label,.join-full-field{display:grid;gap:6px;color:var(--navy);font-size:.86rem;font-weight:900}
.join-field-grid input,.join-full-field select{width:100%;min-height:46px;border:1px solid rgba(11,75,122,.34);border-radius:6px;background:#fffdf5;padding:10px 12px;color:var(--ink)}
.join-field-grid input:focus,.join-full-field select:focus{outline:3px solid rgba(11,75,122,.14);border-color:var(--navy)}
.join-help{margin:8px 0 0;color:#5d7180;font-size:.85rem;line-height:1.42}
.join-subpanel{margin-top:16px;padding:15px;border:1px solid rgba(11,75,122,.24);border-radius:6px;background:rgba(255,253,245,.60)}
.join-subpanel h3{margin:0 0 10px;color:var(--navy-deep)}
.join-club-note,.join-before-submit,.join-policy,.join-eligibility-result{margin-top:14px;padding:13px 14px;border-radius:6px;line-height:1.42}
.join-club-note{border:1px solid rgba(210,182,99,.78);background:rgba(244,228,170,.45);color:#3f5261}
.join-before-submit{border-left:4px solid var(--navy);background:rgba(220,234,243,.55);color:#314c60}
.join-policy{border:1px solid rgba(181,149,53,.55);background:rgba(247,240,210,.76);color:#3f5261}
.join-policy h3{margin:0 0 7px;color:var(--navy-deep)}
.join-policy p{margin:7px 0}
.join-certification{display:flex!important;align-items:flex-start;gap:9px;margin:12px 0 0!important;color:var(--navy-deep)!important}
.join-certification input{width:auto!important;margin-top:3px!important;accent-color:var(--navy)}
.join-eligibility-result{border:1px solid rgba(11,75,122,.25);background:rgba(220,234,243,.50);color:var(--navy-deep)}
.junior-list{display:grid;gap:10px;margin-top:12px}
.junior-entry{position:relative;padding:13px 42px 13px 13px;border:1px solid rgba(11,75,122,.20);border-radius:6px;background:rgba(255,255,255,.58)}
.junior-entry-title{display:block;margin-bottom:8px;color:var(--navy-deep);font-weight:900}
.junior-remove{position:absolute;top:9px;right:9px;width:28px;height:28px;border:1px solid rgba(180,50,40,.28);border-radius:999px;background:#fff;color:#9b2f28;font-weight:900;line-height:1}
.join-add-junior{margin-top:10px}
.join-review{display:grid;gap:10px}
.join-review-section{border:1px solid rgba(11,75,122,.22);border-radius:6px;background:rgba(255,253,245,.65);padding:13px 14px}
.join-review-section h3{margin:0 0 8px;color:var(--navy-deep);font-size:1rem}
.join-review-row{display:grid;grid-template-columns:minmax(130px,.42fr) minmax(0,1fr);gap:10px;padding:5px 0;border-bottom:1px solid rgba(11,75,122,.10)}
.join-review-row:last-child{border-bottom:0}
.join-review-row span{color:#607483;font-size:.82rem;font-weight:800}
.join-review-row strong{color:var(--navy-deep);overflow-wrap:anywhere}
.join-step-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:20px}
.join-step-actions button,.join-link-button{min-width:130px;border-radius:6px!important;text-align:center;text-decoration:none}
.join-link-button{display:inline-flex;align-items:center;justify-content:center}
.join-completion{padding:16px;border:1px solid rgba(11,75,122,.25);border-radius:6px;background:rgba(220,234,243,.48);color:#314c60;line-height:1.48}
.join-completion h3{margin:0 0 7px;color:var(--navy-deep)}
.join-completion p{margin:6px 0 0}
.join-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}
.join-bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr))!important}

@media(max-width:720px){
  .join-page-body{padding-bottom:94px}
  .join-site-header{padding-left:12px;padding-right:12px}
  .join-site-header .brand-wrap img{width:54px;height:54px;border-radius:8px}
  .join-site-header .brand-copy strong{font-size:1rem}
  .join-site-header .brand-copy span{font-size:.76rem}
  .join-main{padding:10px 10px 28px}
  .join-shell{gap:10px}
  .join-heading-block{padding:17px 16px 15px}
  .join-heading-block p{font-size:.92rem;line-height:1.4}
  .join-instructions{padding:13px 14px}
  .join-instructions ol{font-size:.88rem}
  .join-progress{gap:4px}
  .join-progress>span{min-height:45px;font-size:.78rem}
  .join-progress>span span{font-size:.52rem}
  .join-step{padding:17px 15px 19px}
  .join-step-heading{margin-bottom:14px}
  .join-step-heading h2{font-size:1.22rem}
  .join-field-grid{grid-template-columns:1fr}
  .join-choice-card{padding:11px 12px}
  .join-inline-choice{margin-right:14px!important}
  .join-review-row{grid-template-columns:1fr;gap:2px}
  .join-step-actions{margin-top:16px}
  .join-step-actions button,.join-link-button{min-width:0;flex:1}
  .completion-actions{flex-wrap:wrap}
}

@media(max-width:390px){
  .join-progress>span span{display:none}
  .join-site-header .brand-copy span{display:none}
  .join-site-header .brand-copy strong{font-size:.92rem}
}
