/* Patient Tools — premium tool pages. Palette mirrors the theme hero
   (deep navy gradient, gold accent) with the site's existing type scale. */

.acb-tool { --nvy:#071a44; --nvy2:#0a2a6e; --acc:#f5851f; --ink:#12203f; --mut:#5b6b8c;
  --line:#e3e9f4; --bg:#f5f8fd; --ok:#0f9d58; --warn:#d97706; color:var(--ink); }
.acb-tool-wrap { max-width:1180px; margin:0 auto; padding:0 24px; }
.acb-tool-narrow { max-width:820px; }
.acb-tool-eyebrow { display:inline-block; letter-spacing:.14em; text-transform:uppercase;
  font-size:12px; font-weight:700; color:#2585e8; margin-bottom:10px; }

/* ---------- Hero ---------- */
.acb-tool-hero { background:linear-gradient(105deg,#040f2a,#061840 45%,#092c74);
  color:#fff; padding:84px 0 72px; overflow:hidden; }
.acb-tool-hero-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center; }
.acb-tool-hero-copy h1 { font-size:clamp(30px,4vw,46px); line-height:1.12; margin:0 0 16px; color:#fff; }
.acb-tool-lede { font-size:17px; line-height:1.65; color:#cdd8ef; max-width:54ch; margin:0 0 22px; }
.acb-tool-trust { display:flex; flex-wrap:wrap; gap:10px 18px; }
.acb-tool-trust span { font-size:13px; color:#e8eefb; opacity:.92; padding-inline-start:20px; position:relative; }
.acb-tool-trust span::before { content:""; position:absolute; inset-inline-start:0; top:4px; width:10px; height:10px;
  border:2px solid var(--acc); border-top:0; border-inline-start:0; transform:rotate(40deg); }

/* ---------- Infographic visuals (pure CSS/SVG, animated) ---------- */
.acb-tool-hero-viz { display:flex; justify-content:flex-end; }
@media (max-width:960px) { .acb-tool-hero-viz { justify-content:center; } }
.acb-mockcard { width:min(440px,100%); }
.acb-tviz { width:min(380px,100%); aspect-ratio:1; position:relative; }
.acb-tviz svg { width:100%; height:100%; display:block; }
.acb-tviz .tv-track { stroke:rgba(255,255,255,.14); }
.acb-tviz .tv-arc { stroke:var(--acc); stroke-linecap:round; }
.acb-tviz .tv-txt { fill:#fff; font-weight:800; }
.acb-tviz .tv-sub { fill:#b9c8e8; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.acb-tviz--mini { width:52px; height:52px; aspect-ratio:1; flex:0 0 52px; }

@keyframes acbDash { from { stroke-dashoffset:var(--d0,600); } to { stroke-dashoffset:var(--d1,140); } }
@keyframes acbRise { from { transform:scaleY(.08); } to { transform:scaleY(1); } }
@keyframes acbPulse { 0%,100% { opacity:.35; transform:scale(.92);} 50% { opacity:1; transform:scale(1);} }
@keyframes acbPop { 0% { transform:scale(0); opacity:0;} 70% { transform:scale(1.15);} 100% { transform:scale(1); opacity:1;} }
@keyframes acbOrbit { from { transform:rotate(0deg);} to { transform:rotate(360deg);} }
.acb-tviz .tv-arc { stroke-dasharray:600; animation:acbDash 1.6s ease forwards .3s; }
.acb-tviz .tv-bar { transform-origin:bottom; animation:acbRise .9s cubic-bezier(.2,.8,.2,1) forwards; }
.acb-tviz .tv-dot { animation:acbPulse 2.4s ease-in-out infinite; }
.acb-tviz .tv-tick { transform-origin:center; animation:acbPop .5s ease forwards; opacity:0; }
.acb-tviz .tv-orb { transform-origin:center; animation:acbOrbit 14s linear infinite; }
@media (prefers-reduced-motion:reduce) { .acb-tviz * { animation:none !important; } }

/* ---------- App card ---------- */
.acb-tool-app-sec { background:var(--bg); padding:0 0 26px; }
.acb-tool-app { background:#fff; border:1px solid var(--line); border-radius:18px;
  box-shadow:0 24px 60px -30px rgba(7,26,68,.28); padding:30px; position:relative; }
.acb-ta-steps { display:flex; gap:8px; margin:0 0 22px; }
.acb-ta-steps i { height:4px; flex:1; border-radius:2px; background:var(--line); }
.acb-ta-steps i.on { background:var(--acc); }
.acb-ta-q { font-size:20px; font-weight:800; margin:0 0 16px; }
.acb-ta-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:12px; }
.acb-ta-opt { border:1.5px solid var(--line); border-radius:12px; padding:14px 16px; background:#fff;
  font:inherit; font-weight:600; color:var(--ink); text-align:start; cursor:pointer; transition:.18s; }
.acb-ta-opt:hover { border-color:var(--nvy2); transform:translateY(-1px); }
.acb-ta-opt.sel { border-color:var(--acc); background:#fff6ec; }
.acb-ta-row { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-top:14px; }
.acb-ta-input { border:1.5px solid var(--line); border-radius:12px; padding:13px 16px; font:inherit; min-width:200px; }
.acb-ta-btn { background:var(--nvy2); color:#fff; border:0; border-radius:12px; padding:13px 22px;
  font:inherit; font-weight:700; cursor:pointer; transition:.18s; }
.acb-ta-btn:hover { background:var(--nvy); }
.acb-ta-btn[disabled] { opacity:.45; cursor:not-allowed; }
.acb-ta-back { background:none; border:0; color:var(--mut); font:inherit; cursor:pointer; padding:8px 4px; }

/* ---------- Result ---------- */
.acb-ta-result { display:grid; grid-template-columns:auto 1fr; gap:26px; align-items:center; }
.acb-ta-big { font-size:clamp(34px,5vw,52px); font-weight:900; color:var(--nvy2); line-height:1; }
.acb-ta-big small { display:block; font-size:13px; font-weight:700; color:var(--mut);
  letter-spacing:.1em; text-transform:uppercase; margin-top:8px; }
.acb-ta-note { color:var(--mut); font-size:14px; line-height:1.6; margin:10px 0 0; }
.acb-ta-badge { display:inline-block; border-radius:999px; padding:6px 14px; font-size:13px; font-weight:800; }
.acb-ta-badge.ok { background:#e7f6ee; color:var(--ok); }
.acb-ta-badge.warn { background:#fdf2e3; color:var(--warn); }
.acb-ta-timeline { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:6px; }
.acb-ta-tl { border:1px solid var(--line); border-radius:12px; padding:14px; text-align:center; }
.acb-ta-tl b { display:block; font-size:26px; color:var(--nvy2); }
.acb-ta-tl span { font-size:12.5px; color:var(--mut); font-weight:600; }
.acb-ta-cta { margin-top:22px; display:flex; gap:12px; flex-wrap:wrap; }
.acb-ta-cta .ghost { background:#fff; color:var(--nvy2); border:1.5px solid var(--nvy2); }

/* ---------- Sections ---------- */
.acb-tool-disclaimer { font-size:12.5px; color:var(--mut); max-width:860px; margin:14px auto 0; text-align:center; }
.acb-tool-lead { background:var(--bg); padding:64px 0; }
.acb-tool-lead-grid { display:grid; grid-template-columns:1fr 1fr; gap:52px; align-items:start; }
.acb-tool-lead h2 { font-size:clamp(24px,3vw,34px); margin:0 0 12px; }
.acb-tool-lead-points { list-style:none; margin:18px 0 0; padding:0; }
.acb-tool-lead-points li { padding:7px 0 7px; padding-inline-start:28px; position:relative; font-weight:600; }
.acb-tool-lead-points li::before { content:""; position:absolute; inset-inline-start:2px; top:13px;
  width:12px; height:7px; border:2.5px solid var(--acc); border-top:0; border-inline-end:0; transform:rotate(-45deg); }
.acb-tool-lead-form { background:#fff; border:1px solid var(--line); border-radius:18px;
  box-shadow:0 24px 60px -34px rgba(7,26,68,.3); padding:8px; }
.acb-tool-prose { padding:64px 0 20px; }
.acb-tool-prose h2 { font-size:24px; margin:34px 0 10px; }
.acb-tool-prose p { line-height:1.75; color:#33415e; }
.acb-tool-faq { padding:34px 0 56px; }
.acb-tool-faq h2 { font-size:26px; margin:0 0 18px; }
.acb-tool-qa { border:1px solid var(--line); border-radius:12px; margin:0 0 10px; background:#fff; }
.acb-tool-qa summary { cursor:pointer; font-weight:700; padding:16px 18px; list-style:none; position:relative; padding-inline-end:44px; }
.acb-tool-qa summary::after { content:"+"; position:absolute; inset-inline-end:18px; top:12px; font-size:22px; color:var(--acc); }
.acb-tool-qa[open] summary::after { content:"\2212"; }
.acb-tool-qa p { margin:0; padding:0 18px 16px; color:#33415e; line-height:1.65; }

/* ---------- Cross links ---------- */
.acb-tool-more { background:var(--bg); padding:56px 0 72px; }
.acb-tool-more h2 { font-size:24px; margin:0 0 18px; }
.acb-tool-more-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:14px; }
.acb-tool-more-card { display:flex; align-items:center; gap:14px; background:#fff; border:1px solid var(--line);
  border-radius:14px; padding:16px 18px; text-decoration:none; color:var(--ink); font-weight:700; transition:.18s; }
.acb-tool-more-card:hover { transform:translateY(-2px); box-shadow:0 14px 34px -20px rgba(7,26,68,.35); }
.acb-tmc-viz { border-radius:10px; background:linear-gradient(120deg,#061840,#092c74); }
.acb-tmc-arrow { margin-inline-start:auto; color:var(--acc); }

/* ---------- Responsive ---------- */
@media (max-width:960px) {
  .acb-tool-hero-grid, .acb-tool-lead-grid, .acb-ta-result { grid-template-columns:1fr; }
  .acb-tool-hero { padding:64px 0 88px; }
  .acb-tool-hero-viz { order:-1; }
  .acb-tviz { width:min(260px,70vw); }
  .acb-ta-timeline { grid-template-columns:repeat(2,1fr); }
}


/* ---------- Cost comparator (DGS-parity) ---------- */
.acb-cc-top { display:flex; flex-wrap:wrap; gap:16px; justify-content:space-between; align-items:end; margin:0 0 14px; }
.acb-cc-label { font-size:13px; font-weight:700; color:var(--mut); display:flex; flex-direction:column; gap:6px; flex:1; min-width:260px; }
.acb-cc-select { width:100%; min-width:0; }
.acb-cc-seg { display:flex; border:1.5px solid var(--line); border-radius:12px; overflow:hidden; }
.acb-cc-segbtn { border:0; background:#fff; padding:11px 16px; font:inherit; font-weight:700; color:var(--mut); cursor:pointer; }
.acb-cc-segbtn.on { background:var(--nvy2); color:#fff; }
.acb-cc-chips { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 20px; }
.acb-cc-chip { border:1.5px solid var(--line); background:#fff; border-radius:999px; padding:8px 14px;
  font:inherit; font-size:13.5px; font-weight:700; color:var(--mut); cursor:pointer; transition:.15s; }
.acb-cc-chip.on { border-color:var(--acc); color:var(--ink); background:#fff6ec; }
.acb-cc-chip.lock { cursor:default; }
.acb-cc-rows { display:flex; flex-direction:column; }
.acb-cc-row { display:grid; grid-template-columns:230px 1fr 150px; gap:16px; align-items:center;
  padding:13px 4px; border-bottom:1px solid var(--line); }
.acb-cc-row:last-child { border-bottom:0; }
.acb-cc-name { font-weight:700; font-size:14.5px; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.acb-cc-save { font-style:normal; font-size:11.5px; font-weight:800; color:var(--nvy2);
  background:#eaf1fd; border-radius:999px; padding:3px 9px; }
.acb-cc-track { position:relative; height:10px; background:#e6edf9; border-radius:999px; overflow:hidden; }
.acb-cc-track > i, .acb-rc-row .track > i { max-height:14px !important; position:static !important; }
.acb-cc-bar { display:block; position:static; height:10px; max-height:10px; min-width:26px; border-radius:999px; background:linear-gradient(90deg,#3b62c4,#0a2a6e); }
.acb-cc-row.tr .acb-cc-bar { background:linear-gradient(90deg,#ffb44d,var(--acc)); }
.acb-cc-row.tr .acb-cc-name { color:var(--ink); }
.acb-cc-val { text-align:end; font-weight:800; font-size:14.5px; white-space:nowrap; }
.acb-cc-foot { display:flex; flex-wrap:wrap; gap:16px; align-items:center; justify-content:space-between; margin-top:18px; }
.acb-cc-foot .acb-ta-note { max-width:56ch; margin:0; }
@media (max-width:760px) {
  .acb-cc-row { grid-template-columns:1fr; gap:8px; padding:14px 0; }
  .acb-cc-val { text-align:start; }
}

/* ---------- Hero mock comparison card ---------- */
.acb-tviz--compare { aspect-ratio:auto; width:min(420px,100%); }
.acb-mockcard { background:rgba(6,20,52,.72); border:1px solid rgba(255,255,255,.14); border-radius:16px;
  padding:20px; box-shadow:0 30px 70px -30px rgba(0,0,0,.6); backdrop-filter:blur(6px);
  transform:rotate(1.5deg); position:relative; }
.acb-mock-pill { position:absolute; top:-12px; inset-inline-end:16px; background:#fff; color:var(--nvy);
  font-size:11px; font-weight:800; border-radius:999px; padding:5px 12px; box-shadow:0 8px 20px -8px rgba(0,0,0,.5); }
.acb-mock-head { display:flex; justify-content:space-between; align-items:baseline; margin:0 0 14px; }
.acb-mock-head b { color:#fff; font-size:16px; }
.acb-mock-head span { color:#9db1dd; font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.acb-mock-row { display:grid; grid-template-columns:22px 92px 1fr auto; gap:8px; align-items:center; padding:7px 0; }
.acb-mock-row .n { color:#c9d6f2; font-size:12px; font-weight:600; }
.acb-mock-row .v { color:#fff; font-size:12.5px; font-weight:800; }
.acb-mock-row i { display:block; height:8px; border-radius:4px; background:linear-gradient(90deg,#3b62c4,#274b9f);
  transform-origin:left; animation:acbGrow .8s ease both; }
@keyframes acbGrow { from { transform:scaleX(.08); } to { transform:scaleX(1); } }
.acb-mock-row.tr i { background:linear-gradient(90deg,#ffb44d,#f5851f); }
.acb-mock-foot { display:flex; justify-content:space-between; align-items:center; margin-top:14px; }
.acb-mock-save { background:var(--acc); color:#fff; font-weight:800; font-size:12px; border-radius:999px; padding:6px 12px; }
.acb-mock-meta { color:#9db1dd; font-size:11.5px; }

/* ---------- Result context card (above the wizard) ---------- */
.acb-tool-ctx { margin:14px 14px 4px; padding:14px 16px; border-radius:12px;
  background:linear-gradient(105deg,#061840,#092c74); color:#fff; position:relative;
  border-inline-start:4px solid var(--acc); }
.acb-tool-ctx-label { display:block; font-size:11px; font-weight:800; letter-spacing:.12em;
  text-transform:uppercase; color:#ffb44d; margin-bottom:4px; }
.acb-tool-ctx p { margin:0; font-size:13.5px; line-height:1.55; color:#e8eefb; }

/* ---------- Full-axis symmetry & mobile polish ---------- */
.acb-tool-wrap { max-width:var(--maxw,1180px); padding:0 var(--gutter,24px); }
.acb-tool-app { padding:clamp(18px,3.4vw,30px); }
.acb-tool-lead-grid { align-items:center; }
@media (max-width:640px) {
  .acb-tool-hero { padding:48px 0 80px; }
  .acb-tool-hero-copy h1 { font-size:27px; }
  .acb-tool-app { border-radius:14px; }
  .acb-cc-top { flex-direction:column; align-items:stretch; }
  .acb-cc-seg { align-self:stretch; }
  .acb-cc-segbtn { flex:1; }
  .acb-ta-cta .acb-ta-btn { width:100%; text-align:center; }
  .acb-tviz--compare { width:100%; }
  .acb-mockcard { transform:none; }
  .acb-tool-lead { padding:48px 0; }
  .acb-tool-prose { padding:44px 0 12px; }
}

/* ---------- v2 DGS-parity additions ---------- */
/* Mock card extensions */
.acb-mock-tag { color:#9db1dd; font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; }
.acb-mock-save.warn { background:#a05a12; }
.acb-mock-chip { position:absolute; bottom:-12px; inset-inline-start:16px; background:#0d1f4d; color:#cdd8ef;
  border:1px solid rgba(255,255,255,.16); font-size:10.5px; font-weight:700; border-radius:999px; padding:5px 11px; }
.acb-mock-row .f { font-size:13px; text-align:center; }
.acb-tviz--check, .acb-tviz--timeline, .acb-tviz--orbit, .acb-tviz--bars, .acb-tviz--ring { aspect-ratio:auto; width:min(420px,100%); }

/* Recovery calendar rows */
.acb-rc-list { display:flex; flex-direction:column; margin:6px 0 12px; }
.acb-rc-row { display:grid; grid-template-columns:34px 150px 1fr 170px; gap:14px; align-items:center;
  padding:13px 4px; border-bottom:1px solid var(--line); }
.acb-rc-row:last-child { border-bottom:0; }
.acb-rc-row .ic { font-size:19px; text-align:center; }
.acb-rc-row .nm { font-weight:700; font-size:14.5px; }
.acb-rc-row .track { position:relative; height:10px; background:var(--bg); border-radius:5px; overflow:hidden; display:block; }
.acb-rc-row .track i { display:block; position:static; height:10px; border-radius:5px;
  background:linear-gradient(90deg,#ffb44d,var(--acc)); }
.acb-rc-row .when { text-align:end; }
.acb-rc-row .when b { display:block; font-size:14.5px; color:var(--nvy2); }
.acb-rc-row .when small { color:var(--mut); font-size:12px; }
input[type="date"].acb-ta-input { min-width:180px; }

/* Candidacy question blocks */
.acb-cd-q { padding:14px 0 4px; border-top:1px solid var(--line); margin-top:10px; }
.acb-cd-qt { font-weight:800; font-size:15px; margin:0 0 10px; }

/* Combiner */
.acb-cb-top { align-items:end; }
.acb-cb-top .acb-cc-label { min-width:0; }
.acb-cb-verdict { border-radius:14px; padding:18px 20px; margin:14px 0 4px; border:1.5px solid; }
.acb-cb-verdict b { font-size:16.5px; display:block; margin-bottom:4px; }
.acb-cb-verdict p { margin:0; font-size:14px; color:#33415e; }
.acb-cb-verdict.ok { background:#f0faf4; border-color:#bfe6cd; }
.acb-cb-verdict.ok b { color:var(--ok); }
.acb-cb-verdict.mid { background:#fff8ec; border-color:#f3ddb4; }
.acb-cb-verdict.mid b { color:var(--warn); }
.acb-cb-verdict.no { background:#fdf1f1; border-color:#efc6c6; }
.acb-cb-verdict.no b { color:#c0392b; }
.acb-cb-chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.acb-cb-chip { background:#fff; border:1px solid var(--line); border-radius:999px; padding:6px 12px;
  font-size:12.5px; font-weight:700; color:var(--ink); }

/* Savings live result spacing */
.acb-sv-result { margin:16px 0 4px; }

@media (max-width:760px) {
  .acb-rc-row { grid-template-columns:28px 1fr auto; }
  .acb-rc-row .track { display:none; }
  .acb-cb-top { flex-direction:column; align-items:stretch; }
}

/* ---------- v3: premium lead section (dark, symmetric) + polish ---------- */
.acb-tool-lead { background:linear-gradient(105deg,#040f2a,#061840 45%,#092c74); padding:72px 0; }
.acb-tool-lead-grid { grid-template-columns:1fr 1fr; align-items:center; gap:64px; }
.acb-tool-lead .acb-tool-eyebrow { color:#2585e8; }
.acb-tool-lead h2, .acb-tool-lead-copy p { color:#fff; }
.acb-tool-lead-copy > p { color:#cdd8ef; }
.acb-tool-lead-points li { color:#e8eefb; }
.acb-tool-lead-points li::before { border-color:var(--acc); }
/* Wizard lives in the theme's own dark consult-card skin (added in template).
   Only sizing here: full column width, no theme cap. */
.acb-tool-lead-form.consult-card { max-width:none; width:100%; justify-self:stretch; animation:none; }
/* Result context card on the dark card: orange-edged navy panel */
.acb-tool-ctx { margin:0 0 18px; background:rgba(4,15,42,.55); color:#fff;
  border:1px solid rgba(255,255,255,.18); border-inline-start:4px solid var(--acc); }
.acb-tool-ctx-label { color:#ffc87a; }
.acb-tool-ctx p { color:#e8eefb; }

/* App card: never a bare empty rectangle */
.acb-tool-app { min-height:220px; }
.acb-tool-app:empty::before, .acb-tool-app:not(:has(*))::before {
  content:"Loading the calculator\2026"; color:var(--mut); font-weight:600; }

/* Cross-link cards: real icon tiles */
.acb-tmc-viz { width:52px; height:52px; flex:0 0 52px; display:grid; place-items:center;
  border-radius:12px; background:linear-gradient(135deg,#092c74,#061840); }
.acb-tmc-viz svg { width:38px; height:38px; }
.acb-tool-more-card strong { font-size:15px; line-height:1.25; }

@media (max-width:960px) {
  .acb-tool-lead-grid { grid-template-columns:1fr; gap:36px; }
  .acb-tool-lead-form { justify-self:stretch; max-width:none; }
}

/* ---------- v4: spacing, full-width form, crisp wizard ---------- */
/* Breathing room between hero and the calculator card (no more collision) */
.acb-tool-hero { padding:72px 0 64px; }
.acb-tool-app-sec { padding:36px 0 34px; }
.acb-tool-app { margin-top:0; }
@media (max-width:960px) { .acb-tool-hero { padding:56px 0 56px; } }

/* (v4 white-context wizard overrides removed - wizard now uses the theme's
   native dark consult-card skin; no color overrides needed.) */

/* ---------- Mobile pass (<=640px): alignment, spacing, no horizontal drift ---------- */
/* Single contained stacking context: no tool element (cards, bars, mock card
   with backdrop-filter) can ever composite above the sticky site header. */
.acb-tool { overflow-x:clip; position:relative; z-index:0; isolation:isolate; }
@media (max-width:640px) {
  .acb-tool-wrap { padding:0 16px; max-width:100%; }
  .acb-tool-hero { padding:44px 0 44px; }
  .acb-tool-hero-copy h1 { font-size:26px; }
  .acb-tool-lede { font-size:15.5px; }
  .acb-tool-trust { gap:8px 14px; }
  .acb-tviz, .acb-tviz--compare { width:100%; }
  .acb-mockcard { transform:none; padding:16px; }
  .acb-mock-row { grid-template-columns:20px 84px 1fr auto; gap:6px; }

  .acb-tool-app-sec { padding:24px 0 26px; }
  .acb-tool-app { padding:18px 14px; border-radius:14px; min-height:160px; }
  .acb-cc-chips { gap:7px; }
  .acb-cc-chip { padding:7px 12px; font-size:12.5px; }

  /* Lead section: form card flush full-width, zero drift */
  .acb-tool-lead { padding:44px 0; }
  .acb-tool-lead-grid { gap:26px; }
  .acb-tool-lead-form.consult-card { width:100%; max-width:none; margin:0;
    padding:18px 14px; border-radius:16px; transform:none; justify-self:stretch; }
  .acb-tool-ctx { margin:0 0 14px; padding:12px 14px; }
  .acb-tool-lead h2 { font-size:24px; }

  .acb-tool-prose { padding:36px 0 8px; }
  .acb-tool-prose h2 { font-size:20px; }
  .acb-tool-faq { padding:26px 0 40px; }
  .acb-tool-more { padding:40px 0 52px; }
  .acb-tool-more-grid { grid-template-columns:1fr; }
  .acb-ta-cta { flex-direction:column; }
  .acb-ta-cta .acb-ta-btn, .acb-cc-foot .acb-ta-btn { width:100%; text-align:center; }
  .acb-cc-foot { flex-direction:column; align-items:stretch; }
  .acb-ta-timeline { grid-template-columns:repeat(2,1fr); }
  .acb-ta-big { font-size:32px; }
}

/* ---------- Request form (so-wz) embedded on tool pages ---------- */
.acb-tool-lead-form { background:transparent; border:0; padding:0; box-shadow:none; }
.acb-tool-lead-form .so-wz { width:100%; }
.acbi-rf-preset { display:inline-flex; align-items:center; justify-content:center; }
@media (max-width:640px) {
  .acb-tool-lead-form { padding:0; }
}
