:root{
  --brand:#4AB848;
  --brand-50:#ECFDF5;
  --ink:#0B0D0F;
  --muted:#6B7280;
  --line:#E5E7EB;
  --bg:#FFFFFF;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
.wrap{max-width:980px;margin:0 auto;padding:24px}
.hero{background:linear-gradient(180deg,var(--amber-50),#fff);border-bottom:1px solid var(--line)}
.hero h1{margin:0 0 4px;font-size:34px;letter-spacing:.2px}
.hero .sub{margin:0 0 6px;color:#475569;max-width:900px}
.section-title{margin:0 0 10px;font-size:20px}
.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;margin:16px 0;box-shadow:0 12px 30px rgba(0,0,0,.05)}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:860px){.grid{grid-template-columns:1fr}}
.field label{display:block;font-weight:600;margin:4px 0 6px}
.field .hint{font-weight:400;color:var(--muted);margin-left:6px}
.field .req{color:#b91c1c;margin-left:6px}
.field input[type=text],.field input[type=email],.field input[type=tel],.field select,.field textarea{width:100%;padding:12px 12px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--ink);outline:none;transition:box-shadow .2s,border-color .2s}
.field textarea{resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand);box-shadow:0 0 0 4px rgba(74,184,72,.25)}
.field.long{margin-top:10px}
.field.check label{display:flex;gap:10px;align-items:flex-start;font-weight:500}
.err{display:block;color:#b91c1c;font-size:12px;min-height:16px}
.options{display:grid;gap:10px}
.option{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:12px;border:1px solid var(--line);background:#fff;transition:box-shadow .2s,border-color .2s}
.option:hover{box-shadow:0 6px 16px rgba(0,0,0,.08)}
.option input{margin-top:4px}
.opt-title{font-weight:700}
.opt-msg{color:#334155;margin-top:4px;font-size:14px;display:none}
.option input:checked + .opt-body .opt-msg{display:block}
.actions{display:flex;justify-content:flex-end;padding:8px 0 24px}
.btn{appearance:none;border:none;border-radius:12px;padding:12px 18px;cursor:pointer;font-weight:800}
.btn-primary{background:var(--brand);color:#111827;border:1px solid #3aa63a;box-shadow:0 10px 24px rgba(74,184,72,.3)}
.btn-primary:hover{filter:brightness(.98)}
.footer{padding:20px;text-align:center;color:#64748B;border-top:1px solid var(--line)}
details.more summary{cursor:pointer;font-weight:700}
details.more[open]{margin-top:6px}
.bullets{margin:0 0 10px 18px}

.brandbar{background:#0b0f0c;color:#eaffea;border-bottom:1px solid #0f2211;min-height:clamp(180px,28vh,320px);height:auto}
.brandwrap{padding:8px 14px;height:100%;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:nowrap}
.brandwrap img{height:clamp(160px,24vh,300px);max-height:300px;width:auto;display:block;filter:drop-shadow(0 0 8px rgba(74,184,72,.28))}filter:drop-shadow(0 0 10px rgba(74,184,72,.45))}
.brandwrap .brandname{font-weight:800;letter-spacing:.2px;font-size:18px;line-height:1}
.hero{background:linear-gradient(180deg,var(--brand-50),#fff)}
.btn-primary{background:var(--brand);color:#081109;border:1px solid #2f8d35;box-shadow:0 10px 24px rgba(74,184,72,.28)}
.btn-primary:hover{filter:brightness(.98)}
.footer{color:#3b4a3d}




/* Jumbo hero logo */
.logo-hero{display:flex;justify-content:center;align-items:center;margin:8px 0 6px}
.logo-hero img{height:260px;filter:drop-shadow(0 0 22px rgba(74,184,72,.35))}
@media(max-width:720px){.logo-hero img{height:180px}}

.logo-hero{display:none!important}

.brandwrap.center{justify-content:center}

.brandwrap .brandname{display:none!important}

.hero .wrap{padding:22px 24px 16px}



/* Minimal back link above title */
.backlink{
  display:inline-block;
  font-size:14px;
  color:#0b0f0c;
  text-decoration:none;
  opacity:.75;
  margin:4px 0 8px;
}
.backlink:hover{opacity:1;text-decoration:underline}

@media(max-width:720px){
  .brandbar{min-height: clamp(64px, 10vh, 120px)}
  .brandwrap{padding:2px 8px}
  .brandwrap img{height: clamp(48px, calc(100% - 8px), 120px)}
  .hero .wrap{padding:22px 24px 16px}
  .hero h1{font-size:28px;line-height:1.15}
  .hero .sub{font-size:14px}
}

/* Header back link inside bar */
.back-abs{position:absolute;top:10px;left:12px;color:#eaffea;text-decoration:none;font-weight:700;font-size:13px;opacity:.9;padding:0;line-height:1}
.back-abs:hover{opacity:1;text-decoration:underline}
.back-abs.right{left:auto;right:10px}
@media(max-width:720px){
  .back-abs{position:absolute;top:10px;left:12px;color:#eaffea;text-decoration:none;font-weight:700;font-size:13px;opacity:.9;padding:0;line-height:1}
  .back-abs.right{right:8px}
}


/* v44 — ultra-compact header */
.brandbar{min-height:56px;height:56px}
.brandwrap{padding:0 10px;height:100%;justify-content:center}
.brandwrap img{height:36px;display:block;width:auto;filter:drop-shadow(0 0 6px rgba(74,184,72,.25))}
.back-abs{position:absolute;top:10px;left:12px;color:#eaffea;text-decoration:none;font-weight:700;font-size:13px;opacity:.9;padding:0;line-height:1}
@media(max-width:720px){
  .brandbar{min-height:52px;height:52px}
  .brandwrap{padding:0 8px}
  .brandwrap img{height:30px}
  .back-abs{position:absolute;top:10px;left:12px;color:#eaffea;text-decoration:none;font-weight:700;font-size:13px;opacity:.9;padding:0;line-height:1}
}


/* v45 — balanced header + more space before content */
.brandbar{min-height:96px;height:96px}
.brandwrap{padding:6px 12px;height:100%}
.brandwrap img{height:64px;display:block;width:auto;filter:drop-shadow(0 0 8px rgba(74,184,72,.3))}
.back-abs{position:absolute;top:10px;left:12px;color:#eaffea;text-decoration:none;font-weight:700;font-size:13px;opacity:.9;padding:0;line-height:1}

.hero .wrap{padding:22px 24px 16px} /* more space between header and words */

@media(max-width:720px){
  .brandbar{min-height:72px;height:72px}
  .brandwrap{padding:4px 10px}
  .brandwrap img{height:48px}
  .back-abs{position:absolute;top:10px;left:12px;color:#eaffea;text-decoration:none;font-weight:700;font-size:13px;opacity:.9;padding:0;line-height:1}
  .hero .wrap{padding:22px 24px 16px}
}


/* v48 — clean header: bigger logo, compact bar, no absolute positioning */
.brandbar{min-height:84px;height:84px}
.brandwrap{padding:6px 12px;height:100%;justify-content:center}
.brandwrap img{
  height:78px; max-height:78px; width:auto; display:block;
  filter:drop-shadow(0 0 8px rgba(74,184,72,.30));
}
.back-abs{position:absolute;top:10px;left:12px;color:#eaffea;text-decoration:none;font-weight:700;font-size:13px;opacity:.9;padding:0;line-height:1}

/* Comfortable breathing room before the heading */
.hero .wrap{padding:22px 24px 16px}

@media(max-width:720px){
  .brandbar{min-height:68px;height:68px}
  .brandwrap{padding:4px 10px}
  .brandwrap img{height:60px;max-height:60px}
  .back-abs{position:absolute;top:10px;left:12px;color:#eaffea;text-decoration:none;font-weight:700;font-size:13px;opacity:.9;padding:0;line-height:1}
  .hero .wrap{padding:22px 24px 16px}
}


/* v50 — 2× logo (vs v48), responsive, clean */
.brandbar{min-height:clamp(132px, 20vh, 168px); height:auto}
.brandwrap{padding:8px 14px; height:100%; justify-content:center}
.brandwrap img{
  height:clamp(120px, 18vh, 156px); /* ~2× v48 (78px -> ~156px) */
  max-height:156px;
  width:auto;
  display:block;
  filter:drop-shadow(0 0 9px rgba(74,184,72,.30));
}
.back-abs{position:absolute;top:10px;left:12px;color:#eaffea;text-decoration:none;font-weight:700;font-size:13px;opacity:.9;padding:0;line-height:1}

/* spacing */
.hero .wrap{padding:22px 24px 16px}

@media(max-width:720px){
  .brandbar{min-height:clamp(108px, 18vh, 132px)}
  .brandwrap{padding:6px 12px}
  .brandwrap img{height:clamp(96px, 16vh, 120px); max-height:120px} /* 2× v48 mobile (60px -> 120px) */
  .back-abs{position:absolute;top:10px;left:12px;color:#eaffea;text-decoration:none;font-weight:700;font-size:13px;opacity:.9;padding:0;line-height:1}
  .hero .wrap{padding:22px 24px 16px}
}


/* Pill label next to logo */
.brandwrap{align-items:center;gap:12px}
.brandtag{color:#eaffea;opacity:.95;font-size:14px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1;white-space:nowrap}
@media(max-width:720px){
  .brandwrap{gap:10px}
  .brandtag{color:#eaffea;opacity:.95;font-size:14px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1;white-space:nowrap}
}


/* v52 — 3× logo, clean & responsive without overlap */
.brandbar{min-height:clamp(220px, 32vh, 460px); height:auto}
.brandwrap{padding:10px 16px; height:100%; justify-content:center; gap:16px}
.brandwrap img{
  height:clamp(180px, 28vh, 420px); /* ~3× current */
  max-height:420px;
  width:auto;
  display:block;
  filter:drop-shadow(0 0 10px rgba(74,184,72,.32));
}
.brandtag{color:#eaffea;opacity:.95;font-size:14px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1;white-space:nowrap}

.hero .wrap{padding:22px 24px 16px} /* breathing room under the tall header */

@media(max-width:720px){
  .brandbar{min-height:clamp(120px, 22vh, 180px)}
  .brandwrap{padding:6px 12px; gap:12px}
  .brandwrap img{height:clamp(110px, 20vh, 160px); max-height:160px}
  .brandtag{color:#eaffea;opacity:.95;font-size:14px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1;white-space:nowrap}
  .hero .wrap{padding:22px 24px 16px}
}


@media(max-width:720px){
  .brandbar{min-height:clamp(120px,22vh,180px)}
  .brandwrap{padding:6px 10px;gap:10px}
  .brandwrap img{height:clamp(110px,20vh,160px)}
  .brandtag{color:#eaffea;opacity:.95;font-size:14px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1;white-space:nowrap}
  .back-abs{position:absolute;top:10px;left:12px;color:#eaffea;text-decoration:none;font-weight:700;font-size:13px;opacity:.9;padding:0;line-height:1}
  .hero .wrap{padding:18px 16px 14px}
}


/* v56 — black page bg, white form area */
html, body{background:#0b0f0c;color:#e7f0ea}
.hero{background:linear-gradient(180deg, rgba(74,184,72,.05), rgba(11,15,12,0)); border-bottom:1px solid #0f2211}
.hero h1{color:#f4fff7}
.hero .sub{color:#cfe3d6}

/* White shell around main form content only */
main{background:transparent}
.form-shell{
  background:#ffffff;
  color:#0b0f0c;
  border-radius:18px;
  box-shadow:0 18px 60px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.04) inset;
  padding:26px;
  max-width:1120px;
  margin:28px auto 48px;
}
@media(max-width:720px){
  .form-shell{padding:18px;margin:18px auto 32px;border-radius:14px}
  .hero h1{color:#f9fffb}
  .hero .sub{color:#dce9e1}
}


/* v57 — White form fixes & polish */
.form-shell,
.form-shell h1,
.form-shell h2,
.form-shell h3,
.form-shell h4,
.form-shell p,
.form-shell label,
.form-shell .sub,
.form-shell .help,
.form-shell .muted,
.form-shell .section-title{
  color:#0b0f0c !important;
  opacity:1 !important;
}

/* Normalize panels inside white shell */
.form-shell .panel,
.form-shell .card,
.form-shell section{
  background:#ffffff;
  color:#0b0f0c;
  border:1px solid #eef2f4;
  border-radius:16px;
  box-shadow:0 6px 24px rgba(0,0,0,.06);
}

/* Headings inside sections */
.form-shell .panel h2,
.form-shell section h2{
  color:#0b0f0c !important;
  font-weight:800;
}

/* Inputs/textareas */
.form-shell input[type="text"],
.form-shell input[type="email"],
.form-shell input[type="tel"],
.form-shell select,
.form-shell textarea{
  background:#ffffff;
  color:#0b0f0c;
  border:1px solid #e5e7eb;
  border-radius:12px;
  box-shadow:none;
}

.form-shell input::placeholder,
.form-shell textarea::placeholder{
  color:#6b7280;
  opacity:1;
}

/* Focus state with Flex green */
.form-shell input:focus,
.form-shell select:focus,
.form-shell textarea:focus{
  outline:none;
  border-color:#4ab848;
  box-shadow:0 0 0 3px rgba(74,184,72,.20);
}

/* Required asterisk color */
.form-shell .required,
.form-shell label .required,
.form-shell label .req,
.form-shell label [aria-required="true"]{
  color:#e11d48 !important;
}

/* Subtle dividers between sections inside the shell */
.form-shell .divider{height:1px;background:#f1f5f9;margin:26px 0;border-radius:1px}

/* Tighter white card spacing so black gaps aren't dominant */
.form-shell{padding:24px 26px}
.form-shell .panel,
.form-shell .card,
.form-shell section{margin:14px 0}

/* Keep the hero text light but not washed out */
.hero h1{color:#f5fff7}
.hero .sub{color:#d9efe3}


/* v58 — force dark, readable typography inside white form card */
.form-shell, .form-shell * {
  color: #0b0f0c !important;
  opacity: 1 !important;
}

/* Inputs, placeholders retained */
.form-shell input::placeholder,
.form-shell textarea::placeholder { color:#6b7280 !important; opacity:1 !important; }

/* Links inside the card */
.form-shell a { color:#1b5e20 !important; text-decoration:underline; }

/* Keep badges/required marks visible */
.form-shell .required { color:#d6002f !important; }

/* Do not change disabled text opacity */
.form-shell :disabled { opacity: .75 !important; color:#374151 !important; }


/* v60 — HARD RESET for white form card */
.form-shell{
  background:#ffffff !important;
  color:#0b0f0c !important;
  opacity:1 !important;
  filter:none !important;
  mix-blend-mode:normal !important;
  -webkit-text-fill-color:#0b0f0c !important;
  /* Reset vars for anything using CSS variables */
  --ink:#0B0D0F;
  --muted:#374151;
  --line:#E5E7EB;
  --bg:#FFFFFF;
}
.form-shell *{
  color:#0b0f0c !important;
  -webkit-text-fill-color:#0b0f0c !important;
  opacity:1 !important;
  filter:none !important;
  mix-blend-mode:normal !important;
}
.form-shell .card, .form-shell section.card, .form-shell section{
  background:#ffffff !important;
  border:1px solid #e5e7eb !important;
  border-radius:16px !important;
  box-shadow:0 6px 24px rgba(0,0,0,.06);
}
.form-shell h2.section-title, .form-shell .section-title, 
.form-shell label, .form-shell .field label{
  color:#0b0f0c !important;
  font-weight:800 !important;
}
.form-shell input, .form-shell textarea, .form-shell select{
  background:#ffffff !important;
  color:#0b0f0c !important;
  -webkit-text-fill-color:#0b0f0c !important;
  border:1px solid #d6dbe1 !important;
  border-radius:12px !important;
}
.form-shell input::placeholder, .form-shell textarea::placeholder{
  color:#6b7280 !important; opacity:1 !important;
}

/* v63 — remove extra horizontal separators inside the form card */
.form-shell .divider,
.form-shell hr{ display:none !important; height:0 !important; border:0 !important; }

/* Optional: keep cards clean without strong top/bottom lines stacking */
.form-shell .panel,
.form-shell section{
  border-color: rgba(0,0,0,0.06) !important; /* very soft */
}

/* Ensure there's comfortable spacing without needing separators */
.form-shell .panel + .panel,
.form-shell section + section{ margin-top: 22px !important; }


/* Netlify honeypot field (hidden) */
.netlify-hp { position:absolute; left:-9999px; height:0; overflow:hidden; }
