/* Five Star Practice — standalone one-page membership form, scoped for Divi. */
.fsp-mem,.fsp-mem *{box-sizing:border-box}
.fsp-mem{font-family:inherit;font-size:var(--fsp-mem-font,16px);color:var(--fsp-mem-ink,#173457);width:100%;background:var(--fsp-mem-navy,#082E69);padding:clamp(26px,4vw,62px) 18px clamp(32px,5vw,72px);border-radius:18px}
.fsp-mem .fsp-mem-container{max-width:var(--fsp-mem-width,880px);margin:0 auto;min-width:0}
.fsp-mem .fsp-mem-header{text-align:center;color:#fff;margin-bottom:26px}
.fsp-mem .fsp-mem-kicker{display:inline-flex;align-items:center;gap:9px;font-weight:800;font-size:12px;letter-spacing:2px;color:#F9DE9F;text-transform:uppercase}
.fsp-mem .fsp-mem-kicker span{background:var(--fsp-mem-gold,#BE9A3D);width:8px;height:8px;display:inline-block;border-radius:50%}
.fsp-mem .fsp-mem-header h1{color:#fff!important;font-weight:850!important;font-size:clamp(34px,4.2vw,54px)!important;letter-spacing:-1.3px!important;line-height:1.13!important;padding:0!important;margin:10px 0 13px!important}
.fsp-mem .fsp-mem-header p{color:#DDEAFB!important;font-size:clamp(16px,1.7vw,18px)!important;line-height:1.6!important;max-width:690px;margin:0 auto!important}
.fsp-mem .fsp-mem-card{border-radius:var(--fsp-mem-radius,22px);background:var(--fsp-mem-card,#fff);padding:16px;box-shadow:0 25px 75px rgba(1,18,49,.24)}
.fsp-mem .fsp-mem-card-head{background:linear-gradient(120deg,var(--fsp-mem-navy,#082E69),#174482);border-radius:clamp(8px,calc(var(--fsp-mem-radius,22px) - 8px),30px);color:white;padding:27px clamp(21px,3vw,33px);box-shadow:0 10px 24px rgba(8,46,105,.12)}
.fsp-mem .fsp-mem-card-head h2{color:#fff!important;font-size:clamp(22px,2.7vw,30px)!important;font-weight:820!important;margin:0 0 8px!important;line-height:1.22!important;padding:0!important}
.fsp-mem .fsp-mem-card-head p{color:#E5EFFB!important;font-size:clamp(15px,1.5vw,17px)!important;line-height:1.55!important;margin:0!important}
.fsp-mem .fsp-mem-form-body{padding:clamp(22px,3.2vw,37px) clamp(10px,3.2vw,34px) 13px}
.fsp-mem .fsp-mem-form-head{display:flex;align-items:start;justify-content:space-between;gap:22px;border-bottom:1px solid #DFE7F3;padding-bottom:19px;margin-bottom:25px}
.fsp-mem .fsp-mem-form-head h3{color:var(--fsp-mem-navy)!important;font-size:clamp(19px,2vw,24px)!important;line-height:1.25!important;font-weight:800!important;padding:0!important;margin:0 0 5px!important}
.fsp-mem .fsp-mem-form-head p{font-size:14px;color:#607792;line-height:1.5;margin:0!important}
.fsp-mem .fsp-mem-form-head>span{font-size:12px;color:#7789A3;white-space:nowrap;margin-top:6px}
.fsp-mem .fsp-mem-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;row-gap:20px}
.fsp-mem .fsp-mem-field{min-width:0;display:flex;flex-direction:column;gap:7px}
.fsp-mem .fsp-mem-wide{grid-column:1/-1}
.fsp-mem .fsp-mem-field label{font-size:var(--fsp-mem-label-font,15px)!important;font-weight:750;line-height:1.35;color:var(--fsp-mem-navy)!important}
.fsp-mem .fsp-mem-required{color:#B45D4D}
.fsp-mem .fsp-mem-field input,.fsp-mem .fsp-mem-field select,.fsp-mem .fsp-mem-field textarea{width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:12px 13px!important;min-height:48px!important;height:auto!important;line-height:1.45!important;color:var(--fsp-mem-ink)!important;background:#FCFDFE!important;border:1px solid var(--fsp-mem-border,#C7D5E8)!important;border-radius:10px!important;box-shadow:none!important;outline:0!important;font:inherit!important;font-size:var(--fsp-mem-font,16px)!important;appearance:auto}
.fsp-mem .fsp-mem-field textarea{resize:vertical;min-height:95px!important}
.fsp-mem .fsp-mem-field select{cursor:pointer}
.fsp-mem .fsp-mem-field input:focus,.fsp-mem .fsp-mem-field select:focus,.fsp-mem .fsp-mem-field textarea:focus{border-color:var(--fsp-mem-gold)!important;box-shadow:0 0 0 3px rgba(190,154,61,.14)!important}
.fsp-mem .fsp-mem-field input::placeholder,.fsp-mem .fsp-mem-field textarea::placeholder{color:#7D90AC;opacity:1}
.fsp-mem .fsp-mem-footer{display:flex;align-items:center;justify-content:space-between;gap:22px;padding-top:25px;margin-top:25px;border-top:1px solid #E1E8F2}
.fsp-mem .fsp-mem-footer>span{color:#687E99;font-size:13px;line-height:1.5;max-width:390px}
.fsp-mem .fsp-mem-submit{display:inline-flex;gap:26px;align-items:center;justify-content:space-between;border:0!important;border-radius:11px!important;padding:15px 20px!important;font-weight:800!important;font-size:16px!important;line-height:1.4!important;color:#fff!important;background:var(--fsp-mem-navy)!important;cursor:pointer;box-shadow:0 8px 20px rgba(8,46,105,.16);transition:transform .15s,background .15s}
.fsp-mem .fsp-mem-submit span{font-size:23px;line-height:1;color:#E9C976}
.fsp-mem .fsp-mem-submit:hover{background:#164785!important;transform:translateY(-1px)}
.fsp-mem .fsp-mem-message{padding:13px 16px;border:1px solid #D1E3CF;border-radius:10px;background:#F0FBF0;color:#255F37;margin-bottom:21px;font-weight:650;line-height:1.5}
.fsp-mem .fsp-mem-failure,.fsp-mem .fsp-mem-validation{background:#FFF3F2;border-color:#F1CEC8;color:#983E3D}
.fsp-mem .fsp-mem-trap{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:650px){.fsp-mem{padding:28px 10px 32px;border-radius:12px}.fsp-mem .fsp-mem-card{padding:10px}.fsp-mem .fsp-mem-card-head{padding:20px 17px}.fsp-mem .fsp-mem-form-body{padding:20px 9px 6px}.fsp-mem .fsp-mem-form-head{display:block;padding-bottom:15px;margin-bottom:19px}.fsp-mem .fsp-mem-form-head>span{display:block;margin-top:10px}.fsp-mem .fsp-mem-grid{grid-template-columns:minmax(0,1fr);row-gap:16px}.fsp-mem .fsp-mem-wide{grid-column:1}.fsp-mem .fsp-mem-footer{align-items:stretch;flex-direction:column;gap:17px}.fsp-mem .fsp-mem-submit{width:100%;justify-content:center}.fsp-mem .fsp-mem-submit span{margin-left:8px}}
@media(prefers-reduced-motion:reduce){.fsp-mem *, .fsp-mem *::before,.fsp-mem *::after{transition:none!important}}

/* v4.0.1: Applicant thank-you card (replaces the form after successful submission). */
.fsp-mem .fsp-mem-thankyou{max-width:700px;margin:0 auto;background:var(--fsp-mem-card,#fff);border-radius:var(--fsp-mem-radius,22px);padding:clamp(34px,5vw,64px) 26px;text-align:center;box-shadow:0 22px 60px rgba(4,24,58,.2);border:1px solid #E4EAF3}
.fsp-mem .fsp-mem-thankyou-icon{display:grid;place-items:center;margin:0 auto 21px;width:74px;height:74px;border-radius:50%;background:#EAF6EF;color:#267444;font-weight:850;font-size:40px}
.fsp-mem .fsp-mem-thankyou h2{font-weight:850!important;font-size:clamp(25px,3.2vw,36px)!important;color:var(--fsp-mem-navy)!important;line-height:1.2!important;margin:0 0 16px!important;padding:0!important}
.fsp-mem .fsp-mem-thankyou p{color:var(--fsp-mem-ink)!important;font-size:clamp(16px,1.5vw,19px)!important;line-height:1.65!important;max-width:570px;margin:0 auto!important}

/* Single shared modal for [five_star_membership_popup] and Divi triggers. */
.fsp-mem-popup-shell[hidden]{display:none!important}
.fsp-mem-popup-shell,.fsp-mem-popup-shell *{box-sizing:border-box}
.fsp-mem-popup-shell{position:fixed!important;z-index:2147483000!important;inset:0;display:flex;align-items:center;justify-content:center;padding:clamp(8px,2.5vw,28px);isolation:isolate}
.fsp-mem-popup-backdrop{position:absolute;inset:0;background:var(--fsp-popup-backdrop,#061A38);opacity:var(--fsp-popup-opacity,.78);cursor:pointer}
.fsp-mem-popup-content{position:relative;z-index:1;width:min(100%,var(--fsp-popup-width,1000px));max-width:100%;max-height:min(94vh,1100px);max-height:min(94dvh,1100px);overflow-y:auto;overscroll-behavior:contain;border-radius:20px;box-shadow:0 24px 100px rgba(0,12,40,.42);background:#fff;scrollbar-gutter:stable}
.fsp-mem-popup-content .fsp-mem{border-radius:20px;padding:clamp(40px,5vw,64px) clamp(12px,2.4vw,30px) 32px}
.fsp-mem-popup-close{position:sticky!important;top:13px!important;float:right!important;margin:12px 14px -52px 0!important;z-index:10!important;display:grid!important;place-items:center!important;width:43px!important;height:43px!important;min-width:43px!important;padding:0!important;border-radius:50%!important;border:1px solid rgba(255,255,255,.55)!important;color:#173457!important;background:#FFF!important;box-shadow:0 8px 23px rgba(0,0,0,.18)!important;cursor:pointer!important;font:normal 30px/1 Arial,sans-serif!important}
.fsp-mem-popup-close:focus-visible,.fsp-mem-popup-button:focus-visible{outline:3px solid #E4C46D;outline-offset:3px}
body.fsp-mem-dialog-open{overflow:hidden!important}
.fsp-mem-popup-button{display:inline-flex;align-items:center;justify-content:center;gap:17px;background:var(--fsp-trigger-bg,#BE9A3D)!important;color:var(--fsp-trigger-text,#102A52)!important;border:0!important;border-radius:var(--fsp-trigger-radius,12px)!important;padding:16px 23px!important;font-size:17px!important;font-weight:800!important;line-height:1.35!important;font-family:inherit!important;cursor:pointer;min-height:51px;transition:filter .15s,transform .15s}
.fsp-mem-popup-button:hover{filter:brightness(1.06);transform:translateY(-1px)}
.fsp-mem-popup-button span{font-size:21px;line-height:1}
@media(max-width:650px){.fsp-mem-popup-shell{padding:6px}.fsp-mem-popup-content{width:100%;max-height:98vh;max-height:98dvh;border-radius:13px;scrollbar-gutter:auto}.fsp-mem-popup-content .fsp-mem{border-radius:12px;padding:53px 9px 18px}.fsp-mem-popup-close{top:8px!important;margin:9px 10px -48px 0!important;width:37px!important;height:37px!important;min-width:37px!important;font-size:26px!important}.fsp-mem-popup-content .fsp-mem-header h1{font-size:31px!important}.fsp-mem-popup-content .fsp-mem-header p{font-size:15px!important}}
@media(prefers-reduced-motion:reduce){.fsp-mem-popup-button{transition:none!important}}

/* v4.0.2 — Jim's full membership introduction, readable paragraphs and bold closing */
.fsp-mem .fsp-mem-header {margin-bottom:28px}
.fsp-mem .fsp-mem-intro {max-width:770px;margin:19px auto 0;text-align:center}
.fsp-mem .fsp-mem-header .fsp-mem-intro p {max-width:770px!important;margin:0 0 17px!important;color:#E9F1FD!important;font-size:clamp(15px,1.5vw,17px)!important;font-weight:400!important;line-height:1.7!important;letter-spacing:0!important}
.fsp-mem .fsp-mem-header .fsp-mem-intro p:last-child {margin-bottom:0!important}
.fsp-mem .fsp-mem-header .fsp-mem-intro-closing {margin-top:20px!important;color:#FFF!important}
.fsp-mem .fsp-mem-header .fsp-mem-intro-closing strong {color:#FFF!important;font-weight:800!important}
@media(max-width:650px){
  .fsp-mem .fsp-mem-header {margin-bottom:22px}
  .fsp-mem .fsp-mem-intro {margin-top:17px}
  .fsp-mem .fsp-mem-header .fsp-mem-intro p {font-size:15px!important;line-height:1.58!important;margin-bottom:15px!important}
  .fsp-mem .fsp-mem-header .fsp-mem-intro-closing {margin-top:17px!important}
}


/* v4.0.4 — One-line desktop heading; left-aligned introduction across embed and popup. */
.fsp-mem .fsp-mem-container {container-type:inline-size;}
.fsp-mem .fsp-mem-header h1 {
  font-size:clamp(22px,3.6vw,44px)!important;
  font-size:clamp(22px,4.7cqw,44px)!important;
  line-height:1.18!important;
  letter-spacing:-.9px!important;
  text-align:center!important;
  white-space:nowrap!important;
  overflow-wrap:normal!important;
}
.fsp-mem .fsp-mem-intro {
  width:100%;
  max-width:none!important;
  margin:24px 0 0!important;
  text-align:left!important;
}
.fsp-mem .fsp-mem-header .fsp-mem-intro p,
.fsp-mem .fsp-mem-header .fsp-mem-intro .fsp-mem-intro-closing {
  max-width:none!important;
  text-align:left!important;
  margin-left:0!important;
  margin-right:0!important;
}
@media(max-width:760px){
  .fsp-mem .fsp-mem-header h1,
  .fsp-mem-popup-content .fsp-mem-header h1 {
    font-size:clamp(28px,5.1vw,36px)!important;
    white-space:normal!important;
    overflow-wrap:break-word!important;
    text-wrap:balance;
  }
  .fsp-mem .fsp-mem-intro {margin-top:18px!important;}
}
