/* Scoped choice helper v2. Original completed controls remain enabled for native POST. */
.gk-contact-eyebrow { margin:0 0 6px; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.12em; }
.gk-contact-dialog:not([open]) { display:none; }
.gk-contact-dialog { position:fixed; inset:0; margin:auto; --gki-ink:#183f34; --gki-line:#d1ded2; box-sizing:border-box; width:min(800px,calc(100vw - 32px)); max-width:800px; max-height:calc(100dvh - 40px); padding:0; overflow:hidden; border:1px solid #dce5d6; border-radius:28px; background:#fcfdf8; color:var(--gki-ink); box-shadow:0 28px 100px #0a201e59; }
.gk-contact-dialog::backdrop { background:#102921b8; backdrop-filter:blur(5px); }
.gk-contact-shell { display:flex; flex-direction:column; max-height:calc(100dvh - 40px); }
.gk-contact-header { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:22px 30px 18px; flex-shrink:0; }
.gk-contact-caption { margin:0; font-size:16px; font-weight:600; }
.gk-contact-close { display:grid; place-items:center; flex-shrink:0; width:44px; height:44px; padding:0; border:1px solid var(--gki-line); border-radius:50%; background:white; color:var(--gki-ink); font:30px/1 sans-serif; cursor:pointer; }
.gk-contact-progress { height:4px; flex-shrink:0; background:#e1e8dc; }
.gk-contact-progress span { display:block; height:100%; background:#70a782; transition:width .2s ease; }
.gk-contact-body { min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:24px 30px; }
.gk-contact-step { margin:0 0 18px; font-size:12px; font-weight:650; color:#52715f; }
.gk-contact-dialog h2 { margin:0 0 12px; font-size:clamp(24px,4vw,34px); color:var(--gki-ink); line-height:1.15; letter-spacing:-.035em; }
.gk-contact-hint { margin:0 0 25px; font-size:15px; line-height:1.65; color:#53695f; }
.gk-contact-group { min-width:0; border:0; padding:0; margin:0 0 24px; }
.gk-contact-group legend { float:none; display:block; width:100%; margin:0 0 11px; padding:0; font-size:14px; font-weight:650; color:#274b3c; }
.gk-contact-options { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.gk-contact-choice { display:flex; align-items:center; gap:12px; position:relative; min-height:62px; margin:0; padding:14px; border:1px solid var(--gki-line); border-radius:13px; background:white; font-size:14px; line-height:1.4; font-weight:550; cursor:pointer; }
.gk-contact-choice:hover { background:#eef3ec; border-color:#87a48e; }
.gk-contact-choice:has(input:checked) { background:#e5f0e5; border-color:#427653; box-shadow:inset 0 0 0 1px #427653; }
.gk-contact-choice:has(input:focus-visible) { outline:3px solid #427653; outline-offset:2px; }
.gk-contact-choice input { flex:none; width:19px; height:19px; margin:0; accent-color:#326446; }
.gk-contact-selection { background:#edf3e9; border-radius:10px; padding:12px 14px; font-size:13px; line-height:1.55; }
.gk-contact-service-group { margin:0 0 10px; border:1px solid var(--gki-line); border-radius:14px; background:white; }
.gk-contact-service-group > summary { padding:18px; font-size:16px; font-weight:650; cursor:pointer; }
.gk-contact-service-group[open] > summary { padding-bottom:12px; }
.gk-contact-service-group > .gk-contact-group { margin:0; padding:0 14px 14px; }
.gk-contact-service-group legend { color:#5a7064; font-size:12px; }
.gk-contact-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; padding:16px 30px max(16px,env(safe-area-inset-bottom)); border-top:1px solid var(--gki-line); background:#fcfdf8; flex-shrink:0; }
.gk-contact-footer button { min-height:48px; padding:12px 18px; border:1px solid var(--gki-line); border-radius:10px; font:inherit; font-size:14px; font-weight:650; cursor:pointer; }
.gk-contact-back { background:white; color:var(--gki-ink); }
.gk-contact-footer .gk-contact-next { margin-left:auto; background:var(--gki-ink); border-color:var(--gki-ink); color:white; }
.gk-contact-footer-note { flex-basis:100%; margin:0; color:#617367; font-size:11px; text-align:center; }
.gk-contact-dialog [hidden] { display:none!important; }
.gk-contact-error { margin:14px 0 0; color:#973b2e; font-size:14px; line-height:1.5; }
.gk-contact-error:empty { display:none; }
.gk-contact-dialog :is(button,a,summary,input,textarea,select):focus-visible { outline:3px solid #427653; outline-offset:3px; }
.gk-contact-dialog h2:focus { outline:none; }
.gk-contact-notes > label { display:block; margin-bottom:10px; font-size:14px; font-weight:650; }
.gk-contact-notes textarea { box-sizing:border-box; width:100%; min-height:130px; padding:14px; resize:vertical; border:1px solid var(--gki-line); border-radius:12px; background:white; font:inherit; font-size:15px; color:var(--gki-ink); }
.gk-contact-small { font-size:12px; line-height:1.5; color:#617367; }
.gk-contact-review { margin:0 0 22px; border:1px solid var(--gki-line); border-radius:12px; padding:14px; background:#eef3ec; }
.gk-contact-review summary { font-size:14px; font-weight:650; cursor:pointer; }
.gk-contact-review pre { white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; font-size:12px; line-height:1.65; }
.gk-contact-applied { border-left:3px solid #427653; border-radius:8px; padding:14px 16px; background:#edf4e9; color:#274b3c; font-size:14px; line-height:1.6; }
.gk-intake [data-gk-contact-complete][hidden],.gk-contact-completed[hidden] { display:none!important; }
.gk-contact-help-button { display:flex; justify-content:space-between; align-items:center; gap:12px; width:100%; margin-top:12px; padding:15px 17px; border:1px solid #427653; border-radius:10px; background:#e6f0e2; color:#183f34; font:inherit; font-size:14px; font-weight:650; text-align:left; cursor:pointer; }
.gk-contact-help-button::after { content:'↗'; font-size:20px; }
.gk-contact-help-button:hover { background:#d9e9d5; }
.gk-contact-location { margin-top:24px; padding-top:20px; border-top:1px solid #d1ded2; }
.gk-contact-location label { display:block; margin:0 0 10px; font-size:14px; font-weight:650; }
.gk-contact-location input { display:block; box-sizing:border-box; width:100%; min-height:48px; padding:12px 14px; border:1px solid #cbdacb; border-radius:10px; background:white; color:#183f34; font:inherit; font-size:16px; }
.gk-contact-organization { margin-top:20px; }
.gk-contact-completed { padding:24px; margin:0 0 24px; border:1px solid #cddfcb; border-radius:16px; background:#f0f5ec; color:#183f34; }
.gk-contact-completed h3 { margin:8px 0 12px; font-size:26px; line-height:1.18; letter-spacing:-.025em; color:#183f34; }
.gk-contact-completed-status { margin:0 0 16px; font-size:14px; line-height:1.6; }
.gk-contact-facts { padding:10px 12px; margin:0 0 18px; border-radius:8px; background:#e3edde; font-size:12px; line-height:1.5; }
.gk-contact-grouped { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:0 0 20px; }
.gk-contact-grouped h4 { margin:0 0 8px; font-size:13px; font-weight:750; color:#315d40; }
.gk-contact-grouped ul { margin:0; padding-left:18px; font-size:13px; line-height:1.6; }
.gk-contact-completed .gk-contact-review { margin-bottom:16px; background:#fff8; }
.gk-contact-revise { min-height:44px; padding:11px 15px; border:1px solid #7c9c7d; border-radius:9px; background:white; color:#183f34; font:inherit; font-size:13px; font-weight:650; cursor:pointer; }
.gk-contact-help-button:focus-visible,.gk-contact-revise:focus-visible { outline:3px solid #427653; outline-offset:3px; }
@media(max-width:540px) {
  .gk-contact-dialog { width:calc(100vw - 16px); max-height:calc(100dvh - 16px); border-radius:22px; }
  .gk-contact-shell { max-height:calc(100dvh - 16px); }
  .gk-contact-header { padding:16px 18px 13px; }
  .gk-contact-caption { font-size:13px; }
  .gk-contact-body { padding:20px 18px; }
  .gk-contact-options { grid-template-columns:1fr; gap:8px; }
  .gk-contact-choice { min-height:54px; padding:12px; }
  .gk-contact-footer { padding:12px 18px max(12px,env(safe-area-inset-bottom)); }
  .gk-contact-footer button { padding:12px 14px; font-size:13px; }
  .gk-contact-footer-note { font-size:10px; }
  .gk-contact-completed { padding:18px; }
  .gk-contact-grouped { grid-template-columns:1fr; gap:14px; }
  .gk-contact-help-button { font-size:13px; }
}
@media(prefers-reduced-motion:reduce) { .gk-contact-dialog * { transition:none!important; } }
