.nofc-section {
    width: 100%;
    background: #f8f8f8;
    padding: clamp(34px, 5vw, 64px) 24px;
    box-sizing: border-box;
    overflow: hidden;
}
.nofc-inner { max-width: 1010px; margin: 0 auto; }
.nofc-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 24px;
    margin-bottom: 36px;
}
.nofc-headings { max-width: 590px; }
.nofc-eyebrow { color: #111; font-size: 13px; line-height: 1.4; margin-bottom: 12px; }
.nofc-heading {
    font-size: clamp(30px, 3.2vw, 38px);
    line-height: 1.1;
    letter-spacing: .1px;
    font-weight: 750;
    margin: 0;
}
.nofc-heading-main, .nofc-heading-accent { display: block; }
.nofc-heading-accent { color: #3738f5; }
.nofc-navigation { display: flex; gap: 7px; flex: 0 0 auto; padding-bottom: 4px; }
.nofc-arrow {
    width: 32px; height: 17px; padding: 0; border: 0; border-radius: 20px;
    color: #fff; background: #000; cursor: pointer; line-height: 17px;
    font-size: 16px; display: inline-flex; align-items: center; justify-content: center;
}
.nofc-arrow.swiper-button-disabled { background: #bcbcbc; cursor: default; }
.nofc-carousel { overflow: visible; }
.nofc-card { height: auto; min-width: 0; cursor: grab; }
.nofc-card:active { cursor: grabbing; }
.nofc-card__media {
    height: 255px; background: #d9d9d9; border: 4px solid transparent;
    box-sizing: border-box; overflow: hidden; transition: border-color .18s ease;
    border-radius: 14px 14px 0 0;
}
.nofc-card.is-active .nofc-card__media { border-color: #159cff; }
.nofc-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.nofc-card__body {
    background: #fff; padding: 20px 19px 19px; min-height: 139px;
    border-radius: 0 0 12px 12px; box-sizing: border-box;
}
.nofc-card__title { margin: 0 0 14px; color: #090909; font-size: 16px; font-weight: 700; line-height: 1.35; }
.nofc-card__description { margin: 0; color: #656565; font-size: 12px; line-height: 1.8; }
@media (max-width: 767px) {
    .nofc-section { padding: 32px 18px; }
    .nofc-header { align-items: flex-end; margin-bottom: 24px; gap: 12px; }
    .nofc-heading { font-size: clamp(27px, 7vw, 34px); }
    .nofc-navigation { padding-bottom: 3px; }
    .nofc-card__media { height: 220px; }
    .nofc-card__body { padding: 18px 16px; }
}
