/* ISI layer for the membership pages (tiers + application form). Loaded after the module's own styles. */
.membership-application-section, .membership-categories-section { --ink: #0c1b33; --green: #009b3d; --glow: #3cdc86; background: #f3f5f7 !important; font-family: "Archivo", sans-serif; }
.membership-application-section .form-hero { position: relative; overflow: hidden; background: radial-gradient(90% 90% at 90% 110%, rgba(0,155,61,.3), transparent 60%), #0c1b33 !important; color: #fff !important; border-radius: 6px !important; padding: clamp(28px, 4vw, 48px) !important; border: 1px solid rgba(60,220,134,.2); }
.membership-application-section .form-hero::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(90deg, rgba(120,255,190,.04) 0 1px, transparent 1px 56px); pointer-events: none; }
.membership-application-section .form-hero h2 { font-family: "Archivo", sans-serif !important; font-weight: 900 !important; font-stretch: 115%; font-size: clamp(2rem, 1.2rem + 2.4vw, 3.2rem) !important; color: #fff !important; position: relative; }
.membership-application-section .form-hero p { font-family: "Newsreader", serif !important; font-size: 1.15rem !important; color: #c9d1da !important; position: relative; max-width: 60ch; }
.membership-application-section .form-hero .eyebrow { font-family: "Newsreader", serif !important; font-style: italic; text-transform: none !important; letter-spacing: 0 !important; color: #7dffbf !important; font-size: 1.05rem !important; background: none !important; padding: 0 !important; position: relative; }
.membership-price-badge { position: relative; background: rgba(0,155,61,.2) !important; border: 1px solid rgba(60,220,134,.4) !important; color: #fff !important; border-radius: 4px !important; }
.membership-application-section .application-form-card { border-radius: 6px !important; box-shadow: 0 30px 70px -40px rgba(12,27,51,.45) !important; border: 1px solid #e3e7ec !important; }
.membership-application-section .section-card { border-radius: 4px !important; border: 1px solid #e3e7ec !important; border-left: 3px solid var(--green) !important; background: #fff !important; }
.membership-application-section .form-strip-title, .membership-application-section .section-card h3, .membership-application-section .section-card h4 { font-family: "Archivo", sans-serif !important; font-weight: 800 !important; color: var(--ink) !important; letter-spacing: -0.01em; text-transform: none !important; }
.membership-application-section .section-index { background: var(--ink) !important; color: #fff !important; font-family: "Archivo", sans-serif !important; font-weight: 800 !important; }
.membership-application-section label { font-family: "Archivo", sans-serif !important; font-weight: 600 !important; color: var(--ink) !important; }
.membership-application-section .form-control, .membership-application-section .form-select, .membership-application-section input[type=text], .membership-application-section input[type=email], .membership-application-section input[type=date], .membership-application-section textarea, .membership-application-section select { border: 1.5px solid #d5dbe2 !important; border-radius: 3px !important; font-family: "Archivo", sans-serif !important; min-height: 50px; }
.membership-application-section .form-control:focus, .membership-application-section input:focus, .membership-application-section textarea:focus, .membership-application-section select:focus { border-color: var(--green) !important; box-shadow: 0 0 0 4px rgba(0,155,61,.14) !important; outline: none !important; }
.membership-application-section .submit-application-btn, .membership-application-section .btn-home { background: var(--green) !important; border: 0 !important; border-radius: 3px !important; font-family: "Archivo", sans-serif !important; font-weight: 800 !important; font-size: 1.1rem !important; min-height: 58px; text-transform: none !important; letter-spacing: 0 !important; transition: background-color .2s, box-shadow .2s; }
.membership-application-section .submit-application-btn:hover { background: #00b247 !important; box-shadow: 0 0 30px rgba(0,210,106,.4); }
.membership-application-section .entry-note { font-family: "Newsreader", serif !important; font-size: 1.05rem !important; }

/* progress rail added by isi-membership.js */
.isi-mprog { position: sticky; top: 0; z-index: 40; height: 4px; background: rgba(12,27,51,.12); }
.isi-mprog span { display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--green), var(--glow)); box-shadow: 0 0 14px rgba(60,220,134,.7); transition: width .3s; }
.isi-mprog__label { position: sticky; top: 8px; z-index: 40; float: right; margin: 8px 0 -30px; font-family: "Archivo", sans-serif; font-weight: 700; font-size: .85rem; color: var(--ink); background: #fff; border: 1px solid #e3e7ec; padding: 4px 10px; border-radius: 20px; }
