/*!
 * SEBI Settlement Calculator v2 — styles
 * Every rule is scoped to #scv2 (or the page h1 badge) so the shared SEBI
 * stylesheets are not affected and cannot leak in. Loaded after style.css.
 * Target: WCAG 2.1 AA (GIGW 3.0). Colour pairs below are checked at >= 4.5:1
 * for text and >= 3:1 for borders and focus indicators.
 */

/* Noto Sans is used when installed on the device or when the web team adds the
   woff2 files (see fonts/README.md). Otherwise the system UI font is used. */
@font-face { font-family: 'SCV2 Sans'; font-weight: 400; font-style: normal; font-display: swap;
  src: local('Noto Sans'), local('NotoSans-Regular'), local('Segoe UI'), local('Roboto'); }
@font-face { font-family: 'SCV2 Sans'; font-weight: 600; font-style: normal; font-display: swap;
  src: local('Noto Sans SemiBold'), local('NotoSans-SemiBold'), local('Segoe UI Semibold'), local('Roboto Medium'); }
@font-face { font-family: 'SCV2 Sans'; font-weight: 700; font-style: normal; font-display: swap;
  src: local('Noto Sans Bold'), local('NotoSans-Bold'), local('Segoe UI Bold'), local('Roboto Bold'); }

#scv2 {
  --navy: #154063;          /* SEBI navy: 11.0:1 on white */
  --navy-2: #0e2d47;        /* hover */
  --blue: #1d5d96;          /* links, focus: 6.7:1 on white */
  --tint: #f1f6fb;
  --tint-2: #e2ecf6;
  --line: #d3dde7;          /* dividers (decorative) */
  --field: #6f8397;         /* input borders: 3.9:1 on white */
  --ink: #1b2733;           /* 15.3:1 */
  --muted: #4b5b6b;         /* 7.0:1 */
  --amber: #7a4800;         /* 7.4:1 on #fff6e6 */
  --amber-bg: #fff6e6;
  --green: #1e6b3a;         /* 6.6:1 */
  --red: #b3261e;           /* 6.0:1 */
  --red-bg: #fdf1f0;
  --up: #2b6cb0;            /* chart: raises amount */
  --down: #2f855a;          /* chart: reduces amount */
  --radius: 8px;
  --gap: 24px;
  font-family: 'SCV2 Sans', 'Noto Sans', 'Noto Sans Devanagari', 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: var(--ink);
  clear: both;
  font-variant-numeric: tabular-nums;
  -webkit-text-stroke: 0;
}
#scv2 *, #scv2 *::before, #scv2 *::after { box-sizing: border-box; }
#scv2 p { text-align: left; margin: 0 0 12px; font-size: inherit; font-family: inherit; float: none; width: auto; }
#scv2 ul, #scv2 ol { margin: 0; padding: 0; }
#scv2 li { font-size: inherit; font-family: inherit; }
#scv2 em, #scv2 i, #scv2 strong, #scv2 b, #scv2 small, #scv2 label, #scv2 legend, #scv2 input, #scv2 select, #scv2 textarea, #scv2 button { font-family: inherit; } /* v4.4: site rules must not switch inline text to Roboto */
#scv2 h2, #scv2 h3 { text-transform: none; letter-spacing: 0; font-family: inherit; }
#scv2 a { color: var(--blue); text-decoration: underline; text-underline-offset: 2px; }
#scv2 a:hover { color: var(--navy-2); text-decoration-thickness: 2px; }
#scv2 strong { font-weight: 700; }
#scv2 ::placeholder { color: #66778a; opacity: 1; }
#scv2 small { font-size: 13px; }

/* Focus: one clear ring (overrides the site's border-based focus style) */
#scv2 :focus { outline: none; }
#scv2 a:focus, #scv2 button:focus, #scv2 input:focus, #scv2 select:focus, #scv2 textarea:focus, #scv2 summary:focus,
#scv2 [tabindex]:focus { box-shadow: none !important; border-color: inherit; }
#scv2 :focus-visible, #scv2 input:focus, #scv2 select:focus {
  outline: 3px solid var(--blue) !important; outline-offset: 2px; box-shadow: none !important;
}
#scv2 input[type="radio"]:focus-visible, #scv2 input[type="checkbox"]:focus-visible { outline-offset: 3px; }
#scv2 input[type="text"]:focus, #scv2 input[type="search"]:focus, #scv2 input[type="date"]:focus, #scv2 input[type="number"]:focus, #scv2 select:focus {
  border: 1px solid var(--navy) !important;
}
#scv2 h2[tabindex="-1"]:focus, #scv2 [tabindex="-1"]:focus { outline: none !important; }

.scv2-beta { font-size: 11px; font-weight: 700; letter-spacing: .04em; background: #154063; color: #fff; padding: 2px 6px; border-radius: 4px; vertical-align: super; }
#scv2 .scv2-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
#scv2 .scv2-ico { width: 20px; height: 20px; flex: none; vertical-align: -4px; }
#scv2 .scv2-muted { color: var(--muted); }

/* ---------- Headings and text ---------- */
#scv2 .scv2-h2 { font-size: 24px; line-height: 1.3; font-weight: 600; color: var(--navy); margin: 0 0 8px; }
#scv2 .scv2-h3 { font-size: 18px; line-height: 1.35; font-weight: 600; color: var(--navy); margin: 28px 0 10px; }
#scv2 .scv2-lead { font-size: 18px; line-height: 1.6; color: var(--ink); max-width: 68ch; }
#scv2 .scv2-meta { color: var(--muted); font-size: 15px; }
#scv2 .scv2-hint { color: var(--muted); font-size: 15px; margin: 2px 0 10px; }
#scv2 .scv2-note { position: relative; color: var(--ink); background: var(--tint); border-radius: var(--radius); padding: 12px 14px 12px 44px; font-size: 15px; margin: 16px 0; }
#scv2 .scv2-note > .scv2-ico { position: absolute; left: 14px; top: 14px; color: var(--navy); }
#scv2 .scv2-note:not(:has(> .scv2-ico)) { padding-left: 14px; }
#scv2 .scv2-disclaimer { display: flex; gap: 10px; align-items: flex-start; color: var(--muted); font-size: 14px; border-top: 1px solid var(--line); padding-top: 16px; margin-top: 32px; grid-column: 1 / -1; }
#scv2 .scv2-noscript { background: var(--amber-bg); padding: 16px; border-radius: var(--radius); }

/* ---------- Buttons ---------- */
#scv2 .scv2-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 44px; padding: 10px 20px; border-radius: 6px; border: 2px solid var(--navy);
  font: 600 16px/1.2 inherit; font-family: inherit; cursor: pointer; text-decoration: none;
  transition: background-color .15s ease, color .15s ease;
}
#scv2 .scv2-btn-primary { background: var(--navy); color: #fff; }
#scv2 .scv2-btn-primary:hover { background: var(--navy-2); border-color: var(--navy-2); }
#scv2 .scv2-btn-secondary { background: #fff; color: var(--navy); }
#scv2 .scv2-btn-secondary:hover { background: var(--tint); }
#scv2 .scv2-btn[disabled] { opacity: .6; cursor: progress; }
#scv2 .scv2-btn-link { background: none; border: 0; padding: 6px 4px; min-height: 32px; color: var(--blue); text-decoration: underline; text-underline-offset: 2px; font: inherit; cursor: pointer; display: inline-flex; gap: 6px; align-items: center; }
#scv2 .scv2-btn-link:hover { color: var(--navy-2); }
#scv2 .scv2-btn-small { min-height: 36px; padding: 6px 14px; font-size: 15px; background: #fff; color: var(--navy); border-width: 1.5px; }
#scv2 .scv2-btn-small:hover { background: var(--tint); }
#scv2 .scv2-btn-block { width: 100%; }
#scv2 .scv2-icon-btn { display: inline-flex; align-items: center; gap: 6px; min-width: 40px; min-height: 40px; justify-content: center; background: none; border: 1px solid transparent; border-radius: 6px; color: var(--navy); cursor: pointer; font: inherit; font-size: 14px; padding: 4px 8px; }
#scv2 .scv2-icon-btn:hover { background: var(--tint); border-color: var(--line); }
#scv2 .scv2-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin: 20px 0 0; }

/* ---------- Start view ---------- */
#scv2 .scv2-tools { list-style: none; display: grid; gap: 8px; }
#scv2 .scv2-tool { display: flex; gap: 12px; align-items: flex-start; width: 100%; text-align: left; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 12px 14px; cursor: pointer; font: inherit; color: var(--ink); }
#scv2 .scv2-tool:hover { border-color: var(--navy); background: var(--tint); }
#scv2 .scv2-tool .scv2-ico { color: var(--navy); margin-top: 2px; }
#scv2 .scv2-tool strong { display: block; color: var(--navy); font-weight: 600; font-size: 15px; }
#scv2 .scv2-tool small { display: block; color: var(--muted); font-size: 13px; line-height: 1.4; }

/* ---------- Stepper ---------- */
#scv2 .scv2-stepper { margin: 4px 0 24px; border-bottom: 1px solid var(--line); }
#scv2 .scv2-stepper ol { list-style: none; display: flex; gap: 4px; overflow-x: auto; scrollbar-width: thin; padding: 2px 2px 0; }
#scv2 .scv2-st { flex: 1 1 0; min-width: 0; }
#scv2 .scv2-st button { width: 100%; display: flex; flex-direction: column; align-items: center; gap: 4px; background: none; border: 0; border-bottom: 3px solid transparent; padding: 6px 4px 10px; cursor: pointer; font: inherit; color: var(--muted); }
#scv2 .scv2-st button:hover { color: var(--navy); }
#scv2 .scv2-st-n { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; border: 2px solid var(--field); font-weight: 700; font-size: 14px; background: #fff; color: var(--muted); }
#scv2 .scv2-st-n .scv2-ico { width: 16px; height: 16px; vertical-align: 0; }
#scv2 .scv2-st-l { font-size: 13px; line-height: 1.25; text-align: center; }
#scv2 .scv2-st.is-current button { color: var(--navy); border-bottom-color: var(--navy); font-weight: 600; }
#scv2 .scv2-st.is-current .scv2-st-n { background: var(--navy); border-color: var(--navy); color: #fff; }
#scv2 .scv2-st.is-done .scv2-st-n { border-color: var(--green); color: var(--green); }
#scv2 .scv2-st.is-problem .scv2-st-n { border-color: var(--red); color: var(--red); }
#scv2 .scv2-stepper-compact { display: none; }

/* ---------- Layout ---------- */
#scv2 .scv2-body { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 32px; align-items: start; }
#scv2 .scv2-step-head { margin-bottom: 20px; }
#scv2 .scv2-step-k { color: var(--muted); font-size: 14px; font-weight: 600; margin: 0 0 2px; text-transform: uppercase; letter-spacing: .06em; }
#scv2 .scv2-step-lead { color: var(--muted); margin: 0; }
#scv2 .scv2-nav { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 36px; padding-top: 20px; border-top: 1px solid var(--line); }
#scv2 .scv2-nav .scv2-btn-primary { margin-left: auto; }

/* ---------- Form controls ---------- */
#scv2 fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
#scv2 .scv2-legend { font-size: 18px; font-weight: 600; color: var(--ink); margin-bottom: 12px; padding: 0; float: none; width: auto; }
#scv2 .scv2-legend-sm { font-size: 16px; font-weight: 600; color: var(--navy); padding: 0; margin-bottom: 8px; }
#scv2 .scv2-label { display: block; font-weight: 600; font-size: 15px; color: var(--ink); margin: 0 0 4px; width: auto; height: auto; float: none; }
#scv2 .scv2-opt-tag { font-weight: 400; color: var(--muted); font-size: 13px; }
#scv2 input[type="text"], #scv2 input[type="search"], #scv2 input[type="date"], #scv2 input[type="number"], #scv2 select {
  width: 100%; min-height: 44px; padding: 8px 12px; font: inherit; font-size: 16px !important; /* site responsive.css forces 11px */ color: var(--ink);
  background: #fff; border: 1px solid var(--field) !important; border-radius: 6px; margin: 0; max-width: 100%;
}
#scv2 select { padding-right: 32px; text-overflow: ellipsis; }
#scv2 .scv2-field { margin-bottom: 16px; min-width: 0; }
#scv2 .scv2-money { display: flex; align-items: stretch; max-width: 320px; }
#scv2 .scv2-money span { display: flex; align-items: center; padding: 0 12px; background: var(--tint); border: 1px solid var(--field); border-right: 0; border-radius: 6px 0 0 6px; font-weight: 600; color: var(--navy); }
#scv2 .scv2-money input { border-radius: 0 6px 6px 0 !important; text-align: right; }
#scv2 .scv2-words { color: var(--muted); font-size: 14px; margin: 4px 0 0; min-height: 1.4em; }
#scv2 .scv2-invalid input, #scv2 .scv2-invalid select { border-color: var(--red) !important; border-width: 2px !important; }
#scv2 .scv2-invalid.scv2-fieldset, #scv2 .scv2-invalid.scv2-followup, #scv2 .scv2-invalid.scv2-counts { border-left: 4px solid var(--red); padding-left: 14px; }
#scv2 .scv2-err { display: flex; gap: 6px; align-items: flex-start; color: var(--red); font-weight: 600; font-size: 15px; margin: 6px 0 8px; }
#scv2 .scv2-err .scv2-ico { margin-top: 2px; }

/* option cards (radio lists) */
#scv2 .scv2-options { display: grid; gap: 8px; }
#scv2 .scv2-opt { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 12px 14px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; cursor: pointer; margin: 0; font-weight: 400; }
#scv2 .scv2-opt:hover { border-color: var(--navy); }
#scv2 .scv2-opt:has(input:checked) { border-color: var(--navy); background: var(--tint); box-shadow: inset 4px 0 0 var(--navy); }
#scv2 .scv2-opt input, #scv2 .scv2-yn-opt input, #scv2 .scv2-check input, #scv2 .scv2-factor input { width: 20px; height: 20px; margin: 0; accent-color: var(--navy); cursor: pointer; }
#scv2 .scv2-opt-text { line-height: 1.45; }
#scv2 .scv2-opt-val { font-weight: 700; color: var(--navy); white-space: nowrap; font-size: 15px; }

/* yes / no */
#scv2 .scv2-yn { display: flex; gap: 10px; flex-wrap: wrap; }
#scv2 .scv2-yn-opt { display: inline-flex; align-items: center; gap: 10px; min-width: 104px; min-height: 44px; padding: 8px 18px 8px 14px; border: 1px solid var(--field); border-radius: 6px; background: #fff; cursor: pointer; margin: 0; font-weight: 600; }
#scv2 .scv2-yn-opt:has(input:checked) { border-color: var(--navy); background: var(--tint); box-shadow: inset 0 0 0 1px var(--navy); }
#scv2 .scv2-followup { margin: 20px 0; padding: 16px 18px; background: #fafcfe; border: 1px solid var(--line); border-left: 4px solid var(--navy); border-radius: var(--radius); }
#scv2 .scv2-followup.scv2-flat { border-left-width: 1px; }
#scv2 .scv2-followup.scv2-invalid { border-left: 4px solid var(--red); }
#scv2 .scv2-q { font-weight: 600; margin: 0 0 4px; line-height: 1.5; }
#scv2 .scv2-subfield { margin-top: 16px; }
#scv2 .scv2-check { display: flex; gap: 10px; align-items: center; padding: 6px 0; cursor: pointer; font-weight: 400; margin: 0; }

/* callout */
#scv2 .scv2-callout { background: var(--tint); border-radius: var(--radius); padding: 16px 18px; }
#scv2 .scv2-callout .scv2-h3 { margin-top: 0; }
#scv2 .scv2-callout p:last-child { margin-bottom: 0; }

/* defaults (Table-1) */
#scv2 .scv2-defaults { display: grid; gap: 14px; }
#scv2 .scv2-default { position: relative; border: 1px solid var(--line) !important; border-radius: var(--radius); padding: 14px 16px 6px !important; background: #fff; }
#scv2 .scv2-default > legend { float: left; width: auto; margin: 0 0 10px; }
#scv2 .scv2-default > legend + * { clear: both; }
#scv2 .scv2-default-remove { position: absolute; top: 8px; right: 8px; }
#scv2 .scv2-grid3 { clear: both; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 16px; }
#scv2 .scv2-grid3 > :nth-child(3) { grid-column: 1 / -1; }
#scv2 .scv2-grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; }
#scv2 .scv2-find { margin-top: 4px; font-size: 15px; }
#scv2 .scv2-working { margin: 0 0 10px; padding-top: 10px; border-top: 1px dashed var(--line); font-size: 15px; }
#scv2 .scv2-add { margin-top: 14px; }

/* tables */
#scv2 .scv2-table { width: 100%; border-collapse: collapse; margin: 8px 0 16px; font-size: 15px; background: #fff; }
#scv2 .scv2-table caption { text-align: left; font-weight: 600; color: var(--navy); padding: 0 0 8px; caption-side: top; }
#scv2 .scv2-table th, #scv2 .scv2-table td { text-align: left; padding: 9px 10px; border-bottom: 1px solid var(--line); vertical-align: top; font-weight: 400; }
#scv2 .scv2-table thead th { background: var(--tint); font-weight: 600; color: var(--navy); border-bottom: 2px solid var(--navy); }
#scv2 .scv2-table tfoot th, #scv2 .scv2-table tfoot td { font-weight: 700; border-top: 2px solid var(--navy); border-bottom: 0; }
#scv2 .scv2-table .num { text-align: right; white-space: nowrap; }
#scv2 .scv2-table tr.scv2-strong th, #scv2 .scv2-table tr.scv2-strong td { font-weight: 700; }
#scv2 .scv2-tag { display: inline-flex; gap: 4px; align-items: center; font-size: 12.5px; font-weight: 600; line-height: 1.3; color: var(--navy); background: var(--tint-2); border-radius: 999px; padding: 1px 9px; vertical-align: 1px; white-space: nowrap; }
#scv2 .scv2-tag.is-amber { color: var(--amber); background: var(--amber-bg); }
#scv2 .scv2-tag .scv2-ico { width: 14px; height: 14px; vertical-align: 0; }

/* regulatory action counts */
#scv2 .scv2-stepper-input { display: inline-flex; align-items: stretch; border: 1px solid var(--field); border-radius: 6px; overflow: hidden; }
#scv2 .scv2-stepper-input button { width: 40px; min-height: 40px; border: 0; background: var(--tint); color: var(--navy); font-size: 20px; font-weight: 700; cursor: pointer; }
#scv2 .scv2-stepper-input button:hover { background: var(--tint-2); }
#scv2 .scv2-stepper-input input[type="number"] { width: 56px; min-height: 40px; border: 0 !important; border-radius: 0; text-align: center; padding: 4px; }
#scv2 .scv2-each { display: none; color: var(--muted); font-size: 14px; }
#scv2 .scv2-total-line { font-size: 17px; margin-top: 16px; }
#scv2 .scv2-total-line strong { color: var(--navy); }

/* details */
#scv2 .scv2-details { margin: 16px 0; border: 1px solid var(--line); border-radius: var(--radius); padding: 0 14px; background: #fff; }
#scv2 .scv2-details > summary { cursor: pointer; padding: 12px 0; font-weight: 600; color: var(--navy); }
#scv2 .scv2-details[open] > summary { border-bottom: 1px solid var(--line); margin-bottom: 10px; }
#scv2 .scv2-details ol { padding-left: 22px; margin-bottom: 12px; }
#scv2 .scv2-details ol li { margin-bottom: 6px; }

/* factor lists */
#scv2 .scv2-counter { position: sticky; top: 44px; /* below the site's fixed menu bar */ z-index: 2; background: #fff; padding: 8px 0; margin-bottom: 4px; border-bottom: 1px solid var(--line); }
#scv2 .scv2-factors { list-style: none; display: grid; gap: 8px; }
#scv2 .scv2-factor { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 4px 12px; padding: 12px 14px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
#scv2 .scv2-factor.is-on { border-color: var(--navy); background: var(--tint); box-shadow: inset 4px 0 0 var(--navy); }
#scv2 .scv2-factor.is-disabled label { color: var(--muted); }
#scv2 .scv2-factor.is-disabled input { cursor: not-allowed; }
#scv2 .scv2-factor input { margin-top: 3px; }
#scv2 .scv2-factor label { cursor: pointer; line-height: 1.5; font-weight: 400; margin: 0; }
#scv2 .scv2-factor > details, #scv2 .scv2-factor > .scv2-other { grid-column: 2; }
#scv2 .scv2-factor-num { color: var(--navy); font-weight: 600; }
#scv2 .scv2-explain summary { cursor: pointer; color: var(--blue); font-size: 14px; text-decoration: underline; text-underline-offset: 2px; width: max-content; max-width: 100%; }
#scv2 .scv2-explain p { font-size: 14px; color: var(--ink); margin: 6px 0 0; }
#scv2 .scv2-other { margin: 10px 0 4px; }

/* error summary and warnings */
#scv2 .scv2-errsum, #scv2 .scv2-errsum:focus { border: 2px solid var(--red) !important; border-radius: var(--radius); padding: 14px 18px; margin: 0 0 24px; background: var(--red-bg); }
#scv2 .scv2-errsum h3 { display: flex; gap: 8px; align-items: center; color: var(--red); font-size: 18px; font-weight: 600; margin: 0 0 8px; }
#scv2 .scv2-errsum ul { list-style: none; }
#scv2 .scv2-errsum li { margin: 4px 0; }
#scv2 .scv2-errsum a { color: var(--red); font-weight: 600; }
#scv2 .scv2-warn { display: flex; gap: 10px; align-items: flex-start; border: 1px solid #e9c78f; background: var(--amber-bg); color: var(--amber); border-radius: var(--radius); padding: 12px 16px; margin: 0 0 20px; }
#scv2 .scv2-warn p, #scv2 .scv2-warn ul { margin: 4px 0 0; color: var(--ink); }
#scv2 .scv2-warn ul { padding-left: 18px; list-style: disc; }
#scv2 .scv2-warn a { color: var(--amber); }

/* ---------- Result panel ---------- */
#scv2 .scv2-panel { position: sticky; top: 56px; } /* clears the site's fixed menu bar */
#scv2 .scv2-panel-in { border: 1px solid var(--line); border-top: 4px solid var(--navy); border-radius: var(--radius); background: #fff; padding: 16px 18px; }
#scv2 .scv2-panel-k { font-size: 14px; color: var(--muted); font-weight: 600; margin: 0; }
#scv2 .scv2-panel-v { font-size: 30px; font-weight: 700; color: var(--navy); line-height: 1.2; margin: 2px 0 4px; word-break: break-word; }
#scv2 .scv2-panel-w { font-size: 14px; color: var(--muted); line-height: 1.45; }
/* v3: formula + live values in the result panel */
#scv2 .scv2-fx { margin: 10px 0 4px; padding: 7px 10px; background: var(--tint); border-left: 3px solid var(--navy); border-radius: 0 6px 6px 0; font-variant-numeric: tabular-nums; }
#scv2 .scv2-fx p { margin: 0; line-height: 1.5; }
#scv2 .scv2-fx-f { font-size: 13px; font-weight: 600; color: var(--navy); letter-spacing: .01em; }
/* v3.1: 13 px with slightly tighter spacing – rows split more evenly, box about 10% shorter */
#scv2 .scv2-fx-v { font-size: 13px; line-height: 1.45 !important; letter-spacing: -.005em; color: var(--ink); margin-top: 2px !important; padding-left: 1.1em; text-indent: -1.1em; } /* wrapped lines start under the first value */
#scv2 .scv2-fx-eq { color: var(--navy); font-weight: 600; }
#scv2 .scv2-fx-t { white-space: nowrap; }
#scv2 .scv2-fx-n { display: flex; gap: 6px; align-items: flex-start; font-size: 12.5px; line-height: 1.45; color: var(--navy); margin-top: 6px !important; padding-top: 6px; border-top: 1px dashed #b9cbdc; }
#scv2 .scv2-fx-n .scv2-ico { width: 16px; height: 16px; margin-top: 1px; }
#scv2 .scv2-panel-toggle { display: none; }
#scv2 .scv2-panel-dl { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; margin: 8px 0 12px; border-top: 1px solid var(--line); padding-top: 8px; }
#scv2 .scv2-panel-dl div { display: flex; justify-content: space-between; gap: 8px; padding: 4px 0; border-bottom: 1px solid #edf1f5; font-size: 15px; }
#scv2 .scv2-panel-dl div:first-child, #scv2 .scv2-panel-dl .scv2-panel-x { grid-column: 1 / -1; }
#scv2 .scv2-panel-dl dt { color: var(--muted); font-weight: 600; }
#scv2 .scv2-panel-dl dd { margin: 0; font-weight: 600; text-align: right; }
#scv2 .scv2-panel-x dd { color: var(--navy); }
#scv2 .scv2-badge { display: flex; gap: 6px; align-items: center; font-size: 14px; font-weight: 600; color: var(--navy); background: var(--tint); padding: 6px 10px; border-radius: 6px; margin: 0 0 8px; }
#scv2 .scv2-badge.is-amber { color: var(--amber); background: var(--amber-bg); }
#scv2 .scv2-panel-out { font-size: 15px; }
#scv2 .scv2-panel-prog { font-size: 14px; color: var(--muted); margin-bottom: 12px; }
#scv2 .scv2-panel-tools { margin-top: 14px; border-top: 1px solid var(--line); padding-top: 8px; }
#scv2 .scv2-panel-tools summary { cursor: pointer; font-weight: 600; color: var(--navy); padding: 6px 0; }
#scv2 .scv2-panel-tools .scv2-tools { margin-top: 8px; }
#scv2 .scv2-panel-tools .scv2-tool small { display: none; }
#scv2 .scv2-panel-tools .scv2-tool { padding: 8px 10px; }

/* ---------- Calculation sheet ---------- */
#scv2 .scv2-hero { background: var(--navy); color: #fff; border-radius: var(--radius); padding: 20px 24px; margin-bottom: 20px; }
#scv2 .scv2-hero p { margin: 0; color: #fff; }
#scv2 .scv2-hero-k { font-size: 15px; font-weight: 600; opacity: .92; }
#scv2 .scv2-hero-v { font-size: 38px; font-weight: 700; line-height: 1.2; margin: 4px 0 !important; word-break: break-word; }
#scv2 .scv2-hero-w { font-size: 15px; }
#scv2 .scv2-hero-sub { margin-top: 10px !important; padding-top: 10px; border-top: 1px solid rgba(255,255,255,.3); font-size: 15px; }
#scv2 .scv2-sheet .sym { width: 44px; font-weight: 700; color: var(--navy); text-align: center; }
#scv2 .scv2-sheet th[scope="row"] { font-weight: 400; }
#scv2 .scv2-sheet tr.scv2-strong th[scope="row"], #scv2 .scv2-sheet tr.scv2-total th[scope="row"] { font-weight: 700; }
#scv2 .scv2-sheet tr.scv2-total td, #scv2 .scv2-sheet tr.scv2-total th { background: var(--tint); font-weight: 700; font-size: 17px; border-top: 2px solid var(--navy); border-bottom: 2px solid var(--navy); color: var(--navy); }
#scv2 .scv2-edit { font-size: 13px; margin-left: 6px; display: inline-block; padding: 4px 2px; margin-top: -4px; margin-bottom: -4px; } /* v3: 24px tap target without moving the row */
#scv2 .scv2-footnotes p { font-size: 14px; color: var(--muted); margin: 0 0 4px; }
#scv2 .scv2-section { margin-top: 32px; }
#scv2 .scv2-section > .scv2-h3 { margin-top: 0; }
#scv2 .scv2-sheet-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 32px; padding-top: 20px; border-top: 1px solid var(--line); }
#scv2 .scv2-status { margin-top: 10px; color: var(--green); font-weight: 600; min-height: 1.5em; }

/* waterfall chart */
#scv2 .scv2-wf { border: 1px solid var(--line); border-radius: var(--radius); padding: 14px 16px; background: #fff; }
#scv2 .scv2-wf-row { display: grid; grid-template-columns: 170px minmax(0, 1fr) 56px; gap: 12px; align-items: center; padding: 5px 0; }
#scv2 .scv2-wf-label { font-size: 14px; color: var(--ink); }
#scv2 .scv2-wf-track { position: relative; height: 22px; background: linear-gradient(to right, transparent calc(50% - .5px), transparent 0); border-left: 1px solid #b7c4d1; }
#scv2 .scv2-wf-bar { position: absolute; top: 2px; bottom: 2px; border-radius: 4px; }
#scv2 .scv2-wf-up { background: var(--up); }
#scv2 .scv2-wf-down { background: var(--down); }
#scv2 .scv2-wf-sum { background: var(--navy); }
#scv2 .scv2-wf-min { position: absolute; top: -4px; bottom: -4px; width: 0; border-left: 2px dashed var(--ink); }
#scv2 .scv2-wf-val { text-align: right; font-weight: 600; font-size: 15px; }
#scv2 .scv2-wf-total { border-top: 1px solid var(--line); margin-top: 4px; padding-top: 9px; }
#scv2 .scv2-wf-total .scv2-wf-label { font-weight: 700; color: var(--navy); }
#scv2 .scv2-wf-note { font-size: 14px; color: var(--muted); margin: 10px 0 0; }
#scv2 .scv2-key { display: inline-flex; gap: 6px; align-items: center; margin-left: 10px; white-space: nowrap; }
#scv2 .scv2-key-sw { display: inline-block; width: 14px; height: 10px; border-radius: 2px; }

/* ---------- Dialogs ---------- */
#scv2 .scv2-dialog { margin: auto; width: min(720px, calc(100vw - 24px)); max-height: calc(100vh - 32px); border: 0; border-radius: 10px; padding: 0; color: var(--ink); box-shadow: 0 12px 40px rgba(14, 45, 71, .28); }
#scv2 .scv2-dialog.is-wide { width: min(940px, calc(100vw - 24px)); }
#scv2 .scv2-dialog::backdrop { background: rgba(14, 45, 71, .55); }
#scv2 .scv2-dialog-head { position: sticky; top: 0; z-index: 3; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 18px 12px 22px; background: #fff; border-bottom: 1px solid var(--line); }
#scv2 .scv2-dialog-head .scv2-h2 { font-size: 20px; margin: 0; }
#scv2 .scv2-dialog-body { padding: 16px 22px 24px; }
#scv2 .scv2-dialog-body .scv2-h3:first-child { margin-top: 4px; }
#scv2 .scv2-search { position: relative; }
#scv2 .scv2-search .scv2-ico { position: absolute; left: 12px; top: 12px; color: var(--muted); }
#scv2 .scv2-search input { padding-left: 40px; }
#scv2 .scv2-provlist { list-style: none; }
#scv2 .scv2-provlist li { display: grid; grid-template-columns: 76px minmax(0, 1fr) 112px auto; gap: 12px; align-items: center; padding: 9px 0; border-bottom: 1px solid var(--line); }
#scv2 .scv2-prov-sec { font-weight: 700; color: var(--navy); }
#scv2 .scv2-prov-min { text-align: right; font-weight: 600; white-space: nowrap; }
#scv2 .scv2-ia input[type="text"] { text-align: right; }
#scv2 .scv2-ia td { vertical-align: middle; }
#scv2 .scv2-scroll { overflow-x: auto; }
#scv2 .scv2-compare th, #scv2 .scv2-compare td { white-space: nowrap; }
#scv2 .scv2-glossary div { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--line); }
#scv2 .scv2-glossary dt { font-weight: 700; color: var(--navy); }
#scv2 .scv2-glossary dd { margin: 0; }
#scv2 .scv2-list { list-style: disc; padding-left: 22px; }
#scv2 .scv2-list li { margin-bottom: 6px; }

/* ---------- Responsive ---------- */
@media (max-width: 1060px) {
  #scv2 .scv2-body { grid-template-columns: minmax(0, 1fr) 260px; gap: 24px; }
}
@media (max-width: 900px) {
  #scv2 .scv2-body { grid-template-columns: minmax(0, 1fr); }
  #scv2 .scv2-panel { position: sticky; bottom: 0; top: auto; z-index: 20; order: 2; margin: 0 -2px; }
  #scv2 .scv2-panel-in { border-radius: 10px 10px 0 0; box-shadow: 0 -6px 18px rgba(14, 45, 71, .16); padding: 10px 16px; }
  #scv2 .scv2-panel-top { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; column-gap: 12px; }
  #scv2 .scv2-panel-k { font-size: 13px; }
  #scv2 .scv2-panel-v { font-size: 24px; margin: 0; grid-row: 2; }
  #scv2 .scv2-panel-toggle { display: inline-flex; grid-row: 1 / span 2; grid-column: 2; min-height: 44px; align-items: center; padding: 6px 14px; border: 2px solid var(--navy); border-radius: 6px; background: #fff; color: var(--navy); font: 600 15px/1 inherit; font-family: inherit; cursor: pointer; }
  #scv2 .scv2-panel-details { display: none; max-height: 60vh; overflow-y: auto; padding-top: 8px; }
  #scv2 .scv2-panel[data-open="true"] .scv2-panel-details { display: block; }
  #scv2 .scv2-st-l { font-size: 12px; }
  #scv2[data-step="8"] .scv2-panel { display: none; }   /* the sheet already shows the result */
}
@media (max-width: 640px) {
  #scv2 { font-size: 16px; }
  #scv2 .scv2-h2 { font-size: 21px; }
  #scv2 .scv2-lead { font-size: 17px; }
  #scv2 .scv2-grid3, #scv2 .scv2-grid2 { grid-template-columns: minmax(0, 1fr); }
  /* v3 fix: visually hidden, not display:none, so phone screen readers still hear "Applicant – step 1, completed" */
  #scv2 .scv2-st-l { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
  #scv2 .scv2-st-l .scv2-sr { position: static !important; width: auto; height: auto; margin: 0; clip: auto; } /* stays inside the 1px label box */
  #scv2 .scv2-st button { padding-bottom: 8px; }
  #scv2 .scv2-stepper-compact { display: flex; flex-direction: column; gap: 6px; padding: 4px 2px 12px; font-size: 14px; font-weight: 600; color: var(--navy); }
  #scv2 .scv2-progress { display: block; height: 4px; background: var(--tint-2); border-radius: 2px; overflow: hidden; }
  #scv2 .scv2-progress span { display: block; height: 100%; background: var(--navy); }
  #scv2 .scv2-opt { grid-template-columns: 22px minmax(0, 1fr); }
  #scv2 .scv2-opt-val { grid-column: 2; }
  #scv2 .scv2-nav .scv2-btn { flex: 1 1 auto; }
  #scv2 .scv2-hero-v { font-size: 30px; }
  #scv2 .scv2-wf-row { grid-template-columns: minmax(0, 1fr) 52px; }
  #scv2 .scv2-wf-label { grid-column: 1 / -1; }
  #scv2 .scv2-wf-track { grid-column: 1; }
  #scv2 .scv2-provlist li { grid-template-columns: 64px minmax(0, 1fr); }
  #scv2 .scv2-prov-min { grid-column: 2; text-align: left; }
  #scv2 .scv2-provlist .scv2-btn-small { grid-column: 2; justify-self: start; }
  #scv2 .scv2-glossary div { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  #scv2 .scv2-dialog-body { padding: 14px 16px 20px; }
  /* stacked tables on phones */
  #scv2 .scv2-counts thead { display: none; }
  #scv2 .scv2-counts tbody tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; padding: 10px 0; border-bottom: 1px solid var(--line); }
  #scv2 .scv2-counts tbody th, #scv2 .scv2-counts tbody td { border: 0; padding: 0; }
  #scv2 .scv2-counts tbody th { grid-column: 1 / -1; }
  #scv2 .scv2-counts tbody td:nth-of-type(1) { display: none; }
  #scv2 .scv2-each { display: inline; }
  #scv2 .scv2-counts tbody td.num { text-align: left; }
  #scv2 .scv2-counts tbody td:last-child { text-align: right; align-self: center; }
  #scv2 .scv2-ia thead { display: none; }
  #scv2 .scv2-ia tbody tr { display: grid; grid-template-columns: 28px minmax(0, 1fr) 44px; gap: 6px; padding: 8px 0; border-bottom: 1px solid var(--line); }
  #scv2 .scv2-ia tbody td { border: 0; padding: 0; }
  #scv2 .scv2-ia tbody td:nth-child(3) { grid-column: 2; }
  #scv2 .scv2-ia tbody td:nth-child(4) { grid-column: 3; grid-row: 1; }
  #scv2 .scv2-sheet .scv2-edit { display: inline-block; margin-left: 0; }
  #scv2 .scv2-ba thead { display: none; }
  #scv2 .scv2-ba tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 12px; padding: 8px 0; border-bottom: 1px solid var(--line); }
  #scv2 .scv2-ba th, #scv2 .scv2-ba td { border: 0 !important; padding: 0 4px; }
  #scv2 .scv2-ba tbody td:first-child { grid-column: 1 / -1; font-weight: 600; }
  #scv2 .scv2-ba tfoot tr { border-top: 2px solid var(--navy); border-bottom: 0; }
  #scv2 .scv2-ba tfoot th { white-space: normal; }
  #scv2 .scv2-tag { white-space: normal; }
}
@media (max-width: 380px) {
  #scv2 .scv2-st-n { width: 28px; height: 28px; font-size: 13px; }
  #scv2 .scv2-panel-v { font-size: 21px; }
  #scv2 .scv2-hero-v { font-size: 26px; }
  #scv2 .scv2-stepper ol { gap: 2px; }
  #scv2 .scv2-table th, #scv2 .scv2-table td { padding: 8px 6px; }
}
@media (prefers-reduced-motion: reduce) {
  #scv2 * { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
@media (forced-colors: active) {
  #scv2 .scv2-wf-bar, #scv2 .scv2-key-sw { forced-color-adjust: none; border: 1px solid CanvasText; }
  #scv2 .scv2-opt:has(input:checked), #scv2 .scv2-factor.is-on { outline: 2px solid Highlight; }
}

/* ---------- Print: the calculation sheet only ---------- */
@media print {
  #header, .full_width_menu, .header-marquee, .cfc-main-header, #footer-aside, .social-share-btn, #go-top, .go-top,
  #scv2 .scv2-stepper, #scv2 .scv2-panel, #scv2 .scv2-nav, #scv2 .scv2-sheet-actions, #scv2 .scv2-edit,
  #scv2 .scv2-section:has(#disg-principal), #scv2 .scv2-errsum, #scv2 .scv2-status { display: none !important; }
  #scv2 .scv2-body { display: block; }
  #scv2 .scv2-hero { background: #fff; color: #000; border: 2px solid #000; }
  #scv2 .scv2-hero p { color: #000; }
  #scv2 .scv2-wf-bar { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  #scv2 .scv2-section, #scv2 .scv2-table { break-inside: avoid; }
}

/* ---------- v2: links to the law and the regulation reader ---------- */
/* Small, quiet links so they never compete with the heading they sit beside. */
#scv2 .scv2-title-row { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 14px; }
#scv2 .scv2-title-row > .scv2-h2, #scv2 .scv2-title-row > .scv2-h3 { margin-right: 0; width: auto !important; min-width: 0; max-width: 100%; }  /* site style.css sets h2 { width: 70% !important } */
#scv2 .scv2-reflink { display: inline-flex; align-items: center; gap: 5px; min-height: 24px; padding: 2px 2px; margin: 0; background: none; border: 0; border-radius: 3px;
  font: inherit; font-size: 13px; font-weight: 400; line-height: 1.3; color: var(--blue); text-decoration: underline; text-underline-offset: 2px; cursor: pointer; vertical-align: baseline; text-align: left; }
#scv2 .scv2-reflink svg { width: 14px; height: 14px; flex: 0 0 14px; }
#scv2 .scv2-reflink:hover { color: var(--navy); text-decoration-thickness: 2px; }
#scv2 .scv2-reflink-block { display: flex; width: max-content; max-width: 100%; margin: -6px 0 12px; }
#scv2 .scv2-reflink-inline { display: inline-flex; vertical-align: middle; }
#scv2 .scv2-legend-inline { float: left; margin-right: 14px; }
#scv2 .scv2-legend-inline + .scv2-reflink { margin-top: 3px; }
#scv2 .scv2-clear { clear: both; height: 12px; }
#scv2 .scv2-prov-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0 14px; }
#scv2 .scv2-prov-actions .scv2-find { margin-top: 4px; }
#scv2 .scv2-prov-t .scv2-reflink { white-space: nowrap; }

#scv2 .scv2-reg-source { font-size: 14px; color: var(--muted); margin: 0 0 12px; font-style: italic; }
#scv2 .scv2-reg { border-left: 3px solid var(--navy); background: var(--tint); border-radius: 0 var(--radius) var(--radius) 0; padding: 14px 18px; }
#scv2 .scv2-reg-list { list-style: none; margin: 0; padding: 0; }
#scv2 .scv2-reg-item { display: grid; grid-template-columns: minmax(40px, max-content) minmax(0, 1fr); gap: 8px; margin: 0 0 10px; line-height: 1.6; color: var(--ink); }
#scv2 .scv2-reg-item.is-sub { margin-left: 40px; }
#scv2 .scv2-reg-num { font-weight: 600; color: var(--navy); }
#scv2 .scv2-reg-p { margin: 0 0 10px; line-height: 1.6; }
#scv2 .scv2-reg-p.is-sub { margin-left: 80px; }
#scv2 .scv2-reg .scv2-scroll { margin: 4px 0 14px; }
#scv2 .scv2-reg-table { background: #fff; }
#scv2 .scv2-ref-foot { display: flex; flex-wrap: wrap; gap: 6px 22px; margin: 16px 0 8px; }
#scv2 .scv2-ref-foot .scv2-reflink { font-size: 14px; }
@media (max-width: 600px) {
  #scv2 .scv2-reg { padding: 12px; }
  #scv2 .scv2-reg-item { grid-template-columns: minmax(32px, max-content) minmax(0, 1fr); }
  #scv2 .scv2-reg-item.is-sub { margin-left: 14px; }
  #scv2 .scv2-reg-p.is-sub { margin-left: 46px; }
  #scv2 .scv2-legend-inline { float: none; margin-bottom: 4px; }
  #scv2 .scv2-clear { height: 8px; }
}
@media print { #scv2 .scv2-reflink { display: none !important; } }

/* =====================================================================
 * v4: KYA start page (Legal, "changes - v4 - 1"). Same palette, type scale,
 * spacing and components as the calculator; single column, sections in order.
 * =================================================================== */
#scv2 .scv2-start { display: block; padding-top: 4px; }
#scv2 .scv2-sec { margin-top: 36px; }
#scv2 h2.scv2-h2 { width: auto !important; } /* site style.css sets h2 { width: 70% !important } */
#scv2 .scv2-sec-lead { color: var(--muted); font-size: 15px; margin: 0 0 14px; max-width: none; } /* v6.1: one-line section introductions use the full width (no early wrap) */

/* introduction */
#scv2 .scv2-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, 40%); gap: 32px; align-items: center; } /* v4.3: art column 40% of the row (about 400px on desktop) */
#scv2 .scv2-intro .scv2-lead { margin: 0; max-width: none; } /* the text column itself sets the line length */
#scv2 .scv2-intro-art img { display: block; width: 100%; height: auto; border-radius: 16px; } /* v4.5: department's raster illustration, rounded like the other cards */

/* walkthrough video */
#scv2 .scv2-video { margin: 0; } /* full width of the content column, 16:9 */
#scv2 .scv2-video video { display: block; width: 100%; aspect-ratio: 16 / 9; height: auto; background: #0e2d47; border-radius: var(--radius); }
#scv2 .scv2-video figcaption { font-size: 14px; margin-top: 6px; }
#scv2 .scv2-video.is-placeholder { aspect-ratio: 16 / 9; border-radius: var(--radius); background-color: #154063; background-image: linear-gradient(135deg, #154063 0%, #1d5d96 100%); /* white text: 11:1 to 6.7:1 */ color: #fff;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; text-align: center; padding: 16px; }
#scv2 .scv2-video-play { display: inline-flex; width: 64px; height: 64px; border-radius: 50%; background: rgba(255, 255, 255, .16); border: 2px solid rgba(255, 255, 255, .7); align-items: center; justify-content: center; }
#scv2 .scv2-video-play svg { width: 30px; height: 30px; margin-left: 3px; }
#scv2 .scv2-video-t { font-size: 18px; font-weight: 600; }
#scv2 .scv2-video-s { font-size: 14px; color: #e2ecf6; }

/* formula with clickable components */
#scv2 .scv2-fxintro-eq { font-size: 26px; font-weight: 700; color: var(--navy); letter-spacing: .01em; margin: 4px 0 6px; }
#scv2 .scv2-fxintro-hint { font-size: 14px; color: var(--muted); margin: 0 0 10px; }
#scv2 .scv2-fxparts { list-style: none; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; margin: 0; }
#scv2 .scv2-fxpart { width: 100%; height: 100%; min-height: 64px; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 2px;
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 10px 6px; font: inherit; color: var(--ink); cursor: pointer; text-align: center; }
#scv2 .scv2-fxpart:hover { border-color: var(--navy); background: var(--tint); }
#scv2 .scv2-fxpart[aria-expanded="true"] { border-color: var(--navy); background: var(--tint); box-shadow: inset 0 -3px 0 var(--navy); }
#scv2 .scv2-fxpart-sym { font-size: 18px; font-weight: 700; color: var(--navy); line-height: 1.2; }
#scv2 .scv2-fxpart-name { font-size: 13px; line-height: 1.3; color: var(--muted); }
#scv2 .scv2-fxdef { margin-top: 10px; padding: 12px 16px; background: var(--tint); border-left: 3px solid var(--navy); border-radius: 0 var(--radius) var(--radius) 0; } /* full width, like the tiles above */
#scv2 .scv2-fxdef p { margin: 0 0 6px; line-height: 1.55; max-width: none; } /* v4.3: text uses the full width of the box */
#scv2 .scv2-fxdef .scv2-fxdef-t { font-weight: 600; color: var(--navy); }
#scv2 .scv2-fxdef-sym { font-weight: 700; }
#scv2 .scv2-fxdef .scv2-reflink-block { margin: 2px 0 0; }

/* before you begin: ticks, not checkboxes */
#scv2 .scv2-byb { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; }
#scv2 .scv2-byb-item { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 12px; align-items: start; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 14px 16px; }
#scv2 .scv2-byb-tick { display: inline-flex; width: 28px; height: 28px; border-radius: 50%; background: #e6f2ea; color: var(--green); align-items: center; justify-content: center; }
#scv2 .scv2-byb-tick .scv2-ico { width: 18px; height: 18px; }
#scv2 .scv2-byb-t { font-size: 16px; font-weight: 600; color: var(--navy); margin: 2px 0 4px; }
#scv2 .scv2-byb p { margin: 0; color: var(--ink); font-size: 15px; line-height: 1.5; }

/* start */
#scv2 .scv2-start-cta { margin-top: 28px; }
#scv2 .scv2-start-cta .scv2-actions { margin-top: 0; }
#scv2 .scv2-start-cta .scv2-meta { margin: 10px 0 0; }
#scv2 .scv2-btn-lg { min-height: 48px; padding: 12px 24px; font-size: 17px; }
#scv2 .scv2-inline-link { min-height: 24px; padding: 0 2px; font-size: 15px; }

/* tools as cards */
#scv2 .scv2-start-tools .scv2-tools { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
#scv2 .scv2-start-tools .scv2-tool { height: 100%; padding: 14px 16px; }

@media (max-width: 1060px) {
  #scv2 .scv2-fxparts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  #scv2 .scv2-start-tools .scv2-tools { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  #scv2 .scv2-intro { grid-template-columns: minmax(0, 1fr) 36%; gap: 24px; } /* tablet: art stays beside the text, a little smaller */
}
@media (max-width: 640px) {
  #scv2 .scv2-intro { grid-template-columns: minmax(0, 1fr); }
  #scv2 .scv2-intro-art { display: none; } /* phones: decorative art hidden so the text and Start come first */
  #scv2 .scv2-sec { margin-top: 28px; }
  #scv2 .scv2-fxintro-eq { font-size: 21px; }
  #scv2 .scv2-fxparts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #scv2 .scv2-fxparts li:first-child { grid-column: 1 / -1; }
  #scv2 .scv2-byb { grid-template-columns: minmax(0, 1fr); }
  #scv2 .scv2-start-tools .scv2-tools { grid-template-columns: minmax(0, 1fr); }
  #scv2 .scv2-start-cta .scv2-btn { width: 100%; }
  #scv2 .scv2-video-t { font-size: 16px; }
}
@media (forced-colors: active) {
  #scv2 .scv2-fxpart[aria-expanded="true"] { outline: 3px solid Highlight; }
  #scv2 .scv2-video.is-placeholder { border: 1px solid CanvasText; }
}
@media print { #scv2 .scv2-intro-art, #scv2 .scv2-video { display: none !important; } }

/* v4: "Settlement Helpdesk Facility Manual" link, top right of every KYA page (outside #scv2, scoped to the page head) */
#scv2-main .scv2-pagehead { position: relative; }
/* v4: plain-words subtitle under the KYA name, part of the h1 so it is read with it */
/* v4.4: page heading and helpdesk link use the calculator's font (Segoe UI on Windows), not the site's Roboto webfont */
#scv2-main .scv2-pagehead h1, #scv2-main .scv2-helpdesk, #scv2-main .scv2-helpdesk small {
  font-family: 'SCV2 Sans', 'Noto Sans', 'Noto Sans Devanagari', 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; }
#scv2-main .scv2-pagehead h1 { padding-right: 300px; box-sizing: border-box; }
#scv2-main .scv2-helpdesk { position: absolute; right: 0; top: 2px; display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 2px 4px;
  font-size: 14px; font-weight: 600; color: #1d5d96; text-decoration: underline; text-underline-offset: 2px; line-height: 1.3; }
#scv2-main .scv2-helpdesk:hover { color: #0e2d47; }
#scv2-main .scv2-helpdesk:focus-visible { outline: 3px solid #1d5d96; outline-offset: 2px; }
#scv2-main .scv2-helpdesk svg { width: 18px; height: 18px; flex: none; }
#scv2-main .scv2-helpdesk small { font-size: 12px; font-weight: 400; color: #4b5b6b; }
@media (max-width: 760px) {
  #scv2-main .scv2-pagehead h1 { padding-right: 0; }
  #scv2-main .scv2-helpdesk { position: static; margin: 0 0 8px; float: none; clear: both; }
}
#scv2-main .scv2-sr-page { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
@media print { #scv2-main .scv2-helpdesk { display: none; } }
/* v4.6: walkthrough video – transcript link under the player (24 px tap target) */
#scv2 .scv2-video figcaption { margin-top: 8px; }
#scv2 .scv2-video figcaption a { display: inline-flex; align-items: center; min-height: 24px; padding: 2px 0; }
