/* =====================================================================
   E-Challan DOCX Page Importer — page design
   Navy & Signal Amber, Poppins headings, Inter text. Colours and fonts
   follow the Challan Guide Brand Kit when it is active (--cgk-*), with
   the same values as fallbacks so pages look right without it.
   ================================================================== */

.ecdi-page,
.ecdi-sec {
  --ecdi-navy: var(--cgk-navy, #12263F);
  --ecdi-navy-hi: var(--cgk-navy-hi, #1E3A5F);
  --ecdi-navy-lo: var(--cgk-navy-lo, #0E1E33);
  --ecdi-amber: var(--cgk-amber, #F2A900);
  --ecdi-amber-hi: var(--cgk-amber-hi, #D99500);
  --ecdi-amber-ink: #8A5A00;
  --ecdi-link: var(--cgk-link, #0E7C7B);
  --ecdi-bg: var(--cgk-bg, #F6F7F9);
  --ecdi-surface: var(--cgk-surface, #FFFFFF);
  --ecdi-text: var(--cgk-text, #1F2933);
  --ecdi-heading: var(--cgk-heading, var(--cgk-navy, #12263F));
  --ecdi-muted: var(--cgk-muted, #5B6573);
  --ecdi-border: var(--cgk-border, #E3E7EC);
  --ecdi-soft: var(--cgk-soft, #EEF2F6);
  --ecdi-head: var(--cgk-font-head, "Poppins", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif);
  --ecdi-body: var(--cgk-font-body, "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif);
  --ecdi-radius: 18px;
  --ecdi-shadow: 0 1px 2px rgba(18, 38, 63, .05), 0 18px 40px -28px rgba(18, 38, 63, .45);
  --ecdi-shadow-hi: 0 2px 4px rgba(18, 38, 63, .06), 0 28px 50px -26px rgba(18, 38, 63, .5);
  --ecdi-ease: cubic-bezier(.2, .7, .2, 1);
  --ecdi-road: repeating-linear-gradient(90deg, var(--ecdi-amber) 0 26px, transparent 26px 42px);
}

body.ecdi-imported { overflow-x: clip; }
.ecdi-template, .ecdi-article { margin: 0; padding: 0; max-width: none; }
.ecdi-imported .ecdi-template + * { margin-top: 0; }
/* Remove the theme's padding around the full-width template (Twenty Twenty-One, Astra, GeneratePress, Kadence ...). */
.ecdi-imported :is(.site-main, .site-content, .content-area, #primary, #content, .ast-container, .inside-article, .content-container):has(.ecdi-template) {
  padding-top: 0 !important; padding-bottom: 0 !important; margin-top: 0 !important; margin-bottom: 0 !important; max-width: none !important; width: 100%;
}

/* ── sections ─────────────────────────────────────────────────────── */
.ecdi-sec {
  position: relative;
  box-sizing: border-box;
  font-family: var(--ecdi-body);
  color: var(--ecdi-text);
  font-size: 17px;
  line-height: 1.75;
  background: var(--ecdi-surface);
  scroll-margin-top: calc(var(--cgk-header-h, 72px) + 12px);
}
.ecdi-sec *, .ecdi-sec *::before, .ecdi-sec *::after { box-sizing: border-box; }
.ecdi-sec--tint { background: var(--ecdi-bg); }
.ecdi-sec--lead { background: var(--ecdi-surface); }

/* Block-editor mode: break out of the theme's content column. */
.ecdi-sec--html { width: 100%; margin: 0; }
:is(.entry-content, .wp-block-post-content, .page-content, .post-content) > .ecdi-sec--html {
  width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw) !important; margin-right: 0 !important; margin-top: 0 !important; margin-bottom: 0 !important;
}
.ecdi-sec__in { max-width: 860px; margin: 0 auto; padding: 64px 20px; }
.ecdi-sec--wide .ecdi-sec__in { max-width: 1160px; }
.ecdi-sec--hero .ecdi-sec__in { max-width: 980px; padding: 72px 20px 60px; }
.ecdi-sec--lead .ecdi-sec__in { padding: 36px 20px 16px; }
@media (max-width: 767px) {
  .ecdi-sec { font-size: 16.5px; }
  .ecdi-sec__in { padding: 44px 16px; }
  .ecdi-sec--hero .ecdi-sec__in { padding: 48px 16px 44px; }
  .ecdi-sec--lead .ecdi-sec__in { padding: 26px 16px 8px; }
}

/* Elementor mode: tidy widget spacing so the CSS below controls rhythm. */
.ecdi-sec--el .elementor-element { --kit-widget-spacing: 0px; margin-block-end: 0; }
.ecdi-sec--el .elementor-widget:not(:last-child) { margin-bottom: 0; }
.ecdi-sec--el .elementor-widget-container { margin: 0; padding: 0; }
.ecdi-sec .elementor-widget-text-editor, .ecdi-sec .elementor-widget-html { color: inherit; font-family: inherit; font-size: inherit; line-height: inherit; font-weight: inherit; }
.ecdi-sec--el.e-con, .ecdi-sec--el.elementor-section { --container-default-padding-top: 0px; }

/* Vertical rhythm (both modes). */
:is(.ecdi-sec__in, .ecdi-sec--el > .e-con-inner, .ecdi-sec--el .elementor-widget-wrap) > * + * { margin-top: 18px; }
:is(.ecdi-sec__in, .ecdi-sec--el > .e-con-inner, .ecdi-sec--el .elementor-widget-wrap) > * + .ecdi-h2 { margin-top: 44px; }
:is(.ecdi-sec__in, .ecdi-sec--el > .e-con-inner, .ecdi-sec--el .elementor-widget-wrap) > * + .ecdi-h3 { margin-top: 32px; }
:is(.ecdi-sec__in, .ecdi-sec--el > .e-con-inner, .ecdi-sec--el .elementor-widget-wrap) > :is(.ecdi-h2, .ecdi-h3) + * { margin-top: 12px; }
:is(.ecdi-sec__in, .ecdi-sec--el > .e-con-inner, .ecdi-sec--el .elementor-widget-wrap) > .ecdi-h1 + * { margin-top: 16px; }

/* Wide sections (link cards): centred heading and intro. */
.ecdi-sec--wide :is(.ecdi-sec__in, .e-con-inner, .elementor-widget-wrap) > .ecdi-h2,
.ecdi-sec--wide :is(.ecdi-sec__in, .e-con-inner, .elementor-widget-wrap) > .ecdi-h2 .elementor-heading-title { text-align: center; }
.ecdi-sec.ecdi-sec--wide h2.ecdi-h2::after,
.ecdi-sec.ecdi-sec--wide .ecdi-h2 .elementor-heading-title::after { margin-left: auto; margin-right: auto; }
.ecdi-sec--wide :is(.ecdi-sec__in, .e-con-inner, .elementor-widget-wrap) > .ecdi-text { max-width: 720px; margin-left: auto; margin-right: auto; text-align: center; color: var(--ecdi-muted); }
.ecdi-sec--wide :is(.ecdi-sec__in, .e-con-inner, .elementor-widget-wrap) > .ecdi-w:has(.ecdi-cards) { margin-top: 30px; }
.ecdi-sec--wide .ecdi-sec__in > .ecdi-cards { margin-top: 30px; }

/* ── typography ───────────────────────────────────────────────────── */
.ecdi-sec :is(h1, h2, h3, h4),
.ecdi-sec .elementor-widget-heading .elementor-heading-title {
  font-family: var(--ecdi-head);
  color: var(--ecdi-heading);
  letter-spacing: -.012em;
  margin: 0;
  text-wrap: balance;
}
.ecdi-sec h1, .ecdi-sec .ecdi-h1 .elementor-heading-title { font-size: clamp(30px, 4.6vw, 46px); line-height: 1.14; font-weight: 700; }
.ecdi-sec h2, .ecdi-sec .ecdi-h2 .elementor-heading-title { font-size: clamp(24px, 3.2vw, 32px); line-height: 1.22; font-weight: 700; }
.ecdi-sec h3, .ecdi-sec .ecdi-h3 .elementor-heading-title { font-size: clamp(19px, 2.2vw, 22px); line-height: 1.32; font-weight: 600; }
.ecdi-sec h4 { font-size: 18px; line-height: 1.35; font-weight: 600; }
.ecdi-sec h2.ecdi-h2::after,
.ecdi-sec .ecdi-h2 .elementor-heading-title::after {
  content: ""; display: block; width: 56px; height: 4px; margin-top: 14px; border-radius: 4px;
  background: linear-gradient(90deg, var(--ecdi-amber) 0 60%, transparent 60% 70%, var(--ecdi-amber) 70%);
}
.ecdi-sec p { margin: 0; }
.ecdi-text > * + *, .ecdi-sec .elementor-widget-text-editor > * + *, .ecdi-text > p + p { margin-top: 14px; }
.ecdi-sec .elementor-widget-text-editor p { margin: 0; }
.ecdi-sec .elementor-widget-text-editor p + p { margin-top: 14px; }
.ecdi-sec .ecdi-text > * + *, .ecdi-sec .elementor-widget-text-editor :is(p, ul, ol) + :is(p, ul, ol) { margin-top: 14px; }
.ecdi-sec :is(.ecdi-text, .elementor-widget-text-editor, .ecdi-answer__body, .ecdi-alert__body, .ecdi-note, .ecdi-faq__a, .ecdi-urdu) :is(ul, ol) { margin: 14px 0 0; padding-left: 1.3em; }
.ecdi-sec :is(.ecdi-text, .elementor-widget-text-editor, .ecdi-faq__a, .ecdi-alert__body, .ecdi-note) li + li { margin-top: 8px; }
.ecdi-sec :is(.ecdi-text, .elementor-widget-text-editor, .ecdi-faq__a, .ecdi-note) li::marker { color: var(--ecdi-amber-hi); font-weight: 700; }
.ecdi-sec strong { color: var(--ecdi-heading); font-weight: 600; }
.ecdi-sec a:not([class]) {
  color: var(--ecdi-link); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px;
  text-decoration-color: color-mix(in srgb, var(--ecdi-link) 45%, transparent); transition: color .2s, text-decoration-color .2s;
}
.ecdi-sec a:not([class]):hover { color: var(--ecdi-heading); text-decoration-color: var(--ecdi-amber); text-decoration-thickness: 2px; }
.ecdi-sec .ecdi-fine { font-size: 14px; color: var(--ecdi-muted); }
.ecdi-sec :focus-visible { outline: 3px solid var(--ecdi-amber); outline-offset: 3px; border-radius: 6px; }
.ecdi-ico { width: 20px; height: 20px; flex: 0 0 auto; display: inline-block; vertical-align: middle; }

/* ── hero ─────────────────────────────────────────────────────────── */
.ecdi-sec--hero {
  color: #D6E0EB;
  background:
    radial-gradient(900px 420px at 85% -10%, rgba(59, 110, 165, .45), transparent 60%),
    radial-gradient(700px 380px at -10% 110%, rgba(242, 169, 0, .14), transparent 60%),
    linear-gradient(160deg, var(--ecdi-navy-hi) 0%, var(--ecdi-navy) 48%, var(--ecdi-navy-lo) 100%);
  overflow: hidden;
  text-align: center;
}
.ecdi-sec--hero::before {
  content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .5;
  background-image: linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px);
  background-size: 44px 44px;
  -webkit-mask-image: radial-gradient(ellipse at 50% 0%, #000 0%, transparent 72%);
  mask-image: radial-gradient(ellipse at 50% 0%, #000 0%, transparent 72%);
}
.ecdi-sec--hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: var(--ecdi-road); opacity: .9; }
.ecdi-sec--hero > * { position: relative; z-index: 1; }
.ecdi-sec.ecdi-sec--hero :is(h1, h2, h3),
.ecdi-sec.ecdi-sec--hero .elementor-widget-heading .elementor-heading-title { color: #FFFFFF; }
.ecdi-sec.ecdi-sec--hero p { color: #D6E0EB; font-size: clamp(16.5px, 1.6vw, 18.5px); max-width: 760px; margin-left: auto; margin-right: auto; }
.ecdi-sec.ecdi-sec--hero strong { color: #FFFFFF; }
.ecdi-sec--hero a:not([class]) { color: #FFD36B; text-decoration-color: rgba(255, 211, 107, .5); }
.ecdi-sec--hero a:not([class]):hover { color: #FFFFFF; }
.ecdi-eyebrow {
  display: inline-flex !important; align-items: center; gap: 8px; margin: 0 auto !important; padding: 6px 14px 6px 10px;
  font-family: var(--ecdi-head); font-size: 13px !important; font-weight: 600; letter-spacing: .02em; color: #FFD36B !important;
  background: rgba(242, 169, 0, .12); border: 1px solid rgba(242, 169, 0, .35); border-radius: 999px;
}
.ecdi-eyebrow::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--ecdi-amber); box-shadow: 0 0 0 4px rgba(242, 169, 0, .2); animation: ecdi-pulse 2.4s ease-in-out infinite; }
@keyframes ecdi-pulse { 50% { box-shadow: 0 0 0 7px rgba(242, 169, 0, 0); } }
.ecdi-sec--hero :is(.ecdi-sec__in, .e-con-inner, .elementor-widget-wrap) > .ecdi-w:has(.ecdi-eyebrow) + *,
.ecdi-sec--hero .ecdi-sec__in > .ecdi-eyebrow + * { margin-top: 18px; }

/* byline */
.ecdi-byline { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 18px; list-style: none; margin: 0; padding: 0; font-size: 14px; color: var(--ecdi-muted); }
.ecdi-byline li { display: inline-flex; align-items: center; gap: 6px; margin: 0; }
.ecdi-byline .ecdi-ico { width: 16px; height: 16px; color: var(--ecdi-amber-hi); }
.ecdi-sec--hero .ecdi-byline { color: #B9C7D6; }
.ecdi-sec--hero .ecdi-byline .ecdi-ico { color: var(--ecdi-amber); }
.ecdi-sec:not(.ecdi-sec--hero) .ecdi-byline { justify-content: flex-start; }

/* buttons */
.ecdi-btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.ecdi-sec:not(.ecdi-sec--hero) .ecdi-btns { justify-content: flex-start; }
.ecdi-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 14px 24px;
  font-family: var(--ecdi-head); font-size: 16px; font-weight: 600; line-height: 1.2; text-decoration: none !important;
  border-radius: 14px; border: 1.5px solid transparent; cursor: pointer;
  transition: transform .2s var(--ecdi-ease), box-shadow .2s var(--ecdi-ease), background-color .2s, color .2s, border-color .2s;
}
.ecdi-btn .ecdi-ico { width: 18px; height: 18px; transition: transform .2s var(--ecdi-ease); }
.ecdi-btn:hover .ecdi-ico { transform: translateX(3px); }
.ecdi-btn--primary { color: var(--ecdi-navy) !important; background: var(--ecdi-amber); box-shadow: 0 12px 24px -12px rgba(242, 169, 0, .75); }
.ecdi-btn--primary:hover { background: #FFBA1A; transform: translateY(-2px); box-shadow: 0 18px 30px -14px rgba(242, 169, 0, .85); }
.ecdi-btn--ghost { color: #FFFFFF !important; border-color: rgba(255, 255, 255, .38); background: rgba(255, 255, 255, .06); }
.ecdi-btn--ghost:hover { border-color: #FFFFFF; background: rgba(255, 255, 255, .12); transform: translateY(-2px); }
.ecdi-sec:not(.ecdi-sec--hero) .ecdi-btn--ghost,
.ecdi-btn--outline { color: var(--ecdi-navy) !important; border-color: var(--ecdi-border); background: var(--ecdi-surface); }
.ecdi-sec:not(.ecdi-sec--hero) .ecdi-btn--ghost:hover,
.ecdi-btn--outline:hover { border-color: var(--ecdi-navy); }
.ecdi-btn--light { color: var(--ecdi-navy) !important; background: #FFFFFF; }
@media (max-width: 480px) { .ecdi-btns { flex-direction: column; } .ecdi-btn { width: 100%; } }

/* trust chips */
.ecdi-trust { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 10px; list-style: none; margin: 0; padding: 0; }
.ecdi-trust li { display: inline-flex; align-items: center; gap: 7px; margin: 0; padding: 7px 13px 7px 9px; font-size: 13.5px; font-weight: 500; line-height: 1.3; color: #DCE5EE; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .14); border-radius: 999px; }
.ecdi-trust .ecdi-ico { width: 16px; height: 16px; padding: 2px; color: var(--ecdi-navy); background: var(--ecdi-amber); border-radius: 50%; stroke-width: 3; }
.ecdi-sec:not(.ecdi-sec--hero) .ecdi-trust { justify-content: flex-start; }
.ecdi-sec:not(.ecdi-sec--hero) .ecdi-trust li { color: var(--ecdi-text); background: var(--ecdi-surface); border-color: var(--ecdi-border); }

/* ── quick answer ─────────────────────────────────────────────────── */
.ecdi-answer {
  position: relative; overflow: hidden; padding: 22px 24px 24px; border-radius: var(--ecdi-radius);
  background: linear-gradient(180deg, var(--cgk-answer, #FFF8E6), var(--ecdi-surface) 140%);
  border: 1px solid var(--cgk-answer-line, #F2D58A); box-shadow: var(--ecdi-shadow);
}
.ecdi-answer::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 5px; background: var(--ecdi-amber); }
.ecdi-answer__head { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.ecdi-answer__head .ecdi-ico { width: 34px; height: 34px; padding: 7px; color: var(--ecdi-navy); background: var(--ecdi-amber); border-radius: 10px; }
.ecdi-answer__title { font-family: var(--ecdi-head); font-weight: 700; font-size: 18px; line-height: 1.3; color: var(--ecdi-heading); }
.ecdi-answer__body > * + * { margin-top: 10px; }
.ecdi-answer__body ol { counter-reset: ecdi-a; list-style: none; padding: 0 !important; margin: 12px 0 0 !important; }
.ecdi-answer__body ol > li { counter-increment: ecdi-a; position: relative; padding-left: 40px; min-height: 28px; }
.ecdi-answer__body ol > li + li { margin-top: 10px; }
.ecdi-answer__body ol > li::before {
  content: counter(ecdi-a); position: absolute; left: 0; top: 1px; width: 28px; height: 28px; display: grid; place-items: center;
  font-family: var(--ecdi-head); font-size: 13px; font-weight: 700; color: #FFFFFF; background: var(--ecdi-navy); border-radius: 50%;
}
.ecdi-answer__body ul { padding-left: 1.2em; }
.ecdi-answer__body ul li + li { margin-top: 6px; }

/* ── table of contents (animated accordion) ───────────────────────── */
.ecdi-toc {
  position: relative; overflow: hidden; border-radius: var(--ecdi-radius); background: var(--ecdi-surface);
  border: 1px solid var(--ecdi-border); box-shadow: var(--ecdi-shadow);
}
.ecdi-toc__head {
  display: flex; align-items: center; gap: 14px; padding: 16px 18px; cursor: pointer; list-style: none; user-select: none;
  transition: background-color .2s;
}
.ecdi-toc__head::-webkit-details-marker { display: none; }
.ecdi-toc__head:hover { background: var(--ecdi-soft); }
.ecdi-toc__icon { width: 44px; height: 44px; flex: 0 0 44px; display: grid; place-items: center; border-radius: 12px; color: var(--ecdi-amber); background: linear-gradient(145deg, var(--ecdi-navy-hi), var(--ecdi-navy)); }
.ecdi-toc__label { display: flex; flex-direction: column; min-width: 0; flex: 1 1 auto; text-align: left; }
.ecdi-toc__title { font-family: var(--ecdi-head); font-size: 17px; font-weight: 700; line-height: 1.25; color: var(--ecdi-heading); }
.ecdi-toc__meta { font-size: 13.5px; color: var(--ecdi-muted); }
.ecdi-toc__toggle {
  display: inline-flex; align-items: center; gap: 4px; padding: 7px 10px 7px 14px; font-size: 13px; font-weight: 600; color: var(--ecdi-navy);
  border: 1px solid var(--ecdi-border); border-radius: 999px; background: var(--ecdi-surface); white-space: nowrap;
}
.ecdi-toc__chev { width: 18px; height: 18px; transition: transform .35s var(--ecdi-ease); }
.ecdi-toc__hide { display: none; }
.ecdi-toc[open] .ecdi-toc__show, .ecdi-toc.is-opening .ecdi-toc__show { display: none; }
.ecdi-toc[open] .ecdi-toc__hide, .ecdi-toc.is-opening .ecdi-toc__hide { display: inline; }
.ecdi-toc.is-closing .ecdi-toc__show { display: inline; }
.ecdi-toc.is-closing .ecdi-toc__hide { display: none; }
.ecdi-toc[open]:not(.is-closing) .ecdi-toc__chev { transform: rotate(180deg); }
.ecdi-toc__panel { padding: 4px 18px 20px; border-top: 1px solid var(--ecdi-border); overflow: hidden; }
.ecdi-toc__list, .ecdi-toc__sub { list-style: none; margin: 0; padding: 0; }
.ecdi-toc__list { margin-top: 12px; }
.ecdi-toc__list > li { break-inside: avoid; padding-bottom: 2px; }
.ecdi-toc__list > li { margin: 0; opacity: 1; transform: none; }
.ecdi-toc__list a {
  position: relative; display: flex; align-items: baseline; gap: 12px; padding: 9px 12px; border-radius: 10px;
  color: var(--ecdi-text); text-decoration: none; font-size: 15.5px; line-height: 1.4;
  transition: background-color .2s, color .2s, transform .25s var(--ecdi-ease);
}
.ecdi-toc__list a:hover { background: var(--ecdi-soft); color: var(--ecdi-heading); transform: translateX(4px); }
.ecdi-toc__list a.is-active { background: rgba(242, 169, 0, .12); color: var(--ecdi-heading); font-weight: 600; }
.ecdi-toc__list a.is-active::before { content: ""; position: absolute; left: 0; top: 8px; bottom: 8px; width: 3px; border-radius: 3px; background: var(--ecdi-amber); }
.ecdi-toc__num { flex: 0 0 auto; font-family: var(--ecdi-head); font-size: 12.5px; font-weight: 700; color: var(--ecdi-amber-hi); font-variant-numeric: tabular-nums; letter-spacing: .04em; }
.ecdi-toc__sub { margin: 0 0 4px 38px; border-left: 1px dashed var(--ecdi-border); }
.ecdi-toc__sub a { font-size: 14.5px; padding: 6px 12px; color: var(--ecdi-muted); }
.ecdi-toc__bar { position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--ecdi-soft); }
.ecdi-toc__bar span { display: block; height: 100%; width: 100%; transform-origin: left; transform: scaleX(var(--ecdi-progress, 0)); background: linear-gradient(90deg, var(--ecdi-amber), #FFC94D); transition: transform .12s linear; }
@media (min-width: 720px) { .ecdi-toc__list { columns: 2; column-gap: 24px; } }
.ecdi-js .ecdi-toc.is-opening .ecdi-toc__list > li { animation: ecdi-item .45s var(--ecdi-ease) both; animation-delay: calc(var(--i, 0) * 28ms); }
@keyframes ecdi-item { from { opacity: 0; transform: translateY(6px); } }

/* floating contents button + sheet */
.ecdi-fab {
  position: fixed; left: 18px; bottom: 18px; z-index: 950; display: inline-flex; align-items: center; gap: 8px; height: 46px; padding: 0 16px 0 12px;
  font-family: var(--ecdi-head, "Poppins", sans-serif); font-size: 14px; font-weight: 600; color: #FFFFFF; background: var(--cgk-navy, #12263F);
  border: 1px solid rgba(255, 255, 255, .14); border-radius: 999px; cursor: pointer; box-shadow: 0 14px 30px -12px rgba(18, 38, 63, .6);
  opacity: 0; transform: translateY(14px) scale(.96); pointer-events: none; transition: opacity .25s, transform .3s cubic-bezier(.2, .7, .2, 1);
}
.ecdi-fab.is-visible { opacity: 1; transform: none; pointer-events: auto; }
.ecdi-fab .ecdi-ico { width: 18px; height: 18px; color: var(--cgk-amber, #F2A900); }
.ecdi-fab__ring { position: relative; width: 22px; height: 22px; }
.ecdi-fab__ring svg { position: absolute; inset: 0; width: 22px; height: 22px; transform: rotate(-90deg); }
.ecdi-fab__ring circle { fill: none; stroke-width: 3; }
.ecdi-fab__ring .bg { stroke: rgba(255, 255, 255, .18); }
.ecdi-fab__ring .fg { stroke: var(--cgk-amber, #F2A900); stroke-linecap: round; stroke-dasharray: 56.5; stroke-dashoffset: calc(56.5 * (1 - var(--ecdi-progress, 0))); transition: stroke-dashoffset .12s linear; }
.ecdi-sheet { position: fixed; inset: 0; z-index: 1000; display: none; }
.ecdi-sheet.is-open { display: block; }
.ecdi-sheet__backdrop { position: absolute; inset: 0; background: rgba(9, 18, 30, .45); opacity: 0; transition: opacity .25s; }
.ecdi-sheet.is-shown .ecdi-sheet__backdrop { opacity: 1; }
.ecdi-sheet__panel {
  position: absolute; left: 16px; bottom: 76px; width: min(380px, calc(100vw - 32px)); max-height: min(70vh, 560px); overflow: auto;
  padding: 10px; border-radius: 20px; background: var(--cgk-surface, #FFFFFF); box-shadow: 0 30px 60px -20px rgba(9, 18, 30, .5);
  font-family: var(--cgk-font-body, "Inter", sans-serif);
  opacity: 0; transform: translateY(16px) scale(.98); transform-origin: bottom left; transition: opacity .25s, transform .3s cubic-bezier(.2, .7, .2, 1);
}
.ecdi-sheet.is-shown .ecdi-sheet__panel { opacity: 1; transform: none; }
.ecdi-sheet__head { display: flex; align-items: center; justify-content: space-between; padding: 8px 10px 10px; font-family: var(--cgk-font-head, "Poppins", sans-serif); font-weight: 700; color: var(--cgk-navy, #12263F); }
.ecdi-sheet__close { width: 36px; height: 36px; display: grid; place-items: center; border: 0; border-radius: 10px; background: var(--cgk-soft, #EEF2F6); color: var(--cgk-navy, #12263F); cursor: pointer; padding: 0; }
.ecdi-sheet ol { list-style: none; margin: 0; padding: 0; }
.ecdi-sheet a { display: flex; gap: 10px; padding: 10px 12px; border-radius: 12px; text-decoration: none; color: var(--cgk-text, #1F2933); font-size: 15px; line-height: 1.4; }
.ecdi-sheet a:hover { background: var(--cgk-soft, #EEF2F6); }
.ecdi-sheet a.is-active { background: rgba(242, 169, 0, .14); color: var(--cgk-navy, #12263F); font-weight: 600; }
.ecdi-sheet .ecdi-toc__num { font-family: var(--cgk-font-head, "Poppins", sans-serif); font-size: 12.5px; font-weight: 700; color: #D99500; }
@media (max-width: 600px) {
  .ecdi-sheet__panel { left: 0; right: 0; bottom: 0; width: 100%; max-height: 75vh; border-radius: 22px 22px 0 0; padding-bottom: calc(14px + env(safe-area-inset-bottom)); transform: translateY(40px); }
}

/* ── link cards ───────────────────────────────────────────────────── */
.ecdi-cards { display: grid; gap: 20px; grid-template-columns: 1fr; }
@media (min-width: 680px) { .ecdi-cards--2, .ecdi-cards--4 { grid-template-columns: repeat(2, 1fr); } .ecdi-cards--3 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 980px) { .ecdi-cards--3 { grid-template-columns: repeat(3, 1fr); } .ecdi-cards--4 { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 680px) and (max-width: 979px) { .ecdi-cards--3 > :last-child { grid-column: 1 / -1; } }
.ecdi-card {
  --ecdi-accent: var(--ecdi-amber);
  position: relative; display: flex; flex-direction: column; gap: 12px; min-height: 100%; padding: 24px 24px 22px;
  border-radius: 22px; background: var(--ecdi-surface); border: 1px solid var(--ecdi-border); box-shadow: var(--ecdi-shadow);
  isolation: isolate; overflow: hidden;
  transition: transform .35s var(--ecdi-ease), box-shadow .35s var(--ecdi-ease), border-color .35s;
}
.ecdi-card--2 { --ecdi-accent: #14A3A1; }
.ecdi-card--3 { --ecdi-accent: #4C8BD6; }
.ecdi-card::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; z-index: 1;
  background: linear-gradient(90deg, var(--ecdi-accent), color-mix(in srgb, var(--ecdi-accent) 30%, transparent));
  transform: scaleX(.18); transform-origin: left; transition: transform .45s var(--ecdi-ease);
}
.ecdi-card::after {
  content: ""; position: absolute; right: -60px; top: -60px; z-index: -1; width: 180px; height: 180px; border-radius: 50%;
  background: radial-gradient(circle, color-mix(in srgb, var(--ecdi-accent) 16%, transparent), transparent 70%);
  transition: transform .5s var(--ecdi-ease);
}
.ecdi-card:hover, .ecdi-card:focus-within { transform: translateY(-5px); box-shadow: var(--ecdi-shadow-hi); border-color: color-mix(in srgb, var(--ecdi-accent) 40%, var(--ecdi-border)); }
.ecdi-card:hover::before, .ecdi-card:focus-within::before { transform: scaleX(1); }
.ecdi-card:hover::after { transform: scale(1.25); }
.ecdi-card__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.ecdi-card__icon {
  width: 54px; height: 54px; display: grid; place-items: center; border-radius: 16px; color: var(--ecdi-accent);
  background: linear-gradient(145deg, var(--ecdi-navy-hi), var(--ecdi-navy)); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08), 0 10px 20px -12px rgba(18, 38, 63, .8);
  transition: transform .35s var(--ecdi-ease);
}
.ecdi-card__icon .ecdi-ico { width: 26px; height: 26px; }
.ecdi-card:hover .ecdi-card__icon { transform: rotate(-6deg) scale(1.05); }
.ecdi-card__label { padding: 5px 11px; font-size: 12px; font-weight: 600; letter-spacing: .03em; text-transform: uppercase; color: var(--ecdi-navy); background: var(--ecdi-soft); border-radius: 999px; }
.ecdi-sec .ecdi-card__title { margin: 6px 0 0; font-family: var(--ecdi-head); font-size: 20px; font-weight: 700; line-height: 1.3; color: var(--ecdi-heading); }
.ecdi-sec .ecdi-card__title::after { display: none; }
.ecdi-card__link { color: inherit !important; text-decoration: none !important; }
.ecdi-card__link::after { content: ""; position: absolute; inset: 0; z-index: 2; border-radius: inherit; }
.ecdi-card__link:focus-visible { outline: none; }
.ecdi-card:has(.ecdi-card__link:focus-visible) { outline: 3px solid var(--ecdi-amber); outline-offset: 3px; }
.ecdi-sec .ecdi-card__desc { flex: 1 1 auto; margin: 0; font-size: 15.5px; line-height: 1.6; color: var(--ecdi-muted); }
.ecdi-card__cta { display: inline-flex; align-items: center; gap: 8px; margin-top: 4px; font-family: var(--ecdi-head); font-size: 15px; font-weight: 600; color: var(--ecdi-navy); }
.ecdi-card__cta .ecdi-ico { width: 18px; height: 18px; padding: 3px; box-sizing: content-box; border-radius: 50%; color: var(--ecdi-navy); background: var(--ecdi-accent); transition: transform .3s var(--ecdi-ease); }
.ecdi-card:hover .ecdi-card__cta .ecdi-ico { transform: translateX(4px); }

/* ── service cards (navy glow) ───────────────────────────────────── */
.ecdi-sec--band { background: var(--ecdi-bg); }
.ecdi-sec--band .ecdi-sec__in { max-width: 1160px; padding: 40px 20px 44px; }
@media (max-width: 767px) { .ecdi-sec--band .ecdi-sec__in { padding: 28px 16px 32px; } }
.ecdi-svc { display: grid; gap: 22px; grid-template-columns: 1fr; }
@media (min-width: 680px) { .ecdi-svc--2, .ecdi-svc--3, .ecdi-svc--4 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 980px) { .ecdi-svc--3 { grid-template-columns: repeat(3, 1fr); } .ecdi-svc--4 { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 680px) and (max-width: 979px) { .ecdi-svc--3 > :last-child { grid-column: 1 / -1; } }
.ecdi-svc__card {
  --c: var(--ecdi-amber);
  position: relative; isolation: isolate; overflow: hidden; display: flex; flex-direction: column; align-items: center; gap: 16px;
  padding: 28px 22px 26px; border-radius: 24px; text-align: center;
  background: linear-gradient(160deg, var(--ecdi-navy-hi) 0%, var(--ecdi-navy) 60%, var(--ecdi-navy-lo) 100%);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08), 0 2px 4px rgba(18, 38, 63, .12), 0 30px 50px -26px rgba(18, 38, 63, .85);
  transition: transform .4s var(--ecdi-ease), box-shadow .4s var(--ecdi-ease);
}
.ecdi-svc__card::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: .5;
  background-image: linear-gradient(rgba(255, 255, 255, .04) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .04) 1px, transparent 1px);
  background-size: 28px 28px; -webkit-mask-image: linear-gradient(180deg, #000, transparent 70%); mask-image: linear-gradient(180deg, #000, transparent 70%);
}
.ecdi-svc__glow {
  position: absolute; right: -60px; bottom: -90px; z-index: -1; width: 240px; height: 240px; border-radius: 50%; pointer-events: none;
  background: radial-gradient(circle, var(--c), transparent 65%); opacity: .32; transition: opacity .45s, transform .6s var(--ecdi-ease);
}
.ecdi-svc__art {
  width: 156px; height: 124px; padding: 10px; border-radius: 22px; background: #FFFFFF;
  box-shadow: 0 18px 30px -18px rgba(0, 0, 0, .6); transition: transform .45s var(--ecdi-ease);
}
.ecdi-svc__art svg { display: block; width: 100%; height: 100%; overflow: visible; }
.ecdi-svc__pop { transform-box: fill-box; transform-origin: center; transition: transform .45s var(--ecdi-ease); }
.ecdi-sec .ecdi-svc__title, .ecdi-sec .ecdi-svc__card :is(h2, h3) {
  margin: 0; font-family: var(--ecdi-head); font-size: clamp(18px, 1.7vw, 20.5px); font-weight: 700; line-height: 1.3; letter-spacing: -.01em; color: #FFFFFF;
}
.ecdi-sec .ecdi-svc__title::after { display: none; }
.ecdi-svc__link { color: #FFFFFF !important; text-decoration: none !important; }
.ecdi-svc__link::after { content: ""; position: absolute; inset: 0; z-index: 2; border-radius: inherit; }
.ecdi-svc__link:focus-visible { outline: none; }
.ecdi-svc__card:has(.ecdi-svc__link:focus-visible) { outline: 3px solid var(--c); outline-offset: 3px; }
.ecdi-svc__line { width: 46px; height: 4px; border-radius: 4px; background: var(--c); transition: width .4s var(--ecdi-ease); }
.ecdi-svc__card:hover, .ecdi-svc__card:focus-within {
  transform: translateY(-6px);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--c) 45%, transparent), 0 4px 8px rgba(18, 38, 63, .14), 0 40px 60px -26px rgba(18, 38, 63, .9);
}
.ecdi-svc__card:hover .ecdi-svc__glow, .ecdi-svc__card:focus-within .ecdi-svc__glow { opacity: .55; transform: scale(1.15); }
.ecdi-svc__card:hover .ecdi-svc__art { transform: rotate(-3deg) scale(1.04); }
.ecdi-svc__card:hover .ecdi-svc__pop { transform: scale(1.12) rotate(6deg); }
.ecdi-svc__card:hover .ecdi-svc__line { width: 72px; }
@media (max-width: 679px) {
  .ecdi-svc { gap: 14px; }
  .ecdi-svc__card { flex-direction: row; justify-content: flex-start; gap: 16px; padding: 14px 18px 14px 14px; text-align: left; border-radius: 20px; }
  .ecdi-svc__art { flex: 0 0 104px; width: 104px; height: 84px; padding: 7px; border-radius: 16px; }
  .ecdi-svc__line { position: absolute; left: 132px; bottom: 16px; width: 32px; height: 3px; }
  .ecdi-sec .ecdi-svc__title { font-size: 17.5px; padding-bottom: 10px; }
  .ecdi-svc__glow { width: 180px; height: 180px; right: -50px; bottom: -80px; }
}

/* ── steps ────────────────────────────────────────────────────────── */
.ecdi-steps { list-style: none; margin: 0; padding: 0; counter-reset: none; }
.ecdi-step { position: relative; display: flex; gap: 16px; margin: 0; padding: 0 0 22px; }
.ecdi-step:last-child { padding-bottom: 0; }
.ecdi-step::before { content: ""; position: absolute; left: 21px; top: 46px; bottom: 4px; width: 2px; background: repeating-linear-gradient(180deg, var(--ecdi-border) 0 6px, transparent 6px 11px); }
.ecdi-step:last-child::before { display: none; }
.ecdi-step__num {
  flex: 0 0 44px; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 14px;
  font-family: var(--ecdi-head); font-weight: 700; font-size: 17px; color: var(--ecdi-navy); background: var(--ecdi-amber);
  box-shadow: 0 10px 20px -12px rgba(242, 169, 0, .9);
}
.ecdi-step__body { flex: 1 1 auto; padding: 10px 18px 14px; border-radius: 16px; background: var(--ecdi-surface); border: 1px solid var(--ecdi-border); }
.ecdi-sec--tint .ecdi-step__body { box-shadow: var(--ecdi-shadow); }
.ecdi-step__title { font-family: var(--ecdi-head); font-weight: 600; font-size: 17px; line-height: 1.35; color: var(--ecdi-heading); margin: 0 !important; }
.ecdi-step__text { margin: 4px 0 0 !important; font-size: 15.5px; line-height: 1.65; color: var(--ecdi-text); }

/* ── alerts, notes, Urdu ──────────────────────────────────────────── */
.ecdi-alert { display: flex; gap: 14px; padding: 18px 20px; border-radius: 16px; border: 1px solid; }
.ecdi-alert__icon { flex: 0 0 38px; width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; }
.ecdi-alert__body { flex: 1 1 auto; min-width: 0; }
.ecdi-alert__body > * + * { margin-top: 8px; }
.ecdi-alert__title { font-family: var(--ecdi-head); font-weight: 700; font-size: 16.5px; line-height: 1.35; }
.ecdi-alert--info { background: #EEF5FB; border-color: #CFE0F1; }
.ecdi-alert--info .ecdi-alert__icon { color: #FFFFFF; background: #2F6DAE; }
.ecdi-alert--info .ecdi-alert__title { color: #1C4F86; }
.ecdi-alert--tip, .ecdi-alert--success { background: #ECF7F1; border-color: #C9E8D6; }
.ecdi-alert--tip .ecdi-alert__icon, .ecdi-alert--success .ecdi-alert__icon { color: #FFFFFF; background: #1F7A3A; }
.ecdi-alert--tip .ecdi-alert__title, .ecdi-alert--success .ecdi-alert__title { color: #17602D; }
.ecdi-alert--warning { background: #FFF8E6; border-color: #F2D58A; }
.ecdi-alert--warning .ecdi-alert__icon { color: var(--ecdi-navy); background: var(--ecdi-amber); }
.ecdi-alert--warning .ecdi-alert__title { color: var(--ecdi-amber-ink); }
.ecdi-alert--danger { background: #FDF0F0; border-color: #F1C4C4; }
.ecdi-alert--danger .ecdi-alert__icon { color: #FFFFFF; background: #C62828; }
.ecdi-alert--danger .ecdi-alert__title { color: #8E1B1B; }
.ecdi-alert .ecdi-alert__body p, .ecdi-alert li { font-size: 16px; }
.ecdi-note { padding: 20px 22px; border-radius: 16px; background: var(--ecdi-surface); border: 1.5px dashed #E9C46A; box-shadow: var(--ecdi-shadow); }
.ecdi-note > * + * { margin-top: 10px; }
.ecdi-note__title, .ecdi-urdu__title, .ecdi-check__title, .ecdi-pills__title, .ecdi-sources__title {
  display: flex; align-items: center; gap: 8px; font-family: var(--ecdi-head); font-weight: 700; font-size: 16.5px; line-height: 1.35; color: var(--ecdi-heading);
}
.ecdi-note__title::before { content: ""; width: 10px; height: 10px; border-radius: 3px; background: var(--ecdi-amber); transform: rotate(45deg); }
.ecdi-urdu {
  padding: 20px 24px; border-radius: 16px; background: var(--ecdi-surface); border: 1px solid var(--ecdi-border); border-right: 5px solid var(--ecdi-amber);
  font-family: "Noto Nastaliq Urdu", "Jameel Noori Nastaleeq", "Urdu Typesetting", "Noto Naskh Arabic", serif; font-size: 18px; line-height: 2.2; text-align: right;
}
.ecdi-urdu > * + * { margin-top: 8px; }
.ecdi-sec .ecdi-urdu :is(ul, ol) { padding-left: 0; padding-right: 1.3em; }
.ecdi-urdu__title { justify-content: flex-start; font-family: inherit; font-size: 19px; }

/* ── checklist, compare, pills, stats, sources ────────────────────── */
.ecdi-check { padding: 20px 22px; border-radius: 16px; background: var(--ecdi-surface); border: 1px solid var(--ecdi-border); }
.ecdi-check ul { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 10px; }
@media (min-width: 720px) { .ecdi-check ul { grid-template-columns: 1fr 1fr; column-gap: 22px; } }
.ecdi-check li { display: flex; gap: 10px; margin: 0; font-size: 16px; line-height: 1.55; }
.ecdi-check li .ecdi-ico { width: 22px; height: 22px; padding: 4px; margin-top: 1px; color: #FFFFFF; background: #1F7A3A; border-radius: 50%; stroke-width: 3; }
.ecdi-compare { display: grid; gap: 16px; grid-template-columns: 1fr; }
@media (min-width: 720px) { .ecdi-compare { grid-template-columns: 1fr 1fr; } }
.ecdi-compare__col { padding: 18px 20px 20px; border-radius: 16px; border: 1px solid; background: var(--ecdi-surface); }
.ecdi-compare__col--good { border-color: #C9E8D6; background: linear-gradient(180deg, #F1FAF5, var(--ecdi-surface) 60%); }
.ecdi-compare__col--bad { border-color: #F1C4C4; background: linear-gradient(180deg, #FDF3F3, var(--ecdi-surface) 60%); }
.ecdi-compare__head { display: flex; align-items: center; gap: 10px; font-family: var(--ecdi-head); font-weight: 700; font-size: 16.5px; color: var(--ecdi-heading); }
.ecdi-compare__head .ecdi-ico { width: 28px; height: 28px; padding: 6px; border-radius: 50%; color: #FFFFFF; stroke-width: 3; }
.ecdi-compare__col--good .ecdi-ico { background: #1F7A3A; }
.ecdi-compare__col--bad .ecdi-ico { background: #C62828; }
.ecdi-compare ul { margin: 12px 0 0; padding-left: 1.15em; }
.ecdi-compare li { font-size: 15.5px; line-height: 1.6; }
.ecdi-compare li + li { margin-top: 8px; }
.ecdi-compare__col--good li::marker { color: #1F7A3A; }
.ecdi-compare__col--bad li::marker { color: #C62828; }
.ecdi-pills ul { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 0; padding: 0; }
.ecdi-pills li { margin: 0; }
.ecdi-pills li > :is(a, span) { display: inline-flex; align-items: center; padding: 8px 14px; font-size: 14.5px; font-weight: 500; line-height: 1.2; color: var(--ecdi-navy); background: var(--ecdi-surface); border: 1px solid var(--ecdi-border); border-radius: 999px; text-decoration: none; transition: border-color .2s, background-color .2s, transform .2s; }
.ecdi-pills a:hover { border-color: var(--ecdi-amber); background: #FFF8E6; transform: translateY(-1px); }
.ecdi-pills__title .ecdi-ico, .ecdi-sources__title .ecdi-ico { width: 20px; height: 20px; color: var(--ecdi-amber-hi); }
.ecdi-stats { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); margin: 0; }
.ecdi-stat { display: flex; flex-direction: column-reverse; gap: 4px; padding: 18px 20px; border-radius: 16px; background: var(--ecdi-surface); border: 1px solid var(--ecdi-border); }
.ecdi-stat dd { margin: 0; font-family: var(--ecdi-head); font-size: clamp(26px, 3vw, 34px); font-weight: 700; line-height: 1.1; color: var(--ecdi-heading); }
.ecdi-stat dt { font-size: 14px; color: var(--ecdi-muted); }
.ecdi-sources { padding: 18px 20px; border-radius: 16px; background: var(--ecdi-soft); }
.ecdi-sources ol { margin: 10px 0 0; padding-left: 1.4em; font-size: 14.5px; line-height: 1.6; color: var(--ecdi-muted); }
.ecdi-sources li + li { margin-top: 6px; }

/* ── tables ───────────────────────────────────────────────────────── */
.ecdi-table { border-radius: var(--ecdi-radius); border: 1px solid var(--ecdi-border); background: var(--ecdi-surface); box-shadow: var(--ecdi-shadow); overflow: hidden; }
.ecdi-table__scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.ecdi-table table { width: 100%; margin: 0; border: 0; border-collapse: collapse; border-spacing: 0; font-size: 15.5px; line-height: 1.55; }
.ecdi-table caption { caption-side: top; padding: 14px 18px; text-align: left; font-family: var(--ecdi-head); font-weight: 600; font-size: 15.5px; color: var(--ecdi-heading); background: var(--ecdi-soft); border-bottom: 1px solid var(--ecdi-border); }
.ecdi-table thead th { padding: 14px 18px; text-align: left; vertical-align: bottom; font-family: var(--ecdi-head); font-weight: 600; font-size: 14px; letter-spacing: .02em; color: #FFFFFF; background: var(--ecdi-navy); border: 0; border-bottom: 3px solid var(--ecdi-amber); white-space: nowrap; }
.ecdi-table tbody :is(td, th) { padding: 13px 18px; text-align: left; vertical-align: top; border: 0; border-top: 1px solid var(--ecdi-border); color: var(--ecdi-text); background: transparent; }
.ecdi-table tbody th { font-weight: 600; color: var(--ecdi-heading); }
.ecdi-table thead th :is(strong, b, a) { color: inherit; font-weight: inherit; }
.ecdi-table tbody tr:nth-child(even) { background: #FAFBFC; }
.ecdi-table tbody tr { transition: background-color .15s; }
.ecdi-table tbody tr:hover { background: #FFF8E6; }
@media (max-width: 640px) {
  .ecdi-table--stack { border: 0; box-shadow: none; background: transparent; overflow: visible; }
  .ecdi-table--stack .ecdi-table__scroll { overflow: visible; }
  .ecdi-table--stack table, .ecdi-table--stack tbody, .ecdi-table--stack tr, .ecdi-table--stack :is(td, th) { display: block; width: 100%; }
  .ecdi-table--stack caption { display: block; border: 1px solid var(--ecdi-border); border-radius: 14px; margin-bottom: 12px; }
  .ecdi-table--stack thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .ecdi-table--stack tbody tr { margin: 0 0 12px; overflow: hidden; border: 1px solid var(--ecdi-border); border-radius: 14px; background: var(--ecdi-surface) !important; box-shadow: 0 6px 18px rgba(11, 31, 51, .06); }
  .ecdi-table--stack tbody :is(td, th) { display: flex; justify-content: space-between; gap: 14px; padding: 10px 16px; text-align: right; }
  .ecdi-table--stack tbody :is(td, th)::before { content: attr(data-label); flex: 0 0 42%; text-align: left; font-size: 13px; font-weight: 600; color: var(--ecdi-muted); }
  .ecdi-table--stack tbody th:first-child { display: block; text-align: left; color: #FFFFFF; background: var(--ecdi-navy); border-top: 0; border-bottom: 3px solid var(--ecdi-amber); }
  .ecdi-table--stack tbody th:first-child::before { display: none; }
}

/* ── images ───────────────────────────────────────────────────────── */
.ecdi-figure { margin: 6px 0 0; }
.ecdi-figure img, .ecdi-figure__img { display: block; width: 100%; height: auto; border-radius: var(--ecdi-radius); border: 1px solid var(--ecdi-border); box-shadow: var(--ecdi-shadow); background: var(--ecdi-soft); }
.ecdi-figure figcaption { margin-top: 10px; font-size: 14px; line-height: 1.5; text-align: center; color: var(--ecdi-muted); }

/* ── FAQ accordion ────────────────────────────────────────────────── */
.ecdi-faq { display: grid; gap: 12px; }
.ecdi-faq__item { border-radius: 16px; background: var(--ecdi-surface); border: 1px solid var(--ecdi-border); overflow: hidden; transition: border-color .25s, box-shadow .25s; }
.ecdi-faq__item[open] { border-color: color-mix(in srgb, var(--ecdi-amber) 55%, var(--ecdi-border)); box-shadow: var(--ecdi-shadow); }
.ecdi-faq__item > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 18px 16px 20px; cursor: pointer; list-style: none; }
.ecdi-faq__item > summary::-webkit-details-marker { display: none; }
.ecdi-faq__item > summary:hover { background: var(--ecdi-soft); }
.ecdi-sec .ecdi-faq__q { margin: 0; font-family: var(--ecdi-head); font-size: 17px; font-weight: 600; line-height: 1.4; color: var(--ecdi-heading); }
.ecdi-faq__plus { position: relative; flex: 0 0 32px; width: 32px; height: 32px; border-radius: 50%; background: var(--ecdi-soft); transition: background-color .25s, transform .35s var(--ecdi-ease); }
.ecdi-faq__plus::before, .ecdi-faq__plus::after { content: ""; position: absolute; left: 50%; top: 50%; width: 12px; height: 2px; margin: -1px 0 0 -6px; border-radius: 2px; background: var(--ecdi-navy); transition: transform .35s var(--ecdi-ease); }
.ecdi-faq__plus::after { transform: rotate(90deg); }
.ecdi-faq__item[open]:not(.is-closing) .ecdi-faq__plus { background: var(--ecdi-amber); transform: rotate(180deg); }
.ecdi-faq__item[open]:not(.is-closing) .ecdi-faq__plus::after { transform: rotate(0deg); }
.ecdi-faq__a { padding: 0 20px 18px; color: var(--ecdi-text); overflow: hidden; }
.ecdi-faq__a > * + * { margin-top: 10px; }
.ecdi-faq__a p, .ecdi-faq__a li { font-size: 16px; }
.ecdi-faq__intro { margin-bottom: 4px; }

/* divider, spacer */
.ecdi-divider { height: 4px; border: 0; margin: 8px 0; background: var(--ecdi-road); opacity: .7; border-radius: 4px; }

/* ── reveal on scroll (only with JS, never above the fold) ────────── */
@media (prefers-reduced-motion: no-preference) {
  .ecdi-js .ecdi-reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s var(--ecdi-ease), transform .6s var(--ecdi-ease); transition-delay: calc(var(--d, 0) * 90ms); }
  .ecdi-js .ecdi-reveal.is-in { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .ecdi-sec *, .ecdi-fab, .ecdi-sheet * { animation: none !important; transition: none !important; }
}

/* print */
@media print {
  .ecdi-sec--hero { background: none !important; color: #000 !important; }
  .ecdi-sec--hero :is(h1, p) { color: #000 !important; }
  .ecdi-fab, .ecdi-sheet, .ecdi-btns, .ecdi-toc__toggle, .ecdi-toc__bar { display: none !important; }
  .ecdi-toc__panel, .ecdi-faq__a { display: block !important; height: auto !important; }
}

/* optional Brand Kit dark mode */
html[data-theme="dark"] .ecdi-sec--tint { background: var(--cgk-bg); }
html[data-theme="dark"] :is(.ecdi-alert--info, .ecdi-alert--tip, .ecdi-alert--success, .ecdi-alert--warning, .ecdi-alert--danger, .ecdi-compare__col) { background: var(--cgk-surface); }
html[data-theme="dark"] .ecdi-table tbody tr:nth-child(even) { background: rgba(255, 255, 255, .02); }
