.signup-page{
  min-height:100vh;
  background:
    radial-gradient(circle at 5% 10%,#88a39618 0,transparent 27%),
    var(--linen);
}
.signup-header{
  display:flex;
  min-height:108px;
  padding:22px clamp(28px,5vw,78px);
  align-items:center;
  justify-content:space-between;
  gap:24px;
  color:#fff;
  background:var(--navy);
}
.signup-brand{display:grid;color:inherit;text-decoration:none}
.signup-brand strong{font:400 clamp(2rem,3vw,3rem)/.9 "Bebas Neue",sans-serif;letter-spacing:.04em}
.signup-brand sup{font:.28em "DM Sans",sans-serif;vertical-align:top}
.signup-brand span{margin-top:8px;color:var(--soft-sage);font-size:.85rem;letter-spacing:.08em}
.back-link{color:#fff;font:400 1.1rem/1 "Bebas Neue",sans-serif;letter-spacing:.08em;text-decoration:none}
.back-link:hover{text-decoration:underline;text-underline-offset:5px}
.signup-layout{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr);
  gap:clamp(42px,5vw,84px);
  width:100%;
  max-width:1600px;
  margin:auto;
  padding:clamp(48px,6vw,88px) clamp(28px,5vw,78px);
  align-items:start;
}
.signup-details{min-width:0}
.signup-eyebrow{
  margin:0 0 12px;
  color:var(--sage);
  font:400 1.55rem/1 "Bebas Neue",sans-serif;
  letter-spacing:.15em;
}
.signup-details > h1{
  max-width:760px;
  margin:0;
  color:var(--navy);
  font:400 clamp(4.2rem,7vw,7rem)/.88 "Bebas Neue",sans-serif;
  letter-spacing:.025em;
}
.signup-intro{
  max-width:750px;
  margin:28px 0 42px;
  font-size:1.38rem;
  line-height:1.65;
}
.detail-section{max-width:790px;margin-top:34px}
.detail-section h2,
.participation-path h2,
.thank-you-card h2,
.form-heading h2{
  margin:0;
  color:var(--plum);
  font:400 2.25rem/1 "Bebas Neue",sans-serif;
  letter-spacing:.045em;
}
.friendly-list{display:grid;gap:18px;margin:22px 0 0;padding:0;list-style:none}
.friendly-list li{
  position:relative;
  padding-left:34px;
  font-size:1.12rem;
  line-height:1.55;
}
.friendly-list li:before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:var(--sage);
  font-size:1.3rem;
  font-weight:700;
}
.friendly-note{
  margin:24px 0 0;
  padding:20px 22px;
  font-size:1rem;
  line-height:1.55;
  border-left:4px solid var(--sage);
  background:#fff;
}
.benefit-section{
  padding:28px;
  border:1px solid #563c5c1c;
  background:var(--lilac);
}
.benefit-section p{margin:13px 0 0;font-size:1.12rem;line-height:1.6}
.quick-facts{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  max-width:900px;
  margin-top:34px;
}
.quick-facts div{
  min-width:0;
  padding:18px 16px;
  border-top:4px solid var(--sage);
  background:#fff;
}
.quick-facts div:nth-child(2){border-color:var(--plum)}
.quick-facts div:nth-child(3){border-color:#9b93ad}
.quick-facts strong{display:block;color:var(--navy);font:400 1.45rem/1 "Bebas Neue",sans-serif;letter-spacing:.03em}
.quick-facts span{display:block;margin-top:8px;font-size:.82rem;line-height:1.35}
.signup-form-panel{
  position:sticky;
  top:26px;
  min-width:0;
  padding:30px;
  border:1px solid #26374c1a;
  background:#fff;
  box-shadow:0 20px 50px #26374c16;
}
.form-heading{padding:3px 4px 24px}
.form-heading h2{color:var(--navy);font-size:3rem}
.form-heading p:last-child{margin:13px 0 0;font-size:1rem;line-height:1.5}
.airtable-form{
  display:block;
  width:100%;
  min-height:890px;
  border:0;
  background:var(--linen);
}
.form-privacy{margin:18px 4px 0;color:#526174;font-size:.78rem;line-height:1.45}
.storage-status{
  display:flex;
  gap:10px;
  margin:0 4px 22px;
  padding:12px 14px;
  align-items:center;
  color:var(--navy);
  border:1px solid #88a39655;
  background:#88a39618;
  font-size:.86rem;
}
.status-dot{width:10px;height:10px;border-radius:50%;background:var(--sage);box-shadow:0 0 0 4px #88a39624}
.storage-status.is-offline{border-color:#b58a42;background:#b58a4210}
.storage-status.is-offline .status-dot{background:#b58a42;box-shadow:0 0 0 4px #b58a421b}
.storage-status.is-error{border-color:#9d4d60;background:#9d4d6010}
.storage-status.is-error .status-dot{background:#9d4d60;box-shadow:0 0 0 4px #9d4d601b}
.local-signup-form{display:grid;gap:18px}
.bot-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.local-signup-form label{display:grid;gap:7px;color:var(--navy);font-size:.9rem;font-weight:700}
.local-signup-form label > span b{color:var(--plum)}
.local-signup-form input,
.local-signup-form select{
  width:100%;
  min-height:52px;
  padding:12px 14px;
  color:var(--navy);
  border:1px solid #26374c33;
  border-radius:4px;
  outline:0;
  background:var(--linen);
  font:400 1rem/1.25 "DM Sans",sans-serif;
}
.local-signup-form input:focus,
.local-signup-form select:focus{border-color:var(--sage);box-shadow:0 0 0 3px #88a3962e}
.consent-field{display:grid!important;grid-template-columns:24px 1fr;gap:10px!important;align-items:start;font-weight:400!important;line-height:1.45}
.consent-field input{width:21px;min-height:21px;margin:1px 0 0;padding:0;accent-color:var(--plum)}
.save-signup,
.organizer-actions button{
  min-height:54px;
  padding:13px 18px;
  color:#fff;
  border:0;
  background:var(--navy);
  font:400 1.25rem/1 "Bebas Neue",sans-serif;
  letter-spacing:.06em;
  cursor:pointer;
}
.save-signup:hover,.save-signup:focus-visible,.organizer-actions button:hover,.organizer-actions button:focus-visible{background:var(--plum)}
.save-signup:disabled{cursor:not-allowed;opacity:.5}
.form-message{min-height:1.4em;margin:0;color:#356957;font-size:.9rem;font-weight:700;text-align:center}
.form-message.is-error{color:#9d4d60}
.organizer-tools{margin-top:24px;border-top:1px solid #26374c20}
.organizer-tools summary{padding:18px 4px 0;color:var(--plum);font:400 1.15rem/1 "Bebas Neue",sans-serif;letter-spacing:.05em;cursor:pointer}
.organizer-panel{padding:15px 4px 0}
.organizer-panel > p{margin:0 0 13px;color:#526174;font-size:.78rem;line-height:1.45}
.organizer-actions{display:flex;gap:10px;flex-wrap:wrap}
.organizer-actions button{min-height:44px;font-size:1rem}
.organizer-actions button:disabled{cursor:not-allowed;opacity:.45}
.organizer-actions .danger-button{color:#8c3449;background:#fff;border:1px solid #8c344955}
.organizer-actions .danger-button:hover{color:#fff;background:#8c3449}
.saved-signups{display:grid;gap:7px;margin:16px 0 0;padding-left:25px;color:var(--navy);font-size:.82rem}
.saved-signups .is-pending{color:#8a5d17}
.saved-signups .is-synced{color:#356957}
.saved-signups:empty{display:none}
.signup-footer{background:#fff}
.participation-path{display:grid;gap:15px;margin:34px 0}
.participation-path article{
  display:grid;
  grid-template-columns:62px 1fr;
  gap:18px;
  padding:22px;
  align-items:start;
  border:1px solid #26374c15;
  background:#fff;
  box-shadow:0 10px 24px #26374c0b;
}
.participation-path article > span{
  display:grid;
  width:62px;
  height:62px;
  place-items:center;
  color:#fff;
  border-radius:50%;
  background:var(--sage);
  font:400 2.25rem/1 "Bebas Neue",sans-serif;
}
.participation-path h2{color:var(--navy);font-size:1.75rem}
.participation-path p{margin:8px 0 0;font-size:1rem;line-height:1.5}
.thank-you-card{
  padding:30px;
  color:#fff;
  background:var(--plum);
}
.thank-you-card .signup-eyebrow{color:var(--soft-sage)}
.thank-you-card h2{color:#fff;font-size:2.8rem}
.thank-you-card p:last-child{margin:14px 0 0;font-size:1.08rem;line-height:1.6}
.guided-note{background:#ffffffb8}
@media(max-width:1050px){
  .signup-layout{grid-template-columns:minmax(0,1fr) minmax(390px,.9fr);gap:30px;padding-left:30px;padding-right:30px}
  .signup-details > h1{font-size:4.6rem}
  .signup-intro{font-size:1.18rem}
  .quick-facts{grid-template-columns:1fr}
}
@media(max-width:820px){
  .signup-header{align-items:flex-start;flex-direction:column}
  .signup-layout{grid-template-columns:1fr}
  .signup-form-panel{position:relative;top:auto}
  .quick-facts{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:560px){
  .signup-layout{padding-left:20px;padding-right:20px}
  .signup-details > h1{font-size:3.75rem}
  .signup-intro{font-size:1.08rem}
  .quick-facts{grid-template-columns:1fr}
  .signup-form-panel{padding:18px}
  .participation-path article{grid-template-columns:52px 1fr;padding:18px}
  .participation-path article > span{width:52px;height:52px;font-size:1.9rem}
}
