/* Rainflower signup — monsoon-leaf card look, scoped to .rf-signup so it never
   leaks into the landing nav/footer. Shared by /signup and the /c/:code form. */
.rf-signup{
  --rf-card:#141c25; --rf-well:#0f161e; --rf-line:#243140; --rf-line-soft:#1b2632;
  --rf-ink:#e9eef3; --rf-mist:#8fa0ae; --rf-leaf:#5fc99a; --rf-leaf-deep:#3ea87c;
  --rf-dew:#9bd8ff; --rf-amber:#d9a253; --rf-radius:10px;
  max-width:600px;margin:1.5rem auto;
  font-family:"Instrument Sans",system-ui,sans-serif;color:var(--rf-ink);
}
.rf-signup *{box-sizing:border-box;}
.rf-signup .rf-card{
  background:var(--rf-card);border:1px solid var(--rf-line-soft);border-radius:18px;
  overflow:hidden;box-shadow:0 24px 60px -30px rgba(0,0,0,.7);
}
.rf-signup .rf-head{
  position:relative;padding:34px 36px 26px;border-bottom:1px solid var(--rf-line-soft);
  background:linear-gradient(180deg, rgba(95,201,154,.05), transparent 70%);
}
.rf-signup .rf-head h1{
  font-family:"Fraunces",serif;font-weight:600;font-size:31px;letter-spacing:-.01em;margin:0 0 6px;
}
.rf-signup .rf-head p{color:var(--rf-mist);max-width:42ch;margin:0;}
.rf-signup .rf-seats{
  display:inline-flex;align-items:center;gap:8px;margin-top:14px;
  padding:5px 12px 5px 9px;border-radius:99px;border:1px solid rgba(95,201,154,.35);
  background:rgba(95,201,154,.08);font-size:13px;font-weight:500;color:var(--rf-leaf);
}
.rf-signup .rf-seats.rf-full{border-color:rgba(217,162,83,.4);background:rgba(217,162,83,.08);color:var(--rf-amber);}
.rf-signup .rf-seats i{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px rgba(95,201,154,.18);}
.rf-signup .rf-drop{position:absolute;top:24px;right:28px;width:46px;height:46px;object-fit:contain;opacity:.95;}
@media (max-width:520px){.rf-signup .rf-drop{display:none;}}

.rf-signup form{padding:30px 36px 36px;}
@media (max-width:520px){.rf-signup form{padding:24px 20px 28px;}.rf-signup .rf-head{padding:28px 20px 22px;}}

/* Non-form blocks placed directly in the card (waitlist panel, success state)
   need the same horizontal inset as the form; the nested form then resets to 0. */
.rf-signup .rf-panel{padding:28px 36px 34px;}
.rf-signup .rf-panel form{padding:16px 0 0;}
@media (max-width:520px){.rf-signup .rf-panel{padding:22px 20px 26px;}}

.rf-signup .rf-group{margin-bottom:26px;}
.rf-signup .rf-eyebrow{
  font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--rf-leaf);
  display:flex;align-items:center;gap:10px;margin-bottom:14px;
}
.rf-signup .rf-eyebrow::after{content:"";flex:1;height:1px;background:var(--rf-line-soft);}

.rf-signup .rf-row{display:grid;gap:14px;grid-template-columns:1.5fr 1fr;}
@media (max-width:520px){.rf-signup .rf-row{grid-template-columns:1fr;}}

.rf-signup .rf-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;}
.rf-signup .rf-field:last-child{margin-bottom:0;}
.rf-signup label{font-size:13.5px;font-weight:500;color:var(--rf-ink);}
.rf-signup label b{color:var(--rf-leaf);font-weight:600;}
.rf-signup .rf-hint{font-size:12.5px;color:var(--rf-mist);}

.rf-signup input,.rf-signup select,.rf-signup textarea{
  appearance:none;width:100%;background:var(--rf-well);border:1px solid var(--rf-line);
  border-radius:var(--rf-radius);color:var(--rf-ink);font:inherit;padding:11px 13px;
  transition:border-color .15s, box-shadow .15s;
}
.rf-signup textarea{resize:vertical;min-height:104px;line-height:1.5;}
.rf-signup input::placeholder,.rf-signup textarea::placeholder{color:#5a6b79;}
.rf-signup select:invalid{color:#8fa0ae;}
.rf-signup select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%238fa0ae' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 13px center;padding-right:36px;cursor:pointer;
}
.rf-signup input:hover,.rf-signup select:hover,.rf-signup textarea:hover{border-color:#31414f;}
.rf-signup input:focus-visible,.rf-signup select:focus-visible,.rf-signup textarea:focus-visible{
  outline:none;border-color:var(--rf-leaf);box-shadow:0 0 0 3px rgba(95,201,154,.15);
}

/* checkbox group (advisor types, etc.) */
.rf-signup .rf-checks{display:flex;flex-direction:column;gap:0.55rem;margin-top:4px;}
.rf-signup .rf-checks label{display:flex;align-items:center;gap:0.6rem;font-size:14px;color:var(--rf-mist);cursor:pointer;font-weight:400;}
.rf-signup .rf-checks input{appearance:auto;accent-color:var(--rf-leaf);width:16px;height:16px;flex:none;margin:0;cursor:pointer;}

.rf-signup .rf-note{
  display:flex;gap:10px;margin-top:10px;padding:11px 13px;border-radius:var(--rf-radius);
  border:1px solid rgba(217,162,83,.25);background:rgba(217,162,83,.06);
  font-size:13px;color:#cbb289;line-height:1.5;
}
.rf-signup .rf-note a{color:var(--rf-amber);font-weight:500;text-decoration:none;border-bottom:1px solid rgba(217,162,83,.4);}
.rf-signup .rf-note a:hover{border-bottom-color:var(--rf-amber);}

.rf-signup .rf-consent{
  display:flex;gap:12px;align-items:flex-start;padding:14px;margin:4px 0 20px;
  background:var(--rf-well);border:1px solid var(--rf-line-soft);border-radius:var(--rf-radius);
  font-size:13.5px;color:var(--rf-mist);line-height:1.5;cursor:pointer;
}
.rf-signup .rf-consent input{appearance:auto;accent-color:var(--rf-leaf);width:16px;height:16px;margin-top:2px;flex-shrink:0;cursor:pointer;}
.rf-signup .rf-consent a{color:var(--rf-leaf);text-decoration:none;}
.rf-signup .rf-consent a:hover{text-decoration:underline;}

.rf-signup button.rf-cta{
  width:100%;font:600 15.5px/1 "Instrument Sans",sans-serif;color:#0b1310;
  background:linear-gradient(180deg,#6fd6a7,var(--rf-leaf) 55%,var(--rf-leaf-deep));
  border:none;border-radius:12px;padding:14px;cursor:pointer;transition:filter .15s, transform .1s;
}
.rf-signup button.rf-cta:hover{filter:brightness(1.06);}
.rf-signup button.rf-cta:active{transform:translateY(1px);}
.rf-signup button.rf-cta:focus-visible{outline:2px solid var(--rf-dew);outline-offset:2px;}

.rf-signup .rf-foot{
  margin-top:20px;padding-top:18px;border-top:1px solid var(--rf-line-soft);
  font-size:13.5px;color:var(--rf-mist);display:flex;flex-wrap:wrap;gap:6px 18px;
}
.rf-signup .rf-foot a{color:var(--rf-leaf);text-decoration:none;font-weight:500;}
.rf-signup .rf-foot a:hover{text-decoration:underline;}

.rf-signup .rf-alert{
  margin:22px 36px 0;padding:11px 13px;border-radius:var(--rf-radius);
  border:1px solid rgba(248,113,113,.35);background:rgba(248,113,113,.08);color:#f6a5a5;font-size:13.5px;
}
.rf-signup .rf-alert--info{border-color:rgba(155,216,255,.35);background:rgba(155,216,255,.08);color:#bfe3ff;}
.rf-signup .rf-alert--success{border-color:rgba(95,201,154,.4);background:rgba(95,201,154,.09);color:#a9e6c9;}
@media (max-width:520px){.rf-signup .rf-alert{margin-left:20px;margin-right:20px;}}
.rf-signup .email-check-hint{font-size:12.5px;}
@media (prefers-reduced-motion:reduce){.rf-signup *{transition:none !important;}}

/* narrow variant for the login card */
.rf-signup.rf-narrow{max-width:440px;}

/* coordinator-invite variant: a two-column layout with the coordinator card aside */
.rf-signup.rf-wide{max-width:960px;}
.rf-signup .rf-cols{display:flex;gap:1.5rem;align-items:flex-start;}
.rf-signup .rf-main{flex:1 1 auto;min-width:0;}
.rf-signup .rf-aside{flex:0 0 300px;}
@media (max-width:820px){.rf-signup .rf-cols{flex-direction:column;}.rf-signup .rf-aside{flex-basis:auto;width:100%;}}
