/* ------------------------------------------------------------------
   Proposals page — restyles the live Gravity Forms 3 output.
   Upload to  <theme>/proposal/proposals.css  (the mu-plugin enqueues it).

   Targets real GF 2.5+ classes. Scoped to #gform_wrapper_3 so nothing
   here leaks onto other forms on the site.
------------------------------------------------------------------- */

@import url('https://fonts.googleapis.com/css2?family=Raleway:wght@500;600;700&family=Open+Sans:wght@400;600;700&display=swap');

:root{
  --pv-navy:#072337; --pv-navy-2:#0d3550;
  --pv-green:#3f9b63; --pv-green-d:#2e7655; --pv-green-w:#eaf5ee; --pv-green-b:#c3e2ce;
  --pv-ink:#212121; --pv-ink-2:#444a4f; --pv-ink-3:#6d747a;
  --pv-paper:#f7f8f9; --pv-line:#e0e3e6; --pv-line-2:#eef0f2;
  --pv-amber:#b7791f; --pv-amber-w:#fdf6e7; --pv-amber-b:#f0e0b8;
  --pv-red:#c0392b;
  --pv-r:8px;
  --pv-shadow:0 1px 2px rgba(7,35,55,.06), 0 10px 28px -14px rgba(7,35,55,.20);
  --pv-sans:'Open Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  --pv-disp:'Raleway',var(--pv-sans);
}

/* ---------- hero + fork (page content, not the form) ---------- */
.pv-mast{background:var(--pv-navy);color:#fff;padding:56px 0 76px;margin:0 0 0;
  background-image:radial-gradient(900px 340px at 82% -8%, rgba(63,155,99,.20), transparent 62%)}
.pv-mast .pv-in{max-width:700px;margin:0 auto;padding:0 24px}
.pv-eyebrow{font:700 11.5px/1 var(--pv-sans);letter-spacing:.15em;text-transform:uppercase;color:#7fc79a;margin-bottom:18px}
.pv-mast h1{font-family:var(--pv-disp);font-weight:700;font-size:clamp(31px,4.6vw,46px);line-height:1.14;color:#fff;margin:0}
.pv-mast p{margin:18px 0 0;font:400 17px/1.62 var(--pv-sans);color:rgba(255,255,255,.74)}

.pv-fork{max-width:1160px;margin:-46px auto 34px;padding:0 24px;position:relative;z-index:3;
  display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:820px){.pv-fork{grid-template-columns:1fr}}
.pv-fk{background:#fff;border:1px solid var(--pv-line);border-radius:var(--pv-r);box-shadow:var(--pv-shadow);
  padding:22px 24px;display:flex;flex-direction:column;font-family:var(--pv-sans)}
.pv-fk--here{border-color:var(--pv-green);box-shadow:0 0 0 1px var(--pv-green), var(--pv-shadow)}
.pv-fk .pv-tag{font:700 10.5px/1 var(--pv-sans);letter-spacing:.13em;text-transform:uppercase;margin-bottom:11px;color:var(--pv-ink-3)}
.pv-fk--here .pv-tag{color:var(--pv-green-d)}
.pv-fk h3{font-family:var(--pv-disp);font-weight:700;font-size:19px;color:var(--pv-navy);margin:0 0 7px}
.pv-fk p{margin:0 0 15px;font-size:14.5px;color:var(--pv-ink-2);line-height:1.6;flex:1}
.pv-fk .pv-meta{font-size:12.5px;color:var(--pv-ink-3);margin-bottom:14px}
.pv-fk .pv-meta b{color:var(--pv-ink-2)}
.pv-fk .pv-go{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;
  font:600 14px/1 var(--pv-sans);border-radius:6px;padding:12px 18px;text-decoration:none;transition:.15s;
  border:1px solid var(--pv-line);color:var(--pv-navy);background:#fff}
.pv-fk .pv-go:hover{border-color:var(--pv-navy-2);background:#f4f6f8}
.pv-fk--here .pv-go{background:var(--pv-green-w);color:var(--pv-green-d);border-color:var(--pv-green-b);cursor:default}

/* ---------- form shell ---------- */
#gform_wrapper_3{max-width:1160px;margin:0 auto 80px;padding:0 24px;font-family:var(--pv-sans);
  color:var(--pv-ink);font-size:15.5px;line-height:1.65}
#gform_wrapper_3 form{background:#fff;border:1px solid var(--pv-line);border-radius:var(--pv-r);
  box-shadow:var(--pv-shadow);overflow:hidden}

/* progress steps */
#gform_wrapper_3 .gf_progressbar_wrapper{background:#fff;border:1px solid var(--pv-line);
  border-radius:var(--pv-r);box-shadow:var(--pv-shadow);padding:7px;margin:0 0 18px}
#gform_wrapper_3 .gf_progressbar_title{display:none}
#gform_wrapper_3 .gf_progressbar{background:var(--pv-line-2);height:4px;border-radius:2px;overflow:hidden;margin:0}
#gform_wrapper_3 .gf_progressbar_percentage{background:var(--pv-green)!important;height:4px;border-radius:2px}
#gform_wrapper_3 .gf_progressbar_percentage span{display:none}
#gform_wrapper_3 .gf_page_steps{display:flex;gap:4px;border:0;margin:0}
#gform_wrapper_3 .gf_step{flex:1;margin:0;padding:10px 8px;border-radius:6px;opacity:1;
  display:flex;align-items:center;justify-content:center;gap:9px;
  font:400 13px/1 var(--pv-sans);color:var(--pv-ink-3)}
#gform_wrapper_3 .gf_step_number{width:21px;height:21px;border-radius:50%;background:var(--pv-line-2);
  color:var(--pv-ink-3);font:700 11.5px/21px var(--pv-sans);text-align:center;border:0;flex:none}
#gform_wrapper_3 .gf_step_active{color:var(--pv-navy);font-weight:700}
#gform_wrapper_3 .gf_step_active .gf_step_number{background:var(--pv-green);color:#fff}
#gform_wrapper_3 .gf_step_completed .gf_step_number{background:var(--pv-navy);color:#fff}
@media(max-width:560px){#gform_wrapper_3 .gf_step_label{display:none}}

/* page body */
#gform_wrapper_3 .gform_page_fields,
#gform_wrapper_3 .gform_body{padding:26px 30px}
@media(max-width:560px){#gform_wrapper_3 .gform_page_fields,#gform_wrapper_3 .gform_body{padding:18px}}

/* ---------- fields ---------- */
#gform_wrapper_3 .gfield{margin-bottom:21px}
#gform_wrapper_3 .gfield_label{display:block;font:600 14px/1.45 var(--pv-sans);
  color:var(--pv-navy);margin-bottom:5px}
#gform_wrapper_3 .gfield_required{color:var(--pv-green-d);margin-left:3px}
#gform_wrapper_3 .gfield_description{font:400 12.5px/1.5 var(--pv-sans);color:var(--pv-ink-3);
  padding:0;margin:0 0 8px}

#gform_wrapper_3 input[type=text],
#gform_wrapper_3 input[type=email],
#gform_wrapper_3 input[type=tel],
#gform_wrapper_3 input[type=url],
#gform_wrapper_3 input[type=number],
#gform_wrapper_3 select,
#gform_wrapper_3 textarea{
  width:100%;font:400 14.5px/1.5 var(--pv-sans);color:var(--pv-ink);background:#fff;
  border:1px solid var(--pv-line);border-radius:6px;padding:10px 12px;
  transition:border-color .14s,box-shadow .14s;box-shadow:none}
#gform_wrapper_3 textarea{min-height:64px;line-height:1.55;resize:vertical}
#gform_wrapper_3 input:focus,
#gform_wrapper_3 select:focus,
#gform_wrapper_3 textarea:focus{outline:none;border-color:var(--pv-green);
  box-shadow:0 0 0 3px rgba(63,155,99,.15)}
#gform_wrapper_3 select{appearance:none;padding-right:34px;background-repeat:no-repeat;
  background-position:right 12px center;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' stroke='%236d747a' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E")}

/* errors */
#gform_wrapper_3 .gfield_error input,
#gform_wrapper_3 .gfield_error select,
#gform_wrapper_3 .gfield_error textarea{border-color:var(--pv-red);box-shadow:0 0 0 3px rgba(192,57,43,.10)}
#gform_wrapper_3 .gfield_error .gfield_label{color:var(--pv-navy)}
#gform_wrapper_3 .validation_message{background:none;border:0;padding:0;margin:5px 0 0;
  font:400 12.5px/1.45 var(--pv-sans);color:var(--pv-red)}
#gform_wrapper_3 .gform_validation_errors{background:#fdeeec;border:1px solid #f3c8c2;
  border-radius:6px;padding:14px 18px;margin:0 0 20px;box-shadow:none}
#gform_wrapper_3 .gform_validation_errors h2{font:700 15px/1.4 var(--pv-disp);color:var(--pv-red);margin:0}

/* checkboxes as chips */
#gform_wrapper_3 .gfield_checkbox,
#gform_wrapper_3 .gfield_radio{display:flex;flex-wrap:wrap;gap:8px}
#gform_wrapper_3 .gchoice{margin:0}
#gform_wrapper_3 .gchoice label{display:flex;align-items:center;gap:9px;border:1px solid var(--pv-line);
  border-radius:6px;padding:9px 14px;cursor:pointer;font:400 14px/1.4 var(--pv-sans);
  background:#fff;transition:.14s;margin:0;color:var(--pv-ink)}
#gform_wrapper_3 .gchoice label:hover{border-color:#c8cdd2}
#gform_wrapper_3 .gchoice input{accent-color:var(--pv-green);width:16px;height:16px;margin:0;flex:none}
#gform_wrapper_3 .gchoice:has(input:checked) label{border-color:var(--pv-green);background:var(--pv-green-w)}

/* file upload */
#gform_wrapper_3 .gform_drop_area{border:1.5px dashed #c2c8cd;border-radius:7px;padding:24px;
  text-align:center;background:#fafbfb;color:var(--pv-ink-3);font-size:13.5px;transition:.15s}
#gform_wrapper_3 .gform_drop_area:hover{border-color:var(--pv-green);background:var(--pv-green-w)}
#gform_wrapper_3 .gform_button_select_files{background:#fff;border:1px solid var(--pv-line);
  color:var(--pv-navy);border-radius:6px;padding:8px 16px;font:600 13.5px/1 var(--pv-sans);cursor:pointer}

/* footers / buttons */
#gform_wrapper_3 .gform_page_footer,
#gform_wrapper_3 .gform_footer{display:flex;align-items:center;gap:14px;
  border-top:1px solid var(--pv-line);padding:18px 30px;background:#fafbfb;margin:0}
@media(max-width:560px){#gform_wrapper_3 .gform_page_footer,#gform_wrapper_3 .gform_footer{padding:16px 18px}}
#gform_wrapper_3 .gform_next_button,
#gform_wrapper_3 .gform_button{margin-left:auto}
#gform_wrapper_3 .gform_button,
#gform_wrapper_3 .gform_next_button,
#gform_wrapper_3 .gform_previous_button{
  font:600 14.5px/1 var(--pv-sans);border-radius:6px;padding:13px 24px;cursor:pointer;
  border:1px solid transparent;transition:.15s;-webkit-appearance:none}
#gform_wrapper_3 .gform_button,
#gform_wrapper_3 .gform_next_button{background:var(--pv-green);color:#fff}
#gform_wrapper_3 .gform_button:hover,
#gform_wrapper_3 .gform_next_button:hover{background:var(--pv-green-d)}
#gform_wrapper_3 .gform_previous_button{background:#fff;color:var(--pv-ink-2);
  border-color:var(--pv-line);order:-1;margin-right:auto}
#gform_wrapper_3 .gform_previous_button:hover{border-color:#c8cdd2;color:var(--pv-navy)}

/* confirmation */
.gform_confirmation_wrapper{max-width:1160px;margin:34px auto 80px;padding:0 24px}
.gform_confirmation_message{background:#fff;border:1px solid var(--pv-line);border-radius:var(--pv-r);
  box-shadow:var(--pv-shadow);padding:56px 30px;text-align:center;font-family:var(--pv-sans)}
.gc-done h2{font:700 27px/1.3 var(--pv-disp);color:var(--pv-navy);margin:0 0 9px}
.gc-done p{color:var(--pv-ink-3);max-width:46ch;margin:0 auto 8px;font-size:15px}
.gc-done p strong{color:var(--pv-navy)}

/* ---------- injected by proposals.js ---------- */
.pv-shell{max-width:1160px;margin:0 auto;padding:0 24px;
  display:grid;grid-template-columns:minmax(0,1fr) 336px;gap:30px;align-items:start}
@media(max-width:1000px){.pv-shell{grid-template-columns:1fr}}
.pv-shell #gform_wrapper_3{max-width:none;margin:0;padding:0}
.pv-aside{position:sticky;top:22px;display:flex;flex-direction:column;gap:14px;font-family:var(--pv-sans)}
@media(max-width:1000px){.pv-aside{position:static}}
.pv-brief{background:#fff;border:1px solid var(--pv-line);border-radius:var(--pv-r);
  box-shadow:var(--pv-shadow);overflow:hidden}
.pv-brief-hd{padding:14px 18px;border-bottom:1px solid var(--pv-line-2);
  display:flex;align-items:center;justify-content:space-between}
.pv-brief-hd h3{font:700 14px/1 var(--pv-sans);color:var(--pv-navy);margin:0}
.pv-pct{font:700 11.5px/1 var(--pv-sans);color:var(--pv-green-d);background:var(--pv-green-w);
  padding:4px 9px;border-radius:999px}
.pv-brief dl{margin:0;padding:4px 18px 16px;display:grid;grid-template-columns:auto 1fr;gap:0 12px;font-size:13px}
.pv-brief dt{color:var(--pv-ink-3);padding:8px 0;border-bottom:1px solid var(--pv-line-2);white-space:nowrap}
.pv-brief dd{margin:0;padding:8px 0;border-bottom:1px solid var(--pv-line-2);color:var(--pv-navy);
  text-align:right;font-weight:600;overflow-wrap:anywhere}
.pv-brief dd.pv-empty{color:#b4babf;font-weight:400}
.pv-brief dl>:nth-last-child(1),.pv-brief dl>:nth-last-child(2){border-bottom:0}
.pv-eta{background:var(--pv-navy);color:#fff;border-radius:var(--pv-r);padding:17px 19px}
.pv-eta .pv-k{font:700 10.5px/1 var(--pv-sans);letter-spacing:.13em;text-transform:uppercase;
  color:rgba(255,255,255,.5);margin-bottom:7px}
.pv-eta .pv-v{font:700 20px/1.28 var(--pv-disp);color:#fff}
.pv-eta .pv-s{font-size:12px;color:rgba(255,255,255,.6);margin-top:6px;line-height:1.5}


.pv-meter{margin-top:10px;border:1px solid var(--pv-line);border-radius:6px;padding:12px 14px;
  background:#fafbfb;font:400 12.5px/1.5 var(--pv-sans);color:var(--pv-ink-2);display:none}
.pv-meter.pv-on{display:block}
.pv-meter b{color:var(--pv-navy)}
.pv-meter .pv-bar{height:4px;border-radius:2px;background:var(--pv-line-2);overflow:hidden;margin-bottom:9px}
.pv-meter .pv-bar i{display:block;height:100%;width:0;background:var(--pv-green);transition:width .35s ease}
.pv-meter.pv-warn .pv-bar i{background:var(--pv-amber)}

/* accessibility */
#gform_wrapper_3 :focus-visible,.pv-fk .pv-go:focus-visible{outline:2px solid var(--pv-green);outline-offset:2px}
@media (prefers-reduced-motion:reduce){
  #gform_wrapper_3 *,.pv-meter .pv-bar i{transition:none!important;animation:none!important}
}


/* --- Gravity Forms 3.x phone field, legacy theme ---------------------------
   The country picker's open/closed state lives in the GF theme stylesheet,
   which the legacy-theme form never loads, so the whole country list rendered
   inline (George, 2026-09-09). Give the dropdown its collapsed state back. */
.gform-phone { position: relative; }
.gform-phone__dropdown--hidden { display: none !important; }
.gform-phone__dropdown {
  position: absolute; z-index: 60; top: 100%; left: 0; margin-top: 6px;
  min-width: 300px; max-height: 320px; overflow: auto; background: #fff;
  border: 1px solid #d5dbe1; border-radius: 10px; padding: 8px;
  box-shadow: 0 14px 34px rgba(7, 35, 55, .16);
}
.gform-phone__search-wrapper { padding: 4px 4px 8px; }
.gform-phone__search-wrapper input { width: 100%; box-sizing: border-box; padding: 8px 10px; border: 1px solid #d5dbe1; border-radius: 8px; font: inherit; }
.gform-phone__country-list { list-style: none; margin: 0; padding: 0; }
.gform-phone__country-list li { padding: 7px 10px; border-radius: 6px; cursor: pointer; font-size: 15px; line-height: 1.3; }
.gform-phone__country-list li:hover, .gform-phone__country-list li[aria-selected="true"] { background: #eef4f1; }
.gform-phone__country-selector { display: inline-flex; align-items: center; gap: 6px; margin-right: 8px; padding: 8px 10px; border: 1px solid #d5dbe1; border-radius: 8px; background: #fff; font: inherit; cursor: pointer; }

/* --- Divi row width -------------------------------------------------------
   The hero + fork module sits in a full-width Divi row, but the form module
   (and the two text modules under it) live in a default Divi row: 80% wide,
   max 1080px. So the form shell and the notes below it were inset ~107px each
   side and no longer lined up with the fork cards (George, 2026-09-10,
   "slightly offset"). Let that row go full width and hand the 1160px/24px
   alignment to .pv-shell, which already carries it. */
.et_pb_row:has(#gform_wrapper_3),
.et_pb_row:has(.gform_confirmation_wrapper){width:100%;max-width:100%}
.et_pb_row:has(#gform_wrapper_3) .et_pb_text,
.et_pb_row:has(.gform_confirmation_wrapper) .et_pb_text{
  max-width:1160px;margin-left:auto;margin-right:auto;
  padding-left:24px;padding-right:24px;box-sizing:border-box}

/* --- Legacy multi-page markup --------------------------------------------
   Gravity Forms legacy markup nests each .gform_page (fields + footer) inside
   .gform_body, so the .gform_body padding above stacked on top of the
   .gform_page_fields padding: fields sat 60px in while the step bar hugged the
   card edge, and the footer with the Continue button was pulled 30px in from
   the card (George, 2026-09-10, "still offset"). Zero the body padding when
   pages are present, frame the step bar as the card header, and let the
   Continue button sit flush right in the footer. */
#gform_wrapper_3 .gform_body:has(.gform_page){padding:0}
#gform_wrapper_3 .gf_page_steps{padding:7px;border-bottom:1px solid var(--pv-line)}
#gform_wrapper_3 .gform_next_button,
#gform_wrapper_3 .gform_button{margin-right:0}
#gform_wrapper_3 .gform_page_footer > span:empty,
#gform_wrapper_3 .gform_footer > span:empty{display:none}  /* GF ajax spinner slot, empty until submit */
