/* Shared foundation and page sections. Component-specific rules live alongside this file. */
:root {
  --bg: #ffffff;
  --navy: #071a35;
  --navy-2: #0b2345;
  --navy-3: #122d52;
  --accent: #ff5b59;
  --accent-dark: #ef4e4c;
  --green: #43d184;
  --text: #081b39;
  --muted: #5f708c;
  --border: #dce3ec;
  --light: #f7f9fb;
  --white: #ffffff;
  --container: 1280px;
  --radius: 8px;
  --shadow: 0 10px 27px rgba(9, 27, 54, .07);
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: "Manrope", Arial, sans-serif;
}

a { color: inherit; text-decoration: none; }
p, h1, h2, h3 { margin: 0; }
p { color: var(--muted); line-height: 1.62; }
button, input, textarea, select { font: inherit; }
svg { display: block; }

.container {
  width: min(var(--container), calc(100% - 72px));
  margin: 0 auto;
}

.sr-only {
  position: absolute;
  overflow: hidden;
  width: 1px;
  height: 1px;
  clip-path: inset(50%);
  white-space: nowrap;
}

.eyebrow {
  margin-bottom: 19px;
  color: var(--accent);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .2em;
}

.button {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 0 26px;
  border: 1px solid transparent;
  border-radius: 4px;
  font-size: .86rem;
  font-weight: 700;
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}

.button:hover { transform: translateY(-1px); }
.button--accent { background: var(--accent); color: #fff; }
.button--accent:hover { background: var(--accent-dark); }
.button--ghost { border-color: rgba(255, 255, 255, .72); color: #fff; }
.button--ghost svg { width: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; }

.solutions { padding: 0 0 30px; }

.solution-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.solution-card {
  min-height: 360px;
  padding: 30px 32px 25px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: #fff;
}

.hex {
  display: inline-flex;
  width: 64px;
  height: 64px;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  clip-path: polygon(50% 0%, 92% 24%, 92% 76%, 50% 100%, 8% 76%, 8% 24%);
  background: var(--navy);
  color: #fff;
  font-size: 1.12rem;
  font-weight: 700;
}

.hex--candles { gap: 5px; }
.hex--candles i {
  width: 5px;
  height: 29px;
  background: #79b9ed;
}
.hex--candles i:nth-child(2) { height: 41px; background: #41c68a; }
.hex--candles i:nth-child(3) { height: 22px; background: #a9d8ff; }
.hex--person::before { content: "♙"; font-size: 2.1rem; font-weight: 400; }

.solution-card h2 {
  display: inline-block;
  max-width: calc(100% - 74px);
  margin: 7px 0 23px 13px;
  vertical-align: top;
  font-size: 1.5rem;
  line-height: 1.25;
  letter-spacing: -.04em;
}

.solution-card p { min-height: 69px; margin-bottom: 15px; font-size: .8rem; }

.solution-card ul {
  display: grid;
  gap: 8px;
  margin: 0 0 18px;
  padding: 0;
  color: var(--muted);
  font-size: .74rem;
  list-style: none;
}

.solution-card li::before {
  content: "✓";
  display: inline-grid;
  width: 15px;
  height: 15px;
  place-items: center;
  margin-right: 9px;
  border: 1px solid var(--accent);
  border-radius: 50%;
  color: var(--accent);
  font-size: .58rem;
}

.solution-card > a,
.section-header a,
.post a {
  color: var(--navy);
  font-size: .78rem;
  font-weight: 700;
}

.solution-card a span,
.section-header a span,
.post a span { margin-left: 10px; color: var(--accent); font-size: 1.1rem; }

.performance { padding: 0 0 42px; }

.performance__panel {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(360px, 1fr);
  gap: 30px;
  padding: 38px 32px 28px;
  border: 1px solid rgba(39, 151, 248, .55);
  border-radius: 9px;
  background: linear-gradient(112deg, #0b2345, #071a35);
  color: #fff;
}

.performance h2 {
  margin-bottom: 18px;
  color: #fff;
  font-size: 1.54rem;
  letter-spacing: -.045em;
}

.performance__tabs {
  display: flex;
  gap: 7px;
  margin-bottom: 15px;
}

.performance__tabs span {
  padding: 12px 18px;
  border: 1px solid #233b5c;
  border-radius: 4px;
  color: #d3deed;
  font-size: .7rem;
}

.performance__tabs .selected { border-color: var(--accent); background: var(--accent); color: #fff; }
.report-equity .chart-primary { stroke: #31b8ff; }
.report-equity .chart-benchmark { fill: none; stroke: #f7a30c; stroke-width: 2.4; stroke-dasharray: 6 5; }

.legend {
  display: flex;
  gap: 46px;
  padding: 9px 54px 0;
  color: #d1dcec;
  font-size: .68rem;
}

.legend span::before {
  content: "";
  display: inline-block;
  width: 25px;
  margin-right: 12px;
  vertical-align: middle;
  border-top: 2px solid #31b8ff;
}

.legend .bench::before { border-top: 2px dashed #f7a30c; }

.performance__note {
  margin: 18px 0 0 54px;
  color: #8ea5c1;
  font-size: .68rem;
}

.performance__metrics {
  padding-left: 23px;
  border-left: 1px solid #223b5c;
}

.performance__headers {
  display: grid;
  grid-template-columns: minmax(122px, 1fr) repeat(2, minmax(104px, .92fr));
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
  text-align: center;
}

.performance__headers strong {
  padding: 10px 8px;
  border: 1px solid #1859af;
  border-radius: 7px;
  background: rgba(14, 57, 126, .75);
  color: #eef5ff;
  font-size: .69rem;
}

.performance__headers strong:last-child {
  border-color: #9f6913;
  background: rgba(111, 71, 8, .72);
}

.performance__headers small { font-size: .62rem; font-weight: 500; }

.performance__metrics article {
  display: grid;
  grid-template-columns: minmax(122px, 1fr) repeat(2, minmax(104px, .92fr));
  align-items: center;
  gap: 12px;
  min-height: 70px;
  padding: 0;
  margin: 0;
  border-bottom: 1px solid #1b3555;
}

.performance__metrics span { color: #e1eafa; font-size: .76rem; }
.performance__metrics .metric-name small { display: block; margin-top: 5px; color: #92a8c1; }
.performance__metrics strong {
  display: block;
  text-align: center;
  color: #fff;
  font-size: clamp(1.08rem, 2vw, 1.5rem);
  letter-spacing: -.05em;
}
.performance__metrics small { color: #aabacf; font-size: .66rem; }
.performance__metrics .positive { color: var(--green); }
.performance__metrics .negative { color: var(--accent); }
.performance__metrics .strategy-value { color: #34b6f8; }
.performance__metrics .benchmark-positive { color: #f4a320; }
.performance__metrics .button { width: 100%; margin-top: 20px; font-size: .73rem; }

.process { padding: 0 0 54px; }

.center-title {
  margin: 0 0 33px;
  text-align: center;
  font-size: 1.62rem;
  letter-spacing: -.05em;
}

.steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 45px;
  max-width: 1050px;
  margin: 0 auto;
}

.steps article {
  position: relative;
  text-align: center;
}

.steps article:not(:last-child)::after {
  position: absolute;
  top: 39px;
  left: calc(50% + 48px);
  width: calc(100% - 50px);
  border-top: 1px dashed #bac8db;
  content: "";
}

.steps article:not(:last-child)::before {
  position: absolute;
  top: 35px;
  right: -27px;
  z-index: 1;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--accent);
  content: "";
}

.step-icon {
  display: inline-grid;
  width: 78px;
  height: 78px;
  place-items: center;
  margin-bottom: 22px;
  border: 1px solid #bccce0;
  border-radius: 50%;
  color: var(--navy);
}

.step-icon svg {
  width: 43px;
  height: 43px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.steps h3 { margin-bottom: 10px; font-size: .94rem; }
.steps p { font-size: .68rem; line-height: 1.6; }

.articles { padding: 0 0 43px; }

.section-header {
  display: flex;
  justify-content: space-between;
  margin-bottom: 23px;
}

.section-header h2 { font-size: 1.58rem; letter-spacing: -.05em; }

.articles__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 25px;
}

.post {
  display: grid;
  grid-template-columns: 143px 1fr;
  min-height: 204px;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 7px;
}

.post > div:last-child { padding: 22px 18px 15px; }
.post h3 { margin-bottom: 15px; font-size: .84rem; line-height: 1.45; }
.post p { margin-bottom: 12px; font-size: .67rem; line-height: 1.65; }
.post a { font-size: .7rem; }

.post-chart {
  position: relative;
  background-color: var(--navy);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.post-chart::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(180deg, rgba(7, 24, 49, .64) 0%, transparent 45%, rgba(7, 24, 49, .18) 100%);
}

.post-chart b {
  position: absolute;
  z-index: 1;
  top: 18px;
  left: 17px;
  padding: 7px 9px 6px;
  border: 1px solid rgba(133, 191, 230, .2);
  border-radius: 6px;
  background: rgba(8, 27, 55, .48);
  color: #fff;
  font-size: 1.1rem;
  line-height: 1.25;
  backdrop-filter: blur(5px);
}
.post-chart small { font-size: .58rem; }

.post-chart--risk {
  background-image: url("../assets/articles/risk-management.jpg");
}
.post-chart--bars {
  background-image: url("../assets/articles/strategy-diversification.jpg");
}
.post-chart--candle {
  background-image: url("../assets/articles/futures-vs-cfd.jpg");
}

.cta {
  padding: 41px 0;
  background: var(--navy-2);
  color: #fff;
}

.cta__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 45px;
}

.cta h2 { margin-bottom: 11px; color: #fff; font-size: 1.52rem; letter-spacing: -.04em; }
.cta p { max-width: 580px; color: #dde5f0; font-size: .84rem; }
.cta__actions { display: flex; gap: 20px; }

.footer {
  padding: 42px 0 20px;
  background: var(--navy);
  color: #fff;
  border-top: 1px solid #344966;
}

.footer__top {
  display: grid;
  grid-template-columns: 1.1fr .82fr 1fr 1.08fr 1.12fr;
  gap: 47px;
  padding-bottom: 39px;
}

.footer__brand img { display: block; width: 132px; height: auto; object-fit: contain; }
.footer__brand p { max-width: 190px; margin-top: 15px; color: #bbc8d9; font-size: .7rem; }
.footer__column h2 { margin: 9px 0 24px; color: #fff; font-size: .82rem; }
.footer__column > a { display: block; margin-bottom: 9px; color: #c1cddd; font-size: .7rem; }
.footer__column p { color: #c1cddd; font-size: .7rem; }

.social { display: flex; gap: 13px; margin-top: 20px; }
.social a {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 50%;
  background: #233c5d;
  color: #fff;
  font-size: .86rem;
  font-weight: 700;
}

.subscribe form {
  display: flex;
  height: 45px;
  margin-top: 24px;
}
.subscribe input {
  min-width: 0;
  width: 100%;
  padding-left: 14px;
  border: 0;
  border-radius: 4px 0 0 4px;
  font-size: .72rem;
}
.subscribe button {
  width: 45px;
  border: 0;
  border-radius: 0 4px 4px 0;
  background: var(--accent);
  color: #fff;
  font-size: 1.1rem;
}

.footer__bottom {
  display: flex;
  justify-content: space-between;
  padding-top: 21px;
  border-top: 1px solid #213a59;
}
.footer__bottom p,
.footer__bottom a { color: #95a7bd; font-size: .66rem; }
.footer__bottom div { display: flex; gap: 41px; }

/* Contacts */
.contacts-hero {
  padding: 66px 0;
  background:
    radial-gradient(circle at 80% 48%, rgba(41, 103, 163, .22), transparent 32%),
    linear-gradient(112deg, #07162e, #071c38);
  color: #fff;
}

.contacts-hero__grid {
  display: grid;
  grid-template-columns: 1fr .78fr;
  gap: 76px;
  align-items: center;
}

.contacts-hero h1 {
  color: #fff;
  font-size: clamp(2.45rem, 3.6vw, 3.35rem);
  line-height: 1.15;
  letter-spacing: -.055em;
}
.contacts-hero p:not(.eyebrow) {
  max-width: 540px;
  margin-top: 22px;
  color: #cfdae9;
}

.contacts-hero__cards { display: grid; gap: 15px; }
.contacts-hero__cards article {
  display: grid;
  gap: 9px;
  padding: 24px 28px;
  border: 1px solid #29405f;
  border-radius: 7px;
  background: rgba(19, 42, 71, .65);
}
.contacts-hero__cards span { color: #8fa4be; font-size: .7rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.contacts-hero__cards a { color: #fff; font-size: 1.05rem; font-weight: 700; }

.contacts-content { padding: 58px 0 64px; }
.contacts-content__grid {
  display: grid;
  grid-template-columns: .85fr 1fr;
  gap: 70px;
}
.contacts-copy h2 {
  margin-bottom: 17px;
  font-size: 2rem;
  letter-spacing: -.055em;
}
.contacts-copy > p:not(.eyebrow) { max-width: 430px; }
.contacts-points { display: grid; gap: 22px; margin-top: 46px; }
.contacts-points article { display: grid; grid-template-columns: 53px 1fr; column-gap: 17px; }
.contacts-points b {
  grid-row: span 2;
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border-radius: 50%;
  background: #fff2f1;
  color: var(--accent);
  font-family: "Roboto Mono", monospace;
}
.contacts-points h3 { margin: 2px 0 5px; font-size: .93rem; }
.contacts-points p { font-size: .77rem; }

.contacts-page__panel {
  padding: 39px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: var(--shadow);
}
.form-honey {
  position: absolute; overflow: hidden; width: 1px; height: 1px;
  clip-path: inset(50%); white-space: nowrap;
}
.form-status { margin: 0 0 15px; font-size: .85rem; font-weight: 700; }
.form-status--success { color: var(--green); }
.form-status--error { color: var(--accent); }
.feedback-form { display: grid; gap: 18px; }
.feedback-form label { display: grid; gap: 8px; color: var(--text); font-size: .75rem; font-weight: 700; }
.feedback-form input,
.feedback-form select,
.feedback-form textarea {
  width: 100%;
  padding: 0 17px;
  border: 1px solid var(--border);
  border-radius: 4px;
  background: #fff;
  color: var(--text);
  font-size: .84rem;
}
.feedback-form input,
.feedback-form select { height: 53px; }
.feedback-form textarea { min-height: 126px; padding-top: 15px; resize: vertical; }
.feedback-form input::placeholder,
.feedback-form textarea::placeholder { color: #8997aa; }
.feedback-form button { width: 100%; border: 0; margin-top: 4px; cursor: pointer; }

/* Article */
.article-page {
  background: #fff;
}

.article-hero {
  padding: 69px 0 170px;
  background:
    radial-gradient(circle at 72% 47%, rgba(31, 112, 182, .19), transparent 37%),
    radial-gradient(circle at 17% 76%, rgba(255, 91, 89, .07), transparent 27%),
    linear-gradient(112deg, #06152c 0%, #071c38 64%, #092343 100%);
  color: #fff;
}

.article-hero__inner {
  max-width: 1000px;
}

.article-meta {
  display: flex;
  gap: 15px;
  align-items: center;
  margin-bottom: 27px;
  color: #8298b3;
  font-family: "Roboto Mono", monospace;
  font-size: .65rem;
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.article-meta span::before {
  display: inline-block;
  width: 4px;
  height: 4px;
  margin: 0 15px 2px 0;
  border-radius: 50%;
  background: var(--accent);
  content: "";
}

.article-hero h1 {
  margin-bottom: 22px;
  color: #fff;
  font-size: clamp(2.65rem, 5.2vw, 4.2rem);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -.065em;
}

.article-lead {
  max-width: 630px;
  color: #cfdae9;
  font-size: 1.07rem;
  line-height: 1.65;
}

.article-shell {
  padding: 62px 0 80px;
}

.article-cover {
  float: left;
  overflow: hidden;
  width: 400px;
  height: 300px;
  margin: 7px 29px 18px 0;
  border: 1px solid rgba(89, 142, 198, .32);
  border-radius: 8px;
  background: var(--navy);
  box-shadow: 0 16px 34px rgba(7, 26, 53, .17), 0 0 27px rgba(35, 150, 239, .08);
}

.article-cover img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.article-layout {
  display: grid;
  grid-template-columns: 268px minmax(0, 760px);
  gap: 72px;
  justify-content: center;
}

.article-aside {
  align-self: start;
  position: sticky;
  top: 28px;
}

.article-aside__label {
  margin-bottom: 15px;
  color: var(--accent);
  font-family: "Roboto Mono", monospace;
  font-size: .63rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.risk-card {
  margin-bottom: 12px;
  padding: 19px 19px 21px;
  border: 1px solid #e1e7f0;
  border-radius: 7px;
  background: #fff;
}

.risk-card__value {
  display: block;
  margin-bottom: 14px;
  color: var(--accent);
  font-family: "Roboto Mono", monospace;
  font-size: .76rem;
  font-weight: 700;
}

.risk-card h2 {
  margin-bottom: 8px;
  color: var(--navy);
  font-size: .89rem;
}

.risk-card p {
  font-size: .71rem;
  line-height: 1.58;
}

.article-content section {
  margin-bottom: 48px;
}

.article-content section:last-child {
  margin-bottom: 0;
}

.article-content h2 {
  margin-bottom: 18px;
  color: var(--navy);
  font-size: clamp(1.42rem, 2vw, 1.72rem);
  line-height: 1.28;
  letter-spacing: -.045em;
}

.article-content h3 {
  margin-bottom: 10px;
  color: #fff;
  font-size: .85rem;
}

.article-content p {
  margin-bottom: 18px;
  color: #51637f;
  font-size: .9rem;
  line-height: 1.78;
}

.article-content p:last-child {
  margin-bottom: 0;
}

.article-content strong {
  color: var(--navy);
  font-weight: 700;
}

.article-intro {
  display: flow-root;
  padding-bottom: 41px;
  border-bottom: 1px solid var(--border);
}

.article-intro p:first-child::first-letter {
  float: left;
  margin: 8px 8px 0 0;
  color: var(--navy);
  font-size: 3.25rem;
  font-weight: 700;
  line-height: .76;
}

.metric-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 29px;
}

.metric-strip div {
  padding: 18px 16px;
  border: 1px solid #dce4ee;
  border-radius: 6px;
  background: #f7f9fb;
}

.metric-strip span,
.metric-strip small {
  display: block;
  color: #72839c;
  font-size: .65rem;
}

.metric-strip strong {
  display: block;
  margin: 7px 0 6px;
  font-family: "Roboto Mono", monospace;
  font-size: 1.28rem;
}

.metric-strip .metric-strip__loss {
  color: var(--accent);
}

.metric-strip--portfolio strong {
  color: var(--green);
  font-size: .98rem;
}

.instrument-flow {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 27px 0 24px;
  padding: 18px;
  border: 1px solid #203c60;
  border-radius: 7px;
  background: var(--navy);
}

.instrument-flow span {
  flex: 1;
  padding: 11px 7px;
  border: 1px solid rgba(43, 174, 234, .28);
  border-radius: 4px;
  color: #d6e5f4;
  font-family: "Roboto Mono", monospace;
  font-size: .62rem;
  text-align: center;
  text-transform: uppercase;
}

.instrument-flow i {
  width: 20px;
  height: 1px;
  position: relative;
  background: #28bbf7;
}

.instrument-flow i::after {
  position: absolute;
  top: -3px;
  right: 0;
  width: 7px;
  height: 7px;
  border-top: 1px solid #28bbf7;
  border-right: 1px solid #28bbf7;
  content: "";
  transform: rotate(45deg);
}

.control-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 30px;
}

.control-grid article {
  min-height: 188px;
  padding: 21px 20px;
  border: 1px solid #1e395b;
  border-radius: 7px;
  background:
    linear-gradient(130deg, rgba(19, 46, 79, .84), rgba(7, 24, 49, .96)),
    repeating-linear-gradient(90deg, transparent 0 32px, rgba(105, 152, 197, .06) 33px);
}

.control-grid p {
  color: #aebccf;
  font-size: .72rem;
  line-height: 1.64;
}

.control-icon {
  display: block;
  position: relative;
  width: 42px;
  height: 35px;
  margin-bottom: 18px;
}

.control-icon::before,
.control-icon::after {
  position: absolute;
  content: "";
}

.control-icon--stop::before {
  inset: 2px 7px 2px 0;
  border: 1px solid rgba(41, 177, 244, .75);
  clip-path: polygon(50% 0%, 93% 25%, 93% 70%, 50% 100%, 7% 70%, 7% 25%);
}

.control-icon--stop::after {
  top: 14px;
  right: 0;
  width: 19px;
  height: 1px;
  background: var(--accent);
}

.control-icon--size::before {
  bottom: 3px;
  left: 1px;
  width: 35px;
  height: 28px;
  background:
    linear-gradient(to top, rgba(49, 182, 242, .8) 0 42%, transparent 43%) 0 100% / 8px 100% no-repeat,
    linear-gradient(to top, rgba(49, 182, 242, .65) 0 72%, transparent 73%) 13px 100% / 8px 100% no-repeat,
    linear-gradient(to top, rgba(255, 91, 89, .75) 0 95%, transparent 96%) 26px 100% / 8px 100% no-repeat;
}

.control-icon--vol::before {
  top: 15px;
  left: 0;
  width: 41px;
  height: 2px;
  background: #173a60;
}

.control-icon--vol::after {
  top: 4px;
  left: 0;
  width: 39px;
  height: 25px;
  border-top: 2px solid #28bbf7;
  clip-path: polygon(0 57%, 26% 57%, 42% 5%, 61% 84%, 78% 40%, 100% 40%, 100% 55%, 79% 55%, 60% 100%, 41% 25%, 27% 73%, 0 73%);
  background: #28bbf7;
}

.control-icon--balance::before {
  inset: 2px;
  border: 1px solid rgba(43, 184, 246, .55);
  border-radius: 50%;
}

.control-icon--balance::after {
  top: 11px;
  left: 11px;
  width: 20px;
  height: 14px;
  border-bottom: 2px solid var(--green);
  border-left: 2px solid var(--green);
  transform: skew(-30deg);
}

.visual-section {
  display: grid;
  gap: 25px;
}

.mini-chart {
  margin: 6px 0 0;
  padding: 20px 20px 14px;
  border: 1px solid #203c60;
  border-radius: 7px;
  background: var(--navy);
}

.mini-chart figcaption,
.drawdown-panel__label {
  margin-bottom: 14px;
  color: #7e96b4;
  font-family: "Roboto Mono", monospace;
  font-size: .64rem;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.mini-chart svg {
  width: 100%;
  height: auto;
}

.mini-chart__grid,
.drawdown-panel__grid {
  fill: none;
  stroke: rgba(106, 145, 188, .18);
  stroke-width: 1;
}

.mini-chart__muted,
.mini-chart__red,
.mini-chart__primary {
  fill: none;
  stroke-width: 2;
}

.mini-chart__muted { stroke: rgba(39, 173, 234, .44); }
.mini-chart__red { stroke: rgba(255, 91, 89, .48); }
.mini-chart__primary { stroke: #34c6ff; stroke-width: 3; filter: drop-shadow(0 0 5px rgba(52, 198, 255, .48)); }

.chart-legend {
  display: flex;
  gap: 20px;
  margin-top: 10px;
  color: #8298b3;
  font-size: .65rem;
}

.chart-legend span::before,
.chart-legend strong::before {
  display: inline-block;
  width: 19px;
  height: 2px;
  margin: 0 8px 3px 0;
  content: "";
  background: rgba(255, 91, 89, .6);
}

.chart-legend strong {
  color: #c4d5e8;
  font-weight: 500;
}

.chart-legend strong::before { background: #34c6ff; }

.correlation-panel {
  margin: 6px 0 0;
  padding: 21px;
  border: 1px solid #203c60;
  border-radius: 7px;
  background:
    radial-gradient(circle at 78% 40%, rgba(36, 189, 242, .1), transparent 39%),
    var(--navy);
}

.correlation-panel figcaption {
  margin-bottom: 22px;
  color: #7e96b4;
  font-family: "Roboto Mono", monospace;
  font-size: .64rem;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.correlation-panel__content {
  display: grid;
  grid-template-columns: 1fr 147px;
  gap: 31px;
  align-items: center;
}

.allocation-bars {
  display: grid;
  gap: 16px;
}

.allocation-bars span {
  display: block;
  position: relative;
  height: 12px;
  border-radius: 8px;
  background: rgba(35, 64, 97, .68);
}

.allocation-bars span::after {
  display: block;
  width: var(--share);
  height: 100%;
  border-radius: inherit;
  content: "";
  background: linear-gradient(90deg, #168bca, #35cee4);
  box-shadow: 0 0 10px rgba(53, 206, 228, .2);
}

.allocation-bars span:nth-child(2)::after { background: linear-gradient(90deg, #1c8582, #45d390); }
.allocation-bars span:nth-child(3)::after { background: linear-gradient(90deg, #1f84bb, #31b7ef); }
.allocation-bars span:nth-child(4)::after { background: linear-gradient(90deg, #8b4e58, #ff746b); }

.allocation-bars b {
  position: absolute;
  bottom: calc(100% + 5px);
  left: 0;
  color: #91a6bf;
  font-size: .59rem;
  font-weight: 500;
}

.correlation-matrix {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 3px;
  padding: 3px;
  border: 1px solid rgba(58, 126, 180, .35);
}

.correlation-matrix i {
  display: block;
  aspect-ratio: 1;
  background: rgba(21, 53, 84, .68);
}

.correlation-matrix i.strong { background: rgba(44, 198, 220, .76); box-shadow: 0 0 10px rgba(44, 198, 220, .25); }
.correlation-matrix i.soft { background: rgba(34, 135, 175, .55); }
.correlation-matrix i.low { background: rgba(34, 94, 126, .5); }
.correlation-matrix i.negative { background: rgba(247, 102, 95, .62); }

.comparison-table {
  overflow: hidden;
  margin-top: 30px;
  border: 1px solid #dde5ee;
  border-radius: 7px;
}

.comparison-table > div {
  display: grid;
  grid-template-columns: 155px 1fr 1fr;
  border-bottom: 1px solid #e3e9f1;
}

.comparison-table > div:last-child {
  border-bottom: 0;
}

.comparison-table span,
.comparison-table p,
.comparison-table strong {
  padding: 14px 15px;
  margin: 0;
  border-right: 1px solid #e3e9f1;
  font-size: .72rem;
  line-height: 1.55;
}

.comparison-table p:last-child,
.comparison-table strong:last-child {
  border-right: 0;
}

.comparison-table span {
  color: #667a97;
  font-weight: 700;
}

.comparison-table p {
  color: #455b79;
}

.comparison-table__head {
  background: var(--navy);
}

.comparison-table__head span,
.comparison-table__head strong {
  border-color: #203c60;
  color: #fff;
  font-family: "Roboto Mono", monospace;
  font-size: .65rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.comparison-table__head strong:first-of-type {
  color: #46c9ff;
}

.comparison-table__head strong:last-child {
  color: #52d79b;
}

.execution-panel {
  margin: 6px 0 0;
  padding: 22px;
  border: 1px solid #203c60;
  border-radius: 7px;
  background:
    radial-gradient(circle at 84% 40%, rgba(40, 183, 240, .11), transparent 36%),
    var(--navy);
}

.execution-panel figcaption {
  margin-bottom: 24px;
  color: #7e96b4;
  font-family: "Roboto Mono", monospace;
  font-size: .64rem;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.execution-panel__columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 25px;
}

.execution-panel h3 {
  margin-bottom: 17px;
  color: #40c7ff;
  font-family: "Roboto Mono", monospace;
  font-size: .72rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.execution-panel__cfd h3 {
  color: var(--green);
}

.execution-panel span {
  display: block;
  margin-bottom: 15px;
}

.execution-panel span b {
  display: block;
  width: var(--meter);
  height: 7px;
  margin-bottom: 7px;
  border-radius: 20px;
  background: linear-gradient(90deg, #168bca, #35cee4);
  box-shadow: 0 0 8px rgba(53, 206, 228, .18);
}

.execution-panel__cfd span b {
  background: linear-gradient(90deg, #117b8c, #45d390);
}

.execution-panel small {
  color: #91a6bf;
  font-size: .61rem;
}

.drawdown-panel {
  display: grid;
  grid-template-columns: .95fr 1fr;
  gap: 21px;
  align-items: center;
  margin-top: 28px;
  padding: 24px 22px;
  border-radius: 7px;
  background: #f4f7fa;
}

.drawdown-panel strong {
  display: block;
  margin-bottom: 12px;
  font-size: .89rem;
  line-height: 1.48;
}

.drawdown-panel p:not(.drawdown-panel__label) {
  font-size: .7rem;
  line-height: 1.6;
}

.drawdown-panel__area {
  fill: rgba(255, 91, 89, .13);
}

.drawdown-panel__line {
  fill: none;
  stroke: #1b91d1;
  stroke-width: 2.8;
}

.drawdown-panel__limit {
  fill: none;
  stroke: rgba(255, 91, 89, .65);
  stroke-width: 1;
  stroke-dasharray: 5 5;
}

.drawdown-panel__single {
  fill: none;
  stroke: rgba(255, 91, 89, .7);
  stroke-width: 2;
  stroke-dasharray: 5 4;
}

.drawdown-panel__portfolio {
  fill: none;
  stroke: #25bde6;
  stroke-width: 3;
  filter: drop-shadow(0 0 4px rgba(37, 189, 230, .3));
}

.article-conclusion {
  padding: 31px 33px;
  border: 1px solid var(--border);
  border-left: 3px solid var(--accent);
  border-radius: 6px;
}

.article-cta .eyebrow {
  margin-bottom: 12px;
}

@media (max-width: 1100px) {
  .container { width: min(var(--container), calc(100% - 40px)); }
  .footer__top { grid-template-columns: 1.2fr repeat(2, 1fr); }
  .subscribe { grid-column: 2 / 4; }
  .article-layout { grid-template-columns: 235px minmax(0, 700px); gap: 40px; }
}

@media (max-width: 900px) {
  .contacts-hero__grid,
  .contacts-content__grid { grid-template-columns: 1fr; }
  .solution-grid,
  .articles__grid { grid-template-columns: 1fr 1fr; }
  .solution-card:last-child,
  .post:last-child { grid-column: 1 / -1; }
  .performance__panel { grid-template-columns: 1fr; }
  .performance__metrics { padding: 26px 0 0; border-top: 1px solid #223b5c; border-left: 0; }
  .steps { grid-template-columns: 1fr 1fr; }
  .steps article::after,
  .steps article::before { display: none; }
  .cta__inner { flex-direction: column; align-items: flex-start; }
  .article-hero { padding: 56px 0; }
  .article-shell { padding-top: 45px; }
  .article-cover {
    width: min(400px, 52%);
    height: auto;
    aspect-ratio: 4 / 3;
    margin: 6px 25px 16px 0;
  }
  .article-layout { grid-template-columns: 1fr; gap: 39px; }
  .article-aside {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    position: static;
  }
  .article-aside__label { grid-column: 1 / -1; }
  .risk-card { margin-bottom: 0; }
}

@media (max-width: 620px) {
  .container { width: calc(100% - 30px); }
  .cta__actions { flex-direction: column; width: 100%; }
  .button { width: 100%; }
  .solution-grid,
  .articles__grid,
  .steps { grid-template-columns: 1fr; }
  .post:last-child,
  .solution-card:last-child { grid-column: auto; }
  .post { grid-template-columns: 110px 1fr; }
  .performance__panel { padding: 24px 17px; }
  .performance h2 { font-size: 1.2rem; }
  .performance__tabs { flex-wrap: wrap; }
  .performance__tabs span { padding: 9px; }
  .legend { flex-direction: column; gap: 10px; padding: 8px 0 0; }
  .performance__note { margin-left: 0; }
  .performance__headers,
  .performance__metrics article {
    grid-template-columns: minmax(94px, 1.05fr) repeat(2, minmax(78px, .95fr));
    gap: 6px;
  }
  .performance__headers strong { padding: 8px 4px; font-size: .59rem; }
  .performance__metrics span { font-size: .68rem; }
  .performance__metrics strong { font-size: .96rem; }
  .steps article { margin-bottom: 19px; }
  .footer__top { grid-template-columns: 1fr 1fr; gap: 28px 16px; }
  .footer__brand,
  .subscribe { grid-column: 1 / -1; }
  .footer__bottom { flex-direction: column; gap: 18px; }
  .footer__bottom div { flex-direction: column; gap: 10px; }
  .contacts-page__panel { padding: 25px 18px; }
  .desktop-break { display: none; }
  .article-hero { padding: 44px 0; }
  .article-meta { flex-wrap: wrap; gap: 8px 13px; margin-bottom: 21px; }
  .article-meta span::before { margin-right: 13px; }
  .article-lead { font-size: .9rem; }
  .article-shell { padding: 35px 0 49px; }
  .article-cover {
    float: none;
    width: 100%;
    height: auto;
    margin: 0 0 23px;
    aspect-ratio: 4 / 3;
    border-radius: 7px;
  }
  .article-aside,
  .metric-strip,
  .control-grid,
  .drawdown-panel { grid-template-columns: 1fr; }
  .correlation-panel__content { grid-template-columns: 1fr; gap: 30px; }
  .instrument-flow {
    display: grid;
    grid-template-columns: 1fr;
  }
  .instrument-flow i {
    width: 1px;
    height: 17px;
    margin: 0 auto;
  }
  .instrument-flow i::after {
    top: auto;
    right: -3px;
    bottom: 0;
    transform: rotate(135deg);
  }
  .comparison-table > div {
    grid-template-columns: 1fr;
  }
  .comparison-table span,
  .comparison-table p,
  .comparison-table strong {
    border-right: 0;
    border-bottom: 1px solid #e3e9f1;
  }
  .comparison-table p:last-child,
  .comparison-table strong:last-child {
    border-bottom: 0;
  }
  .comparison-table__head span,
  .comparison-table__head strong {
    border-color: #203c60;
  }
  .execution-panel__columns { grid-template-columns: 1fr; }
  .article-content section { margin-bottom: 38px; }
  .article-content p { font-size: .84rem; }
  .article-intro { padding-bottom: 33px; }
  .control-grid article { min-height: 0; }
  .article-conclusion { padding: 25px 21px; }
}
