/* Fortitude Growth Engine — neutral by design; brand colors come from the site profile. */
.fge-form{--_gap:14px;display:grid;gap:var(--_gap);max-width:640px;font-family:var(--fge-font,inherit);color:var(--fge-ink,#111)}
.fge-form__title{margin:0;font-size:1.35rem;line-height:1.25}
.fge-form__intro,.fge-form__foot{margin:0;opacity:.8;font-size:.95rem}
.fge-field{display:grid;gap:6px}
.fge-field label,.fge-field legend{font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;font-weight:600}
.fge-field input,.fge-field select,.fge-field textarea{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid color-mix(in srgb,var(--fge-ink,#111) 25%,transparent);border-radius:2px;background:var(--fge-paper,#fff);color:var(--fge-ink,#111);font:inherit;font-size:1rem}
.fge-field input:focus,.fge-field select:focus,.fge-field textarea:focus{outline:2px solid var(--fge-accent,#111);outline-offset:1px;border-color:var(--fge-accent,#111)}
.fge-field fieldset{border:0;padding:0;margin:0;display:grid;gap:6px}
.fge-check,.fge-radio{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;line-height:1.45}
.fge-check input{margin-top:3px}
.fge-help{opacity:.7;font-size:.82rem}
.fge-req{color:var(--fge-accent,#111)}
.fge-hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.fge-btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;padding:13px 22px;border:1px solid var(--fge-accent,#111);background:var(--fge-accent,#111);color:var(--fge-paper,#fff);font:inherit;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;text-decoration:none;cursor:pointer;border-radius:2px;transition:opacity .15s}
.fge-btn:hover{opacity:.88}.fge-btn[disabled]{opacity:.55;cursor:wait}
.fge-success{margin:0;font-weight:600}
.fge-error{margin:0;color:#a11a1a}
.fge-code{display:inline-block;padding:8px 14px;border:1px dashed currentColor;font-family:ui-monospace,Menlo,monospace;font-size:1.05rem;letter-spacing:.12em}
.fge-done{display:grid;gap:12px}
.fge-eyebrow{margin:0;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;opacity:.75}

/* Promotions */
.fge-promo{position:fixed;z-index:99990;font-family:var(--fge-font,inherit);color:var(--fge-paper,#fff);opacity:0;transition:opacity .25s,transform .25s}
.fge-promo.is-open{opacity:1}
.fge-promo__box{position:relative;background:var(--fge-ink,#111);box-shadow:0 18px 50px rgba(0,0,0,.28)}
.fge-promo__close{position:absolute;top:6px;right:8px;border:0;background:transparent;color:inherit;font-size:22px;line-height:1;cursor:pointer;opacity:.75;padding:6px}
.fge-promo__close:hover{opacity:1}
.fge-promo .fge-btn{background:var(--fge-paper,#fff);color:var(--fge-ink,#111);border-color:var(--fge-paper,#fff)}
.fge-promo .fge-form{color:var(--fge-paper,#fff)}
.fge-promo .fge-field input,.fge-promo .fge-field select,.fge-promo .fge-field textarea{background:transparent;color:var(--fge-paper,#fff);border-color:rgba(255,255,255,.35)}
.fge-promo__box{font-size:15px;line-height:1.5}
.fge-promo .fge-promo__headline{display:block;margin:0 28px 8px 0;font-size:1.2rem;line-height:1.25;font-weight:600;letter-spacing:0}
.fge-promo .fge-promo__body{margin:0 0 16px;opacity:.85;font-size:.95rem;line-height:1.5}
.fge-promo .fge-eyebrow{font-size:.68rem;margin:0 28px 8px 0}

.fge-promo--bar{left:0;right:0;bottom:0;transform:translateY(100%)}
.fge-promo--bar.is-open{transform:none}
.fge-promo--bar .fge-promo__box{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;justify-content:center;padding:12px 48px 12px 16px;border-top:3px solid var(--fge-accent,#111)}
.fge-promo--bar .fge-promo__headline{margin:0;font-size:1rem}
.fge-promo--bar .fge-promo__body{margin:0;font-size:.92rem}
.fge-promo--bar .fge-btn{padding:9px 16px}

.fge-promo--slidein{bottom:20px;width:min(380px,calc(100vw - 32px));transform:translateY(20px)}
.fge-promo--slidein.is-open{transform:none}
.fge-pos--bottom-right{right:20px}.fge-pos--bottom-left{left:20px}
.fge-promo--slidein .fge-promo__box{padding:24px 24px 22px;border-top:3px solid var(--fge-accent,#111)}

.fge-promo--modal{inset:0;display:grid;place-items:center;background:rgba(0,0,0,.6);padding:16px}
.fge-promo--modal .fge-promo__box{width:min(520px,100%);max-height:calc(100vh - 32px);overflow:auto;padding:36px 32px 30px;border-top:3px solid var(--fge-accent,#111)}

.fge-inline-promo{padding:28px;border:1px solid color-mix(in srgb,var(--fge-ink,#111) 18%,transparent);border-top:3px solid var(--fge-accent,#111);display:grid;gap:10px}
.fge-inline-promo h3{margin:0}

@media (prefers-reduced-motion:reduce){.fge-promo{transition:none}}
@media (max-width:600px){.fge-promo--slidein{left:16px;right:16px;bottom:16px;width:auto}.fge-promo--modal .fge-promo__box{padding:28px 20px}}
