/* =========================================================
   EQUITY CAPITAL PROCESS ARTICLE
   Layout follows Article_PP Process_20260914KN.pptx (slides 2–9)
   Scoped with .ec-* to avoid collisions with global article styles.
   ========================================================= */

.ec-article {
  --ec-navy: #0F0842;
  --ec-blue: #1F299C;
  --ec-violet: #5B55E8;
  --ec-violet-dark: #3023C7;
  --ec-orange: #D89529;
  --ec-light-blue: #E6F0FA;
  --ec-light-gray: #F3F3F3;
  --ec-gray: #4D4D4D;
  /* Typography aligned to the benchmark article. */
  --ec-body-size: 15px;
  --ec-body-line: 1.52;
  --ec-body-size-mobile: 15px;
  --ec-small-size: 12px;
  --ec-note-size: 11px;
  width: 100%;
  color: var(--ec-navy);
  font-family: 'Montserrat', sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.ec-article *, .ec-article *::before, .ec-article *::after { box-sizing: border-box; }
.ec-page { width: 100%; padding: 46px 0 5px; }
.ec-page + .ec-page { border-top: 0; }
.ec-top-rule { width: 48%; max-width: 460px; height: 3px; margin: 0 0 32px; background: var(--ec-blue); }

.ec-page-heading { margin: 0 0 32px; font-size: 38px; line-height: 1.08; font-weight: 600; letter-spacing: -.035em; text-transform: uppercase; color: var(--ec-navy); }
.ec-page-heading > span { display: block; }
.ec-orange { color: var(--ec-orange) !important; }
.ec-blue { color: var(--ec-blue) !important; }
.ec-violet { color: var(--ec-violet) !important; }
.ec-section-accent { color: #5e58d8 !important; }
.ec-gray { color: var(--ec-gray) !important; }
.ec-bold { font-weight: 600; }
.ec-italic { font-style: italic; }

.ec-prose { min-width: 0; color: var(--ec-navy); font-size: var(--ec-body-size); line-height: var(--ec-body-line); font-weight: 400; letter-spacing: -.005em; }

/*
 * Typography reset inside article prose. The site-wide stylesheet also styles
 * lists/inline elements, so every text primitive explicitly inherits the size
 * and line-height of its current prose block. This keeps paragraphs and lists
 * visually identical while still allowing special blocks (e.g. valuation
 * diagrams) to set a smaller size on their parent .ec-prose.
 */
.ec-prose p,
.ec-prose ul,
.ec-prose ol,
.ec-prose li {
  font-size: inherit !important;
  line-height: inherit !important;
  font-family: inherit !important;
}
.ec-prose p > span,
.ec-prose p > strong,
.ec-prose p > em,
.ec-prose p > a,
.ec-prose li > span,
.ec-prose li > strong,
.ec-prose li > em,
.ec-prose li > a {
  font-size: inherit !important;
  line-height: inherit !important;
  font-family: inherit !important;
}
.ec-prose p { margin: 0 0 12px; color: inherit; }
.ec-prose p:last-child { margin-bottom: 0; }
.ec-prose .ec-subsection-heading { margin: 0 0 12px; color: var(--ec-violet); font-size: 18px !important; line-height: 1.35 !important; font-weight: 700; letter-spacing: -.015em; }
.ec-heading-number { color: var(--ec-orange); }
.ec-prose .ec-numbered-point { margin-bottom: 6px; }
.ec-prose .ec-bullets { margin: 5px 18px 12px; padding: 0; list-style: none; font-size: inherit !important; line-height: inherit !important; }
.ec-article .ec-bullets > li { position: relative; margin: 0 0 8px; padding-left: 15px; color: inherit; font-size: inherit !important; line-height: inherit !important; font-family: inherit !important; font-weight: inherit; }
.ec-article .ec-bullets > li::before { content: "▪"; position: absolute; top: 0; left: 0; width: auto; height: auto; background: none; filter: none; color: var(--ec-orange); font-size: .9em; }

.ec-lead { max-width: 930px; margin: 0 0 26px; font-size: var(--ec-body-size); line-height: var(--ec-body-line); font-weight: 400; letter-spacing: -.005em; }
.ec-two-columns { display: block; }
.ec-two-columns > * { min-width: 0; padding-left: 0; padding-right: 0; }
.ec-two-columns > :last-child { margin-top: 0; border-left: 0; }
.ec-two-columns-rule { border-top: 2px solid var(--ec-blue); padding-top: 18px; }

.ec-footnote-box { margin-top: 22px; padding: 14px 16px; background: var(--ec-light-gray); color: var(--ec-navy); font-size: 13px; line-height: 1.35; }
.ec-footnote-box p { margin: 0 0 5px; }
.ec-footnote-box ol { margin: 0; padding-left: 21px; }
.ec-footnote-box li { margin: 2px 0; padding-left: 1px; }
.ec-footnote-box li::before { display: none !important; }
.ec-footnote-box a { color: inherit; text-decoration: none; border-bottom: 1px solid rgba(15,8,66,.25); font-size:13px;}
.ec-footnote-box a:hover { color: var(--ec-blue); border-color: currentColor; }

/* Team diagram */
.ec-team-card, .ec-stage-card, .ec-valuation-card, .ec-table-card, .ec-funnel-card { margin-top: 28px; padding: 15px 16px 18px; background: var(--ec-light-gray); }
.ec-visual-title { margin: 0 0 14px; color: var(--ec-navy); font-size: 14px; line-height: 1.35; font-weight: 500; }
.ec-team-card { max-width: 420px; }
.ec-team-diagram { position: relative; display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: auto auto auto; gap: 30px 58px; padding: 2px 10px 4px; min-height: 250px; }
.ec-team-box { position: relative; z-index: 2; display:flex; align-items:center; justify-content:center; min-height: 54px; padding: 10px 12px; border-radius: 10px; text-align:center; color:#fff; font-size:var(--ec-small-size); line-height:1.15; }
.ec-team-owner { grid-column: 1 / 3; justify-self:center; width: 170px; background: var(--ec-navy); }
.ec-team-investment { grid-column: 1 / 3; justify-self:center; width: 170px; background: var(--ec-violet-dark); }
.ec-team-legal, .ec-team-dd { background: #2F718E; }
.ec-connector { position:absolute; z-index:1; border-color:#2D69C4; opacity:.95; }
.ec-connector-vertical-1 { left:50%; top:55px; height:34px; border-left:1px solid #2D69C4; }
.ec-connector-vertical-2 { left:50%; top:126px; height:40px; border-left:1px solid #2D69C4; }
.ec-connector-left { left:25%; top:86px; width:25%; height:90px; border-top:1px dashed #2D69C4; border-left:1px dashed #2D69C4; transform:skewY(-34deg); transform-origin:right top; }
.ec-connector-right { right:25%; top:86px; width:25%; height:90px; border-top:1px dashed #2D69C4; border-right:1px dashed #2D69C4; transform:skewY(34deg); transform-origin:left top; }
.ec-connector-bottom { left:25%; right:25%; bottom:31px; border-top:1px dashed #2D69C4; }

/* Four stages */
.ec-stages { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; }
.ec-stage { display:grid; grid-template-rows:auto 1fr auto auto auto; min-width:0; padding:0 10px 0; border-right:1px solid #bdb7f4; }
.ec-stage:last-child { border-right:0; }
.ec-stage-head { position:relative; display:flex; align-items:center; justify-content:center; min-height:58px; margin:0 -10px 12px; padding:9px 16px; background:var(--ec-violet-dark); color:#fff; text-align:center; font-size:13px; line-height:1.18; clip-path:polygon(0 0,94% 0,100% 50%,94% 100%,0 100%,6% 50%); }
.ec-stage:first-child .ec-stage-head { clip-path:polygon(0 0,94% 0,100% 50%,94% 100%,0 100%); }
.ec-stage-num { position:absolute; left:10px; top:-7px; display:flex; align-items:center; justify-content:center; width:18px; height:18px; background:#E3AF64; color:#fff; font-size:11px; }
.ec-stage ul { margin:0 0 10px; padding:0; list-style:none; }
.ec-stage li { position:relative; margin:0 0 6px; padding-left:11px; color:#362BD1; font-size:var(--ec-small-size); line-height:1.22; }
.ec-stage li::before { content:"▪" !important; position:absolute; left:0; top:0; width:auto !important; height:auto !important; background:none !important; filter:none !important; color:#5B55E8; }
.ec-stage-result-label { margin:8px 0 0; padding-top:8px; border-top:1px solid var(--ec-navy); color:#666; font-size:16px !important; }
.ec-stage-label-placeholder { color:transparent; }
.ec-stage-result { min-height:64px; padding-top:7px; color:#3420d0; font-size:var(--ec-small-size); line-height:1.22; }
.ec-stage-time { position:relative; margin-top:8px; padding-top:8px; border-top:1px solid #665cff; color:#3420d0; font-size:var(--ec-small-size); }
.ec-stage-time-label { display:block; margin-bottom:6px; color:#666; font-size:11px; }

/* Valuation */
.ec-valuation-grid { display:grid; grid-template-columns:150px minmax(0,1fr); gap:18px; align-items:stretch; }
.ec-equity-equation { display:grid; grid-template-columns:1fr; align-content:start; justify-items:center; gap:6px; }
.ec-equation-box { width:100%; padding:10px 8px; background:var(--ec-violet-dark); color:#fff; text-align:center; font-size:var(--ec-small-size); line-height:1.18; }
.ec-equity-value { background:#17114e; }
.ec-equation-sign { height:16px; color:var(--ec-navy); font-size:20px; line-height:14px; font-weight:700; }
.ec-methods { display:flex; flex-direction:column; min-width:0; }
.ec-methods-title, .ec-methods-result { border:1px solid var(--ec-violet-dark); padding:6px 10px; text-align:center; color:var(--ec-navy); font-size:var(--ec-small-size); }
.ec-method-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:10px 0; }
.ec-method-box { min-width:0; border:1px solid var(--ec-violet-dark); padding:10px 12px; }
.ec-method-prose { font-size:var(--ec-small-size); line-height:1.24; }
.ec-method-prose .ec-prose { font-size:inherit; }
.ec-method-box .ec-prose > p:first-child { color:var(--ec-violet-dark); font-size:13px; font-weight:500; }

/* Tables */
.ec-table-wrap { width:100%; overflow-x:auto; }
.ec-data-table { background-color:white; width:100%; border-collapse:collapse; color:var(--ec-navy); font-size:var(--ec-small-size); line-height:1.22; }
.ec-data-table th { padding:7px 9px; background:var(--ec-violet-dark); color:#fff; text-align:left; font-weight:500; vertical-align:top; }
.ec-data-table td { padding:7px 9px; border-bottom:1px solid #6154e6; vertical-align:top; }
.ec-data-table tr:last-child td { border-bottom:0; }
.ec-data-table td:first-child { color:#4433d7; }
.ec-cell-bullet { position:relative; padding-left:11px; }
.ec-cell-bullet::before { content:"▪"; position:absolute; left:0; top:0; color:var(--ec-violet-dark); }
.ec-risk-table td:first-child { width:16%; color:var(--ec-navy); }
.ec-risk-table td:nth-child(2) { width:48%; }
.ec-risk-table td:nth-child(3) { width:36%; }

/* Funnel */
.ec-funnel-steps { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); align-items:start; margin:0 0 18px; }
.ec-funnel-step { position:relative; min-width:0; }
.ec-funnel-arrow { display:flex; align-items:center; justify-content:center; min-height:90px; margin-right:-5px; padding:10px 17px 10px 12px; border:1px solid #7167ff; background:#E4E5FE; color:#5248df; text-align:left; font-size:13px; line-height:1.15; clip-path:polygon(0 0,92% 0,100% 50%,92% 100%,0 100%,7% 50%); }
.ec-funnel-step:first-child .ec-funnel-arrow { clip-path:polygon(0 0,92% 0,100% 50%,92% 100%,0 100%); }
.ec-funnel-count { position:absolute; right:0; bottom:-10px; display:flex; align-items:center; justify-content:center; min-width:19px; height:19px; padding:0 4px; background:#787DFA; color:#fff; font-size:10px; }
.ec-funnel-label { margin:10px 0 7px; color:#5147dd; font-size:14px; }
.ec-funnel-questions { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:14px; padding:0 0 10px; border-bottom:1px solid #b5b5b5; color:var(--ec-navy); font-size:13px; line-height:1.2; }
.ec-funnel-engagement { display:grid; grid-template-columns:1.15fr 1.15fr 1fr 1.2fr 1fr; gap:10px; padding:3px 0 10px; border-bottom:1px solid #b5b5b5; color:var(--ec-navy); font-size:13px; line-height:1.5; }
.ec-dot { display:inline-block; width:9px; height:9px; margin-right:6px; border-radius:50%; }
.ec-dot-green { background:#23a837; }.ec-dot-red { background:#f22; }
.ec-funnel-notes { display:flex; justify-content:space-between; gap:20px; margin-top:8px; color:#555; font-size:10px; line-height:1.25; }
.ec-funnel-notes b { display:inline-flex; align-items:center; justify-content:center; width:19px; height:19px; margin-right:5px; background:#787DFA; color:#fff; font-weight:400; }

/* Conclusion */
.ec-conclusion { padding-top:62px; }
.ec-conclusion-title { max-width:850px; margin:0 0 24px; color:black; font-size:30px; line-height:1.08; font-weight:700; text-transform:uppercase; letter-spacing:-.025em; }
.ec-conclusion-lead { max-width:900px; margin:0 0 48px; color:var(--ec-navy); font-size:var(--ec-body-size); line-height:var(--ec-body-line); font-weight:400; letter-spacing:-.005em; }
.ec-conclusion-kicker { margin:0 0 10px; padding-bottom:0px; border-bottom:0px solid var(--ec-blue); color:var(--ec-orange); font-size:16px; line-height:1.25; }
.ec-conclusion-columns > :last-child { border-left:0; padding-left:0; }
.ec-advisory-box { margin-top:20px; padding:18px 20px; background:#dfeaf5; }
.ec-advisory-box .ec-prose { font-size:var(--ec-body-size); line-height:var(--ec-body-line); }
.ec-advisory-box .ec-bullets > li::before { color:var(--ec-navy); }

@media (max-width: 900px) {
  .ec-page { padding:38px 0 54px; }
  .ec-stages { grid-template-columns:1fr 1fr; gap:18px; }
  .ec-stage { border:1px solid #c9c5ef; padding:0 12px 12px; }
  .ec-stage-head { margin:0 -12px 12px; }
  .ec-method-grid { grid-template-columns:1fr; }
  .ec-funnel-steps { grid-template-columns:repeat(3,1fr); gap:14px; }
  .ec-funnel-step:nth-child(n+4) { margin-top:10px; }
  .ec-funnel-questions { grid-template-columns:1fr 1fr; }
  .ec-funnel-engagement { grid-template-columns:1fr 1fr; }
}

@media (max-width: 768px) {
  .ec-page { padding:30px 0 44px; }
  .ec-top-rule { width:70%; margin-bottom:24px; }
  .ec-page-heading { font-size:28px; line-height:1.1; }
  .ec-prose, .ec-lead, .ec-advisory-box .ec-prose { font-size:var(--ec-body-size-mobile); line-height:1.45; }
  .ec-two-columns { display:block; }
  .ec-two-columns > :first-child,
  .ec-two-columns > :last-child { margin-top:0; padding-left:0; padding-right:0; border-left:0; border-top:0; }
  .ec-team-card { max-width:none; }
  .ec-stages { grid-template-columns:1fr; }
  .ec-stage-result { min-height:0; }
  .ec-valuation-grid { grid-template-columns:1fr; }
  .ec-equity-equation { grid-template-columns:1fr 22px 1fr 22px 1fr 22px 1fr; align-items:stretch; }
  .ec-equation-sign { display:flex; align-items:center; height:auto; justify-content:center; }
  .ec-data-table { min-width:720px; }
  .ec-funnel-steps { grid-template-columns:1fr; }
  .ec-funnel-step:nth-child(n+4) { margin-top:0; }
  .ec-funnel-arrow { min-height:54px; clip-path:polygon(0 0,96% 0,100% 50%,96% 100%,0 100%); }
  .ec-funnel-questions, .ec-funnel-engagement { grid-template-columns:1fr; }
  .ec-funnel-notes { flex-direction:column; }
  .ec-conclusion-title { font-size:34px; }
  .ec-conclusion-lead { font-size:var(--ec-body-size-mobile); line-height:1.45; margin-bottom:32px; }
  .ec-conclusion-columns > :last-child { padding-left:0; }
}

@media (max-width: 520px) {
  .ec-footnote-box { font-size:var(--ec-note-size); }
  .ec-team-diagram { gap:24px 18px; padding-left:0; padding-right:0; }
  .ec-team-box { font-size:11px; }
  .ec-team-owner, .ec-team-investment { width:150px; }
  .ec-connector { display:none; }
  .ec-equity-equation { grid-template-columns:1fr; }
  .ec-equation-sign { height:17px; }
  .ec-methods-title, .ec-methods-result { font-size:11px; }
  .ec-conclusion-title { font-size:29px; }
  .ec-page-heading { font-size:24px; }
}


/* Four stages */
.ec-stages {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  align-items: stretch;
}

.ec-stage {
  display: grid;

  /* header / список / label / result / time */
  grid-template-rows:
    70px
    175px
    28px
    95px
    58px;

  min-width: 0;
  padding: 0 10px;

  border-right: 1px solid #bdb7f4;
}

.ec-stage:last-child {
  border-right: 0;
}


/* Заголовок этапа */

.ec-stage-head {
  position: relative;

  display: flex;
  align-items: center;
  justify-content: center;

  min-height: 70px;

  margin: 0 -10px 12px;
  padding: 9px 20px;

  background: var(--ec-violet-dark);
  color: #fff;

  text-align: center;

  font-size: 13px;
  font-weight: 500;
  line-height: 1.2;

  clip-path: polygon(
    0 0,
    94% 0,
    100% 50%,
    94% 100%,
    0 100%,
    6% 50%
  );
}

.ec-stage:first-child .ec-stage-head {
  clip-path: polygon(
    0 0,
    94% 0,
    100% 50%,
    94% 100%,
    0 100%
  );
}

.ec-stage-num {
  position: absolute;
  left: 10px;
  top: -7px;

  display: flex;
  align-items: center;
  justify-content: center;

  width: 18px;
  height: 18px;

  background: #E3AF64;
  color: #fff;

  font-size: 11px;
}


/* Список мероприятий */

.ec-stage ul {
  margin: 0 !important;
  padding: 5px 0 10px !important;

  list-style: none !important;
}

.ec-stage li {
  position: relative;

  margin: 0 0 9px;
  padding-left: 11px;

  color: #362BD1;

  font-size: 14px !important;
  line-height: 1.3;
}

.ec-stage li::before {
  content: "▪" !important;

  position: absolute;
  left: 0;
  top: 0;

  width: auto !important;
  height: auto !important;

  background: none !important;
  filter: none !important;

  color: #5B55E8;
}


/* Результат */

.ec-stage-result-label {
  display: flex;
  align-items: flex-end;

  margin: 0;
  padding: 0 0 7px;

  border-top: 1px solid var(--ec-navy);

  color: #666;

  font-size: 14px !important;
  line-height: 1.2;
}

.ec-stage-label-placeholder {
  color: transparent;
}

.ec-stage-result {
  min-height: 0;

  padding: 8px 0 10px;

  color: #3420d0;

  font-size: 14px;
  line-height: 1.3;
}


/* Сроки */

.ec-stage-time {
  position: relative;

  margin: 0;
  padding-top: 8px;

  border-top: 1px solid #665cff;

  color: #3420d0;

  font-size: 14px;
  line-height: 1.25;
}

.ec-stage-time-label {
  display: block;

  margin-bottom: 5px;

  color: #666;

  font-size: 14px !important;
  line-height: 1.2;
}


/* =========================================================
   ЧЕТЫРЕ ЭТАПА — ДИЗАЙН КАК В PPTX
   ========================================================= */

.ec-stage-card {
  width: 90% !important;
  margin: 28px 0 40px;
  padding: 14px 16px 18px;

  background: #f2f2f2;
  color: #0f0842;

  font-family: 'Montserrat', sans-serif;
}

.ec-stage-card * {
  box-sizing: border-box;
}

.ec-stage-card .ec-visual-title {
  margin: 0 0 16px;
  padding: 0;

  background: transparent;
  color: #0f0842;

  font-size: 16px;
  font-weight: 600;
  line-height: 1.25;
}


/* =========================================================
   ОБЩАЯ СЕТКА
   ========================================================= */

.ec-stages {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-template-rows:
    120px
    280px
    34px
    125px
    34px
    48px;

  column-gap: 0;

  width: 100%;
  padding: 38px 14px 0;

  background: #fff;
}

/*
  display: contents позволяет всем элементам 4 этапов
  выстраиваться в общие горизонтальные ряды.
*/
.ec-stage {
  display: contents;
}


/* =========================================================
   ВЕРХНИЕ СТРЕЛКИ
   ========================================================= */

.ec-stage-head {
  position: relative;

  display: flex;
  align-items: center;
  justify-content: center;

  min-width: 0;
  height: 120px;

  padding: 15px 38px 15px 26px;

  background: #2f279f;
  color: #fff;

  text-align: center;

  font-size: 15px;
  font-weight: 500;
  line-height: 1.15;

  clip-path: polygon(
    0 0,
    calc(100% - 18px) 0,
    100% 50%,
    calc(100% - 18px) 100%,
    0 100%,
    18px 50%
  );
}

.ec-stage:first-child .ec-stage-head {
  background: #2c35f0;

  clip-path: polygon(
    0 0,
    calc(100% - 18px) 0,
    100% 50%,
    calc(100% - 18px) 100%,
    0 100%
  );
}

.ec-stage:nth-child(1) .ec-stage-head {
  grid-column: 1;
  grid-row: 1;
}

.ec-stage:nth-child(2) .ec-stage-head {
  grid-column: 2;
  grid-row: 1;
}

.ec-stage:nth-child(3) .ec-stage-head {
  grid-column: 3;
  grid-row: 1;
}

.ec-stage:nth-child(4) .ec-stage-head {
  grid-column: 4;
  grid-row: 1;
}


/* номер этапа */

.ec-stage-num {
  position: absolute;
  top: 0px;
  left: 25px;
  z-index: 5;

  display: flex;
  align-items: center;
  justify-content: center;

  width: 34px;
  height: 34px;

  background: #dbae69;
  color: #fff;

  font-size: 20px;
  font-weight: 500;
  line-height: 1;
}


/* =========================================================
   МЕРОПРИЯТИЯ
   ========================================================= */

.ec-stage > ul {
  min-width: 0;

  margin: 0 !important;
  padding: 16px 20px 10px 18px !important;

  list-style: none !important;
}

.ec-stage:nth-child(1) > ul {
  grid-column: 1;
  grid-row: 2;
}

.ec-stage:nth-child(2) > ul {
  grid-column: 2;
  grid-row: 2;
}

.ec-stage:nth-child(3) > ul {
  grid-column: 3;
  grid-row: 2;
}

.ec-stage:nth-child(4) > ul {
  grid-column: 4;
  grid-row: 2;
}

.ec-stage > ul > li {
  position: relative;

  margin: 0 0 16px !important;
  padding: 0 0 0 16px !important;

  color: #1727c9;

  font-size: 16px !important;
  font-weight: 400;
  line-height: 1.3;
}

.container_article .ec-stage > ul > li::before {
  content: "";

  position: absolute;
  top: 8px;
  left: 0;

  width: 6px;
  height: 6px;

  background: #6954ec;
  filter: none;
}


/* =========================================================
   РЕЗУЛЬТАТ — ОБЩАЯ ЛИНИЯ
   ========================================================= */

.ec-stage-result-label {
  display: flex;
  align-items: flex-end;

  min-width: 0;

  padding: 0 0 8px 0;

  border-bottom: 1px solid #999;

  color: #11154d;

  font-size: 17px !important;
  font-weight: 600;
  line-height: 1;
}

.ec-stage:nth-child(1) .ec-stage-result-label {
  grid-column: 1;
  grid-row: 3;

  padding-left: 0;
}

.ec-stage:nth-child(2) .ec-stage-result-label {
  grid-column: 2;
  grid-row: 3;
}

.ec-stage:nth-child(3) .ec-stage-result-label {
  grid-column: 3;
  grid-row: 3;
}

.ec-stage:nth-child(4) .ec-stage-result-label {
  grid-column: 4;
  grid-row: 3;
}

.ec-stage-label-placeholder {
  visibility: hidden;
}


/* =========================================================
   РЕЗУЛЬТАТЫ
   ========================================================= */

.ec-stage-result {
  min-width: 0;

  padding: 14px 20px 12px 0;

  color: #1727c9;

  font-size: 16px;
  font-weight: 400;
  line-height: 1.3;
}

.ec-stage:nth-child(1) .ec-stage-result {
  grid-column: 1;
  grid-row: 4;
}

.ec-stage:nth-child(2) .ec-stage-result {
  grid-column: 2;
  grid-row: 4;
}

.ec-stage:nth-child(3) .ec-stage-result {
  grid-column: 3;
  grid-row: 4;
}

.ec-stage:nth-child(4) .ec-stage-result {
  grid-column: 4;
  grid-row: 4;
}


/* =========================================================
   СРОКИ
   ========================================================= */

.ec-stage-time {
  position: relative;

  min-width: 0;

  padding: 18px 20px 0 0;

  border-top: 1px solid #7c73ee;

  color: #1727c9;

  font-size: 15px;
  font-weight: 400;
  line-height: 1.25;
}

.ec-stage:nth-child(1) .ec-stage-time {
  grid-column: 1;
  grid-row: 6;
}

.ec-stage:nth-child(2) .ec-stage-time {
  grid-column: 2;
  grid-row: 6;
}

.ec-stage:nth-child(3) .ec-stage-time {
  grid-column: 3;
  grid-row: 6;
}

.ec-stage:nth-child(4) .ec-stage-time {
  grid-column: 4;
  grid-row: 6;
}


/*
  "Сроки" выводим над общей линией,
  как на слайде.
*/

.ec-stage-time-label {
  position: absolute;

  top: -31px;
  left: 0;

  color: #11154d;

  font-size: 17px !important;
  font-weight: 600;
  line-height: 1;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 950px) {

  .ec-stages {
    overflow-x: auto;

    grid-template-columns: repeat(4, 250px);

    padding-right: 10px;
    padding-left: 10px;
  }

  .ec-stage-head {
    font-size: 17px;
  }

  .ec-stage > ul > li,
  .ec-stage-result {
    font-size: 15px !important;
  }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 650px) {

  .ec-stage-card {
    padding: 12px 10px;
  }

  .ec-stage-card .ec-visual-title {
    font-size: 19px;
  }

  /*
    На телефоне лучше оставить горизонтальный скролл,
    чем ломать саму схему из PPTX.
  */

  .ec-stages {
    grid-template-columns: repeat(4, 230px);

    grid-template-rows:
      105px
      300px
      32px
      135px
      32px
      48px;
  }

  .ec-stage-head {
    height: 105px;

    font-size: 16px;
  }

  .ec-stage > ul > li {
    font-size: 14px !important;
  }

  .ec-stage-result {
    font-size: 14px;
  }

  .ec-stage-time {
    font-size: 14px;
  }
}



/* Настраиваемые переменные темы */
:root {
  --conclusion-bg: #f8fafc;         /* светлый фон */
  --conclusion-text: #0f172a;       /* базовый текст */
  --conclusion-muted: #475569;      /* вторичный текст */
  --conclusion-accent: #2563eb;     /* акцент (синий) */
  --conclusion-radius: 16px;
  --conclusion-shadow: 0 6px 18px rgba(15, 23, 42, 0.08);
}



/* Контейнер */
.conclusion {
  color: var(--conclusion-text);
  background: linear-gradient(180deg, rgba(37, 99, 235, 0.06), transparent 60%), var(--conclusion-bg);
  border-left: 6px solid var(--conclusion-accent);
  border-radius: var(--conclusion-radius);
  padding: clamp(16px, 2.5vw, 28px) clamp(16px, 3vw, 32px);
  box-shadow: var(--conclusion-shadow);
  max-width: 100%;
  line-height: 1.6;
}

/* Абзацы */
.conclusion p {
  margin: 0 0 0.75em 0;
  font-size: clamp(15px, 1.6vw, 17px);
}

.conclusion p:first-child {
  font-weight: 600;
}

/* Заголовок-сигнал перед списком (второй абзац) */
.conclusion p + p {
  color: var(--conclusion-muted);
  margin-top: 0.25em;
  font-weight: 500;
}

/* Список преимуществ */
.conclusion ul {
  margin: 0.75em 0 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}

/* Пункт списка с кастомной галочкой */
.conclusion li {
  position: relative;
  padding-left: 32px;
  font-size: clamp(15px, 1.6vw, 17px);
}

.conclusion li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.3em;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  background:
    /* иконка-галочка в центре кружка (inline SVG) */
    url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 6L9 17l-5-5' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px 12px no-repeat,
    var(--conclusion-accent);
  box-shadow: 0 2px 6px rgba(37, 99, 235, 0.25);
}