@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

* {
    box-sizing: border-box;
}

:root {
    --ifs-gold: #F5A623;
    --ifs-blue: #0A7FBF;
    --ifs-navy: #14213D;
    --ifs-white: #FFFFFF;
    --ifs-light: #F5F7F9;
    --ifs-dark: #31353A;
    --ifs-navy-darker: #0e1830;
    --ifs-border: #E5E7EB;
    --ifs-gold-hover: #d9931d;
    --ifs-blue-hover: #086a9e;
    --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

html, body {
    font-family: var(--font-sans);
    font-size: 16px;
    color: var(--ifs-dark);
    background: var(--ifs-white);
    line-height: 1.6;
    margin: 0;
    padding: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

@media (min-width: 992px) {
    body { padding-top: 129px; }
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

a {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

a:hover {
    color: var(--ifs-gold);
}

button {
    font-family: inherit;
    cursor: pointer;
    border: none;
    outline: none;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

h1, h2, h3, h4, h5, h6 {
    margin: 0;
    font-weight: 700;
    color: var(--ifs-dark);
    line-height: 1.3;
    text-transform: UPPERCASE;
    letter-spacing: 0.5px;
}

p {
    margin: 0 0 16px 0;
}

ul, ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

.container {
    width: 100%;
    max-width: 1128px;
    margin: 0 auto;
    padding: 0 24px;
}

/* ============================================================
   NAVIGATION BAR
   ============================================================ */

.ifs-navbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    height: 129px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 2px 12px rgba(20, 33, 61, 0.06);
    display: flex;
    align-items: center;
    backdrop-filter: blur(10px);
}

.ifs-navbar__inner {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.ifs-navbar__logo {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.ifs-navbar__logo img {
    height: 56px;
    width: auto;
    object-fit: contain;
}

.ifs-navbar__menu {
    display: flex;
    align-items: center;
    gap: 0;
    list-style: none;
    margin: 0;
    padding: 0;
}

.ifs-navbar__item {
    position: relative;
    padding: 0 14px;
}

.ifs-navbar__link {
    display: inline-flex;
    align-items: center;
    padding: 8px 0;
    font-size: 12px;
    font-weight: 600;
    color: var(--ifs-navy);
    text-transform: UPPERCASE;
    letter-spacing: 2.5px;
    cursor: pointer;
    position: relative;
}

.ifs-navbar__link:hover,
.ifs-navbar__item:hover > .ifs-navbar__link,
.ifs-navbar__link--active {
    color: var(--ifs-gold) !important;
}

.ifs-navbar__dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 280px;
    background: var(--ifs-white);
    box-shadow: 0 12px 30px rgba(20, 33, 61, 0.15);
    padding: 15px 20px;
    z-index: 100;
    opacity: 0;
    visibility: hidden;
    transform: translateY(6px);
    transition: all 0.2s ease-in-out;
    margin-top: 0;
    border-radius: 0;
}

.ifs-navbar__item:hover > .ifs-navbar__dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.ifs-navbar__dropdown a {
    display: block;
    padding: 5px 9px;
    font-size: 11px;
    font-weight: 600;
    color: var(--ifs-blue);
    text-transform: UPPERCASE;
    text-decoration: none;
    letter-spacing: 1px;
    line-height: 1.6;
}

.ifs-navbar__dropdown a:hover {
    color: var(--ifs-blue-hover);
    background: var(--ifs-light);
}

.ifs-dropdown-link--active {
    color: var(--ifs-gold) !important;
    background: var(--ifs-light);
    font-weight: 700;
}

.ifs-navbar__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 13px 31px;
    border: 1.5px solid var(--ifs-blue);
    color: var(--ifs-blue);
    background: transparent;
    font-size: 12px;
    font-weight: 600;
    text-transform: UPPERCASE;
    letter-spacing: 2.5px;
    cursor: pointer;
    transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
    border-radius: 0;
    margin-left: 14px;
}

.ifs-navbar__cta:hover {
    background: var(--ifs-blue);
    color: var(--ifs-white);
    border-color: var(--ifs-blue);
}

.ifs-navbar__toggle {
    display: none;
    background: transparent;
    border: 1px solid var(--ifs-navy);
    color: var(--ifs-navy);
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    flex-direction: column;
    gap: 5px;
    padding: 0;
    border-radius: 0;
}

.ifs-navbar__toggle span {
    display: block;
    width: 22px;
    height: 2px;
    background: var(--ifs-navy);
    transition: all 0.2s ease;
}

.ifs-navbar__toggle i {
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.ifs-navbar--scrolled {
    position: fixed !important;
    height: 88px !important;
    background: rgba(255, 255, 255, 0.98) !important;
    box-shadow: 0 6px 24px rgba(20, 33, 61, 0.12);
    backdrop-filter: blur(10px);
    animation: ifs-header-drop 0.3s ease-out;
}

@keyframes ifs-header-drop {
    from { transform: translateY(-100%); }
    to   { transform: translateY(0); }
}

.ifs-navbar--scrolled .ifs-navbar__link {
    color: var(--ifs-navy) !important;
}

.ifs-navbar--scrolled .ifs-navbar__link:hover,
.ifs-navbar--scrolled .ifs-navbar__item:hover > .ifs-navbar__link,
.ifs-navbar--scrolled .ifs-navbar__link--active {
    color: var(--ifs-gold) !important;
}

.ifs-navbar--scrolled .ifs-navbar__cta {
    border-color: var(--ifs-blue) !important;
    color: var(--ifs-blue) !important;
}

.ifs-navbar--scrolled .ifs-navbar__cta:hover {
    background: var(--ifs-blue) !important;
    color: var(--ifs-white) !important;
    border-color: var(--ifs-blue) !important;
}

.ifs-navbar--scrolled .ifs-navbar__toggle {
    border-color: var(--ifs-navy) !important;
    color: var(--ifs-navy) !important;
}

.ifs-navbar--scrolled .ifs-navbar__toggle span {
    background: var(--ifs-navy) !important;
}

/* ============================================================
   HERO SECTION
   ============================================================ */

.ifs-hero {
    position: relative;
    width: 100%;
    min-height: 720px;
    display: flex;
    align-items: center;
    overflow: hidden;
}

.ifs-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, rgba(20, 33, 61, 0.78) 0%, rgba(20, 33, 61, 0.5) 50%, rgba(20, 33, 61, 0.3) 100%);
}

.ifs-hero__content {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1128px;
    margin: 0 auto;
    padding: 140px 24px 100px;
}

.ifs-hero__badge {
    margin-bottom: 24px;
}

.ifs-hero__title {
    font-size: 56px;
    font-weight: 800;
    line-height: 1.1;
    color: var(--ifs-white);
    margin: 0 0 28px 0;
    max-width: 800px;
    text-transform: none;
    letter-spacing: -0.5px;
}

.ifs-hero__title .accent,
.ifs-hero__title span {
    color: var(--ifs-gold);
}

.ifs-hero__subtitle {
    font-size: 18px;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.92);
    margin: 0 0 40px 0;
    max-width: 640px;
    font-weight: 400;
}

.ifs-hero__ctas,
.ifs-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.ifs-hero__scroll {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ifs-white);
    font-size: 14px;
    z-index: 3;
    border: 1.5px solid rgba(255, 255, 255, 0.4);
    border-radius: 50%;
    animation: ifs-bounce 2s infinite;
}

.ifs-hero__scroll:hover {
    color: var(--ifs-gold);
    border-color: var(--ifs-gold);
}

@keyframes ifs-bounce {
    0%, 20%, 50%, 80%, 100% { transform: translateX(-50%) translateY(0); }
    40% { transform: translateX(-50%) translateY(-10px); }
    60% { transform: translateX(-50%) translateY(-5px); }
}

/* ============================================================
   PAGE HERO (Sub-pages)
   ============================================================ */

.ifs-pagehero {
    position: relative;
    width: 100%;
    min-height: 380px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url('https://coresg-normal.trae.ai/api/ide/v1/text_to_image?prompt=Professional%20maritime%20catering%20kitchen%20on%20board%20a%20ship%20with%20modern%20equipment%20and%20chef%20cooking%2C%20clean%20industrial%20kitchen&image_size=landscape_16_9');
    display: flex;
    align-items: center;
    overflow: hidden;
}

.ifs-pagehero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, rgba(20, 33, 61, 0.82), rgba(20, 33, 61, 0.5));
}

.ifs-pagehero__content {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1128px;
    margin: 0 auto;
    padding: 129px 24px 60px;
}

.ifs-pagehero__title {
    font-size: 40px;
    font-weight: 800;
    line-height: 1.2;
    color: var(--ifs-white);
    margin: 0 0 16px 0;
}

.ifs-pagehero__subtitle {
    font-size: 16px;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.88);
    margin: 0;
    max-width: 680px;
}

/* BREADCRUMB */
.ifs-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 2px;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.5px;
    margin-bottom: 24px;
}

.ifs-breadcrumb__link {
    color: rgba(255, 255, 255, 0.85);
    text-decoration: none;
    transition: color 0.2s;
}

.ifs-breadcrumb__link:hover {
    color: var(--ifs-gold);
}

.ifs-breadcrumb__sep {
    color: rgba(255, 255, 255, 0.5);
    margin: 0 10px;
}

.ifs-breadcrumb__current {
    color: var(--ifs-gold);
    font-weight: 600;
}

/* ============================================================
   HEADINGS & TYPOGRAPHY
   ============================================================ */

.ifs-section-title {
    font-size: 32px;
    font-weight: 800;
    line-height: 1.2;
    color: var(--ifs-navy);
    margin: 0;
    text-transform: UPPERCASE;
    letter-spacing: 1px;
}

.ifs-section-title--light {
    color: var(--ifs-white) !important;
}

.ifs-section-accent {
    width: 80px;
    height: 3px;
    background: var(--ifs-gold);
    margin: 18px 0 32px 0;
    border-radius: 0;
    display: block;
}

.ifs-section-accent--center {
    margin-left: auto;
    margin-right: auto;
}

.ifs-lead {
    font-size: 17px;
    line-height: 1.8;
    color: var(--ifs-navy);
    margin: 0 0 24px 0;
    font-weight: 500;
    opacity: 0.9;
}

.ifs-badge {
    display: inline-block;
    padding: 7px 18px;
    background: rgba(245, 166, 35, 0.12);
    color: var(--ifs-gold);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: UPPERCASE;
    margin-bottom: 14px;
    border-radius: 0;
}

.ifs-badge--gold {
    background: rgba(245, 166, 35, 0.15);
    color: var(--ifs-gold);
}

.ifs-badge--blue {
    background: rgba(10, 127, 191, 0.12);
    color: var(--ifs-blue);
}

h1 {
    font-size: 40px;
    line-height: 1.2;
}

h2 {
    font-size: 28px;
    line-height: 1.3;
}

h3 {
    font-size: 18px;
    line-height: 1.4;
}

/* ============================================================
   SECTIONS
   ============================================================ */

.ifs-section {
    padding: 90px 0;
}

.ifs-section--light {
    background: var(--ifs-light);
}

.ifs-section--accent {
    background: #eef3f7;
    position: relative;
}

.ifs-section--dark {
    background: var(--ifs-navy);
    color: var(--ifs-white);
}

.ifs-section--cta {
    background: var(--ifs-navy);
    position: relative;
    overflow: hidden;
    color: var(--ifs-white);
}

.ifs-section--cta::before {
    content: '';
    position: absolute;
    top: -100px;
    right: -100px;
    width: 350px;
    height: 350px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(245, 166, 35, 0.18) 0%, transparent 70%);
    pointer-events: none;
}

.ifs-section__header {
    margin-bottom: 48px;
}

.ifs-section__header--center {
    text-align: center;
}

.ifs-section__header--center .ifs-section-accent {
    margin-left: auto;
    margin-right: auto;
}

/* ============================================================
   BUTTONS
   ============================================================ */

.ifs-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 34px;
    font-size: 12px;
    font-weight: 700;
    text-transform: UPPERCASE;
    letter-spacing: 2px;
    cursor: pointer;
    border: 1.5px solid transparent;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
    border-radius: 0;
    text-decoration: none;
    line-height: 1;
}

.ifs-btn--primary {
    background: var(--ifs-gold);
    color: var(--ifs-navy);
    border-color: var(--ifs-gold);
}

.ifs-btn--primary:hover {
    background: var(--ifs-gold-hover);
    border-color: var(--ifs-gold-hover);
    color: var(--ifs-navy);
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(245, 166, 35, 0.3);
}

.ifs-btn--outline {
    background: transparent;
    color: var(--ifs-white);
    border-color: var(--ifs-white);
}

.ifs-btn--outline:hover {
    background: var(--ifs-white);
    color: var(--ifs-navy);
    border-color: var(--ifs-white);
    transform: translateY(-2px);
}

.ifs-btn--ghost {
    background: transparent;
    color: var(--ifs-dark);
    border-color: var(--ifs-border);
}

.ifs-btn--ghost:hover {
    background: var(--ifs-navy);
    color: var(--ifs-white);
    border-color: var(--ifs-navy);
}

.ifs-btn--white {
    background: var(--ifs-white);
    color: var(--ifs-navy);
    border-color: var(--ifs-white);
}

.ifs-btn--white:hover {
    background: var(--ifs-gold);
    color: var(--ifs-navy);
    border-color: var(--ifs-gold);
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(245, 166, 35, 0.25);
}

.ifs-btn--block {
    width: 100%;
}

/* Learn more link style */
.ifs-link,
.ifs-learn-more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 700;
    text-transform: UPPERCASE;
    letter-spacing: 1.5px;
    color: var(--ifs-blue);
    text-decoration: none;
    cursor: pointer;
    transition: color 0.2s ease, gap 0.2s ease;
}

.ifs-link:hover,
.ifs-learn-more:hover {
    color: var(--ifs-blue-hover);
    gap: 14px;
}

.ifs-link--blue {
    color: var(--ifs-blue);
}

.ifs-link--blue:hover {
    color: var(--ifs-blue-hover);
}

/* ============================================================
   BENEFITS GRID (3x2) - ifs.be style: no card border, light bg
   ============================================================ */

.ifs-benefits-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    background: var(--ifs-white);
    border-left: 1px solid var(--ifs-border);
    border-top: 1px solid var(--ifs-border);
}

.ifs-benefit-card {
    background: var(--ifs-white);
    padding: 50px 32px;
    text-align: center;
    border-right: 1px solid var(--ifs-border);
    border-bottom: 1px solid var(--ifs-border);
    transition: all 0.25s ease-in-out;
    position: relative;
    overflow: hidden;
}

.ifs-benefit-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--ifs-gold);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.3s ease;
}

.ifs-benefit-card:hover {
    background: #fafdff;
    transform: none;
    box-shadow: inset 0 0 0 1px var(--ifs-blue);
}

.ifs-benefit-card:hover::before {
    transform: scaleX(1);
}

.ifs-benefit-card__icon {
    width: 72px;
    height: 72px;
    margin: 0 auto 28px auto;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--ifs-light);
    color: var(--ifs-blue);
    border-radius: 50%;
    transition: all 0.25s ease-in-out;
    font-size: 26px;
}

.ifs-benefit-card:hover .ifs-benefit-card__icon {
    background: var(--ifs-blue);
    color: var(--ifs-white);
    transform: scale(1.08);
}

.ifs-benefit-card__icon i {
    font-size: 26px;
}

.ifs-benefit-card__title {
    font-size: 16px;
    font-weight: 800;
    color: var(--ifs-gold);
    margin: 0 0 14px 0;
    line-height: 1.45;
    text-transform: UPPERCASE;
    letter-spacing: 1px;
}

.ifs-benefit-card p,
.ifs-benefit-card__text {
    font-size: 14px;
    line-height: 1.75;
    color: var(--ifs-dark);
    margin: 0;
    font-weight: 500;
    opacity: 0.85;
}

/* ============================================================
   PILLARS GRID (3 columns)
   ============================================================ */

.ifs-pillars-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-top: 20px;
}

.ifs-pillar-card {
    background: var(--ifs-white);
    padding: 0;
    transition: all 0.25s ease-in-out;
    overflow: hidden;
    border: 1px solid var(--ifs-border);
}

.ifs-pillar-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 45px rgba(20, 33, 61, 0.12);
    border-color: transparent;
}

.ifs-pillar-card__img {
    width: 100%;
    aspect-ratio: 16/10;
    object-fit: cover;
    overflow: hidden;
}

.ifs-pillar-card__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.ifs-pillar-card:hover .ifs-pillar-card__img img {
    transform: scale(1.05);
}

.ifs-pillar-card__body {
    padding: 36px 30px 34px;
}

.ifs-pillar-card__icon {
    width: 52px;
    height: 52px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--ifs-light);
    color: var(--ifs-gold);
    border-radius: 50%;
    font-size: 20px;
}

.ifs-pillar-card__title {
    font-size: 20px;
    font-weight: 800;
    color: var(--ifs-navy);
    margin: 0 0 14px 0;
    line-height: 1.35;
    text-transform: UPPERCASE;
    letter-spacing: 0.8px;
}

.ifs-pillar-card p,
.ifs-pillar-card__text {
    font-size: 15px;
    line-height: 1.75;
    color: var(--ifs-dark);
    margin: 0 0 22px 0;
    font-weight: 500;
    opacity: 0.85;
}

/* ============================================================
   INTEGRATED CONCEPT SECTION (Orange band with diagonal cut)
   ============================================================ */

.ifs-concept {
    padding-top: 30px;
    padding-bottom: 0;
    overflow: hidden;
}

.ifs-concept__header {
    padding-bottom: 40px;
}

.ifs-concept__band {
    position: relative;
    background: var(--ifs-gold);
    padding: 80px 0 130px 0;
    clip-path: polygon(0 0, 100% 0, 100% 88%, 82% 100%, 0 100%);
}

.ifs-concept__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 36px;
    margin-top: -40px;
}

.ifs-concept-card {
    position: relative;
    display: flex;
    flex-direction: column;
}

.ifs-concept-card__img-wrap {
    position: relative;
    overflow: hidden;
    flex-shrink: 0;
}

.ifs-concept-card__img {
    width: 100%;
    height: 300px;
    object-fit: cover;
    display: block;
}

.ifs-concept-card__body {
    max-height: 250px !important;
    position: relative;
    margin: -70px 0 0 0;
    background: #e0e4e8;
    padding: 20px 20px 20px 20px;
    z-index: 2;
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.ifs-concept-card__title {
    margin: 0 0 18px 0;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--ifs-blue);
    line-height: 1.4;
}

.ifs-concept-card__text {
    margin: 0 0 22px 0;
    font-size: 14px;
    line-height: 1.75;
    color: var(--ifs-navy);
    flex: 1;
}

.ifs-concept-card__link {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--ifs-blue);
    text-decoration: none;
    display: inline-block;
    padding-bottom: 4px;
    border-bottom: 2px solid var(--ifs-blue);
    align-self: flex-start;
}

.ifs-concept-card__link:hover {
    color: var(--ifs-blue-hover);
    border-color: var(--ifs-blue-hover);
}

@media (max-width: 991px) {
    .ifs-concept__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 28px;
    }
}

@media (max-width: 767px) {
    .ifs-concept__band {
        padding: 60px 0 110px 0;
    }
    .ifs-concept__grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }
    .ifs-concept-card__img {
        height: 260px;
    }
    .ifs-concept-card__body {
        margin: -50px 20px 0 20px;
        padding: 28px 24px 32px 24px;
    }
}

/* ============================================================
   SPLIT SECTIONS (2 cols alternating - ifs.be style)
   ============================================================ */

.ifs-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 70px;
    align-items: center;
    max-width: 1128px;
    margin: 0 auto;
}

.ifs-split--reverse {
    direction: rtl;
}

.ifs-split--reverse > * {
    direction: ltr;
}

.ifs-split__content {
    padding: 10px 0;
}

.ifs-split__content p {
    font-size: 16px;
    line-height: 1.85;
    color: var(--ifs-dark);
    margin: 0 0 18px 0;
    opacity: 0.88;
    font-weight: 500;
}

.ifs-split__image,
.ifs-split__img-wrap {
    overflow: hidden;
    position: relative;
    box-shadow: 0 30px 60px rgba(20, 33, 61, 0.12);
}

.ifs-split__image::before,
.ifs-split__img-wrap::before {
    content: '';
    position: absolute;
    top: -20px;
    left: -20px;
    width: 100%;
    height: 100%;
    border: 3px solid var(--ifs-gold);
    z-index: -1;
}

.ifs-split__image img,
.ifs-split__img,
.ifs-split__img-wrap img {
    width: 100%;
    aspect-ratio: 5/4;
    object-fit: cover;
    border-radius: 0;
    transition: transform 0.4s ease;
    position: relative;
    z-index: 1;
}

.ifs-split__image:hover img,
.ifs-split__img-wrap:hover img {
    transform: scale(1.03);
}

/* ============================================================
   WHY CHOOSE US (4 col circle icons)
   ============================================================ */

.ifs-why-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    margin-top: 20px;
}

.ifs-why-item {
    text-align: center;
    padding: 10px 6px;
    transition: transform 0.25s ease;
}

.ifs-why-item:hover {
    transform: translateY(-6px);
}

.ifs-why-item__circle {
    width: 90px;
    height: 90px;
    margin: 0 auto 24px auto;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--ifs-light) 0%, #e8eff5 100%);
    color: var(--ifs-blue);
    border-radius: 50%;
    font-size: 30px;
    border: 3px solid var(--ifs-white);
    box-shadow: 0 8px 20px rgba(10, 127, 191, 0.12);
    transition: all 0.25s ease;
    position: relative;
}

.ifs-why-item__circle::after {
    content: '';
    position: absolute;
    inset: -8px;
    border-radius: 50%;
    border: 1px dashed var(--ifs-gold);
    opacity: 0.6;
    transition: all 0.25s ease;
}

.ifs-why-item:hover .ifs-why-item__circle {
    background: linear-gradient(135deg, var(--ifs-blue), var(--ifs-blue-hover));
    color: var(--ifs-white);
    transform: scale(1.08);
    box-shadow: 0 15px 35px rgba(10, 127, 191, 0.25);
}

.ifs-why-item:hover .ifs-why-item__circle::after {
    opacity: 1;
    border-color: var(--ifs-gold);
    inset: -12px;
}

.ifs-why-item h3 {
    font-size: 22px;
    font-weight: 800;
    color: var(--ifs-navy);
    margin: 0 0 10px 0;
    line-height: 1.2;
    letter-spacing: 0.5px;
}

.ifs-why-item p {
    font-size: 14px;
    line-height: 1.7;
    color: var(--ifs-dark);
    margin: 0;
    font-weight: 500;
    opacity: 0.8;
}

/* ============================================================
   CARD GRID (3 column - Projects/Services)
   ============================================================ */

.ifs-card-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.ifs-card {
    background: var(--ifs-white);
    border: 1px solid var(--ifs-border);
    overflow: hidden;
    transition: all 0.25s ease-in-out;
    display: flex;
    flex-direction: column;
    border-radius: 0;
}

.ifs-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 45px rgba(20, 33, 61, 0.15);
    border-color: transparent;
}

.ifs-card__img-wrap {
    position: relative;
    overflow: hidden;
    aspect-ratio: 16/10;
}

.ifs-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.ifs-card:hover .ifs-card__img {
    transform: scale(1.08);
}

.ifs-card__body {
    padding: 30px 26px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.ifs-card__cat {
    font-size: 11px;
    font-weight: 700;
    color: var(--ifs-gold);
    text-transform: UPPERCASE;
    letter-spacing: 2px;
    margin: 0 0 12px 0;
}

.ifs-card__title {
    font-size: 19px;
    font-weight: 800;
    color: var(--ifs-navy);
    margin: 0 0 12px 0;
    line-height: 1.4;
}

.ifs-card__text {
    font-size: 14.5px;
    line-height: 1.7;
    color: var(--ifs-dark);
    margin: 0 0 20px 0;
    flex: 1;
    opacity: 0.85;
    font-weight: 500;
}

.ifs-card__foot {
    margin-top: auto;
}

/* ============================================================
   NEWS GRID (2 cols)
   ============================================================ */

.ifs-news-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
    margin-top: 20px;
}

.ifs-news-card {
    background: var(--ifs-white);
    border: 1px solid var(--ifs-border);
    overflow: hidden;
    transition: all 0.25s ease-in-out;
    display: flex;
    flex-direction: column;
}

.ifs-news-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 45px rgba(20, 33, 61, 0.15);
    border-color: transparent;
}

.ifs-news-card__img-wrap,
.ifs-news-card__img {
    position: relative;
    overflow: hidden;
    aspect-ratio: 16/10;
}

.ifs-news-card__img-wrap img,
.ifs-news-card__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.ifs-news-card:hover .ifs-news-card__img-wrap img,
.ifs-news-card:hover .ifs-news-card__img img {
    transform: scale(1.08);
}

.ifs-news-card__body {
    padding: 32px 28px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.ifs-news-card__date {
    font-size: 12px;
    font-weight: 700;
    color: var(--ifs-gold);
    text-transform: UPPERCASE;
    letter-spacing: 2px;
    margin: 0 0 12px 0;
}

.ifs-news-card__title {
    font-size: 21px;
    font-weight: 800;
    color: var(--ifs-navy);
    margin: 0 0 14px 0;
    line-height: 1.4;
}

.ifs-news-card__excerpt {
    font-size: 14.5px;
    line-height: 1.75;
    color: var(--ifs-dark);
    margin: 0 0 22px 0;
    flex: 1;
    opacity: 0.85;
    font-weight: 500;
}

.ifs-news-card__readmore {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.5px;
    color: var(--ifs-blue);
    text-decoration: none;
    cursor: pointer;
    transition: color 0.2s ease, gap 0.2s ease;
}

.ifs-news-card__readmore:hover {
    color: var(--ifs-blue-hover);
    gap: 14px;
}

/* ============================================================
   TESTIMONIALS (3 col grid)
   ============================================================ */

.ifs-testimonials-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-top: 20px;
}

.ifs-testimonial {
    background: var(--ifs-white);
    border-top: 4px solid var(--ifs-blue);
    padding: 36px 32px 32px;
    box-shadow: 0 6px 20px rgba(20, 33, 61, 0.07);
    transition: all 0.25s ease;
    position: relative;
}

.ifs-testimonial::before {
    content: '\201C';
    position: absolute;
    top: 16px;
    right: 22px;
    font-size: 60px;
    line-height: 1;
    color: var(--ifs-gold);
    opacity: 0.25;
    font-family: Georgia, serif;
    font-weight: 700;
}

.ifs-testimonial:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 40px rgba(20, 33, 61, 0.12);
}

.ifs-testimonial--accent {
    background: linear-gradient(160deg, var(--ifs-navy) 0%, #1b2e55 100%);
    color: var(--ifs-white);
    border-top-color: var(--ifs-gold);
}

.ifs-testimonial--accent::before {
    color: var(--ifs-gold);
    opacity: 0.4;
}

.ifs-testimonial p,
.ifs-testimonial__quote {
    font-size: 15px;
    font-style: normal;
    line-height: 1.8;
    color: inherit;
    margin: 0 0 26px 0;
    font-weight: 500;
    opacity: 0.9;
}

.ifs-testimonial footer {
    padding-top: 18px;
    border-top: 1px solid rgba(20, 33, 61, 0.08);
}

.ifs-testimonial--accent footer {
    border-top-color: rgba(255, 255, 255, 0.12);
}

.ifs-testimonial footer strong {
    display: block;
    font-size: 15px;
    font-weight: 800;
    color: var(--ifs-navy);
    margin: 0 0 4px 0;
    letter-spacing: 0.3px;
}

.ifs-testimonial--accent footer strong {
    color: var(--ifs-gold);
}

.ifs-testimonial footer span,
.ifs-testimonial__role {
    font-size: 13px;
    color: var(--ifs-dark);
    opacity: 0.7;
    font-weight: 500;
    letter-spacing: 0.3px;
}

.ifs-testimonial--accent footer span {
    color: rgba(255, 255, 255, 0.7);
    opacity: 1;
}

.ifs-testimonial__author {
    display: flex;
    align-items: center;
    gap: 14px;
}

.ifs-testimonial__avatar {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: var(--ifs-light);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ifs-gold);
    font-weight: 800;
    font-size: 18px;
    flex-shrink: 0;
}

.ifs-testimonial__name {
    font-size: 15px;
    font-weight: 800;
    color: var(--ifs-navy);
    margin: 0 0 2px 0;
}

/* ============================================================
   SPECIAL COMPONENT: TIMELINE
   ============================================================ */

.ifs-timeline {
    position: relative;
    padding: 20px 0;
}

.ifs-timeline::before {
    content: '';
    position: absolute;
    left: 15px;
    top: 0;
    bottom: 0;
    width: 2px;
    background: rgba(245, 166, 35, 0.3);
}

.ifs-timeline__item {
    position: relative;
    padding-left: 60px;
    margin-bottom: 40px;
}

.ifs-timeline__item:last-child {
    margin-bottom: 0;
}

.ifs-timeline__dot {
    position: absolute;
    left: 6px;
    top: 8px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--ifs-gold);
    border: 3px solid var(--ifs-navy);
    z-index: 2;
}

.ifs-timeline__year {
    font-size: 14px;
    font-weight: 800;
    color: var(--ifs-gold);
    text-transform: UPPERCASE;
    letter-spacing: 1.5px;
    margin: 0 0 8px 0;
}

.ifs-timeline__title {
    font-size: 18px;
    font-weight: 800;
    color: var(--ifs-navy);
    margin: 0 0 8px 0;
}

.ifs-timeline__text {
    font-size: 14.5px;
    line-height: 1.75;
    color: var(--ifs-dark);
    margin: 0;
    font-weight: 500;
    opacity: 0.85;
}

/* ============================================================
   SPECIAL COMPONENT: TABS (Region tabs)
   ============================================================ */

.ifs-tabs__nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    border-bottom: 1px solid var(--ifs-border);
    margin-bottom: 32px;
}

.ifs-tabs__nav button {
    padding: 12px 24px;
    font-size: 12px;
    font-weight: 700;
    text-transform: UPPERCASE;
    letter-spacing: 2px;
    border: none;
    background: transparent;
    cursor: pointer;
    border-bottom: 3px solid transparent;
    transition: all 0.2s ease;
    color: var(--ifs-dark);
    font-family: inherit;
    margin-bottom: -1px;
}

.ifs-tabs__nav button:hover {
    color: var(--ifs-navy);
}

.ifs-tabs__nav button.active {
    color: var(--ifs-gold);
    border-bottom: 3px solid var(--ifs-gold);
    font-weight: 800;
}

.ifs-tabs__content > div {
    display: none;
}

.ifs-tabs__content > div.active {
    display: block;
    animation: fadeIn 0.3s ease;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}

/* ============================================================
   SPECIAL COMPONENT: CAROUSEL
   ============================================================ */

.ifs-carousel {
    position: relative;
    overflow: hidden;
    border-radius: 0;
}

.ifs-carousel__track {
    display: flex;
    transition: transform 0.4s ease;
}

.ifs-carousel__slide {
    flex: 0 0 100%;
    position: relative;
}

.ifs-carousel__slide img {
    width: 100%;
    aspect-ratio: 21/9;
    object-fit: cover;
    border-radius: 0;
}

.ifs-carousel__caption {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 36px;
    background: linear-gradient(to top, rgba(20, 33, 61, 0.9) 0%, rgba(20, 33, 61, 0.5) 60%, transparent 100%);
    color: var(--ifs-white);
    border-radius: 0;
}

.ifs-carousel__caption h4 {
    color: var(--ifs-white);
    font-size: 22px;
    margin: 0 0 8px 0;
    font-weight: 800;
}

.ifs-carousel__caption p {
    margin: 0;
    font-size: 15px;
    color: rgba(255, 255, 255, 0.88);
    font-weight: 500;
}

.ifs-carousel__prev,
.ifs-carousel__next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 46px;
    height: 46px;
    background: var(--ifs-white);
    color: var(--ifs-navy);
    border: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
    transition: all 0.2s ease;
    z-index: 10;
    font-size: 14px;
}

.ifs-carousel__prev:hover,
.ifs-carousel__next:hover {
    background: var(--ifs-gold);
    color: var(--ifs-navy);
    transform: translateY(-50%) scale(1.08);
}

.ifs-carousel__prev {
    left: 20px;
}

.ifs-carousel__next {
    right: 20px;
}

.ifs-carousel__dots {
    position: absolute;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 10px;
    z-index: 10;
}

.ifs-carousel__dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.5);
    border: none;
    cursor: pointer;
    transition: all 0.2s ease;
    padding: 0;
}

.ifs-carousel__dot.active {
    background: var(--ifs-gold);
    width: 30px;
    border-radius: 5px;
}

/* ============================================================
   SPECIAL COMPONENT: OFFICE CARD (5 offices)
   ============================================================ */

.ifs-offices-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 26px;
}

.ifs-office-card {
    background: var(--ifs-white);
    border: 1px solid var(--ifs-border);
    overflow: hidden;
    transition: all 0.25s ease-in-out;
}

.ifs-office-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 45px rgba(20, 33, 61, 0.15);
    border-color: transparent;
}

.ifs-office-card__img {
    width: 100%;
    aspect-ratio: 16/10;
    object-fit: cover;
}

.ifs-office-card__body {
    padding: 28px;
}

.ifs-office-card__city {
    font-size: 18px;
    font-weight: 800;
    color: var(--ifs-navy);
    margin: 0 0 14px 0;
    letter-spacing: 0.5px;
}

.ifs-office-card__addr {
    font-size: 14.5px;
    line-height: 1.75;
    color: var(--ifs-dark);
    margin: 0 0 16px 0;
    font-weight: 500;
    opacity: 0.85;
}

.ifs-office-card__contact {
    font-size: 14px;
    line-height: 1.9;
    color: var(--ifs-dark);
    margin: 0;
    font-weight: 500;
}

.ifs-office-card__contact a {
    color: var(--ifs-blue);
    font-weight: 600;
}

.ifs-office-card__contact a:hover {
    color: var(--ifs-blue-hover);
}

/* ============================================================
   SPECIAL COMPONENT: VACANCY CARD
   ============================================================ */

.ifs-vacancy-card {
    background: var(--ifs-light);
    padding: 36px;
    margin-bottom: 26px;
    transition: all 0.25s ease-in-out;
    border-left: 4px solid var(--ifs-blue);
}

.ifs-vacancy-card:hover {
    box-shadow: 0 12px 32px rgba(20, 33, 61, 0.1);
    transform: translateX(4px);
}

.ifs-vacancy-card__title {
    font-size: 22px;
    font-weight: 800;
    color: var(--ifs-navy);
    margin: 0 0 24px 0;
    letter-spacing: 0.5px;
}

.ifs-vacancy-card__label {
    display: block;
    font-size: 11px;
    font-weight: 800;
    color: var(--ifs-gold);
    text-transform: UPPERCASE;
    letter-spacing: 2px;
    margin: 24px 0 10px 0;
}

.ifs-vacancy-card__label:first-child {
    margin-top: 0;
}

.ifs-vacancy-card__desc {
    font-size: 14.5px;
    line-height: 1.8;
    color: var(--ifs-dark);
    margin: 0 0 10px 0;
    font-weight: 500;
    opacity: 0.88;
}

.ifs-vacancy-card__list {
    margin: 0 0 10px 0;
    padding-left: 20px;
    list-style: disc;
}

.ifs-vacancy-card__list li {
    font-size: 14.5px;
    line-height: 1.8;
    color: var(--ifs-dark);
    margin-bottom: 6px;
    font-weight: 500;
    opacity: 0.88;
}

/* ============================================================
   CONTACT SECTION (Dark 2-col)
   ============================================================ */

.ifs-contact {
    background: linear-gradient(135deg, var(--ifs-navy) 0%, #1a2c50 55%, var(--ifs-navy) 120%);
    position: relative;
    overflow: hidden;
    padding: 90px 0;
    color: var(--ifs-white);
}

.ifs-contact::before {
    content: '';
    position: absolute;
    top: -120px;
    right: -120px;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(245, 166, 35, 0.18) 0%, transparent 70%);
    pointer-events: none;
}

.ifs-contact::after {
    content: '';
    position: absolute;
    bottom: -100px;
    left: -100px;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(10, 127, 191, 0.18) 0%, transparent 70%);
    pointer-events: none;
}

.ifs-contact__grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    align-items: stretch;
}

.ifs-contact__info {
    color: rgba(255, 255, 255, 0.92);
    padding: 10px 0;
}

.ifs-contact__intro {
    font-size: 15.5px;
    line-height: 1.85;
    color: rgba(255, 255, 255, 0.78);
    margin: 22px 0 34px 0;
    font-weight: 500;
}

.ifs-contact__cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin-bottom: 38px;
}

.ifs-contact-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    padding: 22px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
    transition: all 0.25s ease-in-out;
    text-align: left;
}

.ifs-contact-card:hover {
    background: rgba(255, 255, 255, 0.09);
    border-color: rgba(245, 166, 35, 0.4);
    transform: translateY(-4px);
}

.ifs-contact-card__icon {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--ifs-gold), var(--ifs-gold-hover));
    color: var(--ifs-navy);
    font-size: 18px;
    border-radius: 50%;
    font-weight: 700;
}

.ifs-contact-card__body h4 {
    font-size: 11px;
    font-weight: 800;
    text-transform: UPPERCASE;
    letter-spacing: 2px;
    color: var(--ifs-gold);
    margin: 0 0 8px 0;
}

.ifs-contact-card__body p,
.ifs-contact-card__body a {
    font-size: 14.5px;
    color: rgba(255, 255, 255, 0.88);
    margin: 0;
    line-height: 1.6;
    text-decoration: none;
    font-weight: 500;
}

.ifs-contact-card__body a:hover {
    color: var(--ifs-gold);
}

.ifs-contact__socials h4 {
    font-size: 11px;
    font-weight: 800;
    text-transform: UPPERCASE;
    letter-spacing: 2px;
    color: var(--ifs-gold);
    margin: 0 0 16px 0;
}

.ifs-socials {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.ifs-socials__link {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1.5px solid rgba(255, 255, 255, 0.22);
    color: rgba(255, 255, 255, 0.88);
    font-size: 15px;
    transition: all 0.25s ease-in-out;
    text-decoration: none;
    border-radius: 0;
}

.ifs-socials__link:hover {
    background: var(--ifs-gold);
    border-color: var(--ifs-gold);
    color: var(--ifs-navy);
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgba(245, 166, 35, 0.25);
}

.ifs-contact__formwrap {
    background: var(--ifs-white);
    padding: 44px;
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.3);
    color: var(--ifs-dark);
    position: relative;
}

.ifs-contact__formwrap::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--ifs-gold), var(--ifs-blue));
}

/* ============================================================
   FORM ELEMENTS
   ============================================================ */

.ifs-form {
    width: 100%;
}

.ifs-form__title {
    font-size: 22px;
    font-weight: 800;
    color: var(--ifs-navy);
    margin: 0 0 8px 0;
    letter-spacing: 0.5px;
}

.ifs-form__subtitle {
    font-size: 14.5px;
    color: var(--ifs-dark);
    opacity: 0.72;
    margin: 0 0 30px 0;
    font-weight: 500;
}

.ifs-form__group {
    margin-bottom: 20px;
}

.ifs-form__grid2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.ifs-form__label {
    display: block;
    font-size: 11px;
    font-weight: 800;
    color: var(--ifs-navy);
    margin-bottom: 9px;
    text-transform: UPPERCASE;
    letter-spacing: 1.5px;
}

.ifs-form__req {
    color: #E53E3E;
    margin-left: 2px;
}

.ifs-form__input,
.ifs-form__select {
    width: 100%;
    padding: 12px 16px;
    font-size: 14.5px;
    font-family: inherit;
    color: var(--ifs-dark);
    background: var(--ifs-white);
    border: 1.5px solid var(--ifs-border);
    border-radius: 0;
    line-height: 1.5;
    box-shadow: none;
    outline: none;
    transition: all 0.2s ease;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    font-weight: 500;
}

.ifs-form__input:focus,
.ifs-form__select:focus {
    border-color: var(--ifs-blue);
    box-shadow: 0 0 0 4px rgba(10, 127, 191, 0.1);
    outline: none;
}

.ifs-form__textarea {
    resize: vertical;
    min-height: 120px;
}

.ifs-form__status {
    margin-top: 16px;
    font-size: 13.5px;
    font-weight: 700;
    min-height: 18px;
}

/* ============================================================
   FILTER BUTTONS
   ============================================================ */

.ifs-filter {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin: 34px 0 50px 0;
}

.ifs-filter__btn {
    padding: 11px 26px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: UPPERCASE;
    background: var(--ifs-white);
    color: var(--ifs-dark);
    border: 1.5px solid var(--ifs-border);
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    border-radius: 0;
    font-family: inherit;
}

.ifs-filter__btn:hover {
    border-color: var(--ifs-navy);
    color: var(--ifs-navy);
}

.ifs-filter__btn--active {
    background: var(--ifs-gold);
    color: var(--ifs-navy);
    border-color: var(--ifs-gold);
    font-weight: 800;
}

.ifs-filter__btn--active:hover {
    background: var(--ifs-gold-hover);
    border-color: var(--ifs-gold-hover);
    color: var(--ifs-navy);
}

/* ============================================================
   RICHTEXT
   ============================================================ */

.ifs-richtext {
    background: var(--ifs-white);
    padding: 44px;
    color: var(--ifs-dark);
    line-height: 1.85;
    font-size: 15.5px;
}

.ifs-richtext h1,
.ifs-richtext h2,
.ifs-richtext h3,
.ifs-richtext h4,
.ifs-richtext h5,
.ifs-richtext h6 {
    color: var(--ifs-navy);
    margin: 30px 0 16px;
    font-weight: 800;
    line-height: 1.4;
}

.ifs-richtext h1:first-child,
.ifs-richtext h2:first-child {
    margin-top: 0;
}

.ifs-richtext h1 { font-size: 32px; }
.ifs-richtext h2 { font-size: 25px; }
.ifs-richtext h3 { font-size: 19px; }

.ifs-richtext p {
    margin: 0 0 18px 0;
    font-weight: 500;
    opacity: 0.9;
}

.ifs-richtext ul,
.ifs-richtext ol {
    margin: 0 0 18px 24px;
    padding: 0;
}

.ifs-richtext ul { list-style: disc; }
.ifs-richtext ol { list-style: decimal; }

.ifs-richtext li {
    margin-bottom: 8px;
    line-height: 1.8;
    font-weight: 500;
    opacity: 0.9;
}

.ifs-richtext img {
    max-width: 100%;
    height: auto;
    margin: 22px 0;
    box-shadow: 0 8px 22px rgba(20, 33, 61, 0.1);
}

.ifs-richtext a {
    color: var(--ifs-blue);
    text-decoration: underline;
    text-underline-offset: 2px;
    font-weight: 600;
}

.ifs-richtext a:hover {
    color: var(--ifs-blue-hover);
}

.ifs-richtext blockquote {
    border-left: 4px solid var(--ifs-gold);
    padding: 16px 24px;
    margin: 22px 0;
    background: var(--ifs-light);
    font-style: italic;
    color: var(--ifs-dark);
}

.ifs-richtext table {
    width: 100%;
    border-collapse: collapse;
    margin: 22px 0;
}

.ifs-richtext th,
.ifs-richtext td {
    border: 1px solid var(--ifs-border);
    padding: 12px 16px;
    text-align: left;
    font-size: 14.5px;
}

.ifs-richtext th {
    background: var(--ifs-light);
    font-weight: 800;
    color: var(--ifs-navy);
}

/* ============================================================
   FOOTER (4 COLUMNS: LOGO | LINKS1 | LINKS2 | CONTACT)
   ============================================================ */

.ifs-footer {
    background: var(--ifs-blue);
    color: var(--ifs-white);
    padding: 80px 0 70px 0;
}

.ifs-footer__grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1.4fr 1fr;
    gap: 40px;
    align-items: flex-start;
}

.ifs-footer__col--logo {
    display: flex;
    align-items: flex-start;
}

.ifs-footer__logo {
    display: inline-block;
    text-decoration: none;
    transition: transform 0.25s ease;
}

.ifs-footer__logo:hover {
    transform: translateY(-2px);
}

.ifs-footer__list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.ifs-footer__list li {
    margin-bottom: 14px;
}

.ifs-footer__list a {
    font-size: 15px;
    font-weight: 600;
    color: var(--ifs-white);
    text-transform: none;
    text-decoration: none;
    line-height: 1.4;
    transition: color 0.2s ease;
    letter-spacing: 1.5px;
}

.ifs-footer__list a:hover {
    color: var(--ifs-gold);
}

.ifs-footer__col--contact {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.ifs-footer__contact-title {
    font-size: 14px !important;
    font-weight: 800 !important;
    color: var(--ifs-gold) !important;
    text-transform: none !important;
    letter-spacing: 2.5px !important;
    margin: 0 0 22px 0 !important;
    line-height: 1.4 !important;
}

.ifs-footer__socials {
    display: flex;
    gap: 14px;
    margin-top: 0;
}

.ifs-footer__social-link {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 2px solid rgba(255, 255, 255, 0.4);
    color: var(--ifs-white);
    font-size: 15px;
    transition: all 0.25s ease-in-out;
    text-decoration: none;
    border-radius: 50%;
    background: transparent;
}

.ifs-footer__social-link:hover {
    background: var(--ifs-gold);
    border-color: var(--ifs-gold);
    color: var(--ifs-navy);
    transform: translateY(-4px);
}

/* ============================================================
   UTILITY CLASSES
   ============================================================ */

.ifs-mt-0 { margin-top: 0 !important; }
.ifs-mt-2 { margin-top: 8px !important; }
.ifs-mt-4 { margin-top: 16px !important; }
.ifs-mt-6 { margin-top: 24px !important; }
.ifs-mt-8 { margin-top: 32px !important; }
.ifs-mt-10 { margin-top: 40px !important; }
.ifs-mb-0 { margin-bottom: 0 !important; }
.ifs-mb-2 { margin-bottom: 8px !important; }
.ifs-mb-4 { margin-bottom: 16px !important; }
.ifs-mb-6 { margin-bottom: 24px !important; }
.ifs-mb-8 { margin-bottom: 32px !important; }
.ifs-mb-10 { margin-bottom: 40px !important; }
.ifs-ml-auto { margin-left: auto !important; }
.ifs-mr-auto { margin-right: auto !important; }
.ifs-mx-auto { margin-left: auto !important; margin-right: auto !important; }

.ifs-text-gold { color: var(--ifs-gold) !important; }
.ifs-text-blue { color: var(--ifs-blue) !important; }
.ifs-text-navy { color: var(--ifs-navy) !important; }
.ifs-text-white { color: var(--ifs-white) !important; }
.ifs-text-dark { color: var(--ifs-dark) !important; }

.ifs-text-center { text-align: center !important; }
.ifs-text-left { text-align: left !important; }
.ifs-text-right { text-align: right !important; }

.ifs-pt-0 { padding-top: 0 !important; }
.ifs-pb-0 { padding-bottom: 0 !important; }
.ifs-py-0 { padding-top: 0 !important; padding-bottom: 0 !important; }

.ifs-d-flex { display: flex !important; }
.ifs-d-block { display: block !important; }
.ifs-d-none { display: none !important; }
.ifs-align-center { align-items: center !important; }
.ifs-justify-center { justify-content: center !important; }
.ifs-justify-between { justify-content: space-between !important; }
.ifs-flex-wrap { flex-wrap: wrap !important; }
.ifs-gap-2 { gap: 8px !important; }
.ifs-gap-4 { gap: 16px !important; }

.ifs-w-100 { width: 100% !important; }

/* ============================================================
   OUR CATERING CONCEPT - SPLIT HERO DESIGN
   ============================================================ */

.ifs-concepthero {
    position: relative;
    width: 100%;
    min-height: 640px;
    background: #fff;
    overflow: hidden;
    display: flex;
}

.ifs-concepthero__img {
    position: absolute;
    top: 0;
    left: 0;
    width: 60%;
    height: 100%;
    background-size: cover;
    background-position: center left;
    background-repeat: no-repeat;
    z-index: 1;
}

.ifs-concepthero__panel {
    position: absolute;
    top: 0;
    right: 0;
    width: 48%;
    height: 100%;
    background: rgba(10, 45, 95, 0.88);
    backdrop-filter: blur(2px);
    clip-path: polygon(12% 0, 100% 0, 100% 100%, 0 100%);
    z-index: 2;
    display: flex;
    align-items: center;
    padding: 40px 60px 40px 120px;
}

.ifs-concepthero__content {
    position: relative;
    z-index: 3;
    max-width: 560px;
    width: 100%;
}

.ifs-concepthero__title {
    font-size: 44px;
    font-weight: 800;
    line-height: 1.15;
    color: var(--ifs-white);
    margin: 0 0 28px 0;
    text-transform: UPPERCASE;
    letter-spacing: 1px;
}

.ifs-concepthero__text {
    font-size: 17px;
    line-height: 1.75;
    color: rgba(255, 255, 255, 0.92);
    margin: 0 0 22px 0;
    font-weight: 500;
}

.ifs-concepthero__text:last-of-type {
    margin-bottom: 0;
}

@media (max-width: 1199px) {
    .ifs-concepthero { min-height: 580px; }
    .ifs-concepthero__img { width: 55%; }
    .ifs-concepthero__panel { width: 52%; padding: 40px 40px 40px 100px; }
    .ifs-concepthero__title { font-size: 38px; }
}

@media (max-width: 991px) {
    .ifs-concepthero { min-height: auto; flex-direction: column; }
    .ifs-concepthero__img {
        position: relative;
        width: 100%;
        height: 380px;
        background-position: center;
    }
    .ifs-concepthero__panel {
        position: relative;
        width: 100%;
        clip-path: none;
        padding: 60px 32px;
        background: var(--ifs-navy);
    }
    .ifs-concepthero__content { max-width: 100%; }
    .ifs-concepthero__title { font-size: 32px; }
}

@media (max-width: 767px) {
    .ifs-concepthero__img { height: 280px; }
    .ifs-concepthero__panel { padding: 44px 20px; }
    .ifs-concepthero__title { font-size: 26px; }
    .ifs-concepthero__text { font-size: 15px; }
}

/* Navbar override for subpages with white bg hero */
.ifs-navbar--white {
    position: fixed !important;
    height: 129px !important;
    background: rgba(255, 255, 255, 0.98) !important;
    box-shadow: 0 2px 12px rgba(20, 33, 61, 0.08);
}
.ifs-navbar--white .ifs-navbar__link { color: var(--ifs-navy) !important; }
.ifs-navbar--white .ifs-navbar__link:hover,
.ifs-navbar--white .ifs-navbar__item:hover > .ifs-navbar__link,
.ifs-navbar--white .ifs-navbar__link--active { color: var(--ifs-gold) !important; }
.ifs-navbar--white .ifs-navbar__cta {
    border-color: var(--ifs-blue) !important;
    color: var(--ifs-blue) !important;
}
.ifs-navbar--white .ifs-navbar__cta:hover {
    background: var(--ifs-blue) !important;
    color: var(--ifs-white) !important;
    border-color: var(--ifs-blue) !important;
}
.ifs-navbar--white .ifs-navbar__toggle {
    border-color: var(--ifs-navy) !important;
    color: var(--ifs-navy) !important;
}
.ifs-navbar--white .ifs-navbar__toggle span {
    background: var(--ifs-navy) !important;
}
@media (max-width: 991px) {
    .ifs-navbar--white { height: 68px !important; }
}

/* Testimonial - gold accent style (ifs.be) */
.ifs-testimonial--quote-gold {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 20px 0 !important;
    text-align: center;
    max-width: 780px;
    margin: 0 auto;
}
.ifs-testimonial--quote-gold::before { display: none; }
.ifs-testimonial--quote-gold p {
    font-size: 19px !important;
    line-height: 1.8 !important;
    color: var(--ifs-navy) !important;
    font-weight: 500 !important;
    opacity: 1 !important;
    margin: 0 0 20px 0 !important;
}
.ifs-testimonial--quote-gold p .gold {
    color: var(--ifs-gold);
    font-weight: 600;
}
.ifs-testimonial--quote-gold footer {
    border: none !important;
    padding-top: 10px !important;
    text-align: center;
}
.ifs-testimonial--quote-gold footer strong {
    color: var(--ifs-navy) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
}
.ifs-testimonial--quote-gold footer span {
    color: var(--ifs-dark) !important;
    opacity: 0.75 !important;
}

/* Stats band - ifs.be style (light blue-gray) */
.ifs-statsband {
    background: #eef3f7;
    padding: 70px 0;
    position: relative;
}
.ifs-statsband__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    text-align: center;
    max-width: 1128px;
    margin: 0 auto;
    padding: 0 24px;
}
.ifs-statsband__num {
    font-size: 48px;
    font-weight: 800;
    line-height: 1;
    color: var(--ifs-navy);
    margin: 0 0 10px 0;
    letter-spacing: -0.5px;
}
.ifs-statsband__label {
    font-size: 13px;
    font-weight: 700;
    text-transform: UPPERCASE;
    letter-spacing: 1.5px;
    color: var(--ifs-blue);
}
@media (max-width: 991px) {
    .ifs-statsband__grid { grid-template-columns: repeat(2, 1fr); gap: 40px 20px; }
    .ifs-statsband__num { font-size: 40px; }
}
@media (max-width: 767px) {
    .ifs-statsband { padding: 50px 0; }
    .ifs-statsband__num { font-size: 34px; }
    .ifs-statsband__label { font-size: 11px; }
}

/* BACK TO TOP */
.ifs-back-to-top {
    position: fixed;
    bottom: 26px;
    right: 26px;
    width: 46px;
    height: 46px;
    background: var(--ifs-navy);
    color: var(--ifs-white);
    border: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    z-index: 999;
    transition: all 0.25s ease-in-out;
    border-radius: 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    box-shadow: 0 6px 18px rgba(20, 33, 61, 0.25);
}

.ifs-back-to-top.visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.ifs-back-to-top:hover {
    background: var(--ifs-gold);
    color: var(--ifs-navy);
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(245, 166, 35, 0.3);
}

/* MAP */
.ifs-map {
    border-radius: 0;
    overflow: hidden;
    box-shadow: 0 6px 20px rgba(20, 33, 61, 0.08);
    line-height: 0;
}

.ifs-map iframe {
    display: block;
    filter: grayscale(0.05) contrast(1.02);
}

/* ============================================================
   RESPONSIVE
   ============================================================ */

/* Tablet: 992px - 1199px */
@media (max-width: 1199px) {
    .ifs-footer__grid {
        grid-template-columns: repeat(6, 1fr);
    }
    .ifs-footer__col {
        grid-column: span 2;
    }
    .ifs-footer__col--contact {
        grid-column: span 3;
    }
    .ifs-why-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 40px;
    }
}

/* Small tablet: 768px - 991px */
@media (max-width: 991px) {
    body {
        padding-top: 0;
    }

    .ifs-navbar {
        position: relative;
        height: auto;
        min-height: 80px;
        background: var(--ifs-navy);
    }

    .ifs-navbar__inner {
        padding: 16px 24px;
        flex-wrap: wrap;
    }

    .ifs-navbar__toggle {
        display: inline-flex;
    }

    .ifs-navbar__menu {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        flex-direction: column;
        background: var(--ifs-navy);
        padding: 16px 24px 24px;
        align-items: stretch;
        border-top: 1px solid rgba(255, 255, 255, 0.1);
    }

    .ifs-navbar__menu.open {
        display: flex;
    }

    .ifs-navbar__item {
        padding: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    }

    .ifs-navbar__link {
        padding: 14px 0;
        display: flex;
        justify-content: space-between;
        letter-spacing: 2px;
    }

    .ifs-navbar__dropdown {
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        box-shadow: none;
        padding: 8px 0 12px 16px;
        min-width: auto;
        background: transparent;
        display: none;
    }

    .ifs-navbar__dropdown.open {
        display: block;
    }

    .ifs-navbar__dropdown a {
        padding: 8px 0;
        color: var(--ifs-blue);
    }

    .ifs-navbar__cta {
        margin: 16px 0 0 0;
        align-self: flex-start;
    }

    .ifs-hero {
        min-height: 600px;
    }

    .ifs-hero__content {
        padding: 70px 24px;
    }

    .ifs-hero__title {
        font-size: 42px;
    }

    .ifs-pagehero {
        min-height: 320px;
    }

    .ifs-pagehero__content {
        padding: 60px 24px;
    }

    .ifs-pagehero__title {
        font-size: 34px;
    }

    .ifs-benefits-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .ifs-pillars-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .ifs-card-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 26px;
    }

    .ifs-split {
        gap: 44px;
    }

    .ifs-testimonials-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .ifs-contact__grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .ifs-contact__cards {
        grid-template-columns: repeat(3, 1fr);
    }

    .ifs-footer__grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 32px;
    }

    .ifs-footer__col {
        grid-column: span 2;
    }

    .ifs-footer__col--contact {
        grid-column: span 4;
    }

    .ifs-section {
        padding: 70px 0;
    }
}

/* Mobile: < 767px */
@media (max-width: 767px) {
    .ifs-hero {
        min-height: 540px;
    }

    .ifs-hero__title {
        font-size: 34px;
    }

    .ifs-hero__subtitle {
        font-size: 16px;
    }

    .ifs-hero__ctas,
    .ifs-hero__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .ifs-hero__ctas .ifs-btn,
    .ifs-hero__actions .ifs-btn {
        width: 100%;
    }

    .ifs-pagehero__title {
        font-size: 28px;
    }

    h1 { font-size: 32px; }
    h2 { font-size: 23px; }
    h3 { font-size: 17px; }

    .ifs-section-title {
        font-size: 25px;
    }

    .ifs-benefits-grid {
        grid-template-columns: 1fr;
        gap: 0;
        border-left: 1px solid var(--ifs-border);
        border-right: 1px solid var(--ifs-border);
    }

    .ifs-pillars-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .ifs-card-grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .ifs-news-grid {
        grid-template-columns: 1fr;
        gap: 26px;
    }

    .ifs-split {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .ifs-split--reverse {
        direction: ltr;
    }

    .ifs-section {
        padding: 60px 0;
    }

    .ifs-why-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 34px 20px;
    }

    .ifs-why-item__circle {
        width: 78px;
        height: 78px;
        font-size: 26px;
    }

    .ifs-why-item h3 {
        font-size: 19px;
    }

    .ifs-contact__cards {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .ifs-contact-card {
        flex-direction: row;
        align-items: center;
        gap: 16px;
    }

    .ifs-form__grid2 {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .ifs-contact__formwrap {
        padding: 30px 22px;
    }

    .ifs-richtext {
        padding: 26px 22px;
    }

    .ifs-vacancy-card {
        padding: 26px 22px;
    }

    .ifs-tabs__nav {
        overflow-x: auto;
        flex-wrap: nowrap;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .ifs-tabs__nav::-webkit-scrollbar {
        display: none;
    }

    .ifs-tabs__nav button {
        white-space: nowrap;
        flex-shrink: 0;
    }

    .ifs-filter {
        justify-content: flex-start;
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 4px;
        -webkit-overflow-scrolling: touch;
    }

    .ifs-filter__btn {
        flex-shrink: 0;
    }

    .ifs-footer__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 36px;
    }

    .ifs-footer__col {
        grid-column: span 1;
    }

    .ifs-footer__col--contact {
        grid-column: span 2;
    }
}

/* XS Mobile: < 575px */
@media (max-width: 575px) {
    .container {
        padding: 0 16px;
    }

    .ifs-navbar__inner {
        padding: 14px 16px;
    }

    .ifs-hero__content {
        padding: 52px 16px;
    }

    .ifs-hero__title {
        font-size: 29px;
    }

    .ifs-pagehero__content {
        padding: 52px 16px;
    }

    .ifs-pagehero__title {
        font-size: 24px;
    }

    .ifs-section {
        padding: 52px 0;
    }

    .ifs-section-title {
        font-size: 22px;
    }

    .ifs-btn {
        padding: 13px 26px;
        letter-spacing: 1.5px;
    }

    .ifs-why-grid {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .ifs-footer {
        padding: 52px 0 0 0;
    }

    .ifs-footer__grid {
        grid-template-columns: 1fr;
        gap: 36px;
        padding-bottom: 44px;
    }

    .ifs-footer__col,
    .ifs-footer__col--contact {
        grid-column: span 1;
    }

    .ifs-contact__cards {
        grid-template-columns: 1fr;
    }

    .ifs-timeline::before {
        left: 12px;
    }

    .ifs-timeline__item {
        padding-left: 48px;
    }

    .ifs-timeline__dot {
        left: 3px;
        width: 18px;
        height: 18px;
    }

    .ifs-carousel__prev,
    .ifs-carousel__next {
        width: 38px;
        height: 38px;
    }

    .ifs-carousel__prev {
        left: 12px;
    }

    .ifs-carousel__next {
        right: 12px;
    }

    .ifs-carousel__caption {
        padding: 22px 18px;
    }

    .ifs-carousel__caption h4 {
        font-size: 17px;
    }

    .ifs-carousel__caption p {
        font-size: 13.5px;
    }
}

/* ============================================================
   DATA & WASTE MANAGEMENT PAGE - ifs.be design
   ============================================================ */

/* ---- HERO: Split diagonal layout ---- */
.ifs-datahero {
    position: relative;
    width: 100%;
    min-height: 640px;
    background: #fff;
    overflow: hidden;
    display: flex;
}

.ifs-datahero__img {
    position: absolute;
    top: 0;
    left: 0;
    width: 55%;
    height: 100%;
    background-size: cover;
    background-position: center left;
    background-repeat: no-repeat;
    z-index: 1;
}

.ifs-datahero__panel {
    position: absolute;
    top: 0;
    right: 0;
    width: 54%;
    height: 100%;
    background: #143c6e;
    clip-path: polygon(14% 0, 100% 0, 100% 100%, 0 100%);
    z-index: 2;
    display: flex;
    align-items: center;
    padding: 40px 60px 40px 130px;
}

.ifs-datahero__content {
    position: relative;
    z-index: 3;
    max-width: 600px;
    width: 100%;
}

.ifs-datahero__title {
    font-size: 44px;
    font-weight: 800;
    line-height: 1.15;
    color: var(--ifs-white);
    margin: 0 0 16px 0;
    text-transform: UPPERCASE;
    letter-spacing: 1px;
}

.ifs-datahero__accent {
    width: 72px;
    height: 3px;
    background: var(--ifs-gold);
    margin: 0 0 28px 0;
}

.ifs-datahero__subtitle {
    font-size: 16px;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.92);
    margin: 0;
    font-weight: 500;
}
.ifs-datahero__text {
    font-size: 17px;
    line-height: 1.75;
    color: rgba(255, 255, 255, 0.92);
    margin: 0 0 20px 0;
    font-weight: 400;
}

/* ---- Food monitoring section ---- */
.ifs-monitor-lead {
    font-size: 18px;
    line-height: 1.75;
    color: var(--ifs-blue);
    margin: 0 0 36px 0;
    font-weight: 500;
}

.ifs-monitor-subheading {
    font-size: 14px;
    font-weight: 800;
    text-transform: UPPERCASE;
    letter-spacing: 2.5px;
    color: var(--ifs-blue);
    margin: 0 0 18px 0;
}

.ifs-monitor-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.ifs-monitor-list li {
    position: relative;
    padding-left: 26px;
    font-size: 16px;
    font-weight: 500;
    color: var(--ifs-blue);
    line-height: 1.6;
    margin-bottom: 14px;
}

.ifs-monitor-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 9px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--ifs-blue);
}

.ifs-monitor-image {
    box-shadow: 0 20px 50px rgba(20, 33, 61, 0.12);
}

.ifs-monitor-image::before {
    display: none;
}

.ifs-monitor-image img {
    aspect-ratio: 4/3;
}

/* ---- Quote section (light bg) ---- */
.ifs-data-quote {
    background: var(--ifs-light);
}

.ifs-data-quote__text {
    font-size: 28px;
    color: var(--ifs-navy);
    line-height: 1.45;
    font-weight: 700;
    margin: 0 0 28px 0;
    font-style: normal;
}

.ifs-data-quote__author {
    font-size: 14px;
    font-weight: 700;
    color: var(--ifs-blue);
    text-transform: UPPERCASE;
    letter-spacing: 1.5px;
    border-top: 2px solid rgba(10, 127, 191, 0.2);
    padding-top: 18px;
}

/* ---- Benefits: circle icons, gold titles (ifs.be style) ---- */
.ifs-benefits-wrap {
    padding-top: 90px;
}

.ifs-benefits--data {
    border: none;
    background: transparent;
    gap: 3px;
}

.ifs-benefit-card--data {
    background: #eef2f5;
    border: none;
    padding: 56px 36px 48px;
    text-align: center;
    transition: all 0.25s ease-in-out;
    position: relative;
}

.ifs-benefit-card--data::before {
    display: none;
}

.ifs-benefit-card--data:hover {
    background: #e5ebf0;
    transform: none;
    box-shadow: none;
}

.ifs-benefit-icon--circle {
    width: 120px;
    height: 120px;
    margin: 0 auto 32px auto;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fce8e6;
    color: var(--ifs-blue);
    border-radius: 50%;
    transition: all 0.25s ease-in-out;
}

.ifs-benefit-card--data:hover .ifs-benefit-icon--circle {
    background: #fcd9d5;
    transform: scale(1.05);
}

.ifs-benefit-title--gold {
    font-size: 17px;
    font-weight: 800;
    color: var(--ifs-gold);
    margin: 0 0 20px 0;
    line-height: 1.4;
    text-transform: UPPERCASE;
    letter-spacing: 2px;
}

.ifs-benefit-card--data p {
    font-size: 15px;
    line-height: 1.75;
    color: var(--ifs-blue);
    margin: 0;
    font-weight: 500;
    opacity: 0.95;
}

/* ---- Maritime Food Lab grid ---- */
.ifs-foodlab-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.ifs-foodlab-card {
    background: var(--ifs-white);
    border: 1px solid var(--ifs-border);
    overflow: hidden;
    transition: all 0.25s ease-in-out;
    display: flex;
    flex-direction: column;
}

.ifs-foodlab-card:nth-child(4) {
    grid-column: span 1;
}

.ifs-foodlab-card:nth-child(5) {
    grid-column: span 2;
}

.ifs-foodlab-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 45px rgba(20, 33, 61, 0.12);
    border-color: transparent;
}

.ifs-foodlab-card img {
    width: 100%;
    aspect-ratio: 16/10;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.ifs-foodlab-card:hover img {
    transform: scale(1.05);
}

.ifs-foodlab-card h4 {
    padding: 26px 28px 8px;
    font-size: 16px;
    font-weight: 800;
    color: var(--ifs-gold);
    margin: 0;
    text-transform: UPPERCASE;
    letter-spacing: 1.5px;
}

.ifs-foodlab-card p {
    padding: 0 28px 28px;
    font-size: 14.5px;
    line-height: 1.75;
    color: var(--ifs-dark);
    margin: 0;
    font-weight: 500;
    opacity: 0.85;
}

/* ============================================================
   HSE PAGE - 100% IFS.BE PIXEL MATCH
   ============================================================ */

/* ---------- SECTION 2: S-H-E 3-COLUMN GRID ---------- */
.ifs-hse-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 60px;
}

.ifs-hse-col {
    text-align: left;
}

.ifs-hse-col__title {
    font-size: 42px;
    font-weight: 400;
    color: var(--ifs-navy);
    text-transform: UPPERCASE;
    letter-spacing: 2px;
    margin: 0 0 16px 0;
    line-height: 1.15;
}

.ifs-hse-col .ifs-section-accent {
    margin: 0 0 32px 0;
}

.ifs-hse-col__text {
    font-size: 18px;
    line-height: 1.7;
    color: var(--ifs-dark);
    margin: 0;
    font-weight: 400;
    text-align: justify;
}

/* ---------- SECTION 3: TESTIMONIAL QUOTE BANNER ---------- */
.ifs-hse-quote {
    background: #edf0f2;
    padding: 110px 0;
}

.ifs-hse-quote__text {
    font-size: 34px;
    line-height: 1.45;
    color: var(--ifs-gold);
    font-weight: 600;
    margin: 0 0 36px 0;
    font-style: normal;
}

.ifs-hse-quote__author {
    font-size: 19px;
    font-weight: 500;
    color: var(--ifs-blue);
    letter-spacing: 3px;
    text-transform: uppercase;
    font-family: inherit;
}

/* ============================================================
   HSE - RESPONSIVE
   ============================================================ */
@media (max-width: 1199px) {
    .ifs-hse-grid { gap: 40px; }
    .ifs-hse-col__title { font-size: 34px; }
    .ifs-hse-col__text { font-size: 16px; }
    .ifs-hse-quote__text { font-size: 28px; }
}
@media (max-width: 991px) {
    .ifs-hse-grid { grid-template-columns: 1fr; gap: 56px; }
    .ifs-hse-col { text-align: center; }
    .ifs-hse-col .ifs-section-accent { margin-left: auto; margin-right: auto; }
    .ifs-hse-col__text { text-align: center; }
    .ifs-hse-col__title { font-size: 30px; }
    .ifs-hse-quote { padding: 80px 0; }
    .ifs-hse-quote__text { font-size: 24px; }
    .ifs-hse-quote__author { font-size: 16px; letter-spacing: 2px; }
}
@media (max-width: 767px) {
    .ifs-hse-grid { gap: 44px; }
    .ifs-hse-col__title { font-size: 26px; }
    .ifs-hse-col__text { font-size: 15px; }
    .ifs-hse-quote { padding: 60px 0; }
    .ifs-hse-quote__text { font-size: 20px; }
    .ifs-hse-quote__author { font-size: 14px; letter-spacing: 1.5px; }
}

/* ============================================================
   COOKS CLUB PAGE - 100% IFS.BE PIXEL MATCH
   ============================================================ */

/* ---------- SECTION 2: BECOME A MEMBER (SPLIT LAYOUT) ---------- */
.ifs-cc-member {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: start;
}

.ifs-cc-member__title {
    font-size: 40px;
    font-weight: 400;
    color: var(--ifs-navy);
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin: 0 0 18px 0;
    line-height: 1.15;
}

.ifs-cc-member .ifs-section-accent {
    margin: 0 0 36px 0;
}

.ifs-cc-member__text {
    font-size: 19px;
    line-height: 1.65;
    color: var(--ifs-navy);
    margin: 0 0 40px 0;
    font-weight: 400;
}

.ifs-cc-member__btn {
    display: inline-block;
    padding: 18px 52px;
    background: var(--ifs-navy);
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    border: none;
    text-decoration: none;
    transition: all 0.2s ease;
    cursor: pointer;
}

.ifs-cc-member__btn:hover {
    background: var(--ifs-blue);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(20, 33, 61, 0.2);
}

.ifs-cc-member__video {
    position: relative;
    width: 100%;
    aspect-ratio: 16/10;
    background: #e9ecef;
    overflow: hidden;
    border-radius: 0;
}

.ifs-cc-member__video img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.ifs-cc-member__play {
    position: absolute;
    left: 30px;
    bottom: 30px;
    width: 68px;
    height: 48px;
    background: rgba(20, 33, 61, 0.85);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 14px;
    cursor: pointer;
    transition: background 0.2s ease;
}

.ifs-cc-member__play:hover {
    background: var(--ifs-blue);
}

.ifs-cc-member__play i {
    margin-left: 4px;
}

/* ---------- SECTION 3: STAR AWARD SYSTEM (3-COL CARDS) ---------- */
.ifs-cc-stars-wrap {
    background: var(--ifs-light);
}

.ifs-cc-stars-title {
    font-size: 40px;
    font-weight: 400;
    color: var(--ifs-navy);
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin: 0 0 18px 0;
    line-height: 1.15;
}

.ifs-cc-stars-wrap .ifs-section-accent {
    margin: 0 0 32px 0;
}

.ifs-cc-stars-intro {
    font-size: 19px;
    line-height: 1.65;
    color: var(--ifs-dark);
    margin: 0 0 60px 0;
    font-weight: 400;
    max-width: 100%;
}

.ifs-cc-stars-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.ifs-cc-star-card {
    background: #fff;
    border: 1px solid var(--ifs-border);
    text-align: center;
    overflow: hidden;
    transition: all 0.25s ease;
    display: flex;
    flex-direction: column;
}

.ifs-cc-star-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 40px rgba(20, 33, 61, 0.12);
    border-color: transparent;
}

.ifs-cc-star-card__img {
    padding: 50px 30px 30px;
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
}

.ifs-cc-star-card__img svg {
    width: 100%;
    max-width: 260px;
    height: auto;
}

.ifs-cc-star-card__label {
    background: #dedede;
    padding: 24px 20px;
    color: var(--ifs-navy);
    font-size: 19px;
    font-weight: 500;
    letter-spacing: 4px;
    text-transform: uppercase;
    margin: 0;
}

/* ---------- SECTION 4: APPLY CTA ---------- */
.ifs-cc-apply-wrap {
    background: var(--ifs-light);
    padding-top: 40px;
}

.ifs-cc-apply-title {
    color: var(--ifs-gold);
    font-size: 26px;
    font-weight: 800;
    margin: 0 0 28px 0;
    line-height: 1.3;
}

.ifs-cc-apply-text {
    color: var(--ifs-navy);
    font-size: 22px;
    line-height: 1.55;
    margin: 0;
    font-weight: 400;
}

/* ============================================================
   COOKS CLUB - RESPONSIVE
   ============================================================ */
@media (max-width: 1199px) {
    .ifs-cc-member { gap: 50px; }
    .ifs-cc-member__title { font-size: 32px; }
    .ifs-cc-stars-title { font-size: 32px; }
    .ifs-cc-member__text,
    .ifs-cc-stars-intro { font-size: 17px; }
}
@media (max-width: 991px) {
    .ifs-cc-member { grid-template-columns: 1fr; gap: 44px; }
    .ifs-cc-member__title { font-size: 28px; }
    .ifs-cc-stars-title { font-size: 28px; }
    .ifs-cc-stars-grid { grid-template-columns: 1fr; gap: 28px; }
    .ifs-cc-member__text,
    .ifs-cc-stars-intro { font-size: 16px; }
    .ifs-cc-apply-text { font-size: 19px; }
    .ifs-cc-star-card__label { font-size: 17px; letter-spacing: 3px; }
}
@media (max-width: 767px) {
    .ifs-cc-member__title { font-size: 24px; }
    .ifs-cc-stars-title { font-size: 24px; }
    .ifs-cc-member__btn { padding: 16px 36px; font-size: 14px; letter-spacing: 2.5px; }
    .ifs-cc-member__text,
    .ifs-cc-stars-intro { font-size: 15px; }
    .ifs-cc-apply-title { font-size: 22px; }
    .ifs-cc-apply-text { font-size: 17px; }
    .ifs-cc-star-card__img { padding: 40px 22px 24px; }
    .ifs-cc-star-card__label { font-size: 15px; letter-spacing: 2.5px; padding: 20px 16px; }
}

/* ============================================================
   ABOUT-2 PAGE
   ============================================================ */
.ifs-about-info__title {
    font-size: 42px;
    color: var(--ifs-navy);
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-weight: 700;
    margin: 0 0 18px 0;
}
.ifs-about-info__text {
    font-size: 20px;
    line-height: 1.7;
    color: var(--ifs-navy);
    font-weight: 400;
    margin: 0 0 22px 0;
    max-width: 900px;
}

/* --- Milestones --- */
.ifs-about-milestones {
    position: relative;
    margin-top: 60px;
    padding: 20px 0 60px 0;
}
.ifs-about-milestones::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 2px;
    background: var(--ifs-gold);
    transform: translateX(-50%);
}
.ifs-about-milestones__title {
    font-size: 42px;
    color: var(--ifs-navy);
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 700;
    margin: 0 0 18px 0;
}
.ifs-about-milestones__subtitle {
    font-size: 24px;
    color: var(--ifs-navy);
    font-weight: 500;
    margin: 30px 0 0 0;
    opacity: 0.92;
}
.ifs-about-milestone {
    position: relative;
    margin-bottom: 90px;
    z-index: 2;
}
.ifs-about-milestone__year {
    font-size: 64px;
    color: var(--ifs-blue);
    font-weight: 700;
    text-align: center;
    line-height: 1;
    margin: 0 0 20px 0;
    position: relative;
    z-index: 3;
    background: var(--ifs-light);
    display: inline-block;
    left: 50%;
    transform: translateX(-50%);
}
.ifs-about-milestone__circle-wrap {
    position: relative;
    width: 100%;
    display: flex;
    justify-content: center;
    margin: 0 0 30px 0;
    z-index: 3;
}
.ifs-about-milestone__circle {
    position: relative;
    width: 260px;
    height: 260px;
    border-radius: 50%;
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(20,33,61,.15);
    border: 4px solid #fff;
    background: #fff;
}
.ifs-about-milestone__circle img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.ifs-about-milestone__content {
    max-width: 44%;
    position: relative;
    z-index: 3;
}
.ifs-about-milestone--right .ifs-about-milestone__content {
    margin-left: 56%;
    text-align: left;
}
.ifs-about-milestone--left .ifs-about-milestone__content {
    margin-right: 56%;
    text-align: right;
    margin-left: 0;
}
.ifs-about-milestone--last {
    margin-bottom: 20px;
}
.ifs-about-milestone__dual-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    max-width: 100%;
    margin-top: 10px;
}
.ifs-about-milestone__side {
    position: relative;
    z-index: 3;
}
.ifs-about-milestone__side--left {
    text-align: right;
    padding-right: 10px;
}
.ifs-about-milestone__side--right {
    text-align: left;
    padding-left: 10px;
}
.ifs-about-milestone__label {
    font-size: 24px;
    color: var(--ifs-gold);
    font-weight: 700;
    margin: 0 0 14px 0;
}
.ifs-about-milestone__desc {
    font-size: 22px;
    line-height: 1.55;
    color: var(--ifs-navy);
    font-weight: 400;
    margin: 0;
    opacity: 0.95;
}

/* --- CSR Section --- */
.ifs-section--gray {
    background: #e6e9ec;
}
.ifs-about-csr {
    max-width: 900px;
}
.ifs-about-csr__title {
    font-size: 42px;
    color: var(--ifs-navy);
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-weight: 700;
    margin: 0 0 18px 0;
}
.ifs-about-csr__text {
    font-size: 20px;
    line-height: 1.7;
    color: var(--ifs-navy);
    margin: 0 0 22px 0;
    font-weight: 400;
}
.ifs-about-csr__btn {
    margin-top: 10px;
}
.ifs-btn {
    display: inline-block;
    padding: 16px 48px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    border: none;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.25s ease;
    font-family: inherit;
}
.ifs-btn--blue {
    background: var(--ifs-blue);
    color: #fff;
}
.ifs-btn--blue:hover {
    background: var(--ifs-navy);
    transform: translateY(-2px);
    color: #fff;
    text-decoration: none;
}
.ifs-btn--navy {
    background: var(--ifs-navy);
    color: #fff;
}
.ifs-btn--navy:hover {
    background: var(--ifs-blue);
    transform: translateY(-2px);
    color: #fff;
    text-decoration: none;
}
.ifs-btn--ghost.ifs-btn--navy {
    background: transparent;
    color: var(--ifs-navy);
    border: 2px solid var(--ifs-navy);
}
.ifs-btn--ghost.ifs-btn--navy:hover {
    background: var(--ifs-navy);
    color: #fff;
}

/* --- Team Section --- */
.ifs-about-team__title {
    font-size: 42px;
    color: var(--ifs-navy);
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 700;
    margin: 0 0 18px 0;
}
.ifs-about-team-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    margin-top: 60px;
    text-decoration: none;
}
.ifs-about-team-card {
    display: block;
    text-decoration: none;
    transition: transform 0.25s ease;
}
.ifs-about-team-card:hover {
    transform: translateY(-4px);
    text-decoration: none;
}
.ifs-about-team-card:hover .ifs-about-team-card__name {
    color: var(--ifs-blue);
}
.ifs-about-team-card__img {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    width: 100%;
    margin-bottom: 20px;
}
.ifs-about-team-card__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}
.ifs-about-team-card:hover .ifs-about-team-card__img img {
    transform: scale(1.04);
}
.ifs-about-team-card__name {
    font-size: 20px;
    color: var(--ifs-navy);
    font-weight: 600;
    text-align: left;
    margin: 0;
    transition: color 0.2s ease;
}

/* --- CTA Section --- */
.ifs-about-cta {
    background: var(--ifs-gold);
    padding: 110px 0;
    text-align: center;
}
.ifs-about-cta__title {
    font-size: 44px;
    color: var(--ifs-navy);
    font-weight: 600;
    margin: 0 0 20px 0;
}
.ifs-about-cta__text {
    font-size: 22px;
    color: var(--ifs-navy);
    margin: 0 0 40px 0;
    font-weight: 500;
}
.ifs-about-cta__btn {
    padding: 20px 60px;
    font-size: 16px;
    letter-spacing: 3px;
}

/* ============================================================
   ABOUT-2 - RESPONSIVE
   ============================================================ */
@media (max-width: 1199px) {
    .ifs-about-info__title,
    .ifs-about-milestones__title,
    .ifs-about-csr__title,
    .ifs-about-team__title { font-size: 34px; }
    .ifs-about-info__text,
    .ifs-about-csr__text { font-size: 18px; }
    .ifs-about-milestones__subtitle { font-size: 20px; }
    .ifs-about-milestone__year { font-size: 52px; }
    .ifs-about-milestone__circle { width: 220px; height: 220px; }
    .ifs-about-milestone__label { font-size: 20px; }
    .ifs-about-milestone__desc { font-size: 18px; }
    .ifs-about-milestone__content { max-width: 42%; }
    .ifs-about-milestone--right .ifs-about-milestone__content { margin-left: 58%; }
    .ifs-about-milestone--left .ifs-about-milestone__content { margin-right: 58%; }
    .ifs-about-cta__title { font-size: 36px; }
    .ifs-about-cta__text { font-size: 20px; }
}

@media (max-width: 991px) {
    .ifs-about-info__title,
    .ifs-about-milestones__title,
    .ifs-about-csr__title,
    .ifs-about-team__title { font-size: 28px; }
    .ifs-about-info__text,
    .ifs-about-csr__text { font-size: 17px; }

    .ifs-about-milestones::before { left: 24px; transform: none; }
    .ifs-about-milestone {
        margin-bottom: 60px;
        align-items: flex-start;
    }
    .ifs-about-milestone__year {
        font-size: 38px;
        display: block;
        left: auto;
        transform: none;
        text-align: left;
        margin-left: 58px;
        background: transparent;
        padding-top: 0;
        margin-bottom: 12px;
    }
    .ifs-about-milestone__circle-wrap {
        justify-content: flex-start;
        margin-left: 0;
        margin-bottom: 20px;
    }
    .ifs-about-milestone__circle {
        width: 180px;
        height: 180px;
        margin-left: 0;
    }
    .ifs-about-milestone__content,
    .ifs-about-milestone__side {
        max-width: 100% !important;
        margin-left: 58px !important;
        margin-right: 0 !important;
        text-align: left !important;
        padding: 0 !important;
    }
    .ifs-about-milestone__dual-row {
        grid-template-columns: 1fr;
        gap: 30px;
        margin-left: 58px;
    }
    .ifs-about-milestone__side--left,
    .ifs-about-milestone__side--right {
        text-align: left !important;
        padding: 0 !important;
        margin-left: 0 !important;
    }

    .ifs-about-milestone__label { font-size: 18px; }
    .ifs-about-milestone__desc { font-size: 16px; }

    .ifs-about-team-grid { grid-template-columns: repeat(2, 1fr); gap: 24px; }
    .ifs-about-cta { padding: 80px 0; }
    .ifs-about-cta__title { font-size: 30px; }
    .ifs-about-cta__text { font-size: 18px; }
    .ifs-about-cta__btn { padding: 18px 48px; font-size: 15px; }
}

@media (max-width: 767px) {
    .ifs-about-info__title,
    .ifs-about-milestones__title,
    .ifs-about-csr__title,
    .ifs-about-team__title { font-size: 24px; letter-spacing: 1px; }
    .ifs-about-info__text,
    .ifs-about-csr__text { font-size: 16px; }
    .ifs-about-milestones__subtitle { font-size: 18px; }

    .ifs-about-milestone__year { font-size: 32px; margin-left: 54px; }
    .ifs-about-milestone__circle { width: 150px; height: 150px; }
    .ifs-about-milestone__label { font-size: 16px; margin-bottom: 10px; }
    .ifs-about-milestone__desc { font-size: 15px; }
    .ifs-about-milestones::before { left: 20px; }
    .ifs-about-milestone { margin-bottom: 48px; }
    .ifs-about-milestone__content,
    .ifs-about-milestone__side,
    .ifs-about-milestone__dual-row {
        margin-left: 54px !important;
    }

    .ifs-about-team-grid { grid-template-columns: 1fr; gap: 20px; margin-top: 40px; }
    .ifs-about-team-card__img { aspect-ratio: 16 / 10; }
    .ifs-about-team-card__name { font-size: 18px; }

    .ifs-about-cta { padding: 60px 0; }
    .ifs-about-cta__title { font-size: 26px; }
    .ifs-about-cta__text { font-size: 16px; margin-bottom: 30px; }
    .ifs-about-cta__btn { padding: 16px 36px; font-size: 14px; letter-spacing: 2.5px; }

    .ifs-btn { padding: 14px 36px; font-size: 14px; letter-spacing: 2px; }
}

/* ============================================================
   DATA & WASTE - RESPONSIVE
   ============================================================ */
@media (max-width: 1199px) {
    .ifs-datahero { min-height: 580px; }
    .ifs-datahero__img { width: 52%; }
    .ifs-datahero__panel { width: 58%; padding: 40px 40px 40px 110px; }
    .ifs-datahero__title { font-size: 38px; }
    .ifs-data-quote__text { font-size: 24px; }
}

@media (max-width: 991px) {
    .ifs-datahero { min-height: auto; flex-direction: column; }
    .ifs-datahero__img {
        position: relative;
        width: 100%;
        height: 360px;
        background-position: center;
    }
    .ifs-datahero__panel {
        position: relative;
        width: 100%;
        clip-path: none;
        padding: 60px 32px;
    }
    .ifs-datahero__content { max-width: 100%; }
    .ifs-datahero__title { font-size: 32px; }
    .ifs-data-quote__text { font-size: 22px; }
    .ifs-benefit-card--data { padding: 44px 28px 36px; }
    .ifs-benefit-icon--circle { width: 100px; height: 100px; }
    .ifs-foodlab-grid { grid-template-columns: repeat(2, 1fr); }
    .ifs-foodlab-card:nth-child(5) { grid-column: span 2; }
}

@media (max-width: 767px) {
    .ifs-datahero__img { height: 280px; }
    .ifs-datahero__panel { padding: 44px 20px; }
    .ifs-datahero__title { font-size: 26px; }
    .ifs-datahero__subtitle { font-size: 15px; }
    .ifs-data-quote__text { font-size: 20px; }
    .ifs-monitor-lead { font-size: 16px; }
    .ifs-monitor-list li { font-size: 15px; }
    .ifs-benefit-card--data { padding: 36px 22px 30px; }
    .ifs-benefit-icon--circle { width: 88px; height: 88px; }
    .ifs-benefit-title--gold { font-size: 15px; }
    .ifs-foodlab-grid { grid-template-columns: 1fr; }
    .ifs-foodlab-card:nth-child(5) { grid-column: span 1; }
    .ifs-foodlab-card h4 { padding: 22px 22px 8px; }
    .ifs-foodlab-card p { padding: 0 22px 24px; }
}

/* ============================================================
   TRAIN & SUPPORT COOK PAGE - 100% IFS.BE PIXEL MATCH
   ============================================================ */

/* ---------- SECTION 1: HERO ---------- */
.ifs-traing-hero {
    position: relative;
    height: 798px;
    overflow: hidden;
}
.ifs-traing-hero__bg {
    position: absolute;
    inset: 0;
    background-image: url('https://coresg-normal.trae.ai/api/ide/v1/text_to_image?prompt=Diverse%20team%20of%20professional%20maritime%20galley%20cooks%20with%20IFS%20caps%20and%20blue%20aprons%20giving%20thumbs%20up%20in%20a%20large%20modern%20industrial%20ship%20kitchen%20galley%2C%20happy%20group%20photograph%2C%20wide%20angle%2C%20high%20quality&image_size=landscape_16_9');
    background-size: cover;
    background-position: center;
}
.ifs-traing-hero__panel {
    position: absolute;
    top: 0;
    right: 0;
    width: 55%;
    height: 100%;
    background: rgb(26, 102, 148);
    clip-path: polygon(20% 0, 100% 0, 100% 100%, 0% 100%);
    padding: 0 80px 0 140px;
    display: flex;
    align-items: center;
}
.ifs-traing-hero__content { max-width: 500px; }
.ifs-traing-hero__title {
    margin: 0 0 28px;
    font-size: 35px;
    line-height: 1.2;
    font-weight: 400;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.6px;
}
.ifs-traing-hero__text {
    margin: 0 0 18px;
    font-size: 20px;
    line-height: 1.55;
    font-weight: 400;
    color: #fff;
}

/* ---------- SECTION COMMON ---------- */
.ifs-traing-section {
    padding: 90px 0;
}
.ifs-traing-section--grey {
    background: #f3f3f3;
}
.ifs-traing-section--blue {
    background: #eef2f4;
}

/* ---------- SECTION HEAD ---------- */
.ifs-traing-head {
    margin-bottom: 60px;
}
.ifs-traing-head__label {
    margin: 0 0 14px;
    font-size: 30px;
    font-weight: 400;
    line-height: 1;
    color: rgb(26, 102, 148);
    text-transform: uppercase;
    letter-spacing: 0.8px;
    text-align: left;
}
.ifs-traing-head__accent {
    width: 70px;
    height: 4px;
    background: rgb(241, 169, 0);
    margin: 0 0 36px 0;
}
.ifs-traing-head__lead {
    margin: 0;
    font-size: 30px;
    font-weight: 600;
    line-height: 1.3;
    color: rgb(0, 163, 224);
    text-align: left;
    max-width: 1080px;
}

/* ---------- SECTION 2: TRAININGS 2-COL ---------- */
.ifs-traing-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    align-items: start;
}
.ifs-traing-grid__text p,
.ifs-traing-row__text p,
.ifs-traing-tools__text p {
    margin: 0 0 18px;
    font-size: 17px;
    line-height: 1.65;
    color: rgb(26, 102, 148);
    font-weight: 400;
}
.ifs-traing-link {
    color: rgb(0, 163, 224);
    font-weight: 600;
    text-decoration: none;
}
.ifs-traing-link:hover { text-decoration: underline; }
.ifs-traing-subhead {
    margin: 24px 0 14px;
    font-size: 17px;
    line-height: 1.4;
    font-weight: 500;
    color: rgb(26, 102, 148);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.ifs-traing-quote {
    margin: 32px 0 36px;
    padding: 0;
    border: 0;
}
.ifs-traing-quote p {
    margin: 0 0 16px;
    font-size: 20px;
    line-height: 1.5;
    color: rgb(241, 169, 0);
    font-weight: 400;
    font-style: normal;
}
.ifs-traing-quote footer {
    font-size: 17px;
    line-height: 1;
    color: rgb(26, 102, 148);
    font-weight: 500;
    letter-spacing: 0.5px;
}

/* ---------- IMAGES ---------- */
.ifs-traing-img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}
.ifs-traing-img--short {
    height: 220px;
    object-position: center;
}

/* ---------- SECTION 3: COURSE ROWS ZIGZAG ---------- */
.ifs-traing-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    align-items: start;
    margin-bottom: 72px;
}
.ifs-traing-row:last-child { margin-bottom: 0; }
.ifs-traing-row--reverse { grid-auto-flow: dense; }
.ifs-traing-row--reverse .ifs-traing-row__img { grid-column: 2; }
.ifs-traing-row--reverse .ifs-traing-row__text { grid-column: 1; }
.ifs-traing-course-title {
    margin: 0 0 20px;
    font-size: 17px;
    line-height: 1.3;
    font-weight: 500;
    color: rgb(26, 102, 148);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.ifs-traing-bold {
    margin: 20px 0 10px;
    font-size: 17px;
    font-weight: 600;
    color: rgb(26, 102, 148);
}
.ifs-traing-meta {
    list-style: none;
    margin: 0 0 20px;
    padding: 0;
}
.ifs-traing-meta li {
    position: relative;
    padding: 4px 0 4px 20px;
    font-size: 15px;
    line-height: 1.5;
    color: rgb(26, 102, 148);
    font-weight: 400;
}
.ifs-traing-meta li::before {
    content: "";
    position: absolute;
    left: 2px;
    top: 11px;
    width: 7px;
    height: 7px;
    background: rgb(26, 102, 148);
    border-radius: 50%;
}
.ifs-traing-meta--spaced li { padding-top: 6px; padding-bottom: 6px; }

/* ---------- SECTION 4: CEO CENTER QUOTE ---------- */
.ifs-traing-ceoquote {
    padding: 90px 0;
    background: #fff;
    text-align: center;
}
.ifs-traing-ceoquote__mark {
    font-size: 120px;
    line-height: 0.6;
    color: rgb(26, 102, 148);
    font-family: Georgia, "Times New Roman", serif;
    margin: 0 0 28px;
    height: 60px;
}
.ifs-traing-ceoquote blockquote {
    max-width: 1080px;
    margin: 0 auto;
    border: 0;
    padding: 0;
}
.ifs-traing-ceoquote blockquote p {
    margin: 0 0 26px;
    font-size: 30px;
    line-height: 1.35;
    font-weight: 600;
    color: rgb(0, 163, 224);
    font-style: normal;
}
.ifs-traing-ceoquote blockquote footer {
    font-size: 17px;
    line-height: 1;
    color: rgb(26, 102, 148);
    font-weight: 500;
    letter-spacing: 2px;
    text-transform: uppercase;
}

/* ---------- SECTION 5: TOOLS 2-COL (text left + masonry imgs right) ---------- */
.ifs-traing-tools {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    align-items: start;
}
.ifs-traing-tools__head {
    margin: 0 0 22px;
    font-size: 25px;
    line-height: 1.25;
    font-weight: 400;
    color: rgb(241, 169, 0);
}
.ifs-traing-tools__imgs {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: minmax(0, auto) minmax(0, auto);
    grid-auto-flow: row;
    gap: 24px;
    align-items: start;
}
.ifs-traing-tools__cell {
    overflow: hidden;
}
.ifs-traing-tools__img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}
.ifs-traing-tools__cell--a .ifs-traing-tools__img { height: 163px; }
.ifs-traing-tools__cell--b .ifs-traing-tools__img { height: 197px; }
.ifs-traing-tools__cell--c .ifs-traing-tools__img { height: 287px; }
.ifs-traing-tools__cell--d .ifs-traing-tools__img { height: 142px; }

/* ---------- RESPONSIVE ---------- */
@media (max-width: 1199px) {
    .ifs-traing-hero__panel { padding: 0 50px 0 110px; width: 60%; }
    .ifs-traing-hero__title { font-size: 30px; }
    .ifs-traing-hero__text { font-size: 18px; }
}

@media (max-width: 991px) {
    .ifs-traing-hero { height: auto; }
    .ifs-traing-hero__bg { position: relative; height: 380px; }
    .ifs-traing-hero__panel {
        position: relative;
        width: 100%;
        clip-path: none;
        padding: 60px 32px;
    }
    .ifs-traing-hero__content { max-width: 100%; }
    .ifs-traing-hero__title { font-size: 28px; }
    .ifs-traing-hero__text { font-size: 17px; }

    .ifs-traing-section { padding: 64px 0; }
    .ifs-traing-head { margin-bottom: 44px; }
    .ifs-traing-head__label { font-size: 26px; }
    .ifs-traing-head__lead { font-size: 24px; }

    .ifs-traing-grid,
    .ifs-traing-row,
    .ifs-traing-tools { grid-template-columns: 1fr; gap: 36px; }
    .ifs-traing-row--reverse .ifs-traing-row__img,
    .ifs-traing-row--reverse .ifs-traing-row__text { grid-column: auto; }
    .ifs-traing-row { margin-bottom: 56px; }
    .ifs-traing-row--reverse .ifs-traing-row__img { order: -1; }

    .ifs-traing-ceoquote { padding: 64px 0; }
    .ifs-traing-ceoquote__mark { font-size: 90px; }
    .ifs-traing-ceoquote blockquote p { font-size: 24px; }

    .ifs-traing-tools__imgs { gap: 18px; }
    .ifs-traing-tools__cell--a .ifs-traing-tools__img { height: auto; max-height: 180px; }
    .ifs-traing-tools__cell--b .ifs-traing-tools__img { height: auto; max-height: 220px; }
    .ifs-traing-tools__cell--c .ifs-traing-tools__img { height: auto; max-height: 300px; }
    .ifs-traing-tools__cell--d .ifs-traing-tools__img { height: auto; max-height: 160px; }
}

@media (max-width: 767px) {
    .ifs-traing-hero__bg { height: 280px; }
    .ifs-traing-hero__panel { padding: 44px 20px; }
    .ifs-traing-hero__title { font-size: 22px; margin-bottom: 20px; }
    .ifs-traing-hero__text { font-size: 15px; line-height: 1.6; }

    .ifs-traing-section { padding: 48px 0; }
    .ifs-traing-head { margin-bottom: 32px; }
    .ifs-traing-head__label { font-size: 22px; }
    .ifs-traing-head__accent { margin-bottom: 22px; }
    .ifs-traing-head__lead { font-size: 20px; }

    .ifs-traing-grid,
    .ifs-traing-row,
    .ifs-traing-tools { gap: 28px; }
    .ifs-traing-grid__text p,
    .ifs-traing-row__text p,
    .ifs-traing-tools__text p { font-size: 15px; }
    .ifs-traing-subhead { font-size: 15px; margin-top: 18px; }
    .ifs-traing-quote { margin: 24px 0 28px; }
    .ifs-traing-quote p { font-size: 17px; }
    .ifs-traing-meta li { font-size: 14px; }

    .ifs-traing-ceoquote { padding: 48px 0; }
    .ifs-traing-ceoquote__mark { font-size: 70px; height: 40px; margin-bottom: 20px; }
    .ifs-traing-ceoquote blockquote p { font-size: 19px; margin-bottom: 20px; }
    .ifs-traing-ceoquote blockquote footer { font-size: 14px; letter-spacing: 1.2px; }

    .ifs-traing-tools__head { font-size: 21px; }
    .ifs-traing-tools__imgs { gap: 14px; }
}

/* ---------- SECTION ACCENT HELPERS ---------- */
.ifs-section-accent--left {
    margin-left: 0 !important;
    margin-right: auto !important;
}
.ifs-section-accent--gold {
    background: var(--ifs-gold) !important;
}

/* ============================================================
   CORPORATE SOCIAL ENGAGEMENT (CSR) PAGE
   ============================================================ */

/* ---------- SECTION 2: CITY PIRATES ---------- */
.ifs-csr-pirates {
    background-image: url('https://ifs.be/wp-content/uploads/2020/05/Rechthoek-6.png');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    padding-top: 80px;
    padding-bottom: 80px;
}

.ifs-csr-block {
    max-width: 100%;
    margin: 0 auto;
}

.ifs-csr-block__title {
    font-size: 52px;
    font-weight: 400;
    color: var(--ifs-navy);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0;
    line-height: 1.1;
}

.ifs-csr-block__title--light {
    color: #ffffff;
}

.ifs-csr-block__accent {
    width: 55px !important;
    height: 3px !important;
    margin: 14px 0 36px 0 !important;
}

.ifs-csr-block__text {
    max-width: 68%;
    margin: 0 0 36px 0;
}

.ifs-csr-block__text p {
    font-size: 22px;
    line-height: 1.55;
    color: var(--ifs-navy);
    font-weight: 400;
    margin: 0 0 20px 0;
}

.ifs-csr-block__text--light p {
    color: #ffffff;
}

.ifs-csr-block__more {
    margin: 0 !important;
    font-size: 19px !important;
}

.ifs-csr-block__more a {
    color: inherit;
    text-decoration: underline;
    font-weight: 400;
}

.ifs-csr-block__more a:hover {
    opacity: 0.85;
}

/* ---------- VIDEO ---------- */
.ifs-csr-video {
    max-width: 65%;
    margin: 0 auto 0 0;
}

.ifs-csr-video__inner {
    position: relative;
    width: 100%;
    padding-top: 56.31%;
    border-radius: 0;
    overflow: hidden;
    background: #000;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.18);
}

.ifs-csr-video__inner iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.ifs-csr-video__link {
    display: block;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}

/* ---------- SECTION 3: ANAK TNK FOUNDATION ---------- */
.ifs-csr-tnk {
    background-color: #422829;
    padding-top: 80px;
    padding-bottom: 80px;
}

/* ============================================================
   CSR - RESPONSIVE
   ============================================================ */
@media (max-width: 1199px) {
    .ifs-csr-block__title { font-size: 42px; }
    .ifs-csr-block__text { max-width: 78%; }
    .ifs-csr-block__text p { font-size: 20px; }
    .ifs-csr-video { max-width: 75%; }
}

@media (max-width: 991px) {
    .ifs-csr-pirates { padding: 64px 0; }
    .ifs-csr-tnk { padding: 64px 0; }

    .ifs-csr-block__title { font-size: 36px; }
    .ifs-csr-block__text { max-width: 100%; }
    .ifs-csr-block__text p { font-size: 18px; }
    .ifs-csr-block__more { font-size: 17px !important; }

    .ifs-csr-video { max-width: 100%; }
}

@media (max-width: 767px) {
    .ifs-csr-pirates { padding: 48px 0; }
    .ifs-csr-tnk { padding: 48px 0; }

    .ifs-csr-block__title { font-size: 30px; }
    .ifs-csr-block__accent { margin: 12px 0 28px 0 !important; }
    .ifs-csr-block__text p { font-size: 16px; line-height: 1.65; margin: 0 0 16px 0; }
    .ifs-csr-block__more { font-size: 15px !important; }

    .ifs-csr-video__inner { box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15); }
}

/* ============================================================
   PAGE: OUR CREW — Meet Our Crew Tabbed Grid
   Reference: ifs.be/our-crew/
   ============================================================ */

/* ---------- SECTION WRAP ---------- */
.ifs-ourcrew-wrap {
    background-color: #F7F7F7;
    padding-top: 80px;
    padding-bottom: 80px;
}

/* ---------- TITLE + INTRO ---------- */
.ifs-ourcrew-title {
    color: #1A6694;
    font-size: 30px;
    font-weight: 400;
    line-height: 36px;
    letter-spacing: normal;
    text-transform: uppercase;
    text-align: left;
    margin: 0;
    padding: 0;
    display: inline-block;
}

.ifs-ourcrew-accent {
    margin: 16px 0 24px 0 !important;
}

.ifs-ourcrew-intro {
    font-size: 17px;
    line-height: 1.6;
    color: #333333;
    max-width: 950px;
    margin: 0 0 48px 0;
    padding: 0;
}

/* ---------- TABS ---------- */
.ifs-tabs {
    width: 100%;
}

.ifs-tabs__nav {
    list-style: none;
    margin: 0 0 48px 0;
    padding: 0;
    border-bottom: 1px solid #EAEAEA;
    text-align: center;
    display: block;
}

.ifs-tabs__item {
    display: inline-block;
    margin: 0 0 -1px 0;
    padding: 0;
}

.ifs-tabs__item a {
    display: block;
    padding: 0 23px 18px;
    font-size: 15px;
    font-weight: 600;
    line-height: normal;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    text-align: center;
    color: #000000;
    text-decoration: none;
    border-bottom: 2px solid transparent;
    transition: color 0.2s cubic-bezier(0.785, 0.135, 0.15, 0.86),
                background-color 0.2s cubic-bezier(0.785, 0.135, 0.15, 0.86),
                border-color 0.2s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

.ifs-tabs__item a:hover {
    color: #000000;
    border-bottom-color: #F1A900;
}

.ifs-tabs__item.active a {
    border-bottom-color: #F1A900;
}

/* ---------- TAB PANES ---------- */
.ifs-tabs__content {
    width: 100%;
}

.ifs-tabs__pane {
    display: none;
    width: 100%;
    animation: ifsFadeIn 0.3s ease-in-out;
}

.ifs-tabs__pane.active {
    display: block;
}

@keyframes ifsFadeIn {
    from { opacity: 0; transform: translateY(6px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ---------- CREW GRID ---------- */
.ifs-ourcrew-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 36px;
    width: 100%;
}

/* ---------- CREW CARD ---------- */
.ifs-crewcard {
    width: 100%;
    display: block;
}

.ifs-crewcard__img {
    position: relative;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 1 / 1;
    display: block;
}

.ifs-crewcard__img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: fill;
    transition: transform 0.3s ease;
}

/* Overlay — outer (controls opacity on hover) */
.ifs-crewcard__overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    opacity: 0;
    transition: opacity 0.2s ease-in-out;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 20px;
}

/* Overlay — dark inner background layer (rgb 20,22,24 @ 50% opacity) */
.ifs-crewcard__overlay::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgb(20, 22, 24);
    opacity: 0.5;
    z-index: -1;
}

/* Hover triggers */
.ifs-crewcard:hover .ifs-crewcard__overlay {
    opacity: 1;
}

.ifs-crewcard:hover .ifs-crewcard__img img {
    transform: scale(1.03);
}

/* Overlay text content */
.ifs-crewcard__name {
    color: #FFFFFF;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin: 0 0 8px 0;
    padding: 0;
}

.ifs-crewcard__role {
    color: #FFFFFF;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.5;
    margin: 0 0 12px 0;
    padding: 0;
}

.ifs-crewcard__role a {
    color: #FFFFFF;
    text-decoration: none;
    transition: color 0.2s ease;
}

.ifs-crewcard__role a:hover {
    color: #F1A900;
}

.ifs-crewcard__meta {
    color: rgba(255, 255, 255, 0.85);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.4;
    font-style: italic;
    margin: 0;
    padding: 0;
}

/* ============================================================
   OUR CREW — RESPONSIVE
   Breakpoints: 1199px, 991px, 767px
   ============================================================ */
@media (max-width: 1199px) {
    .ifs-ourcrew-wrap { padding-top: 72px; padding-bottom: 72px; }
    .ifs-ourcrew-title { font-size: 26px; line-height: 32px; }
    .ifs-ourcrew-intro { font-size: 16px; max-width: 880px; margin-bottom: 40px; }

    .ifs-tabs__nav { margin-bottom: 40px; }
    .ifs-tabs__item a { padding: 0 18px 16px; font-size: 14px; letter-spacing: 1.2px; }

    .ifs-ourcrew-grid { grid-template-columns: repeat(3, 1fr); gap: 28px; }

    .ifs-crewcard__name { font-size: 15px; }
}

@media (max-width: 991px) {
    .ifs-ourcrew-wrap { padding-top: 64px; padding-bottom: 64px; }
    .ifs-ourcrew-title { font-size: 24px; line-height: 30px; }
    .ifs-ourcrew-intro { font-size: 15px; max-width: 100%; margin-bottom: 32px; }

    .ifs-tabs__nav { margin-bottom: 32px; }
    .ifs-tabs__item a { padding: 0 14px 12px; font-size: 13px; letter-spacing: 1px; }

    .ifs-ourcrew-grid { grid-template-columns: repeat(2, 1fr); gap: 24px; }

    .ifs-crewcard__name { font-size: 14px; letter-spacing: 0.5px; }
    .ifs-crewcard__role { font-size: 12px; }
    .ifs-crewcard__meta { font-size: 11px; }
}

@media (max-width: 767px) {
    .ifs-ourcrew-wrap { padding-top: 48px; padding-bottom: 48px; }
    .ifs-ourcrew-title { font-size: 22px; line-height: 28px; }
    .ifs-ourcrew-accent { margin: 12px 0 20px 0 !important; }
    .ifs-ourcrew-intro { font-size: 15px; line-height: 1.65; margin-bottom: 28px; }

    .ifs-tabs__nav {
        margin-bottom: 28px;
        overflow-x: auto;
        white-space: nowrap;
        text-align: left;
        -webkit-overflow-scrolling: touch;
    }
    .ifs-tabs__nav::-webkit-scrollbar { height: 3px; }
    .ifs-tabs__nav::-webkit-scrollbar-thumb { background-color: #F1A900; }

    .ifs-tabs__item a { padding: 0 12px 10px; font-size: 12px; letter-spacing: 0.8px; }

    .ifs-ourcrew-grid { grid-template-columns: 1fr; gap: 20px; }

    .ifs-crewcard__name { font-size: 15px; }
    .ifs-crewcard__role { font-size: 13px; }
    .ifs-crewcard__meta { font-size: 12px; }
}

/* ============================================================
   PAGE: JOBS — Open Vacancies + Accordion
   Reference: ifs.be/jobs/
   ============================================================ */

/* ---------- SECTION WRAP ---------- */
.ifs-jobs-wrap {
    padding-top: 80px;
    padding-bottom: 80px;
}

/* ---------- OPEN VACANCIES HEADING ---------- */
.ifs-jobs-heading {
    display: block;
    color: #1A6694;
    font-size: 35px;
    font-weight: 300;
    line-height: 52.5px;
    margin: 0;
    padding: 0;
}

.ifs-jobs-accent {
    margin: 16px 0 48px 0 !important;
}

/* ---------- ACCORDION WRAPPER ---------- */
.ifs-jobs-accordion {
    width: 100%;
    margin-top: 36px;
}

/* ---------- JOB PANEL ITEM ---------- */
.ifs-jobpanel__item {
    width: 100%;
    border-top: 1px solid #EAEAEA;
}

.ifs-jobpanel__item:last-child {
    /* last item keeps the same top-border, may need bottom if reference has it */
}

/* ---------- PANEL HEADING ---------- */
.ifs-jobpanel__heading {
    width: 100%;
}

.ifs-jobpanel__toggle {
    display: block;
    position: relative;
    width: 100%;
    padding: 18px 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 24.5px;
    color: #196694;
    text-align: left;
    text-decoration: none;
    transition: color 0.2s cubic-bezier(0.785, 0.135, 0.15, 0.86),
                background-color 0.2s cubic-bezier(0.785, 0.135, 0.15, 0.86),
                border-color 0.2s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

.ifs-jobpanel__toggle:hover {
    color: #124A6B;
    text-decoration: none;
}

/* ---------- PANEL BODY ---------- */
.ifs-jobpanel__body {
    display: none;
    padding: 36px 0;
    border-top: 1px solid #EAEAEA;
    animation: ifsFadeIn 0.3s ease-in-out;
}

.ifs-jobpanel__body--open {
    display: block;
}

.ifs-jobpanel__content p,
.ifs-jobpanel__content li {
    color: #1A6694;
    font-size: 15px;
    font-weight: 500;
    line-height: 26.25px;
}

.ifs-jobpanel__content p {
    margin: 0 0 18px 0;
}

.ifs-jobpanel__strong {
    display: inline;
    color: #1A6694;
    font-size: 17px;
    font-weight: 500;
    line-height: 25.5px;
}

.ifs-jobpanel__list {
    list-style-type: disc;
    margin: 0 0 0 0;
    margin-top: 0;
    margin: 18px 0 0 0;
    padding: 0 0 0 18px;
}

.ifs-jobpanel__list li {
    margin: 0;
    padding: 0;
}

/* ---------- APPLY + TAGS + DISCLAIMER ---------- */
.ifs-jobpanel__apply {
    margin-top: 24px !important;
}

.ifs-jobpanel__apply a {
    color: #1A6694;
    text-decoration: underline;
    transition: color 0.2s ease;
}

.ifs-jobpanel__apply a:hover {
    color: #F1A900;
}

.ifs-jobpanel__tags {
    color: #888888;
    font-size: 12px;
    line-height: 1.7;
    margin-top: 24px !important;
    font-style: normal;
    font-weight: 400;
}

.ifs-jobpanel__disclaimer {
    color: #999999;
    font-size: 12px;
    line-height: 1.6;
    margin-top: 18px !important;
    font-style: italic;
    font-weight: 400;
}

/* ============================================================
   JOBS — RESPONSIVE
   Breakpoints: 1199px, 991px, 767px
   ============================================================ */
@media (max-width: 1199px) {
    .ifs-jobs-wrap { padding-top: 72px; padding-bottom: 72px; }
    .ifs-jobs-heading { font-size: 30px; line-height: 42px; }
    .ifs-jobs-accent { margin: 14px 0 40px 0 !important; }
}

@media (max-width: 991px) {
    .ifs-jobs-wrap { padding-top: 64px; padding-bottom: 64px; }
    .ifs-jobs-heading { font-size: 26px; line-height: 36px; }
    .ifs-jobs-accent { margin: 12px 0 32px 0 !important; }
    .ifs-jobs-accordion { margin-top: 0; }

    .ifs-jobpanel__toggle { font-size: 13px; padding: 16px 0; }
    .ifs-jobpanel__body { padding: 28px 0; }

    .ifs-jobpanel__content p,
    .ifs-jobpanel__content li { font-size: 14px; line-height: 24px; }

    .ifs-jobpanel__strong { font-size: 16px; line-height: 24px; }
}

@media (max-width: 767px) {
    .ifs-jobs-wrap { padding-top: 48px; padding-bottom: 48px; }
    .ifs-jobs-heading { font-size: 22px; line-height: 30px; }
    .ifs-jobs-accent { margin: 10px 0 28px 0 !important; }

    .ifs-jobpanel__toggle { font-size: 13px; padding: 14px 0; line-height: 22px; }
    .ifs-jobpanel__body { padding: 20px 0; }

    .ifs-jobpanel__content p,
    .ifs-jobpanel__content li { font-size: 14px; line-height: 23px; }

    .ifs-jobpanel__strong { font-size: 15px; line-height: 22px; }

    .ifs-jobpanel__list { padding-left: 16px; margin: 14px 0 0 0; }

    .ifs-jobpanel__apply { margin-top: 20px !important; }
    .ifs-jobpanel__tags { font-size: 11px; margin-top: 20px !important; }
    .ifs-jobpanel__disclaimer { font-size: 11px; margin-top: 16px !important; }
}

/* ============================
   21. WHISTLEBLOWER CHANNEL
   ============================ */
.ifs-whistle-wrap {
    background-color: #EAEAEA;
    padding-top: 80px;
    padding-bottom: 80px;
}
.ifs-whistle-heading {
    display: block;
    color: #1A6694;
    font-size: 30px;
    font-weight: 400;
    line-height: 45px;
    text-transform: uppercase;
    margin: 0;
}
.ifs-whistle-accent {
    margin: 16px 0 32px 0 !important;
}
.ifs-whistle-subtitle {
    color: #1A6694;
    font-size: 17px;
    font-weight: 400;
    line-height: 25.5px;
    margin: 0 0 48px 0;
    max-width: 1200px;
}
.ifs-whistle-action {
    margin-top: 12px;
}

/* ---------- Gold Button (Common for Whistleblower + other pages) ---------- */
.ifs-gold-btn {
    display: inline-block;
    background-color: #F1A900;
    color: #FFFFFF !important;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    text-decoration: none !important;
    padding: 13px 31px;
    border: 1px solid #F1A900;
    border-radius: 2px;
    width: auto;
    min-width: 244px;
    height: 41px;
    line-height: normal;
    text-align: center;
    transition: color 0.2s cubic-bezier(0.785, 0.135, 0.15, 0.86),
                background-color 0.2s cubic-bezier(0.785, 0.135, 0.15, 0.86),
                border-color 0.2s cubic-bezier(0.785, 0.135, 0.15, 0.86),
                transform 0.2s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
.ifs-gold-btn:hover {
    background-color: #d89700;
    border-color: #d89700;
    color: #FFFFFF !important;
    transform: translateY(-2px);
}

/* ============================
   22. PRIVACY POLICY
   ============================ */
.ifs-privacy-wrap {
    background-color: #EAEAEA;
    padding-top: 80px;
    padding-bottom: 80px;
}
.ifs-privacy-heading {
    display: block;
    color: #1A6694;
    font-size: 30px;
    font-weight: 400;
    line-height: 45px;
    text-transform: uppercase;
    margin: 0;
}
.ifs-privacy-accent {
    margin: 16px 0 32px 0 !important;
}
.ifs-privacy-content {
    color: #1A6694;
    font-size: 15px;
    font-weight: 500;
    line-height: 26.25px;
}
.ifs-privacy-content h3 {
    color: #1A6694;
    font-size: 17px;
    font-weight: 400;
    line-height: 25.5px;
    margin: 0 0 28px 0;
}
.ifs-privacy-content h4 {
    color: #1A6694;
    font-size: 17px;
    font-weight: 500;
    line-height: 25.5px;
    margin: 36px 0 14px 0;
}
.ifs-privacy-content p {
    color: #1A6694;
    font-size: 15px;
    font-weight: 500;
    line-height: 26.25px;
    margin: 0 0 20px 0;
}
.ifs-privacy-content ul,
.ifs-privacy-content ol {
    margin: 14px 0 24px 0;
    padding: 0 0 0 18px;
}
.ifs-privacy-content li {
    color: #1A6694;
    font-size: 15px;
    font-weight: 500;
    line-height: 26.25px;
    margin: 0 0 6px 0;
}
.ifs-privacy-content a {
    color: #1A6694;
    text-decoration: underline;
    transition: color 0.2s ease;
}
.ifs-privacy-content a:hover {
    color: #F1A900;
}
.ifs-privacy-footer {
    margin-top: 48px;
    padding-top: 32px;
    border-top: 1px solid #cccccc;
    color: #1A6694;
    font-size: 14px;
    font-weight: 400;
    line-height: 24.5px;
}

/* ---------- Responsive: 1199px ---------- */
@media (max-width: 1199px) {
    .ifs-whistle-wrap { padding-top: 72px; padding-bottom: 72px; }
    .ifs-whistle-heading { font-size: 26px; line-height: 39px; }
    .ifs-whistle-subtitle { font-size: 16px; line-height: 24px; }

    .ifs-privacy-wrap { padding-top: 72px; padding-bottom: 72px; }
    .ifs-privacy-heading { font-size: 26px; line-height: 39px; }
    .ifs-privacy-content h3 { font-size: 16px; line-height: 23px; }
    .ifs-privacy-content h4 { font-size: 16px; line-height: 23px; }
}

/* ---------- Responsive: 991px ---------- */
@media (max-width: 991px) {
    .ifs-whistle-wrap { padding-top: 64px; padding-bottom: 64px; }
    .ifs-whistle-heading { font-size: 22px; line-height: 33px; }
    .ifs-whistle-accent { margin: 12px 0 28px 0 !important; }
    .ifs-whistle-subtitle { font-size: 15px; line-height: 23px; margin: 0 0 36px 0; }
    .ifs-gold-btn { min-width: 220px; padding: 12px 26px; height: auto; }

    .ifs-privacy-wrap { padding-top: 64px; padding-bottom: 64px; }
    .ifs-privacy-heading { font-size: 22px; line-height: 33px; }
    .ifs-privacy-accent { margin: 12px 0 28px 0 !important; }
    .ifs-privacy-content p,
    .ifs-privacy-content li { font-size: 14px; line-height: 23px; }
    .ifs-privacy-content h3 { font-size: 15px; line-height: 22px; }
    .ifs-privacy-content h4 { font-size: 15px; line-height: 22px; }
}

/* ---------- Responsive: 767px ---------- */
@media (max-width: 767px) {
    .ifs-whistle-wrap { padding-top: 48px; padding-bottom: 48px; }
    .ifs-whistle-heading { font-size: 19px; line-height: 28.5px; }
    .ifs-whistle-subtitle { font-size: 14px; line-height: 22px; margin: 0 0 28px 0; }
    .ifs-gold-btn { display: block; min-width: 100%; width: 100%; padding: 12px 20px; }

    .ifs-privacy-wrap { padding-top: 48px; padding-bottom: 48px; }
    .ifs-privacy-heading { font-size: 19px; line-height: 28.5px; }
    .ifs-privacy-content ul,
    .ifs-privacy-content ol { padding-left: 16px; }
    .ifs-privacy-content p,
    .ifs-privacy-content li { font-size: 13px; line-height: 21px; }
    .ifs-privacy-footer { margin-top: 36px; padding-top: 24px; font-size: 13px; line-height: 22px; }
}

/* ============================================================
   NEWS PAGE + NEWS DETAIL PAGES
   ============================================================ */

/* ---------- News Grid ---------- */
.ifs-news-wrap {
    background-color: #FFFFFF;
    padding-top: 80px;
    padding-bottom: 80px;
}

.ifs-newsgrid {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 20px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px 30px;
}

.ifs-newscard {
    position: relative;
    width: 100%;
}

.ifs-newscard__link {
    display: block;
    text-decoration: none;
    color: inherit;
    width: 100%;
}

.ifs-newscard__media {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
    border: 1px solid #EAEAEA;
}

.ifs-newscard__media img {
    display: block;
    width: 100%;
    height: auto;
    transition: transform 0.45s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

.ifs-newscard:hover .ifs-newscard__media img {
    transform: scale(1.06);
}

.ifs-newscard__body {
    padding-top: 20px;
    padding-right: 12px;
}

.ifs-newscard__title {
    font-size: 19px;
    font-weight: 700;
    line-height: 1.3;
    color: #1A6694;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin: 0 0 16px 0;
    word-break: break-word;
}

.ifs-newscard__accent {
    width: 55px;
    height: 3px;
    margin: 0 0 18px 0 !important;
    background-color: #F1A900 !important;
    display: block;
}

.ifs-newscard__more {
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: #1A6694;
    display: inline-block;
    transition: color 0.2s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

.ifs-newscard:hover .ifs-newscard__more {
    color: #F1A900;
}

/* ---------- News Detail Page ---------- */
.ifs-newsdetail__header {
    position: relative;
    width: 100%;
    height: 520px;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

.ifs-newsdetail__wrap {
    background-color: #EAEAEA;
    padding-top: 80px;
    padding-bottom: 80px;
}

.ifs-newsdetail__container {
    max-width: 920px;
    margin: 0 auto;
    padding: 0 20px;
}

.ifs-newsdetail__title {
    font-size: 30px;
    font-weight: 400;
    line-height: 1.25;
    color: #1A6694;
    text-transform: uppercase;
    margin: 0 0 20px 0;
    letter-spacing: 0.4px;
}

.ifs-newsdetail__accent {
    width: 55px;
    height: 3px;
    background-color: #F1A900 !important;
    margin: 0 0 32px 0 !important;
    display: block;
}

.ifs-newsdetail__content {
    width: 100%;
}

.ifs-newsdetail__content p {
    font-size: 15px;
    font-weight: 500;
    line-height: 26.25px;
    color: #1A6694;
    margin: 0 0 0 0;
}

.ifs-newsdetail__content ul,
.ifs-newsdetail__content ol {
    padding-left: 22px;
    margin: 16px 0 16px 0;
}

.ifs-newsdetail__content li {
    font-size: 15px;
    font-weight: 500;
    line-height: 26.25px;
    color: #1A6694;
    margin: 0 0 10px 0;
}

.ifs-newsdetail__content blockquote {
    border-left: 3px solid #F1A900;
    padding-left: 24px;
    margin: 24px 0;
    color: #1A6694;
    font-size: 16px;
    font-weight: 500;
    line-height: 26.25px;
}

.ifs-newsdetail__content blockquote cite {
    display: block;
    margin-top: 12px;
    font-weight: 600;
    font-style: normal;
    color: #1A6694;
    font-size: 14px;
    letter-spacing: 0.3px;
}

.ifs-newsdetail__subtitle {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.3;
    color: #1A6694;
    margin: 24px 0 16px 0;
    letter-spacing: 0.3px;
}

.ifs-newsdetail__content a {
    color: #F1A900;
    font-weight: 600;
    text-decoration: none;
    transition: color 0.2s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

.ifs-newsdetail__content a:hover {
    color: #1A6694;
    text-decoration: underline;
}

/* ---------- Responsive: 1199px ---------- */
@media (max-width: 1199px) {
    .ifs-newsgrid {
        max-width: 960px;
        gap: 36px 24px;
    }
    .ifs-newscard__title { font-size: 17px; }

    .ifs-newsdetail__header { height: 440px; }
    .ifs-newsdetail__wrap { padding-top: 64px; padding-bottom: 64px; }
    .ifs-newsdetail__container { max-width: 820px; }
    .ifs-newsdetail__title { font-size: 26px; }
}

/* ---------- Responsive: 991px ---------- */
@media (max-width: 991px) {
    .ifs-news-wrap { padding-top: 64px; padding-bottom: 64px; }
    .ifs-newsgrid {
        max-width: 720px;
        grid-template-columns: 1fr 1fr;
        gap: 32px 20px;
    }
    .ifs-newscard__title { font-size: 16px; line-height: 1.35; margin: 0 0 14px 0; }
    .ifs-newscard__accent { margin: 0 0 16px 0 !important; }
    .ifs-newscard__body { padding-top: 16px; }

    .ifs-newsdetail__header { height: 380px; }
    .ifs-newsdetail__wrap { padding-top: 56px; padding-bottom: 56px; }
    .ifs-newsdetail__title { font-size: 23px; }
    .ifs-newsdetail__accent { margin: 0 0 28px 0 !important; }
    .ifs-newsdetail__content p,
    .ifs-newsdetail__content li { font-size: 14px; line-height: 24px; }
    .ifs-newsdetail__subtitle { font-size: 19px; }
}

/* ---------- Responsive: 767px ---------- */
@media (max-width: 767px) {
    .ifs-news-wrap { padding-top: 48px; padding-bottom: 48px; }
    .ifs-newsgrid {
        grid-template-columns: 1fr;
        gap: 40px 0;
        max-width: 100%;
    }
    .ifs-newscard__title { font-size: 18px; line-height: 1.35; }
    .ifs-newscard__accent { margin: 0 0 16px 0 !important; }

    .ifs-newsdetail__header { height: 300px; }
    .ifs-newsdetail__wrap { padding-top: 48px; padding-bottom: 48px; }
    .ifs-newsdetail__container { max-width: 100%; padding: 0 18px; }
    .ifs-newsdetail__title { font-size: 20px; line-height: 1.3; margin: 0 0 16px 0; }
    .ifs-newsdetail__accent { margin: 0 0 24px 0 !important; }
    .ifs-newsdetail__content p,
    .ifs-newsdetail__content li { font-size: 13px; line-height: 22px; }
    .ifs-newsdetail__content ul,
    .ifs-newsdetail__content ol { padding-left: 18px; }
    .ifs-newsdetail__subtitle { font-size: 17px; margin: 20px 0 12px 0; }
    .ifs-newsdetail__content blockquote { padding-left: 16px; font-size: 14px; }
}

/* ============================================================
   CONTACT PAGE
   ============================================================ */

.ifs-contact-wrap {
    position: relative;
    width: 100%;
    padding-top: 80px;
    padding-bottom: 80px;
    overflow: hidden;
}

.ifs-contact-bg {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background-image: url('https://ifs.be/wp-content/uploads/2020/07/making-bread-30-scaled.jpg');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    z-index: 1;
}

.ifs-contact-overlay {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background-color: #EAEAEA;
    opacity: 0.8;
    z-index: 2;
}

.ifs-contact-grid {
    position: relative;
    z-index: 3;
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 20px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 30px;
}

.ifs-contact-col {
    width: 100%;
}

.ifs-contact-col--form {
    padding-top: 80px;
}

.ifs-contact__title {
    font-size: 30px;
    font-weight: 400;
    line-height: 1.25;
    color: #1A6694;
    text-transform: uppercase;
    margin: 0 0 20px 0;
    letter-spacing: 0.4px;
}

.ifs-contact__accent {
    width: 55px;
    height: 3px;
    margin: 0 0 32px 0 !important;
    background-color: #F1A900 !important;
    display: block;
}

.ifs-contact__intro {
    font-size: 15px;
    font-weight: 400;
    line-height: 26.25px;
    color: #1A6694;
    margin: 0 0 40px 0;
}

.ifs-contact__intro em {
    font-style: italic;
    font-weight: 400;
}

.ifs-contact__intro a {
    color: #1A6694;
    font-weight: 700;
    text-decoration: none;
    transition: color 0.2s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

.ifs-contact__intro a:hover { color: #F1A900; text-decoration: underline; }

.ifs-contact__offices {
    width: 100%;
}

.ifs-contact__office {
    margin: 0 0 40px 0;
}

.ifs-contact__office-name {
    font-size: 19px;
    font-weight: 400;
    line-height: 1.3;
    color: #1A6694;
    text-transform: uppercase;
    margin: 0 0 10px 0;
    letter-spacing: 0.3px;
}

.ifs-contact__office-address {
    font-size: 15px;
    font-weight: 400;
    line-height: 26.25px;
    color: #1A6694;
    margin: 0;
}

.ifs-contact__office-address strong {
    font-weight: 700;
    text-transform: uppercase;
}

.ifs-contact__form-title {
    font-size: 19px;
    font-weight: 400;
    line-height: 1.3;
    color: #1A6694;
    text-transform: uppercase;
    margin: 0 0 32px 0;
    letter-spacing: 0.3px;
}

.ifs-contact-form {
    width: 100%;
}

.ifs-contact-form p {
    margin: 0 0 16px 0;
}

.ifs-contact-form__label {
    font-size: 15px;
    font-weight: 400;
    line-height: 26.25px;
    color: #1A6694;
    margin: 0 0 6px 0 !important;
}

.ifs-contact-form__control {
    display: block;
    width: 100%;
    max-width: 100%;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.6;
    color: #353936;
    background-color: transparent;
    border: 1px solid #1A6694;
    padding: 12px 16px;
    margin: 0;
    border-radius: 2px;
    outline: none;
    box-shadow: none;
    transition: border-color 0.2s cubic-bezier(0.785, 0.135, 0.15, 0.86), box-shadow 0.2s ease;
    font-family: inherit;
}

.ifs-contact-form__control:focus {
    border-color: #F1A900;
    box-shadow: 0 0 0 2px rgba(241, 169, 0, 0.2);
}

.ifs-contact-form__control--area {
    resize: vertical;
    min-height: 200px;
    font-family: inherit;
}

.ifs-contact-form input[type=submit] {
    cursor: pointer;
    margin-top: 8px !important;
    outline: none;
    border: 1px solid #F1A900;
    appearance: none;
    -webkit-appearance: none;
}

.ifs-contact-form input[type=submit]:focus {
    box-shadow: 0 0 0 2px rgba(241, 169, 0, 0.35);
}

.ifs-contact-form__status {
    padding: 12px 16px;
    border-radius: 2px;
    margin: 16px 0 12px 0;
    font-size: 14px;
    font-weight: 500;
    line-height: 22px;
    background-color: rgba(255, 255, 255, 0.6);
}

/* ---------- Responsive: 1199px ---------- */
@media (max-width: 1199px) {
    .ifs-contact-wrap { padding-top: 64px; padding-bottom: 64px; }
    .ifs-contact-grid {
        max-width: 960px;
        gap: 0 24px;
    }
    .ifs-contact-col--form { padding-top: 60px; }
    .ifs-contact__title { font-size: 26px; }
    .ifs-contact__office-name,
    .ifs-contact__form-title { font-size: 18px; }
}

/* ---------- Responsive: 991px ---------- */
@media (max-width: 991px) {
    .ifs-contact-wrap { padding-top: 56px; padding-bottom: 56px; }
    .ifs-contact-grid {
        max-width: 720px;
        grid-template-columns: 1fr;
        gap: 56px 0;
    }
    .ifs-contact-col--form { padding-top: 0; }
    .ifs-contact__title { font-size: 23px; margin: 0 0 16px 0; }
    .ifs-contact__accent { margin: 0 0 28px 0 !important; }
    .ifs-contact__intro { font-size: 14px; line-height: 24px; margin: 0 0 32px 0; }
    .ifs-contact__office { margin: 0 0 32px 0; }
    .ifs-contact__office-address { font-size: 14px; line-height: 24px; }
}

/* ---------- Responsive: 767px ---------- */
@media (max-width: 767px) {
    .ifs-contact-wrap { padding-top: 48px; padding-bottom: 48px; }
    .ifs-contact-grid {
        max-width: 100%;
        padding: 0 18px;
        gap: 44px 0;
    }
    .ifs-contact__title { font-size: 20px; line-height: 1.3; margin: 0 0 16px 0; }
    .ifs-contact__accent { margin: 0 0 24px 0 !important; }
    .ifs-contact__intro { font-size: 13px; line-height: 22px; margin: 0 0 28px 0; }
    .ifs-contact__office { margin: 0 0 28px 0; }
    .ifs-contact__office-name,
    .ifs-contact__form-title { font-size: 17px; margin: 0 0 8px 0; }
    .ifs-contact__office-address { font-size: 13px; line-height: 22px; }
    .ifs-contact-form__label { font-size: 13px; line-height: 22px; }
    .ifs-contact-form__control { padding: 10px 14px; font-size: 13px; }
    .ifs-contact-form__control--area { min-height: 180px; }
    .ifs-contact-form p { margin: 0 0 12px 0; }
}

/* ============================================================
   LOGIN PAGE (COOKS CTA → /login/)
   ============================================================ */

.ifs-login-wrap {
    width: 100%;
    background-color: #ffffff;
}

.ifs-login-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 36px;
}

.ifs-login__empty-top {
    width: 100%;
    height: 9px;
    display: block;
}

.ifs-login__empty-bot {
    width: 100%;
    height: 144px;
    display: block;
}

.ifs-login__title {
    font-size: 30px;
    font-weight: 400;
    line-height: 1.25;
    color: #1A6694;
    text-transform: uppercase;
    margin: 0 0 10px 0;
    letter-spacing: 0.4px;
}

.ifs-login__accent {
    width: 55px;
    height: 3px;
    margin: 0 0 24px 0 !important;
    background-color: #F1A900 !important;
    display: block;
}

.ifs-login__subtitle {
    font-size: 17px;
    font-weight: 400;
    line-height: 20.4px;
    color: #1A6694;
    margin: 0;
}

.ifs-login-form-wrap {
    width: 100%;
}

.ifs-login-form__title {
    font-size: 20px;
    font-weight: 600;
    line-height: 1.35;
    color: #303133;
    margin: 27px 0 0 0;
}

.ifs-login-form {
    width: 100%;
    max-width: 1056px;
    margin: 0;
}

.ifs-login-form__row {
    margin: 0 0 0 0;
    padding: 0;
}

.ifs-login-form__label {
    display: block;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.75;
    color: #303133;
    margin: 18px 0 6px 0;
}

.ifs-login-form__label .required {
    color: #c0392b;
    font-weight: 600;
}

.ifs-login-form__control {
    display: block;
    width: 100%;
    max-width: 100%;
    height: 39px;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.6;
    color: #303133;
    background-color: transparent;
    border: 1px solid #d3d3d3;
    padding: 10px 15px;
    margin: 0;
    border-radius: 2px;
    outline: none;
    box-shadow: none;
    transition: border-color 0.2s cubic-bezier(0.785, 0.135, 0.15, 0.86), box-shadow 0.2s ease;
    font-family: inherit;
    box-sizing: border-box;
}

.ifs-login-form__control:focus {
    border-color: #F1A900;
    box-shadow: 0 0 0 2px rgba(241, 169, 0, 0.18);
}

.ifs-login-form__password-wrap {
    position: relative;
    display: block;
    width: 100%;
}

.ifs-login-form__password-wrap .ifs-login-form__control {
    padding-right: 44px;
}

.ifs-login-form__showpw {
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    background: none;
    border: none;
    cursor: pointer;
    width: 30px;
    height: 30px;
    color: #757575;
    font-size: 14px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    outline: none;
    transition: color 0.2s ease;
}

.ifs-login-form__showpw:hover {
    color: #1A6694;
}

.ifs-login-form__showpw:focus-visible {
    outline: 2px solid #F1A900;
    outline-offset: 1px;
    border-radius: 2px;
}

.ifs-login-form__row--inline {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 16px 0;
    margin: 22px 0 10px 0;
}

.ifs-login-form__remember {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.75;
    color: #303133;
    margin: 0;
    cursor: pointer;
    user-select: none;
}

.ifs-login-form__checkbox {
    width: 16px;
    height: 16px;
    margin: 0 5px 0 0;
    padding: 0;
    border: 1px solid #d3d3d3;
    border-radius: 2px;
    background-color: #ffffff;
    color: #F1A900;
    accent-color: #F1A900;
    cursor: pointer;
    display: inline-block;
    box-sizing: border-box;
}

.ifs-login-form__submit {
    display: inline-block;
    background-color: #f7f7f7;
    color: #303133;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    padding: 13px 31px;
    margin: 0;
    border: 1px solid #e3e3e3;
    border-radius: 2px;
    cursor: pointer;
    text-align: center;
    transition: all 0.25s cubic-bezier(0.785, 0.135, 0.15, 0.86);
    font-family: inherit;
    outline: none;
    user-select: none;
}

.ifs-login-form__submit:hover {
    background-color: #1A6694;
    color: #ffffff;
    border-color: #1A6694;
    transform: translateY(-2px);
}

.ifs-login-form__submit:focus-visible {
    box-shadow: 0 0 0 3px rgba(241, 169, 0, 0.35);
}

.ifs-login-form__lost {
    margin: 18px 0 0 0;
    padding: 0;
}

.ifs-login-form__lost a {
    font-size: 13.5px;
    font-weight: 500;
    line-height: 1.5;
    color: #F1A900;
    text-decoration: none;
    transition: color 0.2s ease, text-decoration 0.2s ease;
}

.ifs-login-form__lost a:hover {
    color: #d49200;
    text-decoration: underline;
}

/* ---------- Responsive: 1199px ---------- */
@media (max-width: 1199px) {
    .ifs-login-container {
        max-width: 960px;
        padding: 0 24px;
    }
    .ifs-login__empty-bot { height: 120px; }
    .ifs-login__title { font-size: 26px; }
}

/* ---------- Responsive: 991px ---------- */
@media (max-width: 991px) {
    .ifs-login-container {
        max-width: 720px;
        padding: 0 20px;
    }
    .ifs-login__empty-top { height: 0; }
    .ifs-login__empty-bot { height: 96px; }
    .ifs-login__title { font-size: 23px; }
    .ifs-login__accent { margin: 0 0 20px 0 !important; }
    .ifs-login__subtitle { font-size: 15px; line-height: 22px; }
    .ifs-login-form__label { font-size: 14px; line-height: 22px; }
    .ifs-login-form__control { padding: 9px 14px; font-size: 14px; height: 37px; }
    .ifs-login-form__password-wrap .ifs-login-form__control { padding-right: 40px; }
    .ifs-login-form__row--inline {
        margin: 20px 0 8px 0;
        gap: 14px 0;
    }
    .ifs-login-form__submit {
        width: 100%;
        max-width: 100%;
    }
}

/* ---------- Responsive: 767px ---------- */
@media (max-width: 767px) {
    .ifs-login-container {
        max-width: 100%;
        padding: 0 18px;
    }
    .ifs-login__empty-bot { height: 80px; }
    .ifs-login__title { font-size: 20px; line-height: 1.3; }
    .ifs-login__accent { margin: 0 0 16px 0 !important; }
    .ifs-login__subtitle { font-size: 14px; line-height: 21px; }
    .ifs-login-form__title { font-size: 18px; margin-top: 22px; }
    .ifs-login-form__label { font-size: 13px; line-height: 21px; }
    .ifs-login-form__control { padding: 9px 13px; font-size: 13px; height: 36px; }
    .ifs-login-form__submit { padding: 12px 24px; }
    .ifs-login-form__remember { font-size: 13px; }
    .ifs-login-form__lost a { font-size: 13px; }
}
