/* Formation signup wizard (/new-business). Builds on estimate-guided.css (the /estimate step flow). Uses the site palette: navy #11324d, teal #499292 / #2F7984, gray #6b7280, gold #d3c30c / #eab308, cream #f5f6e8, backgrounds #ededed / #fafbfc. Fonts: Merriweather headings, Raleway body (set by site.css). */
.fq-lead { max-width: none; margin: 0 0 1em; text-align: left; }
.fq-lead p { margin: 0 0 1em; }
.fq-go { margin-top: 18px; }
.fq-wrap { max-width: 60rem; }
.fq-preview { margin: 0 0 18px; padding: 10px 14px; border-radius: 10px; background: #fff8dc; border: 1px solid #eab308; color: #5c4a00; font-size: .9rem; }
.fq-intro { max-width: none; margin-top: 16px; }
.fq-fields { display: grid; gap: 22px; margin-top: 22px; }
.fq-fields .qf-help { margin: 0 0 10px; }
.fq-fields .qf-lab { font-size: 1rem; }
.fq-fine { margin: 22px 0 0; text-align: center; color: #6b7280; font-size: .85rem; }

/* choice cards (radio questions) */
.fq-choices { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
.fq-choice { position: relative; display: block; cursor: pointer; }
.fq-choice input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.fq-choice span { display: flex; align-items: center; justify-content: center; min-height: 54px; padding: 12px 16px; border: 2px solid rgba(15,42,61,.25); border-radius: 12px; background: #fff; color: #11324d; font-weight: 700; text-align: center; transition: background .15s, border-color .15s, color .15s; }
.fq-choice:hover span { border-color: #499292; }
.fq-choice input:checked + span { background: #11324d; border-color: #11324d; color: #fff; }
.fq-choice input:focus-visible + span { outline: 3px solid #eab308; outline-offset: 2px; }
.fq-name2 { display: grid; gap: 12px; }
@media (min-width: 560px) { .fq-name2 { grid-template-columns: 1fr 1fr; } }
.qf-err { margin: 8px 0 0; color: #b42318; font-size: .88rem; font-weight: 600; }
.qf-err[hidden] { display: none; }
.qf.bad .inp { border-color: #b42318; }
.form-msg.err { color: #b42318; font-weight: 600; margin-top: 14px; }

/* "we save as you go" notice */
.fq-save { display: flex; gap: 12px; align-items: flex-start; margin-top: 24px; padding: 14px 16px; background: #f5f6e8; border: 1px solid rgba(73,146,146,.35); border-radius: 12px; font-size: .9rem; color: #586474; }
.fq-save-ic { color: #2F7984; flex: none; margin-top: 2px; }
.fq-save p { margin: 0; }

/* service steps */
.fq-panel.svc { background: none; border: 0; box-shadow: none; padding: 0; }
.fq-svc-head { margin-bottom: 18px; }
.fq-note { display: flex; gap: 12px; align-items: flex-start; margin-top: 20px; padding: 14px 16px; background: #fff; border: 1.5px dashed rgba(73,146,146,.5); border-radius: 12px; }
.fq-note-ic { color: #2F7984; flex: none; margin-top: 1px; }
.fq-note-t { margin: 0 0 2px; font-weight: 700; color: #11324d; }
.fq-note-d { color: #586474; font-size: .92rem; line-height: 1.55; }
.fq-note-d p { margin: 0; }
.fq-skip { margin: 4px 0 0; text-align: center; color: #6b7280; font-size: .9rem; }
.fq-panel.svc .gd-nav { margin-top: 18px; }

/* recommended badge */
.fq-rec { display: inline-flex; align-items: center; gap: 6px; align-self: flex-start; margin: 0 0 10px; padding: 4px 11px; border-radius: 999px; background: #11324d; color: #fff; font-size: .74rem; font-weight: 700; letter-spacing: .03em; }
.fq-rec[hidden] { display: none; }
.fq-rec .ic { color: #eab308; fill: #eab308; }
.fq-pc .fq-rec { align-self: center; }
/* a recommended card shows only the badge (no outline), so it is never mistaken for a selected one */

/* plan cards */
.fq-card, .gd-wrap .fq-card { display: grid; margin-bottom: 22px; padding: 0; overflow: hidden; background: #fff; }
@media (min-width: 860px) { .fq-card.has-aside { grid-template-columns: minmax(0, 1fr) 290px; } }
.fq-main { padding: 28px; }
.fq-t { font-family: var(--serif); font-weight: 700; font-size: 1.3rem; color: #11324d; margin: 0 0 8px; letter-spacing: -0.01em; }
.fq-d { margin: 0 0 16px; color: #586474; }
.fq-list { list-style: none; margin: 0 0 18px; padding: 0; display: grid; gap: 8px; }
.fq-list li { display: flex; gap: 10px; align-items: flex-start; color: #1d2b38; font-size: .97rem; }
.fq-list li strong { color: #11324d; }
.fq-tick { color: #eab308; flex: none; margin-top: 4px; }
.fq-logos { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; margin-top: 8px; }
.fq-logos.c { justify-content: center; }
.fq-logo { max-height: 56px; max-width: 160px; width: auto; height: auto; object-fit: contain; }
.fq-wm { font-family: var(--serif); font-weight: 700; font-size: 1.5rem; color: #11324d; margin: 12px 0 2px; letter-spacing: -0.02em; }
.fq-pn { margin: 4px 0 0; font-size: .85rem; font-style: italic; color: #2F7984; }
.fq-aside { padding: 24px; background: #fafbfc; border-top: 1px solid #e3eaed; display: flex; flex-direction: column; gap: 12px; }
@media (min-width: 860px) { .fq-aside { border-top: 0; border-left: 1px solid #e3eaed; } }
.fq-excl { display: inline-flex; align-items: center; gap: 6px; align-self: flex-start; padding: 4px 11px; border-radius: 999px; background: #f5f6e8; border: 1px solid rgba(73,146,146,.35); color: #2F7984; font-size: .74rem; font-weight: 700; letter-spacing: .02em; }
.fq-excl .ic { color: #eab308; fill: #eab308; }
.fq-pb { background: #fff; border: 1px solid #e3eaed; border-radius: 12px; padding: 14px 16px; display: flex; flex-direction: column; gap: 4px; }
.fq-pb.hl { background: #f5f6e8; border-color: rgba(211,195,12,.45); }
.fq-pb-l { margin: 0; font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #2F7984; }
.fq-pb-p { margin: 0; font-family: var(--serif); font-weight: 700; font-size: 1.6rem; color: #11324d; line-height: 1.2; letter-spacing: -0.02em; }
.fq-pb-p.long { font-size: 1.1rem; }
.fq-pb-s { margin: 0; font-size: .88rem; font-weight: 600; color: #2F7984; }
.fq-pb-n { margin: 0; font-size: .8rem; font-style: italic; color: #6b7280; }
.fq-pb .fq-int { margin-top: 10px; }

/* I'm Interested toggle */
.fq-int { width: 100%; justify-content: center; gap: 0; }
.fq-int.on { background: #2F7984; }
.fq-ck { display: inline-block; width: 16px; height: 16px; margin-right: 9px; border: 2px solid currentColor; border-radius: 50%; position: relative; flex: none; vertical-align: -3px; }
.fq-int.on .fq-ck::after { content: ''; position: absolute; inset: 2px; border-radius: 50%; background: currentColor; }
.fq-learn { width: 100%; justify-content: center; }
.fq-aside .btn, .fq-pc .btn { width: 100%; justify-content: center; }

/* partner cards */
.fq-partners { display: grid; gap: 18px; margin-bottom: 22px; }
@media (min-width: 760px) { .fq-partners { grid-template-columns: 1fr 1fr; } }
.fq-pc { padding: 26px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 12px; background: #fff; }
.fq-pc .fq-wm { margin: 0; font-size: 1.7rem; }
.fq-pc .fq-excl { align-self: center; }

/* tiles */
.fq-tiles { display: grid; gap: 16px; margin-bottom: 22px; }
@media (min-width: 700px) { .fq-tiles { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .fq-tiles { grid-template-columns: repeat(3, 1fr); } }
.fq-tile-w { display: flex; flex-direction: column; min-width: 0; }
.fq-tile-w > .fq-tile { flex: 1; }
.fq-tile-more { display: inline-flex; align-items: center; gap: 6px; align-self: flex-start; margin: 8px 4px 0; font-size: .85rem; font-weight: 700; color: #2F7984; }
.fq-tile-more:hover { text-decoration: underline; }
.fq-tile { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; text-align: left; padding: 22px 22px 20px; background: #fff; border: 1px solid #e3eaed; border-radius: 16px; font: inherit; color: inherit; transition: border-color .2s, box-shadow .2s, background .2s; }
.fq-tile.fq-int { cursor: pointer; width: 100%; justify-content: flex-start; }
button.fq-tile:hover { border-color: #499292; box-shadow: 0 10px 26px rgba(17,50,77,.08); }
.fq-tile.on { border-color: #2F7984; box-shadow: 0 0 0 2px rgba(73,146,146,.25); background: #f9fcfc; }
.fq-tile .fq-ck.tile { position: absolute; top: 20px; right: 20px; margin: 0; width: 20px; height: 20px; color: #9bb7bb; }
.fq-tile.on .fq-ck.tile { color: #2F7984; }
.fq-tile.on .fq-ck.tile::after { content: ''; position: absolute; inset: 3px; border-radius: 50%; background: currentColor; }
.fq-tile-t { font-family: var(--serif); font-weight: 700; font-size: 1.05rem; color: #11324d; padding-right: 30px; line-height: 1.3; }
.fq-tile-d { color: #586474; font-size: .93rem; line-height: 1.55; }
.fq-tile-p { margin-top: auto; padding-top: 6px; font-weight: 700; color: #11324d; }
.fq-tile .fq-wm { margin: 0; font-size: 1.15rem; }
.fq-tile .fq-logo { max-height: 30px; }

/* review step */
.fq-rv { margin-top: 22px; padding: 18px 20px; background: #fafbfc; border: 1px solid #e3eaed; border-radius: 14px; }
.fq-rv-h { margin: 0 0 8px; font-family: var(--serif); font-size: 1.05rem; color: #11324d; }
.fq-rv-list { margin: 0; }
.fq-rv-row { display: grid; gap: 4px 14px; grid-template-columns: minmax(0, 1fr) auto; padding: 10px 0; border-top: 1px solid #e3eaed; }
.fq-rv-row:first-child { border-top: 0; }
.fq-rv-row dt { grid-column: 1 / -1; margin: 0; font-size: .74rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #6b7280; }
.fq-rv-row dd { margin: 0; color: #11324d; overflow-wrap: anywhere; white-space: pre-wrap; }
.fq-edit { background: none; border: 0; padding: 0; font: inherit; font-size: .85rem; font-weight: 700; color: #2F7984; cursor: pointer; text-decoration: underline; }
.fq-rv-sec { margin: 12px 0 4px; font-size: .74rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #2F7984; }
.fq-rv-sec:first-child { margin-top: 0; }
.fq-rv-svc { display: flex; justify-content: space-between; gap: 14px; padding: 8px 0; border-top: 1px solid #e3eaed; }
.fq-rv-sec + .fq-rv-svc { border-top: 0; }
.fq-rv-svc b { color: #11324d; font-weight: 600; }
.fq-rv-svc span { color: #2F7984; font-weight: 700; text-align: right; }
.fq-rv-empty { margin: 0; color: #586474; }
.fq-rv-line { margin: 12px 0 4px; padding-top: 10px; border-top: 1px dashed #c9d6da; font-weight: 600; color: #11324d; }
.fq-thanks { text-align: center; padding: 40px 24px; }
.fq-thanks[hidden] { display: none; }
.fq-thanks:focus { outline: none; }
.fq-thanks .md { max-width: 34rem; margin: 10px auto 0; }
/* consultation call: last question on the review step, and the TidyCal scheduler on the thank-you screen */
.fq-consult { margin: 24px 0 4px; padding: 18px 20px 20px; border: 1px solid #e3eaed; border-radius: 14px; background: #fff; }
.fq-consult .qf-lab { padding: 0 6px; }
.fq-consult-info { display: flex; gap: 12px; align-items: flex-start; margin-top: 16px; padding: 14px 16px; background: #f5f6e8; border: 1px solid rgba(73,146,146,.35); border-radius: 12px; color: #586474; font-size: .93rem; text-align: left; }
.fq-consult-info[hidden] { display: none; }
.fq-consult-ic { color: #2F7984; flex: none; margin-top: 2px; }
.fq-consult-t { margin: 0 0 4px; font-weight: 600; color: #11324d; }
.fq-consult-info .md p { margin: 0; }
.fq-sched { margin: 28px auto 0; max-width: 46rem; text-align: left; }
.fq-sched[hidden] { display: none; }
.fq-sched-h { margin: 0 0 6px; text-align: center; }
.fq-sched-t { text-align: center; }
.fq-sched-mount { margin-top: 16px; min-height: 120px; }
.fq-sched-alt { margin: 10px 0 0; text-align: center; }

/* floating summary bar */
.fq-bar { position: fixed; left: 50%; bottom: 16px; z-index: 35; transform: translate(-50%, 160%); transition: transform .25s; }
.fq-bar.show { transform: translate(-50%, 0); }
.fq-bar-btn { display: flex; align-items: center; gap: 14px; padding: 12px 24px; background: #11324d; color: #fff; border: 0; border-radius: 999px; box-shadow: 0 12px 32px rgba(17,50,77,.35); font: inherit; font-weight: 600; font-size: .95rem; cursor: pointer; white-space: nowrap; }
.fq-bar-more { padding-left: 14px; border-left: 1px solid rgba(255,255,255,.3); color: #eab308; }
.fq-bar-panel { position: absolute; bottom: calc(100% + 10px); left: 50%; transform: translateX(-50%); width: min(92vw, 30rem); max-height: 55vh; overflow: auto; padding: 14px 16px; background: #fff; color: #11324d; border: 1px solid #e3eaed; border-radius: 14px; box-shadow: 0 16px 40px rgba(17,50,77,.25); text-align: left; white-space: normal; }
.fq-bar-panel[hidden] { display: none; }
.fq-bar-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 8px 0; border-top: 1px solid #e3eaed; font-size: .9rem; }
.fq-bar-row:first-of-type { border-top: 0; }
.fq-bar-row b { font-weight: 600; }
.fq-bar-row small { display: block; color: #2F7984; font-weight: 700; }
.fq-bar-x { flex: none; width: 24px; height: 24px; border-radius: 50%; border: 0; background: #ededed; color: #11324d; font-size: 1rem; line-height: 1; cursor: pointer; }
@media (prefers-reduced-motion: reduce) { .fq-bar { transition: none; } }
@media (max-width: 560px) { .fq-bar-more { display: none; } }

/* ---- v2 wizard refinements ---- */
/* hero with the formation illustration */
.fq-hero-grid { display: grid; gap: 36px; align-items: center; max-width: 68rem; margin: 0 auto; }
@media (min-width: 900px) { .fq-hero-grid.has-art { grid-template-columns: 1.1fr .9fr; gap: 48px; } }
.fq-hero-text { text-align: left; }
.fq-hero-art svg { width: 100%; max-width: 480px; height: auto; display: block; margin: 0 auto; }
@media (max-width: 899px) { .fq-hero-art svg { max-width: 340px; } }

/* step header tile: padding and margins come from the same rule the question steps use (.card.calc-sec.qstep); the logo sits on the right */
.fq-svc-head > .fq-note { margin-top: 20px; }
.fq-head-t { flex: 1; min-width: 0; }
.fq-step-logo { flex: none; margin-left: auto; max-height: 48px; max-width: 150px; width: auto; height: auto; object-fit: contain; }
@media (max-width: 520px) { .fq-step-logo { max-height: 34px; max-width: 90px; } }

/* "Recommended for you" hangs over the top edge of a card instead of taking room inside it; no outline, so it never looks selected */
.fq-cw, .fq-tile-w { position: relative; }
.fq-cw > .fq-rec, .fq-tile-w > .fq-rec { position: absolute; top: -13px; right: 20px; margin: 0; z-index: 3; box-shadow: 0 4px 12px rgba(17,50,77,.28); }

/* selection: the card, the price box and the button all change when something is picked */
.fq-wrap .fq-int:not(.fq-tile) { background: #fff; color: #11324d; border: 2px solid #11324d; }
.fq-wrap .fq-int:not(.fq-tile):hover { background: #eef3f6; }
.fq-wrap .fq-int.on:not(.fq-tile) { background: #1f7a4d; border-color: #1f7a4d; color: #fff; }
.fq-int:not(.fq-tile).on .fq-ck { border-color: #fff; }
.fq-int:not(.fq-tile).on .fq-ck::after { content: '\2713'; inset: -2px; display: grid; place-items: center; background: #fff; color: #1f7a4d; font-size: 11px; font-weight: 800; line-height: 1; border-radius: 50%; }
.fq-card.is-selected, .fq-pc.is-selected, .gd-wrap .fq-card.is-selected { border-color: #1f7a4d; box-shadow: 0 0 0 3px rgba(31,122,77,.3); background: #f6fbf8; }
.fq-card.is-selected .fq-aside { background: #eef8f2; }
.fq-pb.is-selected { border-color: #1f7a4d; box-shadow: 0 0 0 2px rgba(31,122,77,.35); background: #f6fbf8; }
.fq-tile.on { border-color: #1f7a4d; box-shadow: 0 0 0 3px rgba(31,122,77,.3); background: #f6fbf8; }
.fq-tile.on .fq-ck.tile { background: #1f7a4d; border-color: #1f7a4d; color: #fff; }
.fq-tile.on .fq-ck.tile::after { content: '\2713'; inset: 0; display: grid; place-items: center; background: none; border-radius: 0; font-size: 12px; font-weight: 800; line-height: 1; }

/* checkable list items (insurance types) */
.fq-list.sel { gap: 10px; }
.fq-bsel { display: block; }
.fq-chk { display: flex; align-items: flex-start; gap: 12px; width: 100%; text-align: left; padding: 11px 14px; background: #fff; border: 2px solid #d5e0e4; border-radius: 10px; font: inherit; font-size: .95rem; color: #1d2b38; cursor: pointer; transition: border-color .15s, background .15s; }
.fq-chk:hover { border-color: #499292; }
.fq-chk-t strong { color: #11324d; }
.fq-box { position: relative; flex: none; width: 22px; height: 22px; margin-top: 1px; border: 2px solid #9bb7bb; border-radius: 6px; background: #fff; }
.fq-chk.on { border-color: #1f7a4d; background: #f6fbf8; }
.fq-chk.on .fq-box { background: #1f7a4d; border-color: #1f7a4d; }
.fq-chk.on .fq-box::after { content: '\2713'; position: absolute; inset: 0; display: grid; place-items: center; color: #fff; font-size: 14px; font-weight: 800; line-height: 1; }

/* group heading, email note, "not interested" bar */
.fq-grp { margin: 8px 0 16px; font-family: var(--serif); font-size: 1.2rem; font-weight: 700; color: #11324d; }
.fq-emailnote { display: flex; gap: 10px; align-items: flex-start; margin: 4px 0 18px; padding: 12px 16px; background: #fff; border: 1px solid #e3eaed; border-radius: 12px; color: #586474; font-size: .92rem; }
.fq-emailnote svg { flex: none; color: #2F7984; margin-top: 3px; }
.fq-emailnote p { margin: 0; }
.fq-skipbar { margin: 6px 0 4px; text-align: center; }
.fq-skip-btn { display: inline-flex; align-items: center; justify-content: center; background: #fff; border: 2px solid #6b7280; color: #374151; border-radius: 12px; padding: 12px 22px; font-weight: 700; cursor: pointer; }
.fq-skip-btn:hover { background: #f3f4f6; }
.fq-skip-btn.on { background: #374151; border-color: #374151; color: #fff; }
.fq-skipbar .fq-skip { margin: 10px 0 0; }
.fq-rv-skipped { margin: 10px 0 0; color: #6b7280; font-size: .9rem; }

/* entity description under the choice cards */
.fq-choice-note { min-height: 3.4em; margin: 12px 0 0; padding: 10px 14px; border-radius: 10px; background: #f5f6e8; color: #586474; font-size: .92rem; line-height: 1.5; }
.fq-choice-note:empty { background: transparent; }

/* repeatable name ideas */
.fq-rep-rows { display: grid; gap: 10px; }
.fq-rep-add { margin-top: 10px; padding: 0; background: none; border: 0; font: inherit; font-weight: 700; color: #2F7984; cursor: pointer; }
.fq-rep-add:hover { text-decoration: underline; }

/* formation package screen (step 1): the always-included list, in two columns when there is room */
.fq-pkg .fq-incl-h { margin: 4px 0 12px; font-size: .74rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #2F7984; }
.fq-list.cols { gap: 10px 28px; margin-bottom: 4px; }
@media (min-width: 560px) and (max-width: 859px), (min-width: 1040px) { .fq-list.cols { grid-template-columns: 1fr 1fr; } }
.fq-pkg .fq-pb-p { font-size: 2.2rem; }
.fq-pkg .fq-pb-p.long { font-size: 1.3rem; }
.fq-pkg-foot { margin: -6px 4px 18px; color: #6b7280; font-size: .88rem; }

/* ===== v3 (Oct 31): simpler, calmer design that holds up on phones ===== */
.fq-page { overflow-x: clip; }
#start { scroll-margin-top: 72px; }
.gd-wrap.fq-wrap { max-width: 52rem; }
.fq-wrap *, .fq-wrap *::before, .fq-wrap *::after { min-width: 0; }
.fq-wrap p, .fq-wrap li, .fq-wrap h2, .fq-wrap h3, .fq-wrap dd { overflow-wrap: break-word; }

/* things that were switched off to cut clutter (the wording is still saved in admin) */
.fq-bar, .fq-rec, .fq-excl, .fq-learn, .fq-tile-more, .fq-pn { display: none !important; }

/* one position counter: the progress bar at the top. The step header is just the title. */
.fq-panel .qstep-n, .fq-panel .qstep-k { display: none; }
.fq-panel .card.calc-sec.qstep { border-top: 1px solid #e3eaed; }
.fq-panel .qstep-head { padding: 22px 24px 0; background: none; border-bottom: 0; }
.fq-panel .calc-sec .qstep-h { font-size: 1.35rem; }
@media (min-width: 768px) { .fq-panel .qstep-head { padding: 28px 32px 0; } }
.fq-panel.svc .fq-svc-head { padding-bottom: 4px; }
.fq-panel .fq-intro { margin-top: 10px; }

/* no lifting or shadows on hover inside the questionnaire (they jump around on touch screens) */
.fq-wrap .card:hover:not(.is-selected) { box-shadow: none; border-color: #e3eaed; }

/* the optional-services note: one plain line; the email note too */
.fq-noteline { display: flex; align-items: flex-start; gap: 8px; margin-top: 14px; color: #586474; font-size: .95rem; line-height: 1.5; }
.fq-note-ic { color: #2F7984; flex: none; margin-top: 2px; }
.fq-emailnote { justify-content: center; margin: 4px 0 14px; padding: 0; background: none; border: 0; color: #586474; font-size: .92rem; }

/* cards: lighter chrome, less padding, same palette as the rest of the site */
.fq-card, .gd-wrap .fq-card { margin-bottom: 16px; border-radius: 14px; }
.fq-main { padding: 22px; }
.fq-t { font-size: 1.2rem; }
.fq-d { margin-bottom: 14px; }
.fq-pb { border-radius: 10px; }
.fq-partners, .fq-tiles { margin-bottom: 16px; gap: 14px; }
.fq-tile { padding: 20px; border-radius: 14px; }
.fq-grp { margin: 4px 0 14px; font-size: 1.1rem; }
@media (max-width: 559px) {
  .fq-main { padding: 18px; }
  .fq-aside { padding: 16px; }
  .fq-pc { padding: 20px; }
  .fq-tile { padding: 18px; }
  .fq-t { font-size: 1.15rem; }
}

/* the package screen: price first, then the list */
.fq-card.has-aside.fq-pkg { grid-template-columns: minmax(0, 1fr); }
.fq-pkg .fq-aside { order: -1; border-left: 0; border-top: 0; border-bottom: 1px solid #e3eaed; }
.fq-list.cols { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 560px) { .fq-list.cols { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* selected state uses the site teal (it was a separate green) */
.fq-wrap .fq-int.on:not(.fq-tile) { background: #2F7984; border-color: #2F7984; }
.fq-int:not(.fq-tile).on .fq-ck::after { color: #2F7984; }
.fq-card.is-selected, .fq-pc.is-selected, .gd-wrap .fq-card.is-selected { border-color: #2F7984; box-shadow: 0 0 0 2px rgba(73,146,146,.35); background: #f7fbfb; }
.fq-card.is-selected .fq-aside { background: #eef6f6; }
.fq-pb.is-selected { border-color: #2F7984; box-shadow: 0 0 0 2px rgba(73,146,146,.35); background: #f7fbfb; }
.fq-tile.on { border-color: #2F7984; box-shadow: 0 0 0 2px rgba(73,146,146,.35); background: #f7fbfb; }
.fq-tile.on .fq-ck.tile { background: #2F7984; border-color: #2F7984; color: #fff; }
.fq-chk.on { border-color: #2F7984; background: #f7fbfb; }
.fq-chk.on .fq-box { background: #2F7984; border-color: #2F7984; }

/* phones: 16px fields (so iPhones do not zoom in), comfortable tap targets, full-width buttons */
.fq-wrap input.inp, .fq-wrap select.inp { min-height: 48px; font-size: 16px; }
.fq-wrap textarea.inp { font-size: 16px; }
.fq-wrap .btn, .fq-skip-btn, .fq-chk, .fq-choice span, .qf-ynb span { min-height: 48px; }
.fq-skipbar .fq-skip-btn { width: 100%; max-width: 30rem; }
@media (max-width: 480px) {
  .fq-panel .gd-nav { flex-direction: column-reverse; align-items: stretch; }
  .fq-panel .gd-nav .btn { width: 100%; justify-content: center; }
  .fq-panel .gd-nav > span { display: none; }
}
/* Continue fades until the step is complete (it still answers a tap with what is missing) */
.fq-panel .gd-nav [data-gd-next].is-faded { opacity: .4; cursor: not-allowed; }
/* no empty gap under the entity choices until a description is showing */
.fq-choice-note { min-height: 0; }
.fq-choice-note:empty { display: none; }