/* Premium homepage (task 115): market strip, lead stories, markets rail, feed, rail ads.
   One type system: PF DIN Display for headlines and figures, system sans for text. */

@font-face {
    font-family: 'ft-din';
    src: url('../fonts/PFDindisplayproRegMedLight/pfdindisplaypro-reg-webfont.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: optional;
}
@font-face {
    font-family: 'ft-din';
    src: url('../fonts/PFDindisplayproRegMedLight/pfdindisplaypro-med-webfont.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

.fx_wrapper.itx-homepage-shell {
    --ft-din: 'ft-din', 'pf_dindisplay_proregular', 'Arial Narrow', Arial, sans-serif;
    --ft-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    --ft-ink: #11161d;
    --ft-ink-2: #474d57;
    --ft-muted: #707a8a;
    --ft-line: #e6e8eb;
    --ft-plate: #f4f5f7;
    --ft-surface: #ffffff;
    --ft-night: #0b0e11;
    --ft-night-2: #151a21;
    --ft-on-night: #eaecef;
    --ft-on-night-muted: #848e9c;
    --ft-brand: #f7a600;
    --ft-kicker: #9a6700;
    --ft-up: #0a9b5f;
    --ft-down: #d9363e;
    --ft-up-night: #2ebd85;
    --ft-down-night: #f6465d;
    --ft-ease-out: cubic-bezier(0.23, 1, 0.32, 1);
    font-family: var(--ft-sans);
    color: var(--ft-ink);
    overflow: clip;
}

.itx-homepage-shell .ft-visually-hidden {
    position: absolute !important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

/* ---------- Market strip ---------- */
/* Legacy theme CSS floats bare nav elements: the strip is a div so it never floats over #content. */
.itx-homepage-shell .ft-strip {
    float: none;
    clear: both;
    width: auto;
    background: var(--ft-night-2);
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    color: var(--ft-on-night);
}
.itx-homepage-shell .ft-strip__list {
    display: flex;
    gap: 0;
    margin: 0 auto;
    padding: 0;
    list-style: none;
    max-width: var(--itx-homepage-shell-max);
    overflow-x: auto;
    scrollbar-width: none;
    overscroll-behavior-x: contain;
}
.itx-homepage-shell .ft-strip__list::-webkit-scrollbar {
    display: none;
}
.itx-homepage-shell .ft-strip__item {
    flex: 1 0 auto;
    margin: 0;
    border-inline-end: 1px solid rgba(255, 255, 255, 0.07);
}
.itx-homepage-shell .ft-strip__item:last-child {
    border-inline-end: 0;
}
.itx-homepage-shell .ft-strip__link {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 40px;
    padding: 0 16px;
    box-sizing: border-box;
    color: var(--ft-on-night) !important;
    text-decoration: none !important;
    white-space: nowrap;
    transition: background-color 150ms ease;
}
.itx-homepage-shell .ft-strip__name {
    font: 500 13px/1 var(--ft-sans);
    color: var(--ft-on-night-muted);
    letter-spacing: 0.01em;
}
.itx-homepage-shell .ft-strip__price {
    font: 400 15px/1 var(--ft-din);
    font-variant-numeric: tabular-nums;
}
.itx-homepage-shell .ft-strip__change {
    font: 500 13px/1 var(--ft-din);
    font-variant-numeric: tabular-nums;
}
.itx-homepage-shell .ft-strip .is-up .ft-strip__change { color: var(--ft-up-night); }
.itx-homepage-shell .ft-strip .is-down .ft-strip__change { color: var(--ft-down-night); }
.itx-homepage-shell .ft-strip .is-flat .ft-strip__change { color: var(--ft-on-night-muted); }

@media (hover: hover) and (pointer: fine) {
    .itx-homepage-shell .ft-strip__link:hover {
        background-color: rgba(255, 255, 255, 0.05);
    }
    .itx-homepage-shell .ft-strip__link:hover .ft-strip__name {
        color: var(--ft-on-night);
    }
}

/* ---------- Live price tick: tint fades out (opacity only) ---------- */
.itx-homepage-shell .ft-q {
    position: relative;
    isolation: isolate;
}
.itx-homepage-shell .ft-q::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: inherit;
    opacity: 0;
    pointer-events: none;
}
.itx-homepage-shell .ft-q.is-tick-up::after {
    background: rgba(10, 155, 95, 0.18);
    animation: ft-tick 1100ms var(--ft-ease-out);
}
.itx-homepage-shell .ft-q.is-tick-down::after {
    background: rgba(217, 54, 62, 0.16);
    animation: ft-tick 1100ms var(--ft-ease-out);
}
@keyframes ft-tick {
    from { opacity: 1; }
    to { opacity: 0; }
}

/* ---------- Shared section head ---------- */
.itx-homepage-shell .ft-section-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 10px;
    margin: 0 0 4px;
    border-bottom: 2px solid var(--ft-ink);
}
.itx-homepage-shell .ft-section-head__title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    font: 500 20px/1.1 var(--ft-din);
    color: var(--ft-ink);
    letter-spacing: 0;
    text-transform: none;
}
.itx-homepage-shell .ft-section-head__more {
    font: 500 13px/1 var(--ft-sans);
    color: var(--ft-ink-2) !important;
    text-decoration: none !important;
    white-space: nowrap;
}
.itx-homepage-shell .ft-section-head__more::after {
    content: ' \2192';
}
[dir='rtl'] .itx-homepage-shell .ft-section-head__more::after {
    content: ' \2190';
}
@media (hover: hover) and (pointer: fine) {
    .itx-homepage-shell .ft-section-head__more:hover {
        color: var(--ft-ink) !important;
        text-decoration: underline !important;
    }
}

.itx-homepage-shell .ft-live-dot {
    position: relative;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--ft-up);
    flex: none;
}
.itx-homepage-shell .ft-live-dot::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: var(--ft-up);
    animation: ft-live 2400ms var(--ft-ease-out) infinite;
}
@keyframes ft-live {
    0% { transform: scale(1); opacity: 0.55; }
    70%, 100% { transform: scale(2.6); opacity: 0; }
}

.itx-homepage-shell .ft-kicker {
    display: inline-block;
    margin-bottom: 6px;
    font: 600 11px/1.2 var(--ft-sans);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ft-kicker);
}
.itx-homepage-shell .ft-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 10px;
    margin: 8px 0 0;
    font: 400 12.5px/1.3 var(--ft-sans);
    color: var(--ft-muted);
}
.itx-homepage-shell .ft-meta time {
    font-family: var(--ft-din);
    font-size: 13px;
    font-variant-numeric: tabular-nums;
}

/* ---------- Lead row: stories + markets rail ---------- */
.itx-homepage-shell .ft-lead-row {
    width: min(calc(100% - (2 * var(--itx-homepage-gutter))), var(--itx-homepage-shell-max));
    max-width: var(--itx-homepage-shell-max);
    margin: 28px auto 36px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 336px);
    gap: 32px;
    align-items: start;
    box-sizing: border-box;
}
.itx-homepage-shell .ft-lead-row__main,
.itx-homepage-shell .ft-lead-row__rail {
    min-width: 0;
}
.itx-homepage-shell .ft-lead-row__rail {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.itx-homepage-shell .ft-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    gap: 28px;
    align-items: start;
}
.itx-homepage-shell .ft-hero__media,
.itx-homepage-shell .ft-card__media {
    display: block;
    overflow: hidden;
    border-radius: 4px;
    background: var(--ft-plate);
}
.itx-homepage-shell .ft-hero__img,
.itx-homepage-shell .ft-card__img {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}
.itx-homepage-shell .ft-card__img {
    aspect-ratio: 16 / 9;
}
.itx-homepage-shell .ft-hero__title {
    margin: 0;
    font: 500 clamp(24px, 2.2vw, 32px)/1.12 var(--ft-din);
    letter-spacing: -0.005em;
    text-wrap: balance;
}
.itx-homepage-shell .ft-hero__title a,
.itx-homepage-shell .ft-card__title a {
    color: var(--ft-ink) !important;
    text-decoration: none !important;
    background-image: linear-gradient(currentColor, currentColor);
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: 0 100%;
    transition: background-size 200ms var(--ft-ease-out);
}
.itx-homepage-shell .ft-hero__lede {
    margin: 12px 0 0;
    font: 400 15.5px/1.55 var(--ft-sans);
    color: var(--ft-ink-2);
}
.itx-homepage-shell .ft-meta__author {
    color: var(--ft-ink-2);
    font-weight: 500;
}

.itx-homepage-shell .ft-top__list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid var(--ft-line);
}
.itx-homepage-shell .ft-card {
    min-width: 0;
}
.itx-homepage-shell .ft-card__media {
    margin-bottom: 12px;
}
.itx-homepage-shell .ft-card__title {
    margin: 0;
    font: 500 17px/1.25 var(--ft-din);
    text-wrap: pretty;
}
@media (hover: hover) and (pointer: fine) {
    .itx-homepage-shell .ft-hero__title a:hover,
    .itx-homepage-shell .ft-card__title a:hover {
        background-size: 100% 1px;
    }
}

/* ---------- Markets widget ---------- */
.itx-homepage-shell .ft-markets {
    margin: 0;
}
.itx-homepage-shell .ft-markets__tabs {
    display: flex;
    gap: 2px;
    margin: 0 0 2px;
    border-bottom: 1px solid var(--ft-line);
    overflow-x: auto;
    scrollbar-width: none;
}
.itx-homepage-shell .ft-markets__tab {
    position: relative;
    flex: 1 0 auto;
    margin: 0;
    padding: 10px 6px 9px;
    border: 0;
    background: none;
    font: 600 12.5px/1 var(--ft-sans);
    color: var(--ft-muted);
    cursor: pointer;
    transition: color 150ms ease;
}
.itx-homepage-shell .ft-markets__tab[aria-selected='true'] {
    color: var(--ft-ink);
}
.itx-homepage-shell .ft-markets__tab[aria-selected='true']::after {
    content: '';
    position: absolute;
    inset-inline: 6px;
    bottom: -1px;
    height: 2px;
    background: var(--ft-brand);
}
.itx-homepage-shell .ft-markets__tab:focus-visible {
    outline: 2px solid var(--ft-ink);
    outline-offset: -2px;
}
.itx-homepage-shell .ft-markets__panel {
    margin: 0;
    padding: 0;
    list-style: none;
}
.itx-homepage-shell .ft-markets__panel li {
    margin: 0;
    border-bottom: 1px solid var(--ft-line);
}
.itx-homepage-shell .ft-markets__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto 76px;
    align-items: center;
    gap: 12px;
    padding: 10px 4px;
    color: var(--ft-ink) !important;
    text-decoration: none !important;
    transition: background-color 150ms ease;
}
.itx-homepage-shell .ft-markets__name {
    font: 500 14px/1.2 var(--ft-sans);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.itx-homepage-shell .ft-markets__price {
    font: 400 16px/1 var(--ft-din);
    font-variant-numeric: tabular-nums;
    text-align: end;
}
.itx-homepage-shell .ft-markets__change {
    justify-self: end;
    min-width: 64px;
    padding: 4px 6px;
    border-radius: 3px;
    font: 500 13.5px/1 var(--ft-din);
    font-variant-numeric: tabular-nums;
    text-align: center;
    box-sizing: border-box;
}
.itx-homepage-shell .ft-markets .is-up .ft-markets__change { color: var(--ft-up); background: rgba(10, 155, 95, 0.09); }
.itx-homepage-shell .ft-markets .is-down .ft-markets__change { color: var(--ft-down); background: rgba(217, 54, 62, 0.08); }
.itx-homepage-shell .ft-markets .is-flat .ft-markets__change { color: var(--ft-muted); background: var(--ft-plate); }
.itx-homepage-shell .ft-markets__note {
    margin: 8px 0 0;
    font: 400 11.5px/1.3 var(--ft-sans);
    color: var(--ft-muted);
}
@media (hover: hover) and (pointer: fine) {
    .itx-homepage-shell .ft-markets__row:hover {
        background-color: var(--ft-plate);
    }
}

/* ---------- Economic calendar inside the lead rail ---------- */
.itx-homepage-shell .ft-lead-row__rail .itx-ec-compact-widget {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    transform: none !important;
}
.itx-homepage-shell .ft-lead-row__rail .itx-ec-compact-header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
    margin: 0 0 2px !important;
    padding: 0 0 10px !important;
    border-bottom: 2px solid var(--ft-ink) !important;
}
.itx-homepage-shell .ft-lead-row__rail .itx-ec-compact-title {
    margin: 0 !important;
    font: 500 20px/1.1 var(--ft-din) !important;
    color: var(--ft-ink) !important;
    text-transform: none !important;
}
.itx-homepage-shell .ft-lead-row__rail .itx-ec-compact-update-status {
    display: none !important;
}
.itx-homepage-shell .ft-lead-row__rail .itx-ec-compact-date {
    font: 400 13px/1 var(--ft-din) !important;
    color: var(--ft-muted) !important;
}
.itx-homepage-shell .ft-lead-row__rail .itx-ec-compact-table-wrapper {
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
}
.itx-homepage-shell .ft-lead-row__rail .itx-ec-compact-table {
    width: 100% !important;
    table-layout: fixed;
    border-collapse: collapse !important;
}
.itx-homepage-shell .ft-lead-row__rail .itx-ec-compact-table thead {
    display: none;
}
.itx-homepage-shell .ft-lead-row__rail .itx-ec-compact-table td {
    padding: 10px 4px !important;
    border-bottom: 1px solid var(--ft-line) !important;
    vertical-align: top;
    background: transparent !important;
}
.itx-homepage-shell .ft-lead-row__rail td.itx-ec-compact-time {
    width: 80px;
    white-space: nowrap;
    font: 400 14px/1.3 var(--ft-din) !important;
    color: var(--ft-ink-2) !important;
    font-variant-numeric: tabular-nums;
}
.itx-homepage-shell .ft-lead-row__rail td.itx-ec-compact-event {
    font: 500 13.5px/1.35 var(--ft-sans) !important;
}
.itx-homepage-shell .ft-lead-row__rail .itx-ec-compact-flag {
    font-size: 15px !important;
}
.itx-homepage-shell .ft-lead-row__rail .itx-ec-compact-event-link {
    color: var(--ft-ink) !important;
}
.itx-homepage-shell .ft-lead-row__rail td.itx-ec-compact-countdown {
    width: 84px;
    text-align: end;
}
.itx-homepage-shell .ft-lead-row__rail .itx-ec-compact-timer {
    display: inline-block;
    padding: 4px 6px !important;
    border-radius: 3px !important;
    font: 500 12.5px/1 var(--ft-din) !important;
    font-variant-numeric: tabular-nums;
}
.itx-homepage-shell .ft-lead-row__rail .itx-ec-compact-footer {
    padding: 10px 0 0 !important;
    margin: 0 !important;
    text-align: start !important;
    border: 0 !important;
}
.itx-homepage-shell .ft-lead-row__rail .itx-ec-compact-link {
    display: inline !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
    box-shadow: none !important;
    font: 500 13px/1.3 var(--ft-sans) !important;
    color: var(--ft-ink-2) !important;
    text-decoration: none !important;
}
.itx-homepage-shell .ft-lead-row__rail .itx-ec-compact-link::after {
    content: ' \2192';
}

/* ---------- Unified section headings below the lead ---------- */
.itx-homepage-shell :is(
    .itx-editor-recommends-header-new h3.itx-editor-recommends-title-new,
    .itx-press-slider-title,
    .itx-beginner-title,
    .itx-professional-title,
    .itx-banks-title,
    .itx-binary-options-title,
    .itx-indicators-title,
    .itx-trading-strategies-title,
    .itx-cryptocurrencies-title,
    #itx-media-journals-title,
    .full-width-content section.turn_box > h3,
    .full-width-content section.turn_box > .clearfix > h3
) {
    font-family: var(--ft-din) !important;
    font-weight: 500 !important;
    font-size: 26px !important;
    line-height: 1.15 !important;
    letter-spacing: -0.005em !important;
    text-transform: none !important;
    color: var(--ft-ink) !important;
}
.itx-homepage-shell .market-insights-title {
    font-family: var(--ft-din) !important;
    font-weight: 500 !important;
    text-transform: none !important;
    letter-spacing: -0.005em !important;
}

/* ---------- Latest / Popular feed ---------- */
.itx-homepage-shell .itx-latest-articles-section {
    background: transparent !important;
}
.itx-homepage-shell .itx-latest-articles-section .modern-tabs {
    gap: 4px;
    background: transparent;
    border-radius: 0;
    border-bottom: 2px solid var(--ft-ink);
}
.itx-homepage-shell .itx-latest-articles-section .modern-tab {
    flex: 0 0 auto;
    min-height: 0;
    padding: 0 18px 10px 0;
    border-radius: 0;
    background: transparent !important;
    font: 500 20px/1.1 var(--ft-din);
    color: var(--ft-muted);
    transition: color 150ms ease;
}
[dir='rtl'] .itx-homepage-shell .itx-latest-articles-section .modern-tab {
    padding: 0 0 10px 18px;
}
.itx-homepage-shell .itx-latest-articles-section .modern-tab.active {
    color: var(--ft-ink);
    font-weight: 500;
}
.itx-homepage-shell .itx-latest-articles-section .modern-tab:hover {
    color: var(--ft-ink);
}
.itx-homepage-shell .itx-latest-articles-section .modern-tabs-content,
.itx-homepage-shell .itx-latest-articles-section .modern-tab-panel {
    min-height: 0 !important;
    background: transparent;
}
.itx-homepage-shell .itx-latest-articles-section .articles-list .article-item {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    align-items: baseline;
    gap: 14px;
    min-height: 0;
    margin: 0;
    padding: 12px 0;
    border-bottom: 1px solid var(--ft-line);
    border-radius: 0;
}
.itx-homepage-shell .itx-latest-articles-section .articles-list .article-item:hover {
    margin: 0;
    padding: 12px 0;
    background: transparent;
}
.itx-homepage-shell .itx-latest-articles-section .article-time {
    font: 400 15px/1.3 var(--ft-din);
    font-variant-numeric: tabular-nums;
    color: var(--ft-muted);
}
.itx-homepage-shell .itx-latest-articles-section .article-body {
    min-width: 0;
}
.itx-homepage-shell .itx-latest-articles-section .article-cat {
    display: block;
    margin-bottom: 3px;
    font: 600 10.5px/1.2 var(--ft-sans);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ft-kicker);
}
.itx-homepage-shell .itx-latest-articles-section .articles-list .article-item .article-title {
    min-height: 0;
    font: 500 15.5px/1.38 var(--ft-sans);
}
.itx-homepage-shell .itx-latest-articles-section .articles-list .article-item .article-title a {
    display: inline;
    color: var(--ft-ink) !important;
    transform: none !important;
}
@media (hover: hover) and (pointer: fine) {
    .itx-homepage-shell .itx-latest-articles-section .articles-list .article-item .article-title a:hover {
        color: var(--ft-ink) !important;
        text-decoration: underline !important;
        text-underline-offset: 3px;
    }
}

/* ---------- Rail: no hole, the 300x600 rides to the end of its row ---------- */
.itx-homepage-shell .top-two-column {
    align-items: stretch;
}
.itx-homepage-shell .top-two-column > .banner-column {
    display: flex;
    flex-direction: column;
    gap: 20px;
    overflow: clip;
}
.itx-homepage-shell .banner-column #floatingBanner {
    position: sticky;
    top: 88px;
}
.itx-homepage-shell .banner-column #beginOfSidebarContent,
.itx-homepage-shell .banner-column > .mt25 {
    display: none;
}

/* ---------- Ad plates: native size, reserved height, labelled ---------- */
.itx-homepage-shell .fx_long-blockdiv {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 250px;
    padding: 22px 0 12px;
    background: var(--ft-plate);
    box-sizing: border-box;
}
.itx-homepage-shell .b-bellow-menu-desktop {
    position: relative;
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 134px;
    padding: 26px 0 18px !important;
    background: var(--ft-plate);
    box-sizing: border-box;
}
/* Fast Banners prints width:100% !important inline on the img: the zone shrinks to the creative instead. */
.itx-homepage-shell :is(.fx_long-blockdiv, .b-bellow-menu-desktop) :is(.itx-fb-lazy, .itx-fb-zone, .itx-fb-item) {
    width: fit-content !important;
    max-width: 100% !important;
    margin-inline: auto !important;
}
.itx-homepage-shell :is(.fx_long-blockdiv, .b-bellow-menu-desktop, .banner-column #floatingBanner)::before {
    content: 'Advertisement';
    position: absolute;
    top: 7px;
    inset-inline-start: 10px;
    font: 600 9.5px/1 var(--ft-sans);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--ft-muted);
    z-index: 1;
}
.itx-homepage-shell .banner-column #floatingBanner {
    padding-top: 18px;
    height: auto !important;
    min-height: 618px;
    box-sizing: border-box;
}
.itx-homepage-shell .banner-column #floatingBanner::before {
    top: 2px;
    inset-inline-start: 0;
}
html[lang^='ru'] .itx-homepage-shell :is(.fx_long-blockdiv, .b-bellow-menu-desktop, .banner-column #floatingBanner)::before { content: 'Реклама'; }
html[lang^='de'] .itx-homepage-shell :is(.fx_long-blockdiv, .b-bellow-menu-desktop, .banner-column #floatingBanner)::before { content: 'Anzeige'; }
html[lang^='ar'] .itx-homepage-shell :is(.fx_long-blockdiv, .b-bellow-menu-desktop, .banner-column #floatingBanner)::before { content: 'إعلان'; }

/* ---------- Blocks below the fold: analytics, contests and partners, learn (task 116) ---------- */
.itx-homepage-shell .ft-section-head--lg .ft-section-head__title {
    font-size: 26px;
    line-height: 1.15;
}
.itx-homepage-shell .ft-block .ft-section-head {
    margin-bottom: 20px;
}
.itx-homepage-shell .ft-grid {
    display: grid;
    gap: 28px 24px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.itx-homepage-shell .ft-grid--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.itx-homepage-shell .ft-grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.itx-homepage-shell .ft-tabs {
    display: flex;
    gap: 4px;
    margin: -8px 0 22px;
    overflow-x: auto;
    scrollbar-width: none;
}
.itx-homepage-shell .ft-tabs::-webkit-scrollbar {
    display: none;
}
.itx-homepage-shell .ft-tab {
    flex: 0 0 auto;
    margin: 0;
    padding: 8px 14px;
    border: 1px solid var(--ft-line);
    border-radius: 999px;
    background: var(--ft-surface);
    font: 600 13.5px/1 var(--ft-sans);
    color: var(--ft-ink-2);
    cursor: pointer;
    transition: background-color 150ms ease, color 150ms ease, border-color 150ms ease;
}
.itx-homepage-shell .ft-tab[aria-selected='true'] {
    background: var(--ft-ink);
    border-color: var(--ft-ink);
    color: #fff;
}
.itx-homepage-shell .ft-tab:focus-visible {
    outline: 2px solid var(--ft-brand);
    outline-offset: 2px;
}
@media (hover: hover) and (pointer: fine) {
    .itx-homepage-shell .ft-tab[aria-selected='false']:hover {
        border-color: var(--ft-ink-2);
        color: var(--ft-ink);
    }
}
.itx-homepage-shell .ft-learn__more {
    display: inline-block;
    margin-top: 18px;
}

.itx-homepage-shell .ft-partners__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 3fr);
    gap: 32px;
    align-items: start;
}
.itx-homepage-shell .ft-partners__grid.is-single {
    grid-template-columns: minmax(0, 1fr);
}
.itx-homepage-shell .ft-contests {
    padding: 18px 20px;
    border: 1px solid var(--ft-line);
    border-top: 3px solid var(--ft-brand);
    border-radius: 4px;
    background: var(--ft-surface);
}
.itx-homepage-shell .ft-contests__title {
    margin: 0 0 8px;
    font: 500 18px/1.2 var(--ft-din);
    color: var(--ft-ink);
}
.itx-homepage-shell .ft-contests__list {
    margin: 0 0 14px;
    padding: 0;
    list-style: none;
}
.itx-homepage-shell .ft-contests__row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin: 0;
    padding: 10px 0;
    border-bottom: 1px solid var(--ft-line);
}
.itx-homepage-shell .ft-contests__name {
    font: 500 14.5px/1.35 var(--ft-sans);
    color: var(--ft-ink) !important;
    text-decoration: none !important;
}
.itx-homepage-shell .ft-contests__fund {
    flex: none;
    font: 500 15px/1 var(--ft-din);
    font-variant-numeric: tabular-nums;
    color: var(--ft-kicker);
}
@media (hover: hover) and (pointer: fine) {
    .itx-homepage-shell .ft-contests__name:hover {
        text-decoration: underline !important;
    }
}

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
    .itx-homepage-shell .ft-grid--4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .itx-homepage-shell .ft-partners__grid {
        grid-template-columns: minmax(0, 1fr);
    }
}
@media (max-width: 1180px) {
    .itx-homepage-shell .ft-hero {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }
}
@media (max-width: 1024px) {
    .itx-homepage-shell .ft-lead-row {
        grid-template-columns: minmax(0, 1fr) 280px;
        gap: 20px;
    }
}
@media (max-width: 900px) {
    .itx-homepage-shell .ft-lead-row {
        grid-template-columns: minmax(0, 1fr);
        gap: 28px;
    }
    .itx-homepage-shell .ft-lead-row__rail {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px;
    }
}
@media (max-width: 768px) {
    .itx-homepage-shell .ft-strip__link {
        height: 36px;
        padding: 0 12px;
    }
    .itx-homepage-shell .ft-lead-row {
        margin: 16px auto 24px;
    }
    .itx-homepage-shell .ft-lead-row__rail {
        grid-template-columns: minmax(0, 1fr);
    }
    .itx-homepage-shell .ft-top__list {
        margin-top: 18px;
        padding-top: 14px;
    }
    .itx-homepage-shell .itx-latest-articles-section [data-itx-rail] > .article-item {
        flex-direction: column !important;
        gap: 6px;
    }
    .itx-homepage-shell .ft-hero__title {
        font-size: 24px;
    }
    .itx-homepage-shell .ft-hero__lede {
        font-size: 15px;
    }
    .itx-homepage-shell .ft-section-head--lg .ft-section-head__title {
        font-size: 22px;
    }
    .itx-homepage-shell .ft-tabs {
        margin-bottom: 8px;
    }
    .itx-homepage-shell :is(
        .itx-editor-recommends-header-new h3.itx-editor-recommends-title-new,
        .itx-press-slider-title,
        .itx-beginner-title,
        .itx-professional-title,
        .itx-banks-title,
        .itx-binary-options-title,
        .itx-indicators-title,
        .itx-trading-strategies-title,
        .itx-cryptocurrencies-title,
        #itx-media-journals-title,
        .full-width-content section.turn_box > h3,
        .full-width-content section.turn_box > .clearfix > h3
    ) {
        font-size: 22px !important;
    }
}

/* ---------- Reduced motion: keep the colour cue, drop movement ---------- */
@media (prefers-reduced-motion: reduce) {
    .itx-homepage-shell .ft-live-dot::after {
        animation: none;
        opacity: 0;
    }
    .itx-homepage-shell .ft-q.is-tick-up::after,
    .itx-homepage-shell .ft-q.is-tick-down::after {
        animation-duration: 600ms;
    }
    .itx-homepage-shell .ft-hero__title a,
    .itx-homepage-shell .ft-card__title a {
        transition: none;
    }
}
