/* BridgeMD public inner pages, detail pages: trial page with its apply card, the public study page, the
   confirmation page and My applications. Loaded after finder.css. Reading surface on the left, one soft
   action card on the right, hairline tiles with radius 22 and pill buttons. */

/* ---------- Trial page: header ---------- */
body.fx .td-back { box-sizing: border-box; max-width: calc(var(--cv-w) + var(--cv-gut) * 2); margin: 0 auto; padding: 0 var(--cv-gut) 24px; }
body.fx .td-back a { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 18px 0 14px; border: 1px solid var(--cv-line-2); border-radius: var(--cv-r-pill);
  font: 500 14px/1 var(--cv-f); letter-spacing: -.005em; color: var(--cv-ink); text-decoration: none; transition: background-color .25s ease, border-color .25s ease; }
body.fx .td-back a:hover { background: rgba(10, 20, 40, .04); border-color: rgba(10, 20, 40, .4); color: var(--cv-ink); }
body.fx .td-layout { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 48px; align-items: start; box-sizing: border-box; max-width: calc(var(--cv-w) + var(--cv-gut) * 2); margin: 0 auto; padding: 0 var(--cv-gut) var(--fx-pad); }
body.fx .td-main { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
body.fx .td-badges { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; }
body.fx .td-badges > span { display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 12px; border: 1px solid var(--cv-line); border-radius: var(--cv-r-pill); background: transparent;
  font: 500 13px/1 var(--cv-f); letter-spacing: 0; color: var(--cv-ink); white-space: nowrap; }
body.fx .td-badges .ico { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
body.fx .td-badges .fit-good { background: var(--fx-ok-bg); border-color: transparent; color: var(--fx-ok); }
body.fx .td-badges .fit-no { background: var(--fx-bad-bg); border-color: transparent; color: var(--fx-bad); }
body.fx .td-badges .fit-maybe, body.fx .td-badges .fit-unknown { background: var(--cv-surface-2); border-color: transparent; color: var(--cv-accent-d); }
body.fx .td-badges .pr-recruiting { color: var(--fx-ok); }
body.fx .td-badges .pr-soon { color: var(--fx-warn); }
body.fx .td-badges .pr-dist, body.fx .td-badges .pr-phase { color: var(--cv-muted); }
body.fx .td-title { margin: 0; text-wrap: balance; overflow-wrap: anywhere; }
body.fx .td-jump { display: none; }
body.fx .td-why { margin: 0; padding: 18px 22px; border: 0; border-radius: 16px; background: var(--cv-surface); font: 400 15px/24px var(--cv-f); letter-spacing: -.005em; color: var(--cv-text); }
body.fx .td-why b { font-weight: 600; color: var(--cv-ink); }
body.fx .td-why .ico { display: none; }

/* ---------- Trial page: one reading surface ---------- */
body.fx .td-doc { background: #fff; border: 1px solid var(--cv-line); border-radius: var(--cv-r-tile); overflow: hidden; }
body.fx .td-doc > .td-section { margin: 0; padding: 36px 40px; border: 0; border-radius: 0; background: none; box-shadow: none; }
body.fx .td-doc > .td-section + .td-section { border-top: 1px solid var(--cv-line); }
body.fx .td-doc h2 { margin: 0 0 20px; font: 500 var(--fx-h3)/var(--fx-h3-lh) var(--cv-fd); letter-spacing: -.01em; color: var(--cv-ink); }
body.fx .td-source { margin: 20px 0 0; font: 400 13px/19.5px var(--cv-f); color: var(--cv-muted); }
body.fx .td-source[style] { margin-top: 20px !important; }
body.fx .td-source a, body.fx .td-meta a { color: var(--cv-accent); font-weight: 500; text-decoration: none; }
body.fx .td-source a:hover, body.fx .td-meta a:hover { text-decoration: underline; text-underline-offset: 3px; }
body.fx .td-source .ico { display: none; }

/* label and value rows, used for the study summary and for where it runs */
body.fx .td-summary-struct, body.fx .td-meta { display: grid; gap: 0; margin: 0; }
body.fx .td-summary-struct > div, body.fx .td-meta > div { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 24px; padding: 16px 0; border-top: 1px solid var(--cv-line); }
body.fx .td-summary-struct > div:first-child, body.fx .td-meta > div:first-child { border-top: 0; padding-top: 0; }
body.fx .td-summary-struct > div:last-child, body.fx .td-meta > div:last-child { padding-bottom: 0; }
body.fx .td-summary-struct dt, body.fx .td-meta dt { margin: 0; padding-top: 3px; font: 500 13px/19.5px var(--cv-f); letter-spacing: 0; text-transform: none; color: var(--cv-muted); }
body.fx .td-summary-struct dd, body.fx .td-meta dd { margin: 0; font: 400 15px/24px var(--cv-f); letter-spacing: -.005em; color: var(--cv-text); }
body.fx .td-summary, body.fx .td-pay-note { margin: 0 0 10px; font: 400 15px/24px var(--cv-f); letter-spacing: -.005em; color: var(--cv-text); }
body.fx .td-meta .td-dist { display: inline-block; margin-left: 10px; color: var(--cv-muted); }
body.fx .td-meta .site-map-dir { display: inline-block; margin-left: 12px; font-size: 14px; }
body.fx .td-meta .site-map-dir .ico, body.fx .td-meta .site-map-link .ico { display: none; }
body.fx .site-map-link, body.fx .site-map-dir { color: var(--cv-accent); }

/* the plain-language explainer for the investigational treatment */
body.fx .td-doc .study-drug, body.fx .study-block .study-drug { margin: 0 0 24px; padding: 20px 22px; border: 0; border-radius: 16px; background: var(--cv-surface); }
body.fx .study-drug h3 { display: block; margin: 0 0 8px; font: 500 18px/24.3px var(--cv-fd); letter-spacing: -.01em; color: var(--cv-ink); }
body.fx .study-drug h3 .ico { display: none; }
body.fx .study-drug p { margin: 0 0 6px; font: 400 15px/24px var(--cv-f); color: var(--cv-text); }
body.fx .study-drug p.study-drug-aka { font-size: 13px; line-height: 19.5px; color: var(--cv-muted); }
body.fx .study-drug p.study-drug-note { margin: 10px 0 0; font-size: 13px; line-height: 19.5px; font-style: normal; color: var(--cv-muted); }

/* in plain terms */
body.fx .tp-facts { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 24px; padding: 0; list-style: none; }
body.fx .tp-facts li { display: inline-flex; align-items: center; padding: 7px 14px; border-radius: var(--cv-r-pill); background: var(--cv-surface); font: 400 14px/1.4 var(--cv-f); color: var(--cv-ink); }
body.fx .tp-facts li .ico, body.fx .tp-personal .ico { display: none; }
body.fx .tp-personal { margin: 0 0 24px; padding: 16px 20px; border: 0; border-radius: 14px; font: 400 15px/24px var(--cv-f); }
body.fx .tp-personal-ok { background: var(--fx-ok-bg); color: var(--fx-ok); }
body.fx .tp-personal-warn { background: var(--fx-warn-bg); color: #7a4b00; }
body.fx .tp-expect { margin: 0; }
body.fx .tp-expect h3 { margin: 0 0 16px; font: 500 18px/24.3px var(--cv-fd); letter-spacing: -.01em; color: var(--cv-ink); }
body.fx .tp-steps { display: grid; gap: 18px; margin: 0; padding: 0; list-style: none; counter-reset: step; }
body.fx .tp-steps li { position: relative; min-height: 32px; padding: 0 0 0 48px; }
body.fx .tp-steps li::before { content: counter(step); counter-increment: step; position: absolute; left: 0; top: 0; display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; background: var(--cv-surface-2); color: var(--cv-accent-d); font: 500 14px/1 var(--cv-f); }
body.fx .tp-steps li b { display: block; margin: 0 0 2px; font: 600 15px/24px var(--cv-f); color: var(--cv-ink); }
body.fx .tp-steps li span { display: block; font: 400 15px/24px var(--cv-f); color: var(--cv-text); }
body.fx .tp-note { margin: 18px 0 0; font: 400 13px/19.5px var(--cv-f); color: var(--cv-muted); }
body.fx .tp-placebo { margin: 24px 0 0; padding: 18px 22px; border: 0; border-radius: 16px; background: var(--cv-surface); }
body.fx .tp-placebo h3 { display: block; margin: 0 0 6px; font: 600 15px/24px var(--cv-f); color: var(--cv-ink); }
body.fx .tp-placebo h3 .ico { display: none; }
body.fx .tp-placebo p { margin: 0; font: 400 15px/24px var(--cv-f); color: var(--cv-text); }
body.fx .tp-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; margin: 28px 0 0; padding-top: 28px; border-top: 1px solid var(--cv-line); }
body.fx .tp-col h3 { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; font: 600 15px/24px var(--cv-f); }
body.fx .tp-col h3 .ico { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
body.fx .tp-join h3 { color: var(--fx-ok); }
body.fx .tp-rule h3 { color: var(--fx-bad); }
body.fx .tp-basics { margin: 0 0 10px; font: 500 15px/24px var(--cv-f); color: var(--cv-ink); }
body.fx .tp-col ul { display: grid; gap: 8px; margin: 0; padding-left: 20px; }
body.fx .tp-col li { padding-left: 2px; font: 400 15px/24px var(--cv-f); color: var(--cv-text); }
body.fx .tp-col li::marker { color: #9fb0cb; }
body.fx .tp-full { margin-top: 24px; }
body.fx .tp-full summary { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; font: 500 14px/1.4 var(--cv-f); color: var(--cv-accent); cursor: pointer; }
body.fx .tp-full-b { margin-top: 14px; }
body.fx .tp-full-b b { display: block; margin-bottom: 8px; font: 600 14px/1.4 var(--cv-f); color: var(--cv-ink); }
body.fx .tp-full-b ul { display: grid; gap: 6px; margin: 0; padding-left: 20px; }
body.fx .tp-full-b li { font: 400 14px/22px var(--cv-f); color: var(--cv-text); }
body.fx .td-footnote { max-width: 64ch; margin: 0; padding: 0 4px; font: 400 13px/19.5px var(--cv-f); color: var(--cv-muted); }

/* ---------- Trial page: apply card ---------- */
body.fx .td-aside { position: static; top: auto; align-self: start; }
/* The card is short on every step (one question, then the contact details), so it stays beside the study text while the
   page scrolls and the way to apply is always in view. */
@media (min-width: 961px) { body.fx .td-aside { position: sticky; top: 110px; } }
body.fx .td-apply { display: flex; flex-direction: column; box-sizing: border-box; padding: 30px 26px 26px;
  border: 1px solid var(--cv-line); border-radius: var(--cv-r-tile); background: var(--cv-surface); box-shadow: none; }
body.fx .td-apply-title { display: block; margin: 0; font: 500 var(--fx-h3)/var(--fx-h3-lh) var(--cv-fd); letter-spacing: -.01em; color: var(--cv-ink); }
body.fx .td-apply-title .ico { display: none; }
body.fx .td-apply-sub { margin: 8px 0 24px; font: 400 15px/24px var(--cv-f); letter-spacing: -.005em; color: var(--cv-text); }
body.fx .interest-form { display: flex; flex-direction: column; gap: 0; margin: 0; }
body.fx .if-body { display: grid; gap: 18px; }
body.fx .interest-form label, body.fx .interest-form .if-lbl { margin: 0; font: 500 13px/1.4 var(--cv-f); letter-spacing: 0; color: var(--cv-ink); }
body.fx .interest-form label { display: grid; grid-template-columns: minmax(0, 1fr); gap: 7px; }
body.fx .interest-form input:not([type="checkbox"]), body.fx .interest-form select { box-sizing: border-box; width: 100%; height: 46px; padding: 0 14px; border: 1px solid var(--cv-line-2); border-radius: 14px; background-color: #fff;
  font: 400 15px/1.3 var(--cv-f); color: var(--cv-ink); box-shadow: none; }
body.fx .interest-form select { appearance: none; -webkit-appearance: none; padding-right: 36px; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%235b6980' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1.5 1.5 6 6l4.5-4.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center; background-size: 12px 8px; }
body.fx .interest-form select:invalid { color: #6d7b93; }
body.fx .interest-form input:not([type="checkbox"]):hover, body.fx .interest-form select:hover { border-color: rgba(10, 20, 40, .34); }
body.fx .interest-form input:not([type="checkbox"]):focus, body.fx .interest-form select:focus { outline: 0; border-color: var(--cv-accent); box-shadow: var(--fx-ring); }
body.fx .interest-form input[readonly] { background: var(--cv-surface); color: var(--cv-text); }
body.fx .if-screener { display: grid; gap: 16px; padding: 18px; border: 1px solid var(--cv-line); border-radius: 18px; background: #fff; }
body.fx .if-screener-head { font: 500 14px/1.4 var(--cv-f); color: var(--cv-ink); }
body.fx .if-screener-note { font: 400 13px/19.5px var(--cv-f); color: var(--cv-muted); }
body.fx .if-screener-body { display: grid; gap: 16px; }
body.fx .if-screener label { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; font: 400 14px/20px var(--cv-f); color: var(--cv-ink); }
body.fx .if-screener select { height: 44px; }
body.fx .if-q-skel { display: grid; gap: 10px; }
body.fx .if-q-skel span { height: 44px; border-radius: 14px; background: var(--cv-surface-2); }
body.fx .if-row.two { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
body.fx .if-lbl .opt { font-weight: 400; color: var(--cv-muted); }
body.fx .if-dob { display: grid; gap: 7px; }
body.fx .if-dob-row { display: grid; grid-template-columns: 1.5fr 1fr 1.15fr; gap: 8px; }
body.fx .if-verify { display: grid; gap: 8px; margin: -4px 0 0; }
body.fx .if-verify-row { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 12px; }
body.fx .if-verify .btn-sm { min-height: 44px; padding: 0 18px; font-size: 14px; }
body.fx .if-verify .btn-sm .ico { display: none; }
body.fx .if-verify-hint { font: 400 13px/19.5px var(--cv-f); color: var(--cv-muted); }
body.fx .if-verify-hint.is-error { color: #b02a1a; }
body.fx .if-code-row { display: flex; gap: 8px; }
body.fx .if-code-row input { flex: 1 1 auto; min-width: 0; letter-spacing: .18em; font-weight: 600; }
body.fx .if-verified-badge { display: inline-flex; align-items: center; gap: 6px; font: 500 14px/1.4 var(--cv-f); color: var(--fx-ok); }
body.fx .interest-form label.if-consent { display: flex !important; flex-wrap: wrap; align-items: flex-start; gap: 12px !important; font: 400 14px/21px var(--cv-f); color: var(--cv-text); cursor: pointer; }
body.fx .if-consent input { width: 18px !important; height: 18px !important; margin: 2px 0 0; padding: 0; flex: none; accent-color: var(--cv-accent); cursor: pointer; }
body.fx .if-consent > span { flex: 1 1 0; min-width: 0; }
body.fx .if-consent b { font-weight: 600; color: var(--cv-ink); }
body.fx .if-optin { padding: 0; border: 0; background: none; color: var(--cv-muted); font-size: 13px !important; line-height: 19.5px !important; }

/* the submit button follows the last field */
body.fx .if-foot { margin: 22px 0 0; padding: 0; }
body.fx .if-verify-gate { margin: 12px 0 0; font: 400 13px/19.5px var(--cv-f); text-align: center; color: var(--cv-muted); }
body.fx .if-summary { margin: 0 0 12px; font: 500 14px/1.4 var(--cv-f); color: #b02a1a; }

/* error states */
body.fx .interest-form .is-invalid { border-color: #c0392b !important; box-shadow: 0 0 0 3px rgba(192, 57, 43, .12) !important; }
body.fx .if-consent input.is-invalid { outline: 2px solid #c0392b; outline-offset: 2px; box-shadow: none !important; }
body.fx .if-err { display: block; margin: 0; font: 500 13px/1.4 var(--cv-f); color: #b02a1a; }
body.fx .if-consent .if-err { flex: 0 0 100%; margin: -4px 0 0 30px; }
body.fx .rec-banner, body.fx .rec-connect { border-radius: 14px; font-size: 14px; }
body.fx .rec-banner.connect, body.fx .rec-connect { border: 1px solid var(--cv-line); background: #fff; }
body.fx .rec-banner.ok { border: 0; background: var(--fx-ok-bg); color: var(--fx-ok); border-radius: 16px; }

/* already applied */
body.fx .td-applied { padding: 4px 0 28px; text-align: center; }
body.fx .td-applied-ic { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; margin: 0 auto 16px; border-radius: 50%; background: var(--fx-ok-bg); color: var(--fx-ok); }
body.fx .td-applied h3 { margin: 0 0 8px; font: 500 var(--fx-h3)/var(--fx-h3-lh) var(--cv-fd); letter-spacing: -.01em; color: var(--cv-ink); }
body.fx .td-applied p { margin: 0 0 20px; font: 400 15px/24px var(--cv-f); color: var(--cv-text); }

@media (max-width: 960px) {
  body.fx .td-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  body.fx .td-jump { display: flex; }
  body.fx .td-aside { position: static; scroll-margin-top: 104px; }
  body.fx .td-apply { max-height: none; overflow: visible; padding: 26px 20px 22px; }
  body.fx .if-foot { position: static; margin: 22px 0 0; padding: 0; border: 0; background: none; }
  body.fx .td-doc > .td-section { padding: 28px 22px; }
  body.fx .td-summary-struct > div, body.fx .td-meta > div { grid-template-columns: minmax(0, 1fr); gap: 2px; }
}
@media (max-width: 420px) { body.fx .if-row.two { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Public study page ---------- */
body.fx .study { box-sizing: border-box; max-width: calc(var(--cv-w) + var(--cv-gut) * 2); margin: 0 auto; padding: 0 var(--cv-gut) var(--fx-pad); }
body.fx .crumbs { margin: 0 0 28px; font: 400 13px/19.5px var(--cv-f); color: var(--cv-muted); }
body.fx .crumbs a { color: var(--cv-accent); text-decoration: none; }
body.fx .crumbs a:hover { text-decoration: underline; text-underline-offset: 3px; }
body.fx .study-head { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; max-width: 820px; margin: 0 0 40px; }
body.fx .study-head > * { margin: 0; }
body.fx .study-head h1 { text-wrap: balance; overflow-wrap: anywhere; }
body.fx .study-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
body.fx .study-tags span { display: inline-flex; align-items: center; height: 28px; padding: 0 12px; border: 1px solid var(--cv-line); border-radius: var(--cv-r-pill); background: transparent; font: 500 13px/1 var(--cv-f); letter-spacing: 0; text-transform: none; color: var(--cv-muted); }
body.fx .study-tags .status-tag { background: var(--fx-ok-bg); border-color: transparent; color: var(--fx-ok); }
body.fx .study-official { font: 400 15px/24px var(--cv-f); color: var(--cv-text); }
body.fx .study-official span { margin-right: 6px; font: 500 13px/19.5px var(--cv-f); letter-spacing: 0; text-transform: none; color: var(--cv-muted); }
body.fx .study-id { font: 400 13px/19.5px var(--cv-f); color: var(--cv-muted); }
body.fx .study-grid { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 48px; align-items: start; }
body.fx .study-main { display: block; background: #fff; border: 1px solid var(--cv-line); border-radius: var(--cv-r-tile); overflow: hidden; }
body.fx .study-main > .study-block { margin: 0; padding: 36px 40px; border: 0; border-radius: 0; background: none; }
body.fx .study-main > .study-block + .study-block { border-top: 1px solid var(--cv-line); }
body.fx .study-block h2 { margin: 0 0 20px; font: 500 var(--fx-h3)/var(--fx-h3-lh) var(--cv-fd); letter-spacing: -.01em; color: var(--cv-ink); }
body.fx .study-block p, body.fx .study-locs li { font: 400 15px/24px var(--cv-f); letter-spacing: -.005em; color: var(--cv-text); }
body.fx .study-block p { margin: 0 0 10px; }
body.fx .study-block .tp-facts { margin-top: 20px; }
body.fx .study-note { font: 400 13px/19.5px var(--cv-f) !important; font-style: normal; color: var(--cv-muted) !important; }
body.fx .study-locs { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
body.fx .study-locs li { display: flex; align-items: flex-start; gap: 10px; }
body.fx .study-locs .ico { margin-top: 4px; width: 15px; height: 15px; color: var(--cv-muted); }
body.fx .study-faq { border-top: 1px solid var(--cv-line); }
body.fx .study-faq:first-of-type { border-top: 0; }
body.fx .study-faq p { margin: 0 0 16px; max-width: 62ch; }
body.fx .study-side { position: sticky; top: 110px; display: grid; gap: 16px; }
body.fx .study-side .card { margin: 0; border: 1px solid var(--cv-line); border-radius: var(--cv-r-tile); background: #fff; box-shadow: none; }
body.fx .study-side .study-cta { padding: 28px 26px; background: var(--cv-surface); scroll-margin-top: 104px; }
@media (min-width: 961px) { body.fx .study-side .study-cta { scroll-margin-top: 480px; } }   /* two columns: the card is already in view, so the jump to #studyCard must not scroll the title away */
body.fx .study-cta h2 { margin: 0 0 10px; font: 500 var(--fx-h3)/var(--fx-h3-lh) var(--cv-fd); letter-spacing: -.01em; color: var(--cv-ink); }
body.fx .study-cta p { margin: 0 0 20px; font: 400 15px/24px var(--cv-f); color: var(--cv-text); overflow-wrap: anywhere; }
body.fx .study-cta form { display: grid; gap: 12px; }
body.fx .study-cta .hero-field { display: flex; align-items: center; gap: 10px; height: 50px; margin: 0; padding: 0 16px; border: 1px solid var(--cv-line-2); border-radius: 14px; background: #fff; transition: border-color .2s ease, box-shadow .2s ease; }
body.fx .study-cta .hero-field:focus-within { border-color: var(--cv-accent); box-shadow: var(--fx-ring); }
body.fx .study-cta .hero-field .ico { width: 18px; height: 18px; fill: none; stroke: var(--cv-muted); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
body.fx .study-cta .hero-field input { flex: 1; width: auto; min-width: 0; height: 100%; padding: 0; border: 0; border-radius: 0; outline: 0; background: transparent; box-shadow: none; font: 400 15px/1.3 var(--cv-f); color: var(--cv-ink); }
body.fx .study-cta .hero-field input:focus { box-shadow: none; }
body.fx .study-cta .loc-use { justify-self: start; display: inline-flex; align-items: center; gap: 6px; }
body.fx .study-cta .loc-use .ico { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
body.fx .study-ext { display: inline-flex; align-items: center; gap: 6px; margin-top: 18px; font: 500 13px/19.5px var(--cv-f); color: var(--cv-muted); text-decoration: none; }
body.fx .study-ext:hover { color: var(--cv-accent); }
body.fx .study-ext .ico { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
body.fx .study-meta { display: grid; gap: 14px; padding: 22px 26px; }
body.fx .study-meta > div { display: grid; gap: 2px; }
body.fx .study-meta .sf-l { font: 500 13px/19.5px var(--cv-f); letter-spacing: 0; text-transform: none; color: var(--cv-muted); }
body.fx .study-meta .sf-v { font: 500 15px/24px var(--cv-f); color: var(--cv-ink); }
body.fx .cond-cities { box-sizing: border-box; margin: 64px 0 0; padding: 0; text-align: left; }
body.fx .cond-cities h2 { margin: 0 0 20px; font: 500 var(--fx-h3)/var(--fx-h3-lh) var(--cv-fd); letter-spacing: -.01em; }
body.fx .cond-cities .chip-grid { display: flex; flex-wrap: wrap; gap: 8px; }
body.fx .chip { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border: 1px solid var(--cv-line-2); border-radius: var(--cv-r-pill); background: #fff; color: var(--cv-ink); font: 500 14px/1.2 var(--cv-f); text-decoration: none; transition: border-color .2s ease, color .2s ease; }
body.fx .chip:hover { border-color: var(--cv-accent); color: var(--cv-accent-d); }
body.fx .study-disc { max-width: 720px; margin: 48px auto 0; text-align: center; font: 400 13px/19.5px var(--cv-f); color: var(--cv-muted); }
@media (max-width: 960px) {
  body.fx .study-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  body.fx .study-side { position: static; }
  body.fx .study-main > .study-block { padding: 28px 22px; }
}

/* ---------- Confirmation ---------- */
body.fx .fx-thanks-mark { display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 50%; background: var(--fx-ok-bg); color: var(--fx-ok); }
body.fx .fx-thanks-mark .ico { width: 24px; height: 24px; }
body.fx .fx-thanks-head .cv-head-title { gap: 20px; }
body.fx .fx-thanks-next { margin: 0; }
body.fx .fx-thanks-next h2 { margin: 0 0 24px; font: 500 var(--fx-h3)/var(--fx-h3-lh) var(--cv-fd); letter-spacing: -.01em; color: var(--cv-ink); }
body.fx .fx-thanks-next ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--cv-gap); margin: 0; padding: 0; list-style: none; counter-reset: next; }
body.fx .fx-thanks-next li { counter-increment: next; box-sizing: border-box; margin: 0; padding: 26px; border: 1px solid var(--cv-line); border-radius: var(--cv-r-tile); background: #fff; font: 400 15px/24px var(--cv-f); letter-spacing: -.005em; color: var(--cv-text); }
body.fx .fx-thanks-next li::before { content: counter(next); display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin: 0 0 48px; border-radius: 50%; background: var(--cv-surface-2); color: var(--cv-accent-d); font: 500 16px/1 var(--cv-f); }
body.fx .fx-thanks-next li b { display: block; margin: 0 0 8px; font: 500 18px/24.3px var(--cv-fd); letter-spacing: -.01em; color: var(--cv-ink); }
body.fx .fx-thanks-note { max-width: 640px; margin: 24px 0 0; font: 400 13px/19.5px var(--cv-f); color: var(--cv-muted); }
body.fx .fx-thanks-alert { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 32px; align-items: center; margin: 32px 0 0; padding: 28px 32px; border: 1px solid var(--cv-line); border-radius: var(--cv-r-tile); background: var(--cv-surface); }
body.fx .fx-thanks-alert-body { grid-row: 1 / span 2; display: block; }
body.fx .fx-thanks-alert-body .ico { display: none; }
body.fx .fx-thanks-alert-body b { display: block; margin: 0 0 6px; font: 500 18px/24.3px var(--cv-fd); letter-spacing: -.01em; color: var(--cv-ink); }
body.fx .fx-thanks-alert-body p { margin: 0; max-width: 56ch; font: 400 15px/24px var(--cv-f); color: var(--cv-text); }
body.fx .fx-thanks-alert-body p b { display: inline; margin: 0; font: 600 15px/24px var(--cv-f); letter-spacing: 0; }
body.fx .fx-thanks-alert .cv-btn { grid-column: 2; align-self: end; }
body.fx .fx-thanks-alert-skip { grid-column: 2; align-self: start; font: 400 13px/19.5px var(--cv-f); color: var(--cv-muted); }
body.fx .fx-thanks-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 40px 0 0; }
@media (max-width: 1199px) { body.fx .fx-thanks-next ol { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 860px) {
  body.fx .fx-thanks-next ol { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  body.fx .fx-thanks-next li::before { margin-bottom: 28px; }
  body.fx .fx-thanks-alert { grid-template-columns: minmax(0, 1fr); padding: 24px 20px; }
  body.fx .fx-thanks-alert-body { grid-row: auto; }
  body.fx .fx-thanks-alert .cv-btn, body.fx .fx-thanks-alert-skip { grid-column: 1; }
  body.fx .fx-thanks-alert .cv-btn { align-self: start; margin-top: 8px; }
}
@media (max-width: 520px) { body.fx .fx-thanks-actions .cv-btn { width: 100%; justify-content: space-between; } }

/* ---------- My applications ---------- */
body.fx .app-card { margin: 0 0 var(--cv-gap); padding: 32px 36px; border: 1px solid var(--cv-line); border-radius: var(--cv-r-tile); background: #fff; box-shadow: none; }
body.fx .app-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
body.fx .app-title { margin: 0; font: 500 var(--fx-h3)/var(--fx-h3-lh) var(--cv-fd); letter-spacing: -.01em; color: var(--cv-ink); }
body.fx .app-meta { margin: 6px 0 0; font: 400 13px/19.5px var(--cv-f); color: var(--cv-muted); }
body.fx .app-card-head > :last-child { flex: none; }
body.fx .app-card .ui-badge { display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 12px; border: 0; border-radius: var(--cv-r-pill); background: var(--cv-surface-2); color: var(--cv-accent-d); font: 500 13px/1 var(--cv-f); letter-spacing: 0; text-transform: none; white-space: nowrap; }
body.fx .app-card .ui-badge-neutral { background: var(--cv-surface); color: var(--cv-muted); }
body.fx .app-card .ui-badge-ok { background: var(--fx-ok-bg); color: var(--fx-ok); }
body.fx .app-card .ui-badge-warn { background: var(--fx-warn-bg); color: #7a4b00; }
body.fx .app-card.app-closed { opacity: 1; }
body.fx .app-referred { margin: 14px 0 0; font: 500 13px/19.5px var(--cv-f); color: var(--cv-accent-d); }
body.fx .app-blurb { margin: 16px 0 0; font: 400 15px/24px var(--cv-f); letter-spacing: -.005em; color: var(--cv-text); }
body.fx .app-closed-note { margin: 16px 0 0; padding: 14px 18px; border-radius: 14px; background: var(--cv-surface); font: 400 14px/22px var(--cv-f); color: var(--cv-text); }
body.fx .app-steps { display: flex; margin: 28px 0 8px; padding: 0; list-style: none; }
body.fx .app-step { flex: 1 1 0; min-width: 0; text-align: center; color: var(--cv-muted); }
body.fx .app-step::before { top: 13px; height: 2px; background: var(--cv-line-2); }
body.fx .app-step-dot { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border: 1.5px solid var(--cv-line-2); background: #fff; color: var(--cv-muted); font: 500 12px/1 var(--cv-f); }
body.fx .app-step.done::before { background: var(--cv-accent); }
body.fx .app-step.done .app-step-dot { background: var(--cv-accent); border-color: var(--cv-accent); color: #fff; }
body.fx .app-step.current .app-step-dot { background: var(--cv-accent); border-color: var(--cv-accent); color: #fff; box-shadow: var(--fx-ring); }
body.fx .app-step-label { display: block; margin-top: 8px; font: 400 13px/1.3 var(--cv-f); color: var(--cv-muted); }
body.fx .app-step.current .app-step-label { font-weight: 600; color: var(--cv-accent-d); }
body.fx .app-step.done:not(.current) .app-step-label { color: var(--cv-text); }
body.fx .app-readiness { margin: 20px 0 0; padding: 18px 22px; border: 0; border-radius: 16px; background: var(--cv-surface); font: 400 14px/22px var(--cv-f); color: var(--cv-text); }
body.fx .app-readiness b { font-weight: 600; color: var(--cv-ink); }
body.fx .app-readiness .rd-disc { display: block; margin-top: 4px; font-size: 13px; color: var(--cv-muted); }
body.fx .rd-confirm { margin-top: 10px; }
body.fx .rd-confirm summary { min-height: 36px; font: 500 14px/1.4 var(--cv-f); color: var(--cv-accent); cursor: pointer; }
body.fx .rd-q input[type="text"] { height: 44px; padding: 0 14px; border: 1px solid var(--cv-line-2); border-radius: 14px; background: #fff; font: 400 15px/1.3 var(--cv-f); }
body.fx .app-answers { margin: 16px 0 0; border: 0; background: none; }
body.fx .app-answers > summary { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0; border: 0; font: 500 14px/1.4 var(--cv-f); color: var(--cv-accent); cursor: pointer; }
body.fx .app-answers > summary .ico { display: none; }
body.fx .app-answers[open] > summary { border-bottom: 0; }
body.fx .app-answers-list { margin: 8px 0 0; padding: 0; border: 1px solid var(--cv-line); border-radius: 16px; }
body.fx .app-answers-list li { padding: 12px 18px; font: 400 14px/22px var(--cv-f); }
body.fx .app-tasks, body.fx .app-reqs, body.fx .app-book, body.fx .app-visits, body.fx .app-records { margin: 20px 0 0; }
body.fx .app-book { padding: 18px 22px; border: 0; border-radius: 16px; background: var(--cv-surface); }
body.fx .app-book-copy { font: 400 14px/22px var(--cv-f); color: var(--cv-text); }
body.fx .app-visit { border: 0; border-radius: 14px; background: var(--cv-surface); font: 400 14px/22px var(--cv-f); }
body.fx .app-more { margin: 24px 0 0; border-top: 1px solid var(--cv-line); }
body.fx .app-more > summary { display: flex; align-items: center; gap: 12px; min-height: 56px; font: 500 15px/1.4 var(--cv-f); color: var(--cv-ink); cursor: pointer; list-style: none; }
body.fx .app-more > summary::-webkit-details-marker { display: none; }
body.fx .app-more > summary::after { content: ""; flex: none; width: 8px; height: 8px; margin-right: 4px; border-right: 2px solid var(--cv-muted); border-bottom: 2px solid var(--cv-muted); transform: rotate(45deg); transition: transform .25s var(--cv-ease); }
body.fx .app-more[open] > summary::after { transform: rotate(-135deg); }
body.fx .app-more > summary small { margin-left: auto; font: 400 13px/19.5px var(--cv-f); color: var(--cv-muted); }
body.fx .app-more > .app-docs, body.fx .app-more > .thread { margin: 0 0 20px; }
body.fx .app-more .app-docs { padding-top: 4px; }
body.fx .app-card .thread-head { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; font: 600 14px/1.4 var(--cv-f); letter-spacing: 0; text-transform: none; color: var(--cv-ink); }
body.fx .app-card .thread-head .ico { display: none; }
body.fx .thread-form input[type="text"], body.fx .req-up .doc-drop-label, body.fx .pdoc-form .doc-drop-label { border-radius: 14px; }
body.fx .app-foot { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 16px; margin: 20px 0 0; padding: 18px 0 0; border-top: 1px solid var(--cv-line); font: 400 13px/19.5px var(--cv-f); color: var(--cv-muted); }
body.fx .app-link { color: var(--cv-accent); text-decoration: none; }
body.fx .app-foot .link-btn.app-withdraw { color: var(--cv-muted); font-size: 13px; font-weight: 500; text-decoration: none; }
body.fx .app-foot .link-btn.app-withdraw:hover { color: var(--fx-bad); text-decoration: underline; }
body.fx .apps-empty { max-width: none; margin: 0; padding: 72px 24px; text-align: center; border: 1px solid var(--cv-line); border-radius: var(--cv-r-tile); background: #fff; box-shadow: none; }
body.fx .apps-empty-mark { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; margin: 0 0 20px; border-radius: 50%; background: var(--cv-surface-2); color: var(--cv-accent); }
body.fx .apps-empty h2 { margin: 0 0 8px; font: 500 var(--fx-h3)/var(--fx-h3-lh) var(--cv-fd); letter-spacing: -.01em; }
body.fx .apps-empty p { margin: 0 auto 24px; font: 400 15px/24px var(--cv-f); color: var(--cv-text); }
body.fx .apps-foot-note { max-width: 62ch; margin: 32px 0 0; font: 400 13px/19.5px var(--cv-f); color: var(--cv-muted); }
body.fx .rec-banner.wide { margin-bottom: 24px; padding: 16px 22px; }

@media (max-width: 767px) {
  body.fx .app-card { padding: 24px 20px; }
  body.fx .app-card-head { flex-direction: column; gap: 12px; }
  body.fx .app-steps { margin-top: 24px; }
  body.fx .app-step-label { font-size: 12px; }
}

/* ---------- Repairs: official title line, required consent weight, message sizes, small screens ---------- */
body.fx .td-official { margin: 12px 0 0; max-width: 64ch; font: 400 14px/21px var(--cv-f); color: var(--cv-muted); text-wrap: pretty; }
body.fx .interest-form label.if-consent:not(.if-optin) { padding: 16px 18px; border: 1px solid var(--cv-line-2); border-radius: 16px; background: #fff; color: var(--cv-ink); }
body.fx .app-more-new { margin-left: 10px; padding: 3px 10px; border-radius: var(--cv-r-pill); background: var(--cv-surface-2); color: var(--cv-accent-d); font: 500 12px/18px var(--cv-f); font-style: normal; }
body.fx .app-card .pdoc-tag { font-size: 12px; }
body.fx .app-card .msg-who { font-size: 13px; opacity: 1; }
body.fx .app-card .msg-time { font-size: 12px; }
@media (max-width: 480px) {
  body.fx .td-doc > .td-section { padding: 22px 16px; }
  body.fx .td-section .study-drug { padding: 14px 0 0; border: 0; border-top: 1px solid var(--cv-line); border-radius: 0; background: none; }
}

/* ---------- Apply card: one question at a time ---------- */
body.fx .td-apply { padding: 26px 24px 24px; }
body.fx .td-apply-sub { margin: 6px 0 18px; }
body.fx .if-progress { display: grid; gap: 10px; margin: 0 0 20px; }
body.fx .if-progress[hidden] { display: none; }
body.fx .if-progress-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 22px; }
body.fx .if-progress-text { margin-left: auto; font: 500 13px/1.4 var(--cv-f); color: var(--cv-text); }
body.fx .if-back { display: inline-flex; align-items: center; gap: 4px; padding: 0; border: 0; background: none; font: 500 13px/1.4 var(--cv-f); color: var(--cv-accent); cursor: pointer; }
body.fx .if-back[hidden] { display: none; }
body.fx .if-back:hover { text-decoration: underline; }
body.fx .if-bar { height: 6px; border-radius: 999px; background: var(--cv-surface-2); overflow: hidden; }
body.fx .if-bar i { display: block; width: 0; height: 100%; border-radius: inherit; background: var(--cv-accent); transition: width .3s var(--cv-ease); }
@media (prefers-reduced-motion: reduce) { body.fx .if-bar i { transition: none; } }

body.fx .interest-form.is-stepped .if-screener { gap: 0; padding: 0; border: 0; background: none; }
body.fx .interest-form.is-stepped .if-screener-head { display: none; }
body.fx .if-screener[hidden], body.fx .if-final[hidden] { display: none; }
body.fx .if-final { display: grid; gap: 18px; }
body.fx .if-final .if-foot { margin: 4px 0 0; }

body.fx .if-q { min-width: 0; margin: 0; padding: 0; border: 0; }
body.fx .if-q[hidden] { display: none; }
body.fx .if-q legend { display: block; width: 100%; margin: 0 0 16px; padding: 0; font: 500 19px/27px var(--cv-fd); letter-spacing: -.01em; color: var(--cv-ink); text-wrap: pretty; }
body.fx .if-opts { display: flex; gap: 10px; }
body.fx .interest-form .if-screener label.if-opt { position: relative; display: flex; flex: 1 1 0; min-width: 0; margin: 0; cursor: pointer; }
body.fx .interest-form .if-opt input { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; border-radius: 14px; opacity: 0; cursor: pointer; }
body.fx .interest-form .if-opt span { display: flex; align-items: center; justify-content: center; box-sizing: border-box; width: 100%; min-height: 54px; padding: 8px 10px; border: 1.5px solid var(--cv-line-2); border-radius: 14px; background: #fff;
  font: 500 16px/1.25 var(--cv-f); letter-spacing: -.01em; text-align: center; color: var(--cv-ink); transition: background-color .15s ease, border-color .15s ease, color .15s ease; }
body.fx .interest-form .if-opt:hover span { border-color: var(--cv-accent); background: rgba(18, 87, 176, .06); }
body.fx .interest-form .if-opt input:checked + span { border-color: var(--cv-accent); background: var(--cv-accent); color: #fff; }
body.fx .interest-form .if-opt input:focus-visible + span { border-color: var(--cv-accent); box-shadow: var(--fx-ring); }
body.fx .if-q.has-error .if-opt span { border-color: #c0392b; }
body.fx .if-q > .if-err { margin: 10px 0 0; }
body.fx .if-next { display: block; width: 100%; height: 46px; margin: 14px 0 0; border: 1px solid var(--cv-line-2); border-radius: var(--cv-r-pill); background: #fff; font: 500 15px/1 var(--cv-f); color: var(--cv-ink); cursor: pointer; }
body.fx .if-next[hidden] { display: none; }
body.fx .if-next:hover { border-color: var(--cv-accent); color: var(--cv-accent); }
body.fx .if-help { margin: 16px 0 0; font: 400 13px/19.5px var(--cv-f); color: var(--cv-muted); }
body.fx .interest-form:not(.is-stepped) .if-q { margin: 0 0 18px; }
body.fx .interest-form:not(.is-stepped) .if-q legend { font-size: 16px; line-height: 24px; margin-bottom: 10px; }

/* the contact step stays compact */
body.fx .if-final .if-body, body.fx .if-final { gap: 14px; }
body.fx .interest-form .if-final input:not([type="checkbox"]), body.fx .interest-form .if-final select { height: 44px; }
body.fx .interest-form label.if-consent:not(.if-optin) { padding: 12px 14px; }
@media (max-width: 960px) { body.fx .td-apply { padding: 22px 18px 20px; } }
body.fx .if-optin-wrap { display: grid; gap: 4px; }
body.fx .if-optin-more { margin: 0 0 0 30px; font: 400 13px/19.5px var(--cv-f); color: var(--cv-muted); }
body.fx .if-optin-more summary { display: inline; cursor: pointer; color: var(--cv-accent); list-style: none; }
body.fx .if-optin-more summary::-webkit-details-marker { display: none; }
body.fx .if-optin-more summary:hover { text-decoration: underline; }
body.fx .if-optin-more[open] summary { display: block; margin-bottom: 4px; }
body.fx .if-optin-more p { margin: 0; }
body.fx .if-verify { margin: 0; }
body.fx .interest-form label.if-consent:not(.if-optin) { font-size: 13px; line-height: 19.5px; }
/* On a window too short for the card, the card scrolls inside itself, so Submit is always reachable. */
@media (min-width: 961px) { body.fx .td-apply { max-height: calc(100vh - 132px); overflow-y: auto; overscroll-behavior: contain; } }
