/* Homepage redesign â€” tokens & components sourced from Figma "MFB Website - New Version" (node 74:2) */
:root {
    --hf-navy: #0c1a44;
    --hf-navy-soft: #16265c;
    --hf-page-bg: #e3e4eb;
    --hf-accent: #00f1b9;
    --hf-blue: #4661ff;
    --hf-accent-glow: rgba(95, 227, 174, 0.35);
    --hf-shadow-blue: rgba(46, 62, 156, 0.35);
    --hf-text-muted: #5c6690;
}

html:has(.hf-page) {
    scroll-behavior: auto !important;
    background: var(--hf-navy);
    margin: 0;
    padding: 0;
}

body:has(.hf-page) {
    background: var(--hf-page-bg) !important;
    overflow-x: clip;
    margin: 0 !important;
    padding: 0 !important;
    width: 100%;
    min-width: 0;
}

.hf-page {
    background: var(--hf-page-bg);
    overflow-x: clip;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
}

.hf-page h1, .hf-page h2, .hf-page h3, .hf-page h4, .hf-page h5, .hf-page h6 {
    font-family: "Almarai", sans-serif;
    color: var(--hf-navy);
    overflow-wrap: break-word;
    word-break: break-word;
    max-width: 100%;
}
.hf-page p { overflow-wrap: break-word; }

.hf-hero-canvas,
.hf-hero-canvas * {
    box-sizing: border-box;
}

.hf-hero-canvas img {
    max-width: none;
}

.hf-eyebrow {
    display: inline-block;
    font-weight: 800;
    letter-spacing: .06em;
    color: var(--hf-accent);
    font-size: .95rem;
    margin-bottom: .5rem;
}

/* ---------- Buttons ---------- */
.hf-btn {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    justify-content: center;
    background: var(--hf-blue);
    color: #fff !important;
    font-weight: 800;
    font-family: "Almarai", sans-serif;
    border: none;
    border-radius: 200px;
    padding: 1.05rem 5.2rem;
    font-size: 1.05rem;
    box-shadow: 0 10px 24px rgba(70,97,255,.35);
    transition: transform .25s ease, box-shadow .25s ease;
    text-decoration: none;
}
.hf-btn:hover {
    transform: translateY(-3px);
    color: #fff !important;
    box-shadow: 0 14px 30px rgba(70,97,255,.45);
}
.hf-btn-outline {
    background: transparent;
    color: var(--hf-navy) !important;
    border: 2px solid var(--hf-navy);
    box-shadow: none;
}
.hf-btn-outline:hover {
    background: var(--hf-navy);
    color: #fff !important;
}
.hf-btn-outline.hf-btn-outline-light {
    color: #fff !important;
    border-color: rgba(255,255,255,.6);
}
.hf-btn-outline.hf-btn-outline-light:hover {
    background: #fff;
    color: var(--hf-navy) !important;
}
.hf-btn-sm { padding: .6rem 1.3rem; font-size: .9rem; }

/* ==========================================================================
   PART 1 â€” HERO, rebuilt as a fixed Figma canvas (node 74:2, hero rect
   "Rectangle 66": 1920Ã—1447). Every child below is positioned with
   left/top/width/height as a PERCENTAGE of this exact 1920Ã—1447 box,
   computed directly from Figma coordinates (x/1920, y_hero_relative/1447),
   where y_hero_relative = figma_y âˆ’ (âˆ’23) since the hero rect's own y is -23.
   No margin-chains, no "hero-bottom minus overlap" â€” every element's
   position is independent and absolute, matching its own Figma XY.
   ========================================================================== */

/* Navbar overlays the canvas from outside (shared partial, not restructured).
   Figma logo/lockup box: x1572 y67(hero-rel) w250 h112 -> top=67/1920=3.49vw, h=112/1920=5.83vw */
.navbar.navbar-transparent {
    padding-top: 0 !important;
    top: 0;
}
/* Outer element is full-bleed (always 100% of viewport, no max-width) so the
   navy background reaches both edges on any monitor, including ultrawide
   screens where the old max-width:1920px canvas left visible gray strips
   (the body's bg-gray-200) on both sides. The 1920-wide Figma composition
   itself is capped/centered in .hf-hero-inner, which establishes the
   percentage-positioning context for every child. */
.hf-hero-canvas {
    position: relative;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    background: var(--hf-navy);
    color: #fff;
    overflow: hidden;
    isolation: isolate;
}
.hf-hero-inner {
    position: relative;
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
    aspect-ratio: 1920 / 1447;
}

/* ---- decorative layers ---- */
.hf-c-gradient { /* Rectangle 47: x51 y70 w1818 h1126 */
    position: absolute;
    left: 2.66%; top: 2.84%; width: 94.69%; height: 77.82%;
    object-fit: cover;
    opacity: .95;
    mix-blend-mode: screen;
    -webkit-mask-image: linear-gradient(to right, transparent 0%, transparent 18%, #000 42%);
    mask-image: linear-gradient(to right, transparent 0%, transparent 18%, #000 42%);
    pointer-events: none;
    will-change: opacity; /* promotes to its own GPU layer so this blend-mode image doesn't get re-rasterized every scroll frame */
    transform: translateZ(0);
}
.hf-c-chartline { /* Vector: x3 y952 w1922 h150 */
    position: absolute;
    left: 0.16%; top: 65.79%; width: 100.1%; height: 10.37%;
    opacity: .5;
    mix-blend-mode: screen;
    will-change: opacity;
    transform: translateZ(0);
    pointer-events: none;
}
.hf-c-portrait-wrap { /* MPL01784 1: x916 y-30 w1012 h1515 */
    position: absolute;
    left: 47.71%; top: -2.07%; width: 52.71%; height: 104.7%;
    z-index: 1;
    pointer-events: none;
}
.hf-c-portrait { display: block; width: 100%; height: 100%; object-fit: contain; object-position: bottom; }

/* ---- headline: x104 y586(hero-rel) w875 h54 ---- */
.hf-hero-canvas .hf-c-headline {
    position: absolute;
    left: 5.42%; top: 39.1%; width: 45.57%; /* -1.4% vs raw table value: corrects for line-height ascender gap measured against the Figma render */
    z-index: 2;
    color: #fff;
    font-weight: 800;
    font-size: clamp(1.5rem, 2.08vw, 2.5rem);
    line-height: 1.35;
    margin: 0;
}
.hf-teal-word { color: var(--hf-accent); }
.hf-underlined-word { position: relative; display: inline-block; }
.hf-underline { position: absolute; inset-inline-start: 2%; width: 96%; height: auto; pointer-events: none; }
.hf-underline-1 { bottom: -.22em; }
.hf-underline-2 { bottom: -.36em; }

/* ---- subtitle: x124 y695(hero-rel) w854 h150 ---- */
.hf-c-subtitle {
    position: absolute;
    left: 6.46%; top: 46.65%; width: 44.48%; /* -1.4% vs raw table value, same ascender-gap correction as the headline */
    z-index: 2;
    color: #fff;
    opacity: .88;
    font-weight: 400;
    font-size: clamp(1rem, 1.45vw, 1.75rem); /* sized so it wraps to 3 lines like Figma at this column width */
    line-height: 1.9;
    margin: 0;
}

/* ---- CTA: bg x568 y886(hero-rel) w408 h59 ---- */
.hf-c-cta {
    position: absolute;
    left: 29.58%; top: 61.23%; width: 21.25%; height: 4.08%;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
}
.hf-c-cta .hf-btn { width: 100%; height: 100%; padding: 0 1rem; font-size: clamp(.85rem, 1.05vw, 1.05rem); white-space: nowrap; }

/* ---- stats card: x110 y1168(hero-rel) w1732 h142 ---- */
.hf-c-stats {
    position: absolute;
    top: 80.72%; width: 100%; height: 9.81%;
    z-index: 3;
    background: #fff;
    box-shadow: 0 20px 45px rgba(12,26,68,.28);
    display: flex;
    align-items: center;
}
.hf-stat-col { flex: 1 1 0; padding: 0 .5rem; position: relative; text-align: center; }
.hf-stat-col-divide::before {
    content: "";
    position: absolute;
    inset-inline-start: 0;
    top: 1%;
    bottom: 1%;
    width: 3px;
    background: var(--hf-accent);
    opacity: 1;
}
.hf-stat-num {
    font-weight: 800;
    font-size: clamp(1.1rem, 1.5vw, 2rem);
    color: var(--hf-accent);
    line-height: 1.2;
}
.hf-stat-label {
    color: var(--hf-blue);
    font-size: clamp(.92rem, .68vw, 1rem);
    font-weight: 500;
    margin-top: .25rem;
}

/* =========================================================
   PART 2 â€” Background + Independent Overlays
   Background image: 1161 Ã— 685
   ========================================================= */

.hf-part2,
.hf-part2 * {
    box-sizing: border-box;
}

.hf-part2 {
    position: relative;
    width: 100%;
    padding: 0;
    margin-top: max(-136px, -7.083vw);
    overflow: hidden;
    direction: rtl;
    background: #e3e4eb;
    isolation: isolate;
}

/* =========================================================
   BACKGROUND CANVAS
   ========================================================= */

.hf-p2-canvas {
    position: relative;
    width: 100%;
    max-width: 1920px;
    aspect-ratio: 1161 / 685;
    margin: 0 auto;
    overflow: hidden;
    isolation: isolate;
}

/* Background screenshot */

.hf-p2-bg-blue {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: fill;
    z-index: 0;
    pointer-events: none;
    user-select: none;
}

/* =========================================================
   GEARS
   Position relative to the background canvas
   ========================================================= */

.hf-p2-gear-wrap {
    position: absolute;
    left: 10.5%;
    top: 28%;
    width: 30%;
    height: auto;
    z-index: 2;
    pointer-events: none;
}

.hf-p2-gears {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
    max-width: none;
    object-fit: contain;
    filter: drop-shadow(
        0 18px 20px rgba(17, 45, 109, .20)
    );
}

/* =========================================================
   STORY TEXT
   ========================================================= */

.hf-p2-story {
    position: absolute;
    top: 40%;
    right: 8.2%;
    width: 39%;
    z-index: 3;
    color: #0c1a44;
    text-align: right;
}

.hf-p2-story h2 {
    margin: 0 0 18px;
    color: #0c1a44;
    font-family: "Almarai", sans-serif;
    font-size: clamp(25px, 1.72vw, 33px);
    font-weight: 900;
    line-height: 1.3;
}

.hf-p2-story p {
    width: 100%;
    margin: 0;
    color: #111827;
    font-family: "Almarai", sans-serif;
    font-size: clamp(12px, 1.1vw, 21px);
    font-weight: 400;
    line-height: 1.72;
}

/* =========================================================
   FLOW
   IMPORTANT:
   Flow is a direct child of canvas, not story.
   ========================================================= */

.hf-p2-flow {
    position: absolute;
    left: 0;
    width: 100%;
    height: 70%;
    margin: 0;
    z-index: 5;
    pointer-events: none;
}

/* Labels */

.hf-p2-pill {
    position: absolute;
    z-index: 2;

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

    min-width: 91px;
    height: 32px;
    padding: 0 14px;

    border-radius: 999px;

    font-family: "Almarai", sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;

    box-shadow: 0 4px 10px rgba(12, 26, 68, .06);
}

/* Market + Method */

.hf-p2-pill-market,
.hf-p2-pill-method {
    background: rgba(255, 255, 255, .92);
    color: #1f2937;
}

/* Tool */

.hf-p2-pill-tool {
    background: #4b5fd6;
    color: #00f1b9;
}

/*
   Coordinates are percentages of the 1161 Ã— 685 canvas.
   Adjust only these values to fine-tune positions.
*/

/* Ø§Ù„Ø³ÙˆÙ‚ */

.hf-p2-pill-market {
    right: 8%;
    top: 85%;
}

/* Ø§Ù„Ù…Ù†Ù‡Ø¬ */

.hf-p2-pill-method {
    right: 23%;
    top: 94%;
}

/* Ø§Ù„Ø£Ø¯Ø§Ø© */

.hf-p2-pill-tool {
    right: 37.5%;
    top: 85%;
}

/* Arrow */

.hf-p2-arrow {
    position: absolute;

    right: 13.5%;
    top: 88%;

    display: block;
    width: 24%;
    height: auto;
    max-width: none;

    z-index: 1;

    object-fit: contain;
    pointer-events: none;
    user-select: none;
}

/* =========================================================
   PATHS â€” Cards stay BELOW the background canvas
   ========================================================= */

.hf-p2-paths {
    position: relative;
    z-index: 2;

    display: flow-root;

    width: min(75%, 1390px);
    margin: 0 auto;
    padding: 0px 0 70px;

    text-align: center;
}

/* Section heading */

.hf-p2-paths > h2 {
    margin: 0 0 32px;

    color: #0c1a44;
    font-family: "Almarai", sans-serif;
    font-size: clamp(24px, 1.9vw, 36px);
    font-weight: 800;
    line-height: 1.3;
}

/* Cards */

.hf-p2-card {
    position: relative;

    display: flow-root;
    width: 100%;
    min-height: 0;

    margin: 0 auto 24px;
    padding: 32px 30px 28px;

    overflow: hidden;

    border: 1px solid rgba(255, 255, 255, .85);
    border-radius: 18px;

    background: rgba(232, 234, 240, .72);

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .55),
        0 4px 18px rgba(12, 26, 68, .025);
}

/* Card heading */

.hf-p2-card h3 {
    margin: 0 0 22px;

    color: #0c1a44;
    font-family: "Almarai", sans-serif;
    font-size: clamp(22px, 2vw, 39px);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0;
}

/* Card description */

.hf-p2-card p {
    max-width: 100%;
    margin: 0 auto 24px;

    color: #4661ff;
    font-family: "Almarai", sans-serif;
    font-size: clamp(14px, 1.1vw, 21px);
    font-weight: 400;
    line-height: 1.6;
}

/* Card button */

.hf-p2-card-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 167px;
    min-height: 38px;
    padding: 8px 28px;

    border: 0;
    border-radius: 999px;

    background: #00e9ba;
    color: #0c1a44 !important;

    font-family: "Almarai", sans-serif;
    font-size: 15px;
    font-weight: 800;
    line-height: 1;

    text-decoration: none;

    box-shadow:
        0 3px 0 #04a990,
        0 8px 16px rgba(0, 185, 157, .18);

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.hf-p2-card-btn::before {
    content: "";

    width: 0;
    height: 0;
    margin-inline-end: 10px;

    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-inline-start: 8px solid #0c1a44;
}

.hf-p2-card-btn:hover {
    transform: translateY(-2px);

    box-shadow:
        0 5px 0 #04a990,
        0 12px 20px rgba(0, 185, 157, .22);
}

/* =========================================================
   PART 3 â€” Intro + Image + Statistics Card
   Responsive layout
   ========================================================= */

.hf-part3,
.hf-part3 * {
    box-sizing: border-box;
}

.hf-part3 {
    position: relative;
    width: 100%;
    padding: clamp(0px, 7vw, 50px) 0;
    overflow: hidden;
    direction: rtl;
    background: #e3e4eb;
    color: #0c1a44;
    font-family: "Almarai", sans-serif;
}

/* =========================================================
   SHARED CONTAINER
   ========================================================= */

.hf-p3-intro,
.hf-p3-stats {
    width: min(90%, 1390px);
    margin-inline: auto;
}

/* =========================================================
   INTRO â€” TEXT + IMAGE
   ========================================================= */

.hf-p3-intro {
    display: grid;
    grid-template-columns: minmax(0, 0.7fr) minmax(280px, 1fr);
    align-items: center;
    gap: clamp(110px, 7vw, 35px);
    margin-bottom: clamp(130px, 9vw, 65px);
}

/* Text */

.hf-p3-content {
    min-width: 0;
    text-align: right;
}

.hf-p3-eyebrow {
    color: #4b5fd6;
}

.hf-p3-content h2 {
    margin: 0 0 24px;
    color: #0c1a44;
    font-size: clamp(28px, 3vw, 46px);
    font-weight: 800;
    line-height: 1.45;
}

.hf-p3-content .hf-pf {
    color: #4b5fd6;
}

.hf-p3-content p {
    margin: 0 0 18px;
    color: #252b3b;
    font-size: clamp(15px, 1.25vw, 20px);
    font-weight: 600;
    line-height: 2;
}

/* Image */

.hf-p3-image-wrap {
    position: relative;
    width: 100%;
    max-width: 450px;
    justify-self: center;
}

.hf-p3-image {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
    object-fit: contain;
}

/* =========================================================
   STATISTICS CARD
   ========================================================= */

.hf-p3-stats {
    position: relative;
    isolation: isolate;

    width: 100%;
    max-width: 1920px;
    min-height: 150px;

    margin: 0 auto;
    padding: 8px clamp(0px, 5vw, 30px);

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

    overflow: hidden;
    border: 0;
    border-radius: 0;

    /* Fallback + matching gradient */
    background-color: #17245f;
    background-image: linear-gradient(
        105deg,
        #17245f 0%,
        #243bb1 32%,
        #354fe0 65%,
        #00c9b2 100%
    );
}

/* Hide the old background image */
.hf-p3-stats-bg {
    display: none !important;
}

/* Statistics content */
.hf-p3-stats-content {
    position: relative;
    z-index: 1;

    width: 100%;
    max-width: 1600px;
    margin: 0 auto;
}

/* Four statistics */
.hf-p3-stats-grid {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr) 2px
        minmax(0, 1fr) 2px
        minmax(0, 1fr) 2px
        minmax(0, 1fr);

    align-items: stretch;
    gap: clamp(12px, 2.5vw, 40px);

    width: 100%;
}

/* Each statistic */
.hf-p3-stat {
    min-width: 0;

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

    gap: 10px;
    text-align: center;
}

/* Main number / heading */
.hf-p3-stat strong {
    display: block;
    max-width: 100%;

    color: #00e9ba;
    font-family: "Almarai", sans-serif;
    font-size: clamp(19px, 2.2vw, 36px);
    font-weight: 800;
    line-height: 1.3;

    overflow-wrap: break-word;
}

/* Description */
.hf-p3-stat span {
    display: block;
    max-width: 100%;

    color: #ffffff;
    font-family: "Almarai", sans-serif;
    font-size: clamp(12px, 1.1vw, 18px);
    font-weight: 400;
    line-height: 1.7;
}

/* Turquoise vertical separators */
.hf-p3-stat-divider {
    display: block;

    width: 2px;
    min-height: 65px;
    align-self: stretch;

    background: #00e9ba;
    border-radius: 99px;
}

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

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

/* =========================================================
   PART 4 â€” COMPLETE STYLING
   Intro + Lower Section
   ========================================================= */

.hf-part4,
.hf-part4 * {
    box-sizing: border-box;
}

.hf-part4 {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 50px 0 50px;
    overflow: hidden;

    direction: rtl;
    background: #e3e4eb;
    color: #0c1a44;

    font-family: "Almarai", sans-serif;
}

/* =========================================================
   SHARED CONTAINERS
   ========================================================= */

.hf-p4-intro,
.hf-p4-lower-container {
    width: min(90%, 1390px);
    margin-inline: auto;

    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;

    gap: clamp(35px, 5vw, 75px);
}

/* =========================================================
   INTRO SECTION
   Image LEFT â€” Content RIGHT
   ========================================================= */

.hf-p4-intro {
    direction: ltr;
    /* margin-bottom: clamp(100px, 12vw, 170px); */
}

/* Image */

.hf-p4-image-wrap {
    position: relative;
    width: 100%;
    min-width: 0;

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

    grid-column: 1;
    grid-row: 1;
}

.hf-p4-image {
    display: block;

    width: 100%;
    max-width: 760px;

    object-fit: contain;
    object-position: center;
}

/* Content */

.hf-p4-content {
    min-width: 0;

    grid-column: 2;
    grid-row: 1;

    direction: rtl;
    text-align: right;
}

/* Intro title */

.hf-p4-title {
    margin: 0 0 24px;

    color: #0c1a44;

    font-size: clamp(27px, 3vw, 44px);
    font-weight: 800;
    line-height: 1.55;
}

.hf-p4-title span {
    display: block;
    color: #4b5fd6;
}

/* Intro description */

.hf-p4-description {
    margin: 0 0 28px;

    color: #252b3b;

    font-size: clamp(15px, 1.25vw, 20px);
    font-weight: 500;
    line-height: 2;

    white-space: pre-line;
}

/* =========================================================
   INTRO BUTTONS
   ========================================================= */

.hf-p4-buttons {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
}

.hf-p4-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 238px;
    max-width: 100%;
    min-height: 42px;

    padding: 10px 25px;

    border: 1px solid rgba(12, 26, 68, .08);
    border-radius: 999px;

    font-family: "Almarai", sans-serif;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.5;

    text-align: center;
    text-decoration: none;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

/* Green button */

.hf-p4-btn-green {
    background: #00e9ba;
    color: #0c1a44 !important;

    box-shadow:
        0 3px 0 #04a990,
        0 8px 16px rgba(0, 185, 157, .18);
}

/* Blue button */

.hf-p4-btn-blue {
    background: #4b5fd6;
    color: #ffffff !important;

    box-shadow:
        0 3px 0 #3446ad,
        0 8px 16px rgba(55, 74, 190, .18);
}

/* Button hover */

.hf-p4-btn:hover {
    transform: translateY(-2px);
}

.hf-p4-btn-green:hover {
    box-shadow:
        0 5px 0 #04a990,
        0 12px 20px rgba(0, 185, 157, .22);
}

.hf-p4-btn-blue:hover {
    box-shadow:
        0 5px 0 #3446ad,
        0 12px 20px rgba(55, 74, 190, .22);
}

/* =========================================================
   LOWER SECTION
   Image RIGHT â€” Content LEFT
   ========================================================= */

.hf-p4-lower-container {
    direction: ltr;
    margin-bottom: 0;
}

/* Image on RIGHT */

.hf-p4-lower-image-wrap {
    position: relative;
    width: 100%;
    min-width: 0;

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

    grid-column: 2;
    grid-row: 1;
}

.hf-p4-lower-image {
    display: block;

    width: 100%;
    max-width: 560px;
    height: auto;

    object-fit: contain;
    object-position: center;
}

/* Content on LEFT */

.hf-p4-lower-content {
    min-width: 0;

    grid-column: 1;
    grid-row: 1;

    direction: rtl;
    text-align: right;
}

/* =========================================================
   LOWER â€” ENGLISH HEADING
   ========================================================= */

.hf-p4-lower-title {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;

    gap: 0 10px;
    margin: 0 0 22px;

    font-family: "Almarai", sans-serif;
    font-size: clamp(30px, 3.5vw, 56px);
    font-weight: 900;
    line-height: 1.25;
    letter-spacing: -1px;
}

.hf-p4-title-outline {
    color: transparent;
    -webkit-text-stroke: 1.5px #4b5fd6;
}

.hf-p4-title-solid {
    color: #0c1a44;
}

/* =========================================================
   LOWER â€” FIRST COLORED HEADING
   ========================================================= */

.hf-p4-lower-highlight {
    margin: 0 0 18px;

    color: #4b5fd6 !important;

    font-size: clamp(19px, 1.8vw, 27px);
    font-weight: 500;
    line-height: 1.6;
}

/* First paragraph */

.hf-p4-lower-description {
    margin: 0 0 26px;

    color: #252b3b;

    font-size: clamp(15px, 1.25vw, 20px);
    font-weight: 500;
    line-height: 2;
}

/* =========================================================
   LOWER â€” BUTTON
   ========================================================= */

.hf-p4-lower-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 190px;
    max-width: 100%;
    min-height: 42px;

    padding: 10px 30px;
    margin-bottom: 35px;

    border: 1px solid rgba(0, 233, 186, .45);
    border-radius: 999px;

    background: #00e9ba;
    color: #0c1a44 !important;

    font-family: "Almarai", sans-serif;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.4;

    text-decoration: none;
    text-align: center;

    box-shadow:
        0 3px 0 #04a990,
        0 8px 16px rgba(0, 185, 157, .18);

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.hf-p4-lower-btn:hover {
    transform: translateY(-2px);

    box-shadow:
        0 5px 0 #04a990,
        0 12px 20px rgba(0, 185, 157, .22);
}

/* =========================================================
   LOWER â€” SECOND HEADING
   ========================================================= */

.hf-p4-lower-subtitle {
    margin: 0 0 14px;

    color: #4b5fd6 !important;

    font-size: clamp(20px, 1.9vw, 29px);
    font-weight: 800;
    line-height: 1.5;
}

/* Second paragraph */

.hf-p4-lower-subdescription {
    margin: 0;

    color: #252b3b;

    font-size: clamp(15px, 1.2vw, 19px);
    font-weight: 500;
    line-height: 2;
}

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

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

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

/* =========================================================
   ACCESSIBILITY â€” REDUCED MOTION
   ========================================================= */

/* =========================================================
   PART 5 â€” Learning Steps + Lower Content
   Responsive layout
   ========================================================= */

.hf-part5,
.hf-part5 * {
    box-sizing: border-box;
}

.hf-part5 {
    --p5-navy: #0c1a44;
    --p5-blue: #4b5fd6;
    --p5-green: #00e9ba;
    --p5-bg: #e3e4eb;
    --p5-text: #252b3b;
    --p5-border: rgba(12, 26, 68, .30);

    position: relative;
    width: 100%;
    margin: 0;
    padding: 70px 0 90px;

    direction: rtl;
    overflow: hidden;

    background: var(--p5-bg);
    color: var(--p5-navy);

    font-family: "Almarai", sans-serif;
}


/* =========================================================
   SHARED CONTAINER
   ========================================================= */

.hf-p5-steps-section,
.hf-p5-lower {
    width: min(90%, 1390px);
    margin-inline: auto;
}


/* =========================================================
   TOP SECTION â€” TITLE
   ========================================================= */

.hf-p5-section-title {
    margin: 0 0 42px;

    color: var(--p5-blue) !important;

    font-size: clamp(25px, 2.4vw, 38px);
    font-weight: 800;
    line-height: 1.5;

    text-align: right;
}


/* =========================================================
   STEPS TIMELINE
   ========================================================= */

.hf-p5-steps {
    --p5-number-size: 46px;

    position: relative;

    display: flex;
    flex-direction: column;

    gap: 22px;

    width: 100%;
    max-width: 1050px;

    margin-inline: auto;
    padding: 0 0 0 0;
}


/* Vertical line behind numbered circles */

.hf-p5-steps::before {
    content: "";

    position: absolute;

    top: 22px;
    bottom: 22px;

    right: calc(var(--p5-number-size) / 2 - 1px);

    width: 3px;

    background: linear-gradient(
        to bottom,
        #4b5fd6 0%,
        #4777d6 30%,
        #4aacc0 65%,
        #00e9ba 100%
    );

    border-radius: 99px;
}


/* Individual row */

.hf-p5-step {
    position: relative;

    display: grid;

    grid-template-columns: var(--p5-number-size) minmax(0, 1fr);

    align-items: center;

    column-gap: 25px;

    min-width: 0;
}


/* Number circle */

.hf-p5-step-number {
    position: relative;
    z-index: 2;

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

    width: var(--p5-number-size);
    height: var(--p5-number-size);

    border: 5px solid var(--p5-bg);
    border-radius: 50%;

    background: var(--p5-blue);
    color: #ffffff;

    font-family: "Almarai", sans-serif;
    font-size: 11px;
    font-weight: 800;

    box-shadow: 0 3px 8px rgba(12, 26, 68, .12);
}


/* Different number colors */

.hf-p5-step:nth-child(1) .hf-p5-step-number {
    background: #4b5fd6;
}

.hf-p5-step:nth-child(2) .hf-p5-step-number {
    background: #4777d6;
}

.hf-p5-step:nth-child(3) .hf-p5-step-number {
    background: #489ac7;
}

.hf-p5-step:nth-child(4) .hf-p5-step-number {
    background: #4bb6ac;
}

.hf-p5-step:nth-child(5) .hf-p5-step-number {
    background: #54cfa4;
}


/* =========================================================
   STEP CARD
   ========================================================= */

.hf-p5-step-card {
    position: relative;

    display: flex;
    align-items: center;

    min-width: 0;
    min-height: 72px;

    padding: 20px 25px;

    border: 1px solid var(--p5-border);
    border-radius: 15px;

    background: rgba(255, 255, 255, .10);
}


/* Card text */

.hf-p5-step-card p {
    width: 100%;

    margin: 0;

    color: var(--p5-navy);

    font-size: clamp(13px, 1.05vw, 17px);
    font-weight: 500;
    line-height: 1.8;

    text-align: right;
}


/* Heading that cuts through the card border */

.hf-p5-step-label {
    position: absolute;

    top: 0;
    right: 22px;

    transform: translateY(-50%);

    z-index: 1;

    margin: 0;
    padding: 0 12px;

    background: var(--p5-bg);
    color: var(--p5-blue) !important;

    font-size: clamp(13px, 1.1vw, 17px);
    font-weight: 600;
    line-height: 1.5;

    white-space: nowrap;
}


/* =========================================================
   LOWER SECTION â€” IMAGE + CONTENT
   ========================================================= */

.hf-p5-lower {
    display: grid;

    grid-template-columns:
        minmax(0, .95fr)
        minmax(0, 1.05fr);

    align-items: center;

    gap: clamp(35px, 6vw, 90px);

    margin-top: 110px;
}


/* =========================================================
   LARGE IMAGE
   ========================================================= */

.hf-p5-image-wrap {
    position: relative;

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

    width: 100%;
    min-width: 0;
    left: calc((min(90vw, 1390px) - 100vw) / 2);

    margin-right: 0;
    padding: 0;

    direction: ltr;
}

.hf-p5-image {
    display: block;

    width: 100%;
    max-width: 460px;
    height: auto;

    object-fit: contain;
    object-position: left center;

    margin: 0;
    flex-shrink: 0;
}



/* =========================================================
   LOWER CONTENT
   ========================================================= */

.hf-p5-content {
    min-width: 0;
    text-align: right;
}


/* Main English / Arabic heading */

.hf-p5-heading {
    margin: 0 0 20px;

    color: var(--p5-blue) !important;

    font-size: clamp(25px, 3vw, 30px);
    font-weight: 800;
    line-height: 1;
}


/* =========================================================
   FOUR ARROW POINTS
   ========================================================= */

.hf-p5-points {
    display: flex;
    flex-direction: column;

    margin: 0 0 38px;
}

.hf-p5-point {
    display: grid;

    grid-template-columns: 32px minmax(0, 1fr);

    align-items: center;

    gap: 5px;

    min-width: 0;
}

.hf-p5-point-icon {
    display: block;

    width: 30px;
    height: 30px;

    object-fit: contain;
}

.hf-p5-point p {
    margin: 0;

    color: var(--p5-navy);

    font-size: clamp(12px, 1vw, 15px);
    font-weight: 400;
    line-height: 1;
}


/* =========================================================
   HIGHLIGHT HEADING WITH CIRCLE DECORATIONS
   ========================================================= */

.hf-p5-highlight-title {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;

    margin: 0 0 18px;

    color: var(--p5-blue) !important;

    font-size: clamp(18px, 1.5vw, 20px);
    font-weight: 800;
    line-height: 1;
}


/* Decorated word */

.hf-p5-highlight-word {
    position: relative;

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

    isolation: isolate;

}

.hf-p5-highlight-text {
    position: relative;
    z-index: 2;
}


/* Decorative circles behind word */

.hf-p5-circle {
    position: absolute;

    top: 50%;
    left: 50%;

    z-index: -1;

    width: 100%;
    height: 70%;

    border: 1.5px solid var(--p5-green);
    border-radius: 50%;

    pointer-events: none;
}

.hf-p5-circle-one {
    transform: translate(-50%, -50%) rotate(-8deg) scale(1.12, 1.35);
}

.hf-p5-circle-two {
    transform: translate(-50%, -50%) rotate(8deg) scale(1.2, 1.45);
    opacity: .75;
}


/* Highlight description */

.hf-p5-highlight-description {
    margin: 0 0 30px;

    color: var(--p5-text);

    font-size: clamp(14px, 1.15vw, 18px);
    font-weight: 500;
    line-height: 2;
}


/* =========================================================
   SECOND HEADING
   ========================================================= */

.hf-p5-subtitle {
    margin: 0 0 14px;

    color: var(--p5-blue) !important;

    font-size: clamp(20px, 1.8vw, 28px);
    font-weight: 800;
    line-height: 1.6;
}


/* =========================================================
   CTA BUTTON
   Same design family as Part 2
   ========================================================= */

.hf-p5-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 190px;
    min-height: 42px;

    padding: 10px 30px;

    border: 1px solid rgba(0, 233, 186, .45);
    border-radius: 999px;

    background: #00e9ba;
    color: #0c1a44 !important;

    font-family: "Almarai", sans-serif;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.4;

    text-decoration: none;
    text-align: center;

    box-shadow:
        0 3px 0 #04a990,
        0 8px 16px rgba(0, 185, 157, .18);

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.hf-p5-button:hover {
    transform: translateY(-2px);

    box-shadow:
        0 5px 0 #04a990,
        0 12px 20px rgba(0, 185, 157, .22);
}


/* Small note below button */

.hf-p5-note {
    margin: 18px 0 0;

    color: var(--p5-blue);

    font-size: 12px;
    font-weight: 500;
    line-height: 1.8;
}


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

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

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

/* =========================================================
   PART 6 â€” Intro + Four Feature Boxes
   ========================================================= */

.hf-part6,
.hf-part6 * {
    box-sizing: border-box;
}

.hf-part6 {
    --p6-bg: #e3e4eb;
    --p6-navy: #0c1a44;
    --p6-blue: #4b5fd6;
    --p6-green: #00e9ba;

    position: relative;
    width: 100%;
    padding: 10px 0 10px;
    overflow: hidden;
    isolation: isolate;

    direction: rtl;
    background: var(--p6-bg);
    color: var(--p6-navy);
    font-family: "Almarai", sans-serif;
}

/* =========================================================
   INTRO â€” IMAGE + CONTENT
   ========================================================= */

.hf-p6-intro {
    width: min(90%, 1390px);
    margin: 0 auto 100px;

    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1fr);

    align-items: center;
    gap: clamp(35px, 6vw, 90px);
}

/* Image â€” Right Side */

.hf-p6-image-wrap {
    position: relative;
    width: 100%;
    min-width: 0;

    display: flex;
    align-items: end;
    justify-content: end;
}

.hf-p6-image {
    display: block;
    width: 100%;
    max-width: 560px;
    height: auto;

    object-fit: contain;
    object-position: right;
}

/* Content â€” Left Side */

.hf-p6-content {
    min-width: 0;
    text-align: right;
}

/* Main Title */

.hf-p6-title {
    margin: 0 0 22px;

    color: var(--p6-navy);
    font-size: clamp(28px, 3vw, 44px);
    font-weight: 800;
    line-height: 1.55;
}

/* Highlighted Description */

.hf-p6-highlight {
    margin: 0 0 18px;

    color: var(--p6-blue);
    font-size: clamp(17px, 1.5vw, 23px);
    font-weight: 600;
    line-height: 1;
}

/* Main Description */

.hf-p6-description {
    margin: 0 0 26px;

    color: #252b3b;
    font-size: clamp(15px, 1.25vw, 20px);
    font-weight: 500;
    line-height: 2;
}

/* Button */

.hf-p6-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 190px;
    min-height: 42px;
    max-width: 100%;
    padding: 10px 28px;
    margin-bottom: 32px;

    border: 1px solid rgba(0, 233, 186, .45);
    border-radius: 999px;

    background: var(--p6-green);
    color: var(--p6-navy) !important;

    font-family: "Almarai", sans-serif;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;

    box-shadow:
        0 3px 0 #04a990,
        0 8px 16px rgba(0, 185, 157, .18);

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.hf-p6-btn:hover {
    transform: translateY(-2px);

    box-shadow:
        0 5px 0 #04a990,
        0 12px 20px rgba(0, 185, 157, .22);
}

/* Secondary Title */

.hf-p6-subtitle {
    margin: 0 0 14px;

    color: var(--p6-blue) !important;
    font-size: clamp(20px, 1.9vw, 29px);
    font-weight: 700;
    line-height: 1;
}

/* Secondary Description */

.hf-p6-subdescription {
    margin: 0 0 22px;

    color: #252b3b;
    font-size: clamp(15px, 1.2vw, 19px);
    font-weight: 500;
    line-height: 2;
}

/* Final Blue Title */

.hf-p6-final-title {
    margin: 0;

    color: var(--p6-blue) !important;
    font-size: clamp(19px, 1.8vw, 27px);
    font-weight: 700;
    line-height: 1;
}


/* =========================================================
   LOWER SECTION â€” FOUR BOXES
   ========================================================= */

.hf-p6-lower {
    width: min(90%, 1390px);
    margin: 0 auto;
}

/* Lower Title */

.hf-p6-lower-title {
    margin: 0 0 55px;

    color: var(--p6-blue) !important;
    font-size: clamp(25px, 2.5vw, 38px);
    font-weight: 800;
    line-height: 1.5;
    text-align: center;
}

/* Boxes Grid */

.hf-p6-boxes {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 70%;
    max-width: 900px;

    margin-inline: auto;
    gap: 48px;

    align-items: stretch;
}

/* Individual Box */

.hf-p6-box {
    position: relative;
    width: 100%;
    min-width: 0;

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

    padding: 25px 18px 15px;
    margin: 0;

    border: 1px solid rgba(12, 26, 68, .42);
    border-radius: 16px;

    background: transparent;
    text-align: center;
}

/* Label â€” Breaks the Top Border */

.hf-p6-label {
    position: absolute;
    top: 0;
    left: 50%;

    transform: translate(-50%, -50%);

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

    min-height: 38px;
    max-width: calc(100% - 30px);
    padding: 7px 22px;

    border-radius: 999px;

    background: var(--p6-blue);
    color: #ffffff;

    font-family: "Almarai", sans-serif;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.5;
    white-space: nowrap;

    box-shadow:
        0 3px 8px rgba(75, 95, 214, .18);
}

/* Box Text */

.hf-p6-box p {
    margin: 0;

    color: var(--p6-navy);
    font-size: clamp(14px, 1.15vw, 18px);
    font-weight: 500;
    line-height: 1.9;
}

/* =========================================================
   bottom SECTION
   ========================================================= */

.hf-p6-bottom {
    position: relative;
    width: min(90%, 1390px);
    margin: 0 auto;

    text-align: center;
}

/* Main Title */

.hf-p6-bottom-main-title {
    margin: 80px 0 16px;

    color: var(--p6-blue) !important;
    font-size: clamp(20px, 2vw, 25px);
    font-weight: 800;
    line-height: 1;
}
/* Main Description */

.hf-p6-bottom-description {
    max-width: 850px;
    margin: 0 auto 35px;

    color: var(--p7-navy);
    font-size: clamp(14px, 1.15vw, 18px);
    font-weight: 500;
    line-height: 1.9;
}


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

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

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

/* =========================================================
   PART 7 â€” Visual + Timeline + Cards
   ========================================================= */

.hf-part7,
.hf-part7 * {
    box-sizing: border-box;
}

.hf-part7 {
    --p7-bg: #e3e4eb;
    --p7-navy: #0c1a44;
    --p7-blue: #3d55e3;
    --p7-green: #00e9ba;

    position: relative;
    width: 100%;

    padding: 0 0 80px;

    margin: 0;

    overflow: hidden;
    isolation: isolate;

    direction: rtl;

    background: linear-gradient(
        to bottom,
        #3c54de 0%,
        #3c54de 38%,
        #384fcf 60%,
        #2f45b5 75%,
        #1f3280 100%
        /* #0c1a44 100% */
    );

    color: var(--p7-navy);
    font-family: "Almarai", sans-serif;
}

/* =========================================================
   FIGMA VISUAL â€” FULL SCREEN
   ========================================================= */

.hf-p7-visual {
    position: relative;

    width: 100vw;
    max-width: none;

    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);

    padding: 0;

    overflow: hidden;

    line-height: 0;
}

.hf-p7-visual-bg {
    display: block;

    width: 100vw;
    max-width: none;

    height: auto;

    margin: 0;
    padding: 0;

    object-fit: cover;
    object-position: center top;

    pointer-events: none;
    user-select: none;
}

.hf-p7-intro-text {
   position: absolute;

    right: 0;
    bottom: 0;
    left: 0;

    width: 100%;
    padding: 0 20px 35px;

    text-align: center;
    direction: rtl;

    z-index: 3;

    line-height: normal;

    pointer-events: none;
}


/* Title */

.hf-p7-intro-text h2 {
    margin: 0 0 16px;

    color: #ffffff;

    font-family: "Almarai", sans-serif;
    font-size: clamp(24px, 2.5vw, 38px);
    font-weight: 800;

    line-height: 1.4;
}


/* Description */

.hf-p7-intro-text p {
    width: min(100%, 760px);

    margin: 0 auto;

    color: #ffffff;

    font-family: "Almarai", sans-serif;
    font-size: clamp(14px, 1.2vw, 19px);
    font-weight: 400;

    line-height: 2;

    text-align: center;
}


/* =========================================================
   TIMELINE
   ========================================================= */

.hf-p7-timeline {
    position: relative;

    width: min(90%, 1050px);

    margin: 55px auto 25px;

    min-height: 145px;

    direction: rtl;
}


/* =========================================================
   VECTOR LINE
   ========================================================= */

.hf-p7-timeline-line {
    position: absolute;

    top: 18px;
    left: 15%;
    width: 70%;

    height: auto;

    max-width: none;

    display: block;

    object-fit: fill;

    transform: none;

    z-index: 0;

    pointer-events: none;
    user-select: none;
}


/* =========================================================
   TIMELINE ITEMS
   ========================================================= */

.hf-p7-timeline-items {
    position: relative;
    width: 70%;

    margin: 0 auto;

    display: flex;

    align-items: flex-start;

    justify-content: space-between;

    padding: 0;

    z-index: 2;
}


.hf-p7-timeline-item {
    position: relative;

    width: 36px;

    flex: 0 0 36px;

    display: flex;

    flex-direction: column;

    align-items: center;

    text-align: center;
}


/* =========================================================
   CIRCLES
   ========================================================= */

.hf-p7-timeline-circle {
    position: relative;

    width: 36px;
    height: 36px;

    flex: 0 0 36px;

    display: flex;

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

    border-radius: 50%;

    background: #ffffff;

    border: 0;

    box-shadow: 0 3px 10px rgba(12, 26, 68, .10);

    z-index: 3;
}

/* =========================================================
   LABEL
   ========================================================= */

.hf-p7-timeline-label {
    width: max-content;

    max-width: 190px;

    margin: 14px 0 0;

    color: var(--p7-navy);

    font-family: "Almarai", sans-serif;

    font-size: clamp(11px, 1vw, 15px);

    font-weight: 500;

    line-height: 1.7;

    text-align: center;
}

.hf-p7-timeline-circle::before {
    display: none;
}

.hf-p7-timeline-item:nth-child(1) .hf-p7-timeline-circle {
    background: #ffffff;
}

.hf-p7-timeline-item:nth-child(2) .hf-p7-timeline-circle {
    background: #ffffff;
}

.hf-p7-timeline-item:nth-child(3) .hf-p7-timeline-circle {
    background: var(--p7-turquoise, #00e9ba);
}


/* =========================================================
   TWO FEATURE CARDS
   ========================================================= */

.hf-p7-cards {
    width: min(90%, 1100px);
    margin: 0 auto;

    display: grid;

    gap: 25px;
}

/* Individual Card */

.hf-p7-card {
    position: relative;
    min-width: 0;

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

    padding: 35px 28px;

    border: 1px solid rgba(255, 255, 255, .8);
    border-radius: 18px;

    background: rgba(232, 234, 240, .3);
        

    text-align: center;
}

/* Card Title */

.hf-p7-card-title {
    margin: 0 0 18px;

    color: #ffffff !important;
    font-size: clamp(20px, 1.8vw, 28px);
    font-weight: 800;
    line-height: 1.5;
}

/* Card Description */

.hf-p7-card-description {
    margin: 0 0 25px;

    color: var(--p7-navy);
    font-size: clamp(14px, 1.1vw, 18px);
    font-weight: 500;
    line-height: 1.9;
}

/* Card Button */

.hf-p7-card-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 170px;
    min-height: 42px;
    max-width: 100%;

    padding: 9px 28px;

    border: 1px solid rgba(0, 233, 186, .45);
    border-radius: 999px;

    background: var(--p7-green);
    color: #ffffff !important;

    font-family: "Almarai", sans-serif;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.5;
    text-decoration: none;

    box-shadow:
        0 3px 0 #04a990,
        0 8px 16px rgba(0, 185, 157, .18);

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.hf-p7-card-btn:hover {
    transform: translateY(-2px);

    box-shadow:
        0 5px 0 #04a990,
        0 12px 20px rgba(0, 185, 157, .22);
}


/* =========================================================
   BOTTOM CTA
   ========================================================= */

.hf-p7-bottom {
    width: min(90%, 1100px);
    margin: 65px auto 0;

    display: flex;
    flex-direction: column;
    align-items: center;

    text-align: center;
}

/* Bottom Title */

.hf-p7-bottom-title {
    margin: 0 0 25px;

    color: #ffffff !important;
    font-size: clamp(24px, 2.4vw, 36px);
    font-weight: 800;
    line-height: 1.5;
}

/* Bottom Button */

.hf-p7-bottom-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 190px;
    min-height: 44px;
    max-width: 100%;

    padding: 10px 30px;
    margin-bottom: 18px;

    border: 1px solid rgba(0, 233, 186, .45);
    border-radius: 999px;

    background: #4661ff;
    color: #ffffff !important;

    font-family: "Almarai", sans-serif;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.5;
    text-decoration: none;

    box-shadow:
        #ffffff 3px 0 #4661ff,
        0 8px 16px rgba(55, 74, 190, .18);

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.hf-p7-bottom-btn:hover {
    transform: translateY(-2px);

    box-shadow:
        0 3px 0 #3446ad,
        0 8px 16px rgba(55, 74, 190, .18);
}

/* Bottom Description */

.hf-p7-bottom-description {
    max-width: 850px;
    margin: 0;

    color: #ffffff;
    font-size: clamp(12px, 1vw, 15px);
    font-weight: 400;
    line-height: 1.9;
}


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

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

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

/* =========================================================
   FOOTER
========================================================= */

.hf-footer {
    position: relative;

    width: 100%;
    min-height: 500px;

    overflow: hidden;

    direction: rtl;

    background: #1f3280;

    font-family: "Almarai", sans-serif;
}


/* =========================================================
   BLUE BACKGROUND
========================================================= */

.hf-footer-blue {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    background: #1f3280;

    z-index: 0;
}


/* =========================================================
   WHITE / LIGHT BACKGROUND
========================================================= */

.hf-footer-content {
    position: relative;

    width: 100%;

    min-height: 500px;
    padding-top: 100px;

    background: #e3e4eb;

    z-index: 1;

    clip-path: polygon(
        0 7%,
        2% 2%,
        4% 7%,
        7% 3%,
        9% 10%,
        12% 25%,
        15% 20%,
        18% 8%,
        21% 36%,
        25% 36%,
        26% 47%,
        29% 38%,
        33% 27%,
        39% 26%,
        44% 25%,
        46% 34%,
        54% 33%,
        58% 31%,
        63% 42%,
        64% 58%,
        68% 36%,
        75% 41%,
        79% 44%,
        85% 32%,
        89% 20%,
        91% 28%,
        95% 31%,
        98% 43%,
        100% 35%,
        100% 100%,
        0 100%
    );
}


/* =========================================================
   INNER CONTAINER
========================================================= */

.hf-footer-inner {
    position: relative;

    width: min(90%, 1200px);

    min-height: 500px;

    margin: 0 auto;

    display: grid;

    grid-template-columns: 1fr 1fr 1fr;

    align-items: center;

    padding-top: 150px;

    direction: rtl;

    box-sizing: border-box;
}


/* =========================================================
   LEFT â€” BRAND
========================================================= */

.hf-footer-brand {
    display: flex;

    flex-direction: column;

    align-items: flex-start;

    justify-content: center;

    direction: ltr;

    text-align: left;
}


.hf-footer-logo {
    display: block;

    width: 250px;
    height: auto;

    object-fit: contain;

    margin-bottom: 8px;
}


/* =========================================================
   CENTER â€” SOCIAL
========================================================= */

.hf-footer-social {
    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    direction: rtl;

    text-align: center;
}


.hf-footer-social-title {
    margin: 0 0 10px;

    color: #384fcf;

    font-family: "Almarai", sans-serif;

    font-size: 16px;

    font-weight: 500;

    line-height: 1.6;
}


.hf-footer-social-icons {
    display: flex;

    align-items: center;

    justify-content: center;

    gap: 10px;

    direction: rtl;
}


.hf-footer-social-icons a {
    display: flex;

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

    width: 20px;
    height: 20px;

    color: #384fcf;

    font-size: 16px;

    text-decoration: none;

    transition:
        transform .2s ease,
        opacity .2s ease;
}


.hf-footer-social-icons a:hover {
    transform: translateY(-2px);

    opacity: .75;
}


/* =========================================================
   RIGHT â€” LINKS
========================================================= */

.hf-footer-links {
    grid-column: 1;

    width: 100%;

    display: flex;

    flex-direction: column;

    align-items: flex-start;

    justify-content: center;

    gap: 4px;

    direction: rtl;

    text-align: right;

    justify-self: stretch;

    align-self: center;

    box-sizing: border-box;
}


.hf-footer-links a {
    display: block;

    width: 100%;

    margin: 0;
    padding: 0;

    color: #384fcf;

    font-family: "Almarai", sans-serif;

    font-size: 16px;

    font-weight: 400;

    line-height: 1.9;

    text-decoration: none;

    direction: rtl;

    text-align: right;

    unicode-bidi: normal;

    white-space: nowrap;

    box-sizing: border-box;

    transition:
        opacity .2s ease,
        transform .2s ease;
}

.hf-footer-links a:hover {
    opacity: .75;

    transform: translateX(-3px);
}

/* =========================================================
   RESPONSIVE — HOMEPAGE
   IMPORTANT:
   Desktop CSS above this section remains untouched.
   Everything responsive is consolidated here.
========================================================= */


/* =========================================================
   DESKTOP ONLY
========================================================= */

@media (min-width: 992px) {

    .navbar.navbar-transparent > .container {
        min-height: 5.83vw;
        padding-top: 3.49vw;
    }
}


/* =========================================================
   TABLET + MOBILE — GLOBAL
========================================================= */

@media (max-width: 991.98px) {

    html:has(.hf-page),
    body:has(.hf-page),
    .hf-page {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        overflow-x: clip;
    }

    .hf-page *,
    .hf-page *::before,
    .hf-page *::after {
        box-sizing: border-box;
    }

    .hf-page img {
        max-width: 100%;
    }


    /* =====================================================
       NAVBAR
    ===================================================== */

    body:has(.hf-page) .navbar.navbar-transparent.position-absolute {
        position: relative !important;

        top: 0;
        left: 0;
        right: 0;

        width: 100%;

        z-index: 1000;

        padding: 10px 0 !important;

        background: var(--hf-navy);
    }

    body:has(.hf-page) .navbar.navbar-transparent > .container {
        width: calc(100% - 28px);
        max-width: 720px;

        min-height: 44px;

        margin-inline: auto;

        padding: 0;

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

        gap: 12px;
    }


    /* Logo */

    body:has(.hf-page) .navbar-brand {
        min-width: 0;

        margin: 0;

        padding: 0;

        display: flex;
        align-items: center;

        gap: 8px;

        direction: ltr;
    }

    body:has(.hf-page) .navbar-brand img {
        width: auto;
        height: 34px;
        max-width: none;

        margin: 0;
    }

    body:has(.hf-page) .navbar-brand span {
        max-width: 170px;

        overflow: hidden;

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

        white-space: nowrap;
        text-overflow: ellipsis;
    }


    /* Hamburger */

    body:has(.hf-page) .navbar-toggler {
        display: inline-flex;

        flex: 0 0 42px;

        width: 42px;
        height: 42px;

        margin: 0 !important;
        padding: 0;

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

        border: 1px solid rgba(255,255,255,.25);
        border-radius: 12px;

        background: rgba(255,255,255,.08);

        box-shadow: none;

        z-index: 1001;
    }

    body:has(.hf-page) .navbar-toggler:focus {
        box-shadow:
            0 0 0 3px rgba(0,241,185,.20);
    }

    body:has(.hf-page) .navbar-toggler-icon {
        width: 22px;
        height: 18px;

        margin: 0 !important;

        background-image: none !important;

        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    body:has(.hf-page) .navbar-toggler-bar {
        display: block;

        width: 22px;
        height: 2px;

        margin: 3px 0;

        border-radius: 999px;

        background: #fff;
    }


    /* Mobile navigation */

    body:has(.hf-page) #navigation {
        flex-basis: 100%;

        width: 100%;
        max-width: 100%;

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

        overflow: visible;

        border: 1px solid rgba(255,255,255,.14);
        border-radius: 16px;

        background: rgba(12,26,68,.98);

        box-shadow:
            0 18px 40px rgba(4,11,34,.28);
    }

    body:has(.hf-page) #navigation:not(.show):not(.collapsing) {
        display: none;
    }

    body:has(.hf-page) #navigation.show {
        display: block;
    }

    body:has(.hf-page) #navigation.collapsing {
        display: block;
        height: auto !important;
    }

    body:has(.hf-page) #navigation .navbar-nav {
        width: 100%;

        margin: 0 !important;
        padding: 0;

        display: flex;

        flex-direction: column;

        align-items: stretch !important;

        gap: 5px;

        text-align: right;
    }

    body:has(.hf-page) #navigation .nav-item {
        width: 100%;

        margin: 0 !important;
    }

    body:has(.hf-page) #navigation .nav-link {
        display: block;

        width: 100%;

        padding: 11px 13px;

        border-radius: 10px;

        color: #fff !important;

        text-align: right;

        direction: rtl;
    }

    body:has(.hf-page) #navigation .nav-link:hover,
    body:has(.hf-page) #navigation .nav-link:focus {
        background: rgba(255,255,255,.08);
    }

    body:has(.hf-page) #navigation .dropdown-menu {
        position: static !important;

        width: 100%;
        min-width: 0;

        margin: 4px 0 0 !important;
        padding: 7px !important;

        transform: none !important;

        border: 0;

        border-radius: 10px;

        text-align: right;

        background: rgba(255,255,255,.06);
    }

    body:has(.hf-page) #navigation .dropdown-item {
        padding: 9px 10px;

        color: #fff;

        text-align: right;
    }

    body:has(.hf-page) #navigation .nav-item.d-flex {
        width: 100%;

        display: flex !important;

        flex-wrap: wrap;

        gap: 8px;
    }

    body:has(.hf-page) #navigation .btn {
        min-width: 112px;

        margin: 0 !important;

        white-space: nowrap;
    }

    /* =====================================================
   PART 1 — HERO — MOBILE
   ===================================================== */

    @media (max-width: 991.98px) {

        .hf-hero-canvas {
            width: 100%;
            min-height: 0;
            overflow: hidden;
            position: relative;
        }

        .hf-hero-inner {
            width: 100%;
            max-width: none;
            min-height: 0;
            height: auto;
            aspect-ratio: auto;
            position: relative;

            display: flex;
            flex-direction: column;
            align-items: center;
        }

        .hf-c-gradient {
            position: absolute;

            left: 0;
            right: 0;
            top: 0;

            width: 100%;
            height: 48%;

            max-width: none;

            object-fit: cover;
            object-position: center top;

            opacity: .88;

            -webkit-mask-image:
                linear-gradient(
                    to bottom,
                    #000 0%,
                    #000 72%,
                    transparent 100%
                );

            mask-image:
                linear-gradient(
                    to bottom,
                    #000 0%,
                    #000 72%,
                    transparent 100%
                );

            z-index: 0;
        }
        .hf-c-chartline {
            position: absolute;

            left: 0;
            top: 27%;

            width: 100%;
            height: auto;

            max-width: none;

            opacity: .22;

            z-index: 1;

            pointer-events: none;
        }

        .hf-c-portrait-wrap {
            position: relative;

            left: auto;
            right: auto;
            top: auto;

            width: 100%;
            height: auto;

            min-height: 330px;

            display: flex;

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

            z-index: 3;

            order: 1;

            margin: 0 auto;
        }

        .hf-c-portrait {
            display: block;

            width: min(78vw, 360px);
            height: auto;

            max-height: 360px;

            object-fit: contain;
            object-position: bottom center;

            margin: 0 auto;
        }

        .hf-hero-canvas .hf-c-wave,
        .hf-hero-canvas .hf-c-wave img,
        .hf-hero-canvas .hf-c-portrait-wave,
        .hf-hero-canvas .hf-c-arrow,
        .hf-hero-canvas .hf-c-arrow img {
            display: none !important;
        }

        .hf-hero-canvas .hf-c-headline {
            position: relative;

            left: auto;
            right: auto;
            top: auto;

            width: 90%;

            margin: 24px auto 0;

            font-size: clamp(24px, 7vw, 38px) !important;

            line-height: 1.45;

            text-align: center;

            z-index: 4;

            order: 2;
        }

        .hf-c-subtitle {
            position: relative;

            left: auto;
            right: auto;
            top: auto;

            width: 88%;

            margin: 12px auto 0;

            font-size: clamp(13px, 3.5vw, 17px) !important;

            line-height: 1.9;

            text-align: center;

            z-index: 4;

            order: 3;
        }

        .hf-c-cta {
            position: relative;

            left: auto;
            right: auto;
            top: auto;

            width: 100%;
            height: auto;

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

            margin: 22px auto 0;

            z-index: 4;

            order: 4;
        }

        .hf-c-cta .hf-btn {
            width: min(65%, 270px);
            max-width: 330px;

            height: 38px;

            margin: 0 auto;

            font-size: 10px;

            white-space: nowrap;
        }

        .hf-c-stats {
            position: relative;

            left: auto;
            right: auto;
            width: 100%;

            min-height: 76px;

            /* margin: 38px auto 22px; */

            display: grid;

            grid-template-columns:
                repeat(4, minmax(0, 1fr));

            align-items: stretch;

            gap: 0;

            padding: 7px 4px;

            z-index: 5;

            order: 5;

            box-sizing: border-box;
        }


        .hf-stat-col {
            min-width: 0;

            padding: 5px 1px;

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

            text-align: center;
        }

        .hf-stat-col-divide::before {
            display: block;
            width: 2px !important;
        }


        .hf-stat-num {
            font-size: clamp(13px, 3.4vw, 18px);

            line-height: 1;

            white-space: nowrap;
        }


        .hf-stat-label {
            margin-top: 3px;

            font-size: clamp(8px, 2.1vw, 11px);

            line-height: 1;

            white-space: normal;

            text-align: center;
        }
    }

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

@media (max-width: 600px) {

    .hf-c-portrait-wrap {
        min-height: 300px;
    }

    .hf-c-portrait {
        width: min(76vw, 330px);
        max-height: 330px;
    }

    .hf-hero-canvas .hf-c-headline {
        width: 92%;
        margin-top: 20px;

        font-size: clamp(22px, 7vw, 32px) !important;
    }

    .hf-c-subtitle {
        width: 90%;

        margin-top: 10px;

        font-size: clamp(12px, 3.5vw, 16px) !important;
        line-height: 1.85;
    }

    .hf-c-cta {
        margin-top: 18px;
    }

    .hf-c-cta .hf-btn {
        width: 62%;
        max-width: 250px;

        height: 30px;

        font-size: 8px;
    }

    .hf-c-stats {
        width: 100%;

        min-height: 50px;

        margin-top: 20px;

        padding: 5px 2px;
    }

    .hf-stat-col {
        padding: 5px 2px;
    }

    .hf-stat-num {
        font-size: clamp(12px, 2.7vw, 13px);
    }

    .hf-stat-label {
        font-size: clamp(7px, 1.5vw, 10px);
        line-height: 1;
    }
}


/* =====================================================
   VERY SMALL PHONES
   ===================================================== */

@media (max-width: 380px) {

    .hf-c-portrait-wrap {
        min-height: 275px;
    }

    .hf-c-portrait {
        width: 74vw;
        max-height: 300px;
    }

    .hf-hero-canvas .hf-c-headline {
        font-size: 18px !important;
    }

    .hf-c-subtitle {
        font-size: 10px !important;
    }

    .hf-c-cta .hf-btn {
        width: 60%;
        height: 24px;
        font-size: 10px;
    }

    .hf-c-stats {
        width: 100%;
    }

    .hf-stat-col {
        padding-inline: 1px;
    }

    .hf-stat-num {
        font-size: 10px;
    }

    .hf-stat-label {
        font-size: 7px;
    }
}

   /* =====================================================
   PART 2 — MOBILE
   ===================================================== */

    @media (max-width: 991.98px) {

        .hf-part2 {
            width: 100%;
            margin-top: 0;
            overflow: hidden;
        }

        .hf-p2-canvas {
            width: 100%;
            max-width: none;

            min-height: 0;
            height: auto;

            aspect-ratio: auto;

            background: #dfe3ee;

            position: relative;

            display: flex;
            flex-direction: column;
            align-items: center;

            overflow: hidden;
        }


        /* =================================================
        BLUE BACKGROUND
        ================================================= */

        .hf-p2-bg-blue {
            position: absolute;

            top: 0;
            left: 0;

            width: 100%;
            height: 42%;

            object-fit: cover;
            object-position: center top;

            z-index: 0;
        }

        .hf-p2-gear-wrap {
            position: relative;

            left: -25%;
            margin-top: 70px;
            z-index: 2;

            order: 1;
        }


        .hf-p2-gear-wrap img {
            display: block;

            width: 100%;
            height: auto;

            max-width: 80%;
        }

        .hf-p2-story {
            position: relative;

            top: auto;
            right: auto;
            left: auto;

            width: 88%;

            margin: 28px auto 0;

            text-align: center;

            z-index: 3;

            order: 2;
        }

        .hf-p2-story h2 {
            margin: 0 auto 12px;

            font-size: clamp(20px, 5vw, 16px);

            line-height: 1;

            text-align: center;

            color: #252b3b;
        }

        .hf-p2-story p {
            margin: 0 auto;

            max-width: 620px;

            font-size: clamp(10px, 3vw, 15px);

            line-height: 1;

            text-align: center;

            color: #252b3b;
        }


        /* =================================================
        FLOW / ARROW AREA
        ================================================= */

        .hf-p2-flow {
            position: relative;

            top: auto;
            right: auto;
            left: auto;
            bottom: auto;

            width: 92%;
            height: 190px;

            margin: 30px auto 0;

            z-index: 3;

            order: 3;
        }

        .hf-p2-pill {
            min-width: 0;

            height: 28px;

            padding: 0 9px;

            font-size: 9px;

            line-height: 28px;

            white-space: nowrap;

            z-index: 4;
        }


        .hf-p2-pill-market {
            right: 20%;
            top: 35%;
        }

        .hf-p2-pill-method {
            right: 50%;
            top: 62%;

            transform: translateX(50%);
        }

        .hf-p2-pill-tool {
            right: auto;
            left: 22%;
            top: 35%;
        }

        .hf-p2-arrow {
            right: 50%;
            left: auto;

            top: 42%;

            width: 46%;

            transform: translateX(50%);

            z-index: 3;
        }

        .hf-p2-paths {
            width: 90%;

            padding: 28px 0 45px;

            margin: 0 auto;
        }

        .hf-p2-card {
            padding: 24px 18px;

            text-align: center;
        }

        .hf-p2-card h3 {
            font-size: clamp(18px, 4.5vw, 25px);

            line-height: 1.5;
        }

        .hf-p2-card p {
            font-size: 13px;

            line-height: 1.8;
        }
    }


/* =====================================================
   PART 2 — SMALL MOBILE
   ===================================================== */

@media (max-width: 600px) {

    .hf-p2-bg-blue {
        height: 40%;
    }


    .hf-p2-gear-wrap {
        width: min(44vw, 185px);
    }


    .hf-p2-story {
        width: 90%;

        margin-top: 24px;
    }

    .hf-p2-story h2 {
        font-size: clamp(18px, 5vw, 20px);

        margin-bottom: 10px;
    }

    .hf-p2-story p {
        font-size: clamp(12px, 3.4vw, 15px);

        line-height: 1.85;
    }


    .hf-p2-flow {
        width: 94%;

        height: 175px;

        margin-top: 25px;
    }


    .hf-p2-pill {
        height: 26px;

        padding: 0 7px;

        font-size: 8px;

        line-height: 26px;
    }


    .hf-p2-pill-market {
        right: 16%;
        top: 32%;
    }

    .hf-p2-pill-method {
        right: 50%;
        top: 54%;
    }

    .hf-p2-pill-tool {
        left: 16%;
        top: 32%;
    }


    .hf-p2-arrow {
        width: 50%;

        top: 41%;
    }
}


/* =====================================================
   VERY SMALL PHONES
   ===================================================== */

@media (max-width: 380px) {

    .hf-p2-gear-wrap {
        width: 43vw;

        margin-top: 14px;
    }

    .hf-p2-story {
        width: 92%;

        margin-top: 20px;
    }

    .hf-p2-story h2 {
        font-size: 21px;
    }

    .hf-p2-story p {
        font-size: 11px;
    }

    .hf-p2-flow {
        width: 96%;
        height: 160px;

        margin-top: 20px;
    }

    .hf-p2-pill {
        height: 24px;

        padding: 0 5px;

        font-size: 7px;

        line-height: 24px;
    }

    .hf-p2-arrow {
        width: 52%;
    }
}

    /* =====================================================
       PART 3
    ===================================================== */

    .hf-part3 {
        padding: 45px 0;
    }

    .hf-p3-intro {
        width: 90%;

        grid-template-columns: 1fr;

        gap: 30px;

        margin-bottom: 55px;
    }

    .hf-p3-image-wrap {
        width: min(85%, 360px);

        grid-row: 1;

        margin-inline: auto;
    }

    .hf-p3-content {
        grid-row: 2;

        text-align: right;
    }

    .hf-p3-content h2 {
        font-size: 22px;
    }

    .hf-p3-content p {
        font-size: 12px;
    }

    .hf-p3-stats {
        width: 100%;

        min-height: 0;

    }

    .hf-p3-stats-title {
        margin-bottom: 30px;

        font-size: 15px;
    }

    .hf-p3-stat-divider {
        display: block;
    }

    .hf-p3-stat {
        padding: 5px 2px;

        gap: 5px;
    }

    .hf-p3-stat strong {
        font-size: clamp(10px, 3vw, 20px);
    }

    .hf-p3-stat span {
        font-size: 10px;
    }


    /* =====================================================
       PART 4
    ===================================================== */

    .hf-part4 {
        padding: 40px 0 50px;
    }

    .hf-p4-intro,
    .hf-p4-lower-container {
        width: 90%;

        grid-template-columns: 1fr;

        gap: 30px;
    }

    .hf-p4-intro {
        direction: ltr;

        margin-bottom: 70px;
    }

    .hf-p4-image-wrap {
        grid-column: 1;
        grid-row: 1;

        width: min(100%, 390px);

        margin-inline: auto;
    }

    .hf-p4-image {
        width: 100%;
    }

    .hf-p4-content {
        grid-column: 1;
        grid-row: 2;

        direction: rtl;

        text-align: right;
    }

    .hf-p4-title {
        margin-bottom: 18px;

        font-size: 28px;

        line-height: 1.6;
    }

    .hf-p4-description {
        font-size: 15px;

        line-height: 2;
    }

    .hf-p4-buttons {
        width: 100%;

        align-items: stretch;

        gap: 16px;
    }

    .hf-p4-btn {
        width: 100%;

        min-width: 0;
        min-height: 44px;

        font-size: 13px;
    }

    .hf-p4-lower-container {
        direction: ltr;
    }

    .hf-p4-lower-image-wrap {
        grid-column: 1;
        grid-row: 1;

        width: min(100%, 390px);

        margin-inline: auto;
    }

    .hf-p4-lower-image {
        width: 100%;
    }

    .hf-p4-lower-content {
        grid-column: 1;
        grid-row: 2;

        direction: rtl;

        text-align: right;
    }

    .hf-p4-lower-title {
        justify-content: flex-start;

        gap: 7px;

        margin-bottom: 18px;

        font-size: clamp(25px, 7vw, 36px);

        line-height: 1.4;

        letter-spacing: -.5px;
    }

    .hf-p4-title-outline {
        -webkit-text-stroke: 1px #4b5fd6;
    }

    .hf-p4-lower-highlight {
        font-size: 20px;
    }

    .hf-p4-lower-description,
    .hf-p4-lower-subdescription {
        font-size: 15px;

        line-height: 1.9;
    }

    .hf-p4-lower-btn {
        margin-bottom: 30px;
    }

    .hf-p4-lower-subtitle {
        margin-bottom: 14px;

        font-size: 21px;
    }


    /* =====================================================
       PART 5
    ===================================================== */

    .hf-part5 {
        padding: 40px 0 55px;
    }

    .hf-p5-steps-section,
    .hf-p5-lower {
        width: 90%;
    }

    .hf-p5-section-title {
        margin-bottom: 35px;

        font-size: 25px;
    }

    .hf-p5-steps {
        --p5-number-size: 40px;

        gap: 25px;
    }

    .hf-p5-steps::before {
        right: 18.5px;
    }

    .hf-p5-step {
        grid-template-columns:
            40px minmax(0, 1fr);

        column-gap: 13px;
    }

    .hf-p5-step-number {
        width: 40px;
        height: 40px;

        border-width: 4px;

        font-size: 10px;
    }

    .hf-p5-step-card {
        min-height: 75px;

        padding: 20px 14px 15px;

        border-radius: 12px;
    }

    .hf-p5-step-label {
        right: 12px;

        padding-inline: 8px;

        font-size: 12px;
    }

    .hf-p5-step-card p {
        font-size: 12px;

        line-height: 1.9;
    }

    .hf-p5-lower {
        grid-template-columns: 1fr;

        gap: 30px;

        margin-top: 65px;
    }

    .hf-p5-image-wrap {
        position: relative;

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

        width: 100%;
        min-width: 0;
        left: calc((min(90vw, 1390px) - 100vw) / 2);

        margin-right: 0;
        padding: 0;

        direction: ltr;
    }

    .hf-p5-image {
        width: 80%;

        max-width: 100%;
    }

    .hf-p5-content {
        grid-row: 2;

        text-align: right;
    }

    .hf-p5-heading {
        gap: 0 7px;

        margin-bottom: 24px;

        font-size: clamp(27px, 7vw, 36px);

        line-height: 1.6;
    }

    .hf-p5-points {
        gap: 16px;

        margin-bottom: 32px;
    }

    .hf-p5-point {
        grid-template-columns:
            27px minmax(0, 1fr);

        gap: 12px;
    }

    .hf-p5-point-icon {
        width: 26px;
        height: 26px;
    }

    .hf-p5-point p {
        font-size: 14px;

        line-height: 1.9;
    }

    .hf-p5-highlight-title {
        margin-bottom: 14px;

        font-size: 21px;
    }

    .hf-p5-highlight-description {
        font-size: 14px;

        line-height: 1.95;
    }

    .hf-p5-subtitle {
        font-size: 21px;
    }

    .hf-p5-button {
        width: 100%;

        min-height: 44px;
    }

    .hf-p5-note {
        font-size: 11px;

        text-align: center;
    }


 /* =====================================================
   PART 6 — MOBILE SIZE ADJUSTMENT
   ===================================================== */

@media (max-width: 991.98px) {

    .hf-part6 {
        padding: 30px 0 40px;
    }

    .hf-p6-intro {
        width: 90%;

        grid-template-columns: 1fr;

        gap: 18px;

        margin-bottom: 45px;
    }

    .hf-p6-image-wrap {
        grid-row: 1;

        width: min(82%, 330px);

        margin-inline: auto;
    }

    .hf-p6-image {
        width: 100%;
        max-width: 100%;
    }

    .hf-p6-content {
        grid-row: 2;

        text-align: right;
    }

    .hf-p6-title {
        font-size: 22px;

        line-height: 1.5;
    }

    .hf-p6-highlight {
        font-size: 15px;
    }

    .hf-p6-description,
    .hf-p6-subdescription {
        font-size: 12px;

        line-height: 1.8;
    }

    .hf-p6-btn {
        width: 100%;

        min-height: 40px;

        margin-bottom: 20px;

        font-size: 11px;
    }

    .hf-p6-subtitle {
        font-size: 17px;
    }

    .hf-p6-final-title {
        font-size: 16px;
    }


    /* =================================================
       LOWER SECTION
       ================================================= */

    .hf-p6-lower {
        width: 90%;
    }

    .hf-p6-lower-title {
        margin-bottom: 30px;

        font-size: 20px;
    }


    /* =================================================
       BOXES
       ================================================= */

    .hf-p6-boxes {
        grid-template-columns: 1fr;

        gap: 28px;

        width: 100%;
    }

    .hf-p6-box {
        min-height: 90px;

        padding: 25px 15px 18px;
    }

    .hf-p6-label {
        min-height: 30px;

        padding: 4px 14px;

        font-size: 11px;
    }

    .hf-p6-box p {
        font-size: 12px;

        line-height: 1.8;
    }
}


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

@media (max-width: 600px) {

    .hf-part6 {
        padding: 25px 0 35px;
    }

    .hf-p6-intro {
        width: 92%;
        gap: 15px;
        margin-bottom: 38px;
    }

    .hf-p6-image-wrap {
        width: min(78%, 300px);
    }

    .hf-p6-title {
        font-size: 19px;
        line-height: 1.5;
    }

    .hf-p6-highlight {
        font-size: 13px;
    }

    .hf-p6-description,
    .hf-p6-subdescription {
        font-size: 11px;
        line-height: 1.75;
    }

    .hf-p6-btn {
        min-height: 38px;
        margin-bottom: 17px;
        font-size: 10px;
    }

    .hf-p6-subtitle {
        font-size: 15px;
    }

    .hf-p6-final-title {
        font-size: 14px;
    }

    .hf-p6-lower {
        width: 92%;
    }

    .hf-p6-lower-title {
        margin-bottom: 25px;
        font-size: 18px;
    }

    .hf-p6-boxes {
        gap: 22px;
    }

    .hf-p6-box {
        min-height: 80px;
        padding: 22px 13px 15px;
    }

    .hf-p6-label {
        min-height: 27px;
        padding: 3px 12px;
        font-size: 10px;
    }

    .hf-p6-box p {
        font-size: 10px;
        line-height: 1.75;
    }
}


/* =====================================================
   VERY SMALL PHONES
   ===================================================== */

@media (max-width: 380px) {

    .hf-p6-image-wrap {
        width: 75%;
    }

    .hf-p6-title {
        font-size: 17px;
    }

    .hf-p6-highlight {
        font-size: 12px;
    }

    .hf-p6-description,
    .hf-p6-subdescription {
        font-size: 10px;
    }

    .hf-p6-subtitle {
        font-size: 14px;
    }

    .hf-p6-final-title {
        font-size: 13px;
    }

    .hf-p6-lower-title {
        font-size: 17px;
    }

    .hf-p6-box {
        min-height: 75px;
        padding: 20px 10px 13px;
    }

    .hf-p6-label {
        font-size: 9px;
    }

    .hf-p6-box p {
        font-size: 9px;
    }
}


   /* =====================================================
   PART 7 — MOBILE SIZE ADJUSTMENT
   ===================================================== */

@media (max-width: 991.98px) {

    .hf-part7 {
        padding: 0 0 40px;
    }

    .hf-p7-visual {
        width: 100vw;

        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);

        overflow: hidden;

        line-height: 0;
    }

    .hf-p7-visual-bg {
        display: block;

        width: 100vw;
        max-width: none;

        height: auto;

        object-fit: cover;
        object-position: center top;
    }

    .hf-p7-intro-text {
        padding: 32px 18px 20px;
              top: 30% !important;

        line-height: normal;
    }

    .hf-p7-intro-text h2 {
        margin-bottom: 6px;

        font-size: 20px;

        line-height: 1.4;
    }

    .hf-p7-intro-text p {
        width: 92%;

        margin-inline: auto;

        font-size: 11px;

        line-height: 1.75;
    }


    /* =================================================
       TIMELINE
       ================================================= */

    .hf-p7-timeline {
        width: 88%;

        min-height: 105px;

        margin: 38px auto 28px;
    }

    .hf-p7-timeline-line {
        top: 15px;

        left: 6%;

        width: 88%;
    }

    .hf-p7-timeline-items {
        width: 88%;

        margin-inline: auto;

        gap: 0;
    }

    .hf-p7-timeline-item {
        width: 28px;

        flex: 0 0 28px;
    }

    .hf-p7-timeline-circle {
        width: 28px;
        height: 28px;

        flex-basis: 28px;
    }

    .hf-p7-timeline-label {
        max-width: 82px;

        margin-top: 7px;

        font-size: 8px;

        line-height: 1.45;
    }


    /* =================================================
       CARDS
       ================================================= */

    .hf-p7-cards {
        width: 88%;

        grid-template-columns: 1fr;

        gap: 17px;
    }

    .hf-p7-card {
        padding: 22px 16px;
    }

    .hf-p7-card-title {
        font-size: 18px;
    }

    .hf-p7-card-description {
        font-size: 11px;

        line-height: 1.8;
    }

    .hf-p7-card-btn {
        width: 50%;

        min-height: 30px;

        font-size: 8px;

        white-space: normal;
    }


    /* =================================================
       BOTTOM
       ================================================= */

    .hf-p7-bottom {
        width: 88%;

        margin-top: 35px;
    }

    .hf-p7-bottom-title {
        margin-bottom: 18px;

        font-size: 20px;
    }

    .hf-p7-bottom-btn {
        width: 50%;

        min-height: 30px;

        font-size: 8px;

        white-space: normal;
    }

    .hf-p7-bottom-description {
        font-size: 10px;

        line-height: 1.75;
    }
}


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

@media (max-width: 600px) {

    .hf-p7-intro-text {
        padding-top: 38px;
        padding-inline: 15px;
    }

    .hf-p7-intro-text h2 {
        font-size: 18px;
    }

    .hf-p7-intro-text p {
        width: 94%;
        font-size: 10px;
        line-height: 1.7;
    }


    .hf-p7-timeline {
        width: 92%;

        min-height: 95px;

        margin-top: 25px;
        margin-bottom: 32px;
    }

    .hf-p7-timeline-line {
        top: 13px;

        left: 5%;

        width: 90%;
    }

    .hf-p7-timeline-items {
        width: 90%;
    }

    .hf-p7-timeline-item {
        width: 25px;
        flex-basis: 25px;
    }

    .hf-p7-timeline-circle {
        width: 25px;
        height: 25px;
        flex-basis: 25px;
    }

    .hf-p7-timeline-label {
        max-width: 70px;

        margin-top: 6px;

        font-size: 7px;
    }


    .hf-p7-card {
        padding: 20px 14px;
    }

    .hf-p7-card-title {
        font-size: 16px;
    }

    .hf-p7-card-description {
        font-size: 10px;
    }

    .hf-p7-bottom-title {
        font-size: 18px;
    }

    .hf-p7-bottom-description {
        font-size: 9px;
    }
}

    /* =====================================================
       FOOTER
    ===================================================== */

    .hf-footer {
        min-height: 430px;
    }

   .hf-footer-content {
        min-height: 400px;

        clip-path: polygon(
            0 7%,
            5% 2%,
            10% 8%,
            16% 4%,
            22% 20%,
            28% 10%,
            35% 27%,
            43% 24%,
            50% 34%,
            58% 30%,
            65% 42%,
            72% 35%,
            79% 43%,
            86% 27%,
            92% 31%,
            96% 42%,
            100% 35%,
            100% 100%,
            0 100%
        );
    }

    .hf-footer-inner {
        width: 90%;

        min-height: 430px;

        padding-top: 100px;
        padding-bottom: 40px;

        display: flex;

        flex-direction: column;

        align-items: center;

        justify-content: center;

        gap: 38px;

        direction: rtl;
    }

    .hf-footer-links {
        order: 1;

        width: 100%;

        align-items: center;

        text-align: center;
    }

    .hf-footer-links a {
        width: auto;

        text-align: center;
    }

    .hf-footer-social {
        order: 2;
    }

    .hf-footer-brand {
        order: 3;

        align-items: center;

        text-align: center;
    }

    .hf-footer-logo {
        width: 25%;

        margin-bottom: 6px;
    }

    .hf-footer-brand-name,
    .hf-footer-social-title,
    .hf-footer-links a {
        font-size: 13px;
    }

    .hf-footer-social-icons {
        gap: 9px;
    }

    .hf-footer-social-icons a {
        font-size: 15px;
    }
}

/* =========================================================
   BOOTCAMP VIDEO — section right after Part 4 (#bootcamp-video)
   Centered column: heading → paragraph → video card. Uses the
   homepage navy / teal / blue tokens (see :root at the top).
   ========================================================= */

.hf-bvideo,
.hf-bvideo * {
    box-sizing: border-box;
}

.hf-bvideo {
    position: relative;
    width: 100%;
    margin: 0;
    padding: clamp(40px, 5vw, 80px) 0 clamp(56px, 6vw, 96px);
    overflow: hidden;

    direction: rtl;
    background: var(--hf-page-bg);
    color: var(--hf-navy);

    font-family: "Almarai", sans-serif;
    text-align: center;
}

.hf-bvideo-inner {
    width: min(90%, 880px);
    margin-inline: auto;

    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.hf-bvideo-title {
    margin: 0 0 clamp(14px, 1.4vw, 20px);

    color: #4b5fd6 !important;

    font-size: clamp(24px, 2.4vw, 38px);
    font-weight: 800;
    line-height: 1.45;
    text-align: center;
    text-wrap: balance;
}

.hf-bvideo-text {
    max-width: 720px;
    margin: 0 auto clamp(30px, 3.2vw, 48px);

    color: #252b3b;

    font-size: clamp(15px, 1.15vw, 18px);
    font-weight: 500;
    line-height: 2;
    text-align: center;
    text-wrap: balance;
}

/* ---------- Card: gradient edge + navy body + soft teal/blue glow ---------- */

.hf-bvideo-card {
    position: relative;
    isolation: isolate;
    width: 100%;
    padding: 10px;

    border-radius: 26px;
    background:
        linear-gradient(var(--hf-navy), var(--hf-navy)) padding-box,
        linear-gradient(135deg, var(--hf-accent) 0%, var(--hf-blue) 55%, var(--hf-navy-soft) 100%) border-box;
    border: 1.5px solid transparent;

    box-shadow:
        0 24px 50px -18px var(--hf-shadow-blue),
        0 10px 24px -12px rgba(12, 26, 68, .35);
}

.hf-bvideo-card::before {
    content: "";
    position: absolute;
    inset: 12% 6% -10%;
    z-index: -1;

    border-radius: 50%;
    background: radial-gradient(closest-side, rgba(0, 241, 185, .28), rgba(70, 97, 255, .18) 55%, transparent);
    filter: blur(28px);
    pointer-events: none;
}

.hf-bvideo-card--portrait {
    width: auto;
}

.hf-bvideo-frame {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;

    overflow: hidden;
    border-radius: 18px;

    background: var(--hf-navy);
}

/* Shorts / Reels / TikTok are vertical — capped so they never dominate the page */
.hf-bvideo-frame--portrait {
    width: min(360px, 100%, calc(62vh * 9 / 16));
    margin-inline: auto;
    aspect-ratio: 9 / 16;
}

.hf-bvideo-frame iframe,
.hf-bvideo-frame video {
    position: absolute;
    inset: 0;

    display: block;
    width: 100%;
    height: 100%;
    max-width: none;

    border: 0;
    object-fit: contain;
    background: #000;
}

/* ---------- Click-to-play cover ---------- */

.hf-bvideo-facade {
    position: absolute;
    inset: 0;

    display: block;
    width: 100%;
    height: 100%;
    padding: 0;

    border: 0;
    background: var(--hf-navy);
    cursor: pointer;
}

.hf-bvideo-facade img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    margin: 0;

    object-fit: cover;
    transition: transform .5s ease, opacity .3s ease;
}

.hf-bvideo-facade::after {
    content: "";
    position: absolute;
    inset: 0;

    background: linear-gradient(180deg, rgba(12, 26, 68, .05) 30%, rgba(12, 26, 68, .55) 100%);
    pointer-events: none;
}

.hf-bvideo-facade:hover img {
    transform: scale(1.03);
}

.hf-bvideo-facade:focus-visible {
    outline: 3px solid var(--hf-accent);
    outline-offset: -3px;
}

.hf-bvideo-play {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    transform: translate(-50%, -50%);

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

    width: clamp(60px, 7vw, 84px);
    height: clamp(60px, 7vw, 84px);

    border-radius: 50%;
    background: var(--hf-accent);
    color: var(--hf-navy);

    font-size: clamp(20px, 2.1vw, 28px);

    box-shadow:
        0 0 0 10px rgba(0, 241, 185, .22),
        0 12px 28px rgba(0, 0, 0, .35);
    transition: transform .2s ease, box-shadow .2s ease;
}

/* CSS triangle (no icon-font dependency), nudged right for optical centring */
.hf-bvideo-play::before {
    content: "";
    display: block;
    margin-left: 12%;
    border-style: solid;
    border-width: .55em 0 .55em .9em;
    border-color: transparent transparent transparent currentColor;
}

.hf-bvideo-facade:hover .hf-bvideo-play,
.hf-bvideo-link:hover .hf-bvideo-play {
    transform: translate(-50%, -50%) scale(1.07);
    box-shadow:
        0 0 0 14px rgba(0, 241, 185, .2),
        0 14px 32px rgba(0, 0, 0, .4);
}

/* Fallback card for providers without an embeddable player */
.hf-bvideo-link {
    position: relative;

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

    width: 100%;
    aspect-ratio: 16 / 9;
    padding-bottom: 8%;

    border-radius: 18px;
    background:
        radial-gradient(circle at 50% 45%, rgba(70, 97, 255, .45), transparent 60%),
        linear-gradient(135deg, var(--hf-navy), var(--hf-navy-soft));
    color: #ffffff !important;

    font-size: 17px;
    font-weight: 800;
    text-decoration: none;
}

@media (max-width: 600px) {
    .hf-bvideo-inner {
        width: calc(100% - 32px);
    }

    .hf-bvideo-title {
        font-size: 22px;
    }

    .hf-bvideo-text {
        font-size: 15px;
        line-height: 1.9;
    }

    .hf-bvideo-card {
        padding: 6px;
        border-radius: 18px;
    }

    .hf-bvideo-frame,
    .hf-bvideo-link {
        border-radius: 13px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .hf-bvideo-facade img,
    .hf-bvideo-play {
        transition: none;
    }
}

/* =========================================================
   PART 5 — Bootcamp checkout CTA (#bootcamp-join)
   The CTA is now a <button> inside a POST form; reset native button
   chrome so it renders exactly like the previous <a class="hf-p5-button">.
   ========================================================= */

.hf-p5-join {
    scroll-margin-top: 120px;
}

.hf-p5-join form {
    margin: 0;
}

button.hf-p5-button {
    appearance: none;
    cursor: pointer;
}

.hf-p5-join-error {
    max-width: 520px;
    margin: 0 0 16px;
    padding: 10px 16px;

    border: 1px solid rgba(220, 53, 69, .35);
    border-radius: 12px;

    background: rgba(220, 53, 69, .08);
    color: #b02a37;

    font-size: 14px;
    font-weight: 700;
    line-height: 1.7;
}