/*
 * MPN dedicated membership-application experience.
 * Scoped to Join only; sign-in and account recovery keep the original layout.
 * The canonical five-step server-validated wizard is reused unchanged.
 */
.mpn-join-experience{background:#faf9f5;color:#193d30}
.mpn-join-experience .auth-shell{grid-template-columns:minmax(345px,38%) minmax(0,1fr);min-height:100vh}
.mpn-join-experience .auth-brand{
  align-self:start;position:sticky;top:0;height:100vh;min-height:750px;
  overflow-y:auto;justify-content:flex-start;
  padding:clamp(30px,3.4vw,58px) clamp(25px,3.2vw,56px);
  background:linear-gradient(153deg,#073b31,#0c473a 62%,#153f32);
  border-right:1px solid rgba(194,164,101,.42);box-shadow:none
}
.mpn-join-experience .auth-brand:after{pointer-events:none;border-color:rgba(194,164,101,.12)}
.mpn-join-experience .auth-brand-lockup{margin-bottom:clamp(23px,3.5vh,38px);gap:13px}
.mpn-join-experience .auth-brand-title{font-size:clamp(16px,1.6vw,20px);line-height:1.3;max-width:310px;letter-spacing:.01em}
.mpn-join-experience .auth-brand h2{
  font:400 clamp(25px,2.5vw,36px)/1.17 Georgia,"Times New Roman",serif;
  letter-spacing:-.028em;max-width:370px;margin:0 0 12px;color:#f9f6e9
}
.mpn-join-experience .auth-brand>p{max-width:400px;font-size:13px;line-height:1.8;color:#c4d9cd}
.mpn-join-experience .brand-pill{
  font-size:10px;letter-spacing:.1em;text-transform:uppercase;
  padding:9px 12px;background:rgba(250,250,245,.05);color:#e7d2a5;
  border-color:rgba(194,164,101,.38);margin:17px 0 0
}
.mpn-join-sidebar{margin-top:clamp(26px,4vh,43px);position:relative;z-index:1}
.mpn-join-sidebar-heading{font:400 clamp(23px,2.1vw,29px)/1.27 Georgia,serif;letter-spacing:-.025em;color:#fffdf6;margin:0 0 9px}
.mpn-join-sidebar-lead{font-size:13px!important;line-height:1.75!important;color:#d0e0d5!important;margin:0 0 19px}
.mpn-join-sidebar-image{margin:20px 0 0;position:relative;min-height:0;overflow:hidden;border-radius:10px;border:1px solid rgba(250,250,245,.15);background:#174a3b}
.mpn-join-sidebar-image img{display:block;width:100%;height:auto;aspect-ratio:1280/859;max-height:330px;object-fit:contain;object-position:center}
.mpn-join-sidebar-image figcaption{padding:11px 14px;font-size:11px;line-height:1.45;color:#e9e4d3;background:#114031}
.mpn-join-side-note{margin:16px 0 0;color:#e7d7b9;font-size:12px;line-height:1.7;border-inline-start:2px solid #bda168;padding-inline-start:13px}
.mpn-join-experience .auth-panel{display:block;min-width:0;align-self:start;background:#faf9f5;padding:clamp(22px,3vw,46px)}
.mpn-join-experience .auth-shell:has(.mvn-join-card) .auth-card{
  width:100%;max-width:960px;margin:0 auto;padding:clamp(22px,3vw,40px);
  border-radius:17px;background:#fff;border:1px solid #dde7df;
  box-shadow:0 14px 40px rgba(22,61,44,.055)
}
.mpn-join-experience .mvn-join-card .mvn-guest-language{margin-bottom:10px}
.mpn-join-experience .mvn-join-intro{padding:4px 0 25px}
.mpn-join-topline{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:21px}
.mpn-join-experience .mvn-join-back{display:inline-block;margin:0;color:#235943;font-size:12px;font-weight:700;text-decoration:none;text-underline-offset:5px}
.mpn-join-experience .mvn-join-back:hover{text-decoration:underline}
.mpn-join-formcount{display:inline-flex;align-items:center;gap:6px;color:#5b7966;font-size:11px;letter-spacing:.07em;text-transform:uppercase;font-weight:750}
.mpn-join-formcount:before{content:"";display:inline-block;width:18px;height:1px;background:#b49c69}
.mpn-join-experience .mvn-join-kicker{font-size:11px;letter-spacing:.16em;color:#417254;font-weight:800}
.mpn-join-experience .mvn-join-intro h1{
  font:400 clamp(34px,3.7vw,56px)/1.13 Georgia,"Times New Roman",serif;
  max-width:830px;margin:13px 0 14px;letter-spacing:-.04em;color:#153c2e
}
.mpn-join-experience .mvn-join-intro>p{font-size:clamp(14px,1.25vw,16px);line-height:1.75;max-width:740px;color:#4b6655;margin:0}
.mpn-join-facts{margin-top:22px;padding:17px 0;border-top:1px solid #e4ebe2;border-bottom:1px solid #e4ebe2;display:flex;align-items:flex-start;flex-wrap:wrap;gap:9px 21px}
.mpn-join-facts span{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:650;color:#375a45}
.mpn-join-facts span:before{content:"";width:6px;height:6px;background:#b7a16e;border-radius:50%;flex:none}
.mpn-join-experience .mvn-join-form-wrap{border:0;padding:0;margin:0}
.mpn-join-formhead{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:0 0 15px}
.mpn-join-formhead h2{margin:0 0 6px;font:400 clamp(24px,2.2vw,30px)/1.22 Georgia,serif;letter-spacing:-.025em;color:#174533}
.mpn-join-formhead p{font-size:12px;line-height:1.65;color:#667969;margin:0;max-width:640px}
.mpn-join-formhead .mpn-join-formhead-no{font-size:11px;letter-spacing:.08em;white-space:nowrap;color:#577561;font-weight:750}
.mpn-join-experience .mvn-registration-shell{border:1px solid #dbe7dd;border-radius:12px;overflow:hidden;background:white;box-shadow:none}
.mpn-join-experience .mvn-registration-progress{background:#f7f9f6;border-bottom:1px solid #e0e8df;gap:0;grid-template-columns:repeat(5,minmax(0,1fr))}
.mpn-join-experience .mvn-registration-step{
  min-height:77px;display:flex;flex-direction:column;align-items:flex-start;
  justify-content:center;gap:5px;padding:12px clamp(7px,1vw,16px);text-align:start;
  border-inline-end:1px solid #e2eae2;color:#4d6958;transition:background .18s ease
}
.mpn-join-experience .mvn-registration-step b{
  width:24px;height:24px;border-color:#c9d9ca;background:#fff;color:#286b4b;
  border-radius:50%;font-size:10px
}
.mpn-join-experience .mvn-registration-step span{
  display:block!important;position:static!important;clip:auto!important;
  width:auto!important;height:auto!important;max-width:100%;overflow:visible!important;
  white-space:normal!important;text-overflow:clip!important;
  font-size:clamp(10px,.88vw,12px);line-height:1.25;font-weight:700;letter-spacing:0
}
.mpn-join-experience .mvn-registration-step.is-active{background:#edf5ed;color:#12462e}
.mpn-join-experience .mvn-registration-step.is-active:after{height:3px;left:0;right:0;background:#277554}
.mpn-join-experience .mvn-registration-step.is-active b,.mpn-join-experience .mvn-registration-step.is-complete b{background:#166344;color:#fff;border-color:#166344}
.mpn-join-experience .mvn-registration-panel{padding:clamp(17px,2.1vw,27px)}
.mpn-join-experience .mvn-step-heading{margin-bottom:20px}
.mpn-join-experience .mvn-step-heading h2{font-size:clamp(19px,1.5vw,22px);line-height:1.3;color:#153e2f}
.mpn-join-experience .mvn-step-heading p{font-size:12.5px;line-height:1.65;color:#5c7062;max-width:630px}
.mpn-join-experience .mvn-step-required{font-size:11px}
.mpn-join-experience .mvn-registration-fields{gap:18px 16px}
.mpn-join-experience .mvn-registration-fields .field>label{font-size:13px;font-weight:700;color:#2c4a39;line-height:1.4}
.mpn-join-experience .mvn-registration-fields :is(input:not([type=checkbox]),select,textarea){min-height:48px;font-size:14px;border:1px solid #c4d3c7;border-radius:7px;background:#fff;color:#163c2d}
.mpn-join-experience .mvn-registration-fields small{font-size:12px;line-height:1.65;color:#647b68}
.mpn-join-experience .mvn-registration-actions{background:#fbfcfa;border-top:1px solid #e0e9e1;padding:17px clamp(15px,2.1vw,27px)}
.mpn-join-experience .mvn-registration-actions .btn{min-height:45px;border-radius:7px;font-size:13px;padding:11px 18px}
.mpn-join-experience .mvn-registration-actions .btn:not(.btn-light){background:#155d42;color:#fff;border-color:#155d42}
.mpn-join-experience .mvn-registration-actions .btn.btn-light{background:#fff;color:#295b42;border-color:#c7d9cb}
.mpn-join-privacy-note{display:flex;gap:12px;align-items:start;margin-top:16px;padding:15px 16px;background:#f3f7f2;border:1px solid #dde9df;border-radius:10px}
.mpn-join-privacy-note:before{content:"";flex:none;margin-top:5px;width:9px;height:9px;border:2px solid #4b8864;border-radius:50%}
.mpn-join-privacy-note p{margin:0;font-size:12px;line-height:1.7;color:#426451}
.mpn-join-privacy-note a{font-weight:740;color:#1d6649;text-underline-offset:4px}
.mpn-join-experience .mvn-join-footer-note{margin-top:22px;padding-top:18px;align-items:center;border-color:#e0e9e0}
.mpn-join-experience .mvn-join-footer-note p{font-size:12px;line-height:1.7}
.mpn-join-experience .mvn-join-footer-note a{font-size:12px;font-weight:750}
.mpn-join-experience .auth-powered{font-size:11px;color:#6d806f}
.mpn-join-experience .mvn-join-card :is(input,textarea,select,button,a,summary):focus-visible{outline:3px solid #ba9d5f;outline-offset:3px}
@media(max-width:1100px){
  .mpn-join-experience .auth-shell{grid-template-columns:minmax(320px,36%) minmax(0,1fr)}
  .mpn-join-experience .auth-panel{padding:24px 19px}
  .mpn-join-experience .auth-shell:has(.mvn-join-card) .auth-card{padding:26px}
}
@media(max-width:1000px){
  .mpn-join-experience .auth-shell{display:block;min-height:100vh}
  .mpn-join-experience .auth-brand{
    position:relative;top:auto;height:auto;min-height:0;overflow:visible;
    padding:15px 21px!important;display:block;background:#093e31;
    border:0;border-bottom:2px solid #af955f
  }
  .mpn-join-experience .auth-brand-lockup{margin:0!important;gap:11px;align-items:center}
  .mpn-join-experience .auth-brand h2,.mpn-join-experience .auth-brand>p,.mpn-join-experience .auth-brand .brand-pill,.mpn-join-experience .mpn-join-sidebar{display:none!important}
  .mpn-join-experience .auth-panel{padding:16px}
  .mpn-join-experience .auth-shell:has(.mvn-join-card) .auth-card{width:100%;max-width:850px;padding:clamp(19px,4vw,32px)}
  .mpn-join-experience .auth-brand-title{max-width:none}
}
@media(max-width:600px){
  .mpn-join-experience .auth-panel{padding:12px 10px 55px}
  .mpn-join-experience .auth-shell:has(.mvn-join-card) .auth-card{padding:19px 15px;border-radius:13px}
  .mpn-join-experience .mvn-join-card .mvn-guest-language{margin-bottom:8px}
  .mpn-join-experience .mvn-join-intro{padding-bottom:19px}
  .mpn-join-experience .mvn-join-intro h1{font-size:clamp(30px,8vw,39px);line-height:1.14}
  .mpn-join-experience .mvn-join-intro>p{font-size:14px}
  .mpn-join-topline{margin-bottom:16px}
  .mpn-join-facts{gap:8px 14px;margin-top:16px;padding:13px 0}
  .mpn-join-facts span{font-size:11px}
  .mpn-join-formhead{flex-direction:column;align-items:start;gap:5px}
  .mpn-join-formhead h2{font-size:24px}
  .mpn-join-experience .mvn-registration-progress{grid-template-columns:repeat(5,minmax(0,1fr))}
  .mpn-join-experience .mvn-registration-step{min-height:76px;align-items:center;justify-content:center;gap:5px;padding:9px 3px;text-align:center}
  .mpn-join-experience .mvn-registration-step b{width:23px;height:23px;flex:0 0 auto}
  .mpn-join-experience .mvn-registration-step span{font-size:9px!important;line-height:1.2;text-align:center;overflow-wrap:anywhere;hyphens:auto}
  .mpn-join-experience .mvn-registration-panel{padding:19px 15px}
  .mpn-join-experience .mvn-registration-fields{grid-template-columns:1fr;gap:16px}
  .mpn-join-experience .mvn-registration-actions{padding:14px}
  .mpn-join-experience .mvn-registration-actions .btn{min-height:46px}
  .mpn-join-experience .mvn-join-footer-note{flex-direction:column;align-items:start;gap:9px;padding-inline-end:56px}
  .mpn-join-experience .auth-powered{padding-inline-end:60px;padding-bottom:70px;line-height:1.8}
  .mpn-join-experience .mvn-appearance-toggle{height:44px;width:44px;inset-inline-end:14px;bottom:14px}
}
@media(prefers-reduced-motion:reduce){.mpn-join-experience .mvn-registration-step{transition:none}}


/* User-provided real MPN group image: fully visible on phones as well. */
.mpn-join-mobile-photo{display:none;margin:17px 0 0;border-radius:10px;overflow:hidden;border:1px solid #d7e5d8;background:#e8efe9}
.mpn-join-mobile-photo img{display:block;width:100%;height:auto;aspect-ratio:1280/859;object-fit:contain}
.mpn-join-mobile-photo figcaption{margin:0;padding:9px 13px;color:#315942;font-size:11px;font-weight:700;background:#edf3ed}
@media(max-width:1000px){.mpn-join-mobile-photo{display:block}}


/* Progressive registration clarity — limited to the Join page. */
.mpn-join-step-status{display:flex;align-items:center;justify-content:space-between;gap:18px;min-width:0;padding:10px 14px;margin:0 0 11px;border:1px solid #d9e7dc;background:#f3f8f3;border-radius:9px;color:#26533b}
.mpn-join-step-status-label{font-size:12px;line-height:1.5;font-weight:740;min-width:0}
.mpn-join-step-track{display:block;flex:0 0 106px;height:6px;border-radius:100px;overflow:hidden;background:#d5e5d8}
.mpn-join-step-track>span{display:block;height:100%;width:20%;background:#18734f;transition:width .18s ease;border-radius:100px}
.mpn-join-experience .mvn-registration-panel :is(input,select,textarea)[aria-invalid="true"]{border-color:#b64d42!important;box-shadow:0 0 0 2px rgba(167,52,43,.1)!important}
.mpn-join-password-control{position:relative;min-width:0}
.mpn-join-password-control>input{padding-inline-end:90px!important}
.mpn-join-password-control>.mpn-join-reveal{position:absolute;inset-inline-end:9px;top:50%;transform:translateY(-50%);width:auto;min-width:65px;height:35px;border:1px solid #d3e0d5;border-radius:6px;background:#f5f9f5;color:#185239;font:inherit;font-weight:750;font-size:12px;cursor:pointer;padding:5px 9px}
.mpn-join-password-control>.mpn-join-reveal:hover{background:#eaf2ea}
.mpn-join-password-control>.mpn-join-reveal:focus-visible{outline:3px solid #ba9d5f;outline-offset:3px}
html[data-mvn-theme="dark"] .mpn-join-step-status{background:#1c3128;color:#e4f0e7;border-color:#335445}
html[data-mvn-theme="dark"] .mpn-join-step-track{background:#375746}
html[data-mvn-theme="dark"] .mpn-join-reveal{background:#2c4637;color:#e6f3e9;border-color:#537361}
/* On narrow viewports the inherited auth-brand decorative pseudo-element
   protrudes by 180px because the brand column becomes unclipped. */
@media(max-width:1000px){
 .mpn-join-experience .auth-brand:after{display:none!important}
 .mpn-join-experience .auth-shell{max-width:100%}
 .mpn-join-experience .auth-panel,.mpn-join-experience .auth-card{max-width:100%;min-width:0}
}
@media(max-width:600px){
 .mpn-join-step-status{gap:10px;padding:9px 11px}
 .mpn-join-step-status-label{font-size:11px}
 .mpn-join-step-track{flex-basis:78px}
}
@media(prefers-reduced-motion:reduce){.mpn-join-step-track>span{transition:none}}


/* One visible forward action should fill the row on narrow screens. */
@media(max-width:600px){
 .mpn-join-experience .mvn-registration-actions>div{
  display:flex;align-items:stretch;gap:9px;width:100%
 }
 .mpn-join-experience .mvn-registration-actions>div>.btn:not([hidden]){
  flex:1 1 0;width:auto;min-width:0
 }
 .mpn-join-experience .mvn-registration-actions .mvn-step-error.is-visible{
  flex:1 1 100%;max-width:100%;font-size:12px;line-height:1.5
 }
 .mpn-join-experience .mvn-registration-actions>div:has(.mvn-step-error.is-visible){
  flex-wrap:wrap
 }
}


/* Unchecked-by-default, private aggregate form analytics preference. */
.mpn-join-analytics-optin{
  margin:0 0 13px;padding:13px 15px;border:1px solid #dce7dd;
  background:#f9fbf8;border-radius:9px;color:#244b36
}
.mpn-join-analytics-optin>label{
  display:flex;gap:12px;align-items:flex-start;cursor:pointer
}
.mpn-join-analytics-optin input[type=checkbox]{
  width:19px;height:19px;min-width:19px;margin:3px 0 0;accent-color:#1b7050
}
.mpn-join-analytics-optin label strong{display:block;font-size:12px;line-height:1.45}
.mpn-join-analytics-optin label small{
  display:block;margin-top:4px;font-size:11px;line-height:1.65;color:#527261
}
.mpn-join-analytics-optin>p{font-size:11px;line-height:1.5;margin:8px 0 4px;color:#54705f}
.mpn-join-analytics-optin>a{
  font-size:11px;font-weight:740;color:#176447;text-decoration:underline;text-underline-offset:3px
}
.mpn-join-analytics-optin input:focus-visible{outline:3px solid #bba05f;outline-offset:3px}
html[data-mvn-theme="dark"] .mpn-join-analytics-optin{
  background:#243d2e;border-color:#40644b;color:#e7f0e8
}
html[data-mvn-theme="dark"] .mpn-join-analytics-optin :is(small,p){color:#c6dac9}
@media(max-width:600px){.mpn-join-analytics-optin{padding:12px}}
