/* =========================================================
   FAST CLEAN — BASE + HEADER / NAVIGATION
   Shared stylesheet for all static pages
========================================================= */

/* =========================================================
   1) DESIGN TOKENS
========================================================= */
:root {
    /* Brand — sampled from the Fast Clean logo */
    --fc-blue: #1868B8;
    --fc-blue-dark: #0F4F8E;
    --fc-blue-soft: #EEF6FD;

    --fc-green: #00A400;
    --fc-green-dark: #067406;
    --fc-green-soft: #F2FBF2;

    /* Neutrals */
    --fc-ink: #17324A;
    --fc-text: #374151;
    --fc-muted: #6B7280;
    --fc-line: #E5E7EB;
    --fc-surface: #FFFFFF;
    --fc-surface-soft: #F7FAFC;

    /* Effects */
    --fc-shadow-sm: 0 4px 15px rgba(24, 104, 184, .14);
    --fc-shadow-md: 0 12px 30px rgba(15, 79, 142, .18);

    /* Layout */
    --fc-container: 1320px;
    --fc-gutter: clamp(16px, 3vw, 28px);

    /* Typography */
    --fc-font: "Tajawal", Arial, sans-serif;

    /* Motion */
    --fc-ease: cubic-bezier(.22, .8, .22, 1);
}

/* =========================================================
   2) BASE / RESET
========================================================= */
*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body {
    margin: 0;
    min-width: 320px;
    overflow-x: hidden;
    background: var(--fc-surface);
    color: var(--fc-text);
    font-family: var(--fc-font);
    font-weight: 400;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body.nav-open {
    overflow: hidden;
}

button,
input,
textarea,
select {
    font: inherit;
}

button,
a {
    -webkit-tap-highlight-color: transparent;
}

button {
    color: inherit;
}

a {
    color: inherit;
    text-decoration: none;
}

ul,
ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

img,
svg {
    display: block;
    max-width: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
    margin-top: 0;
}



/* =========================================================
   GLOBAL FONT
========================================================= */
:root{
    --font-main:"Tajawal", Arial, sans-serif;
}

html,
body,
button,
input,
textarea,
select{
    font-family:var(--font-main);
}

body{
    font-weight:400;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    text-rendering:optimizeLegibility;
}

h1,
h2,
h3,
h4,
h5,
h6,
strong,
b{
    font-family:var(--font-main);
    font-weight:700;
}

button,
input,
textarea,
select{
    font:inherit;
}





:focus-visible {
    outline: 3px solid rgba(24, 104, 184, .35);
    outline-offset: 3px;
}

/* Shared site container */
.jcl-wrap {
    width: min(100%, var(--fc-container));
    margin-inline: auto;
    padding-inline: var(--fc-gutter);
}

/* =========================================================
   3) HEADER — TOP COLOR STRIP
========================================================= */
.qpz-strip {
    width: 100%;
    height: 5px;
    background: linear-gradient(
        90deg,
        var(--fc-green) 0%,
        #74CF74 42%,
        var(--fc-blue) 100%
    );
}

/* =========================================================
   4) HEADER — TOP BAR
========================================================= */
.mwx-row1 {
    padding: 9px 0;
    background: var(--fc-blue-dark);
    border-bottom: 1px solid rgba(255, 255, 255, .08);
    font-size: 13px;
}

.mwx-row1 .jcl-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px 20px;
    flex-wrap: wrap;
}

.mwx-row1 .ftg-label {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0;
    color: #F8FBFD;
    font-weight: 500;
    letter-spacing: .1px;
}

.mwx-row1 .ftg-label::before {
    content: "";
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    border-radius: 50%;
    background: var(--fc-green);
    box-shadow: 0 0 0 4px rgba(0, 164, 0, .14);
}

.mwx-row1 .dho-group {
    display: flex;
    align-items: center;
    gap: 18px;
}

.mwx-row1 .yub-lang {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #F8FBFD;
    font-weight: 500;
    transition: color .2s ease;
}

.mwx-row1 .yub-lang:hover,
.mwx-row1 .yub-lang:focus-visible {
    color: #B8E9B8;
}

/* Top bar social media */
.ker-socials {
    display: flex;
    align-items: center;
    gap: 7px;
}

.ker-socials a {
    width: 29px;
    height: 29px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 50%;
    background: rgba(255, 255, 255, .10);
    color: #FFFFFF;
    transition:
        transform .2s ease,
        background-color .2s ease,
        border-color .2s ease;
}

.ker-socials a svg {
    width: 14px;
    height: 14px;
    fill: currentColor;
    stroke: none;
}

.ker-socials a:hover,
.ker-socials a:focus-visible {
    transform: translateY(-2px);
    background: var(--fc-green-dark);
    border-color: var(--fc-green-dark);
}

.top-social-divider {
    width: 1px;
    height: 18px;
    display: block;
    background: rgba(255, 255, 255, .20);
}

/* =========================================================
   5) HEADER — MAIN ROW
========================================================= */
.mwx-row2 {
    position: relative;
    padding: 12px 0;
    background: var(--fc-surface);
    box-shadow: 0 1px 0 var(--fc-line);
}

.mwx-row2 .jcl-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    flex-wrap: wrap;
}

/* Logo */
.gxv-brand {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
}

.gxv-brand .main-logo {
    width: 210px;
    max-width: 100%;
    height: 90;
    object-fit: contain;
}

/* Desktop contact info */
.ehs-contacts {
    display: flex;
    align-items: center;
    gap: 30px;
    flex-wrap: wrap;
}

.ehs-contacts .itm {
    display: flex;
    align-items: center;
    gap: 11px;
}

.ehs-contacts .itm .bdg {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #FFFFFF;
    box-shadow: 0 7px 17px rgba(24, 104, 184, .18);
    transition: transform .2s ease, box-shadow .2s ease;
}

.ehs-contacts .itm .whatsapp-bdg {
    background: linear-gradient(145deg, var(--fc-green), var(--fc-green-dark));
}

.ehs-contacts .itm .phone-bdg {
    background: linear-gradient(145deg, var(--fc-blue), var(--fc-blue-dark));
}

.ehs-contacts .itm:hover .bdg {
    transform: translateY(-2px);
    box-shadow: 0 10px 22px rgba(24, 104, 184, .22);
}

.ehs-contacts .itm .bdg svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.ehs-contacts .itm .txt {
    line-height: 1.35;
}

.ehs-contacts .itm .txt .lbl {
    color: var(--fc-ink);
    font-size: 12px;
    font-weight: 500;
    text-align: right;
}

.ehs-contacts .itm .txt a {
    display: inline-block;
    color: var(--fc-muted);
    direction: ltr;
    unicode-bidi: isolate;
    font-size: 13.5px;
    font-weight: 500;
    transition: color .2s ease;
}

.ehs-contacts .itm .txt a:hover,
.ehs-contacts .itm .txt a:focus-visible {
    color: var(--fc-blue);
}

/* =========================================================
   6) BURGER BUTTON
========================================================= */
.fzt-burger {
    display: none;
    width: 46px;
    height: 46px;
    position: relative;
    z-index: 1200;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    flex-shrink: 0;
    padding: 0;
    border: 1px solid var(--fc-line);
    border-radius: 10px;
    background: var(--fc-surface-soft);
    color: var(--fc-ink);
    cursor: pointer;
    transition:
        background-color .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}

.fzt-burger span {
    width: 20px;
    height: 2px;
    display: block;
    border-radius: 999px;
    background: var(--fc-blue);
    transition: transform .25s ease, opacity .2s ease, background-color .2s ease;
}

.fzt-burger:hover,
.fzt-burger:focus-visible {
    border-color: rgba(24, 104, 184, .28);
    background: var(--fc-blue-soft);
}

.fzt-burger.uop-active {
    background: var(--fc-blue);
    border-color: var(--fc-blue);
    box-shadow: 0 8px 20px rgba(24, 104, 184, .24);
}

.fzt-burger.uop-active span {
    background: #FFFFFF;
}

.fzt-burger.uop-active span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.fzt-burger.uop-active span:nth-child(2) {
    opacity: 0;
}

.fzt-burger.uop-active span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

/* =========================================================
   7) MAIN NAVIGATION
========================================================= */
.wqn-nav {
    position: relative;
    z-index: 50;
    background: var(--fc-blue);
    box-shadow: var(--fc-shadow-sm);
}

.wqn-nav .jcl-wrap {
    display: flex;
    align-items: center;
}

.wqn-nav > .jcl-wrap > .ovl-list {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    direction: rtl;
}

.wqn-nav > .jcl-wrap > .ovl-list > li {
    position: relative;
}

.wqn-nav > .jcl-wrap > .ovl-list > li > a {
    position: relative;
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 17px 19px;
    color: #FFFFFF;
    font-size: 14.5px;
    font-weight: 500;
    line-height: 1.5;
    white-space: nowrap;
    transition: background-color .2s ease, color .2s ease;
}

.wqn-nav > .jcl-wrap > .ovl-list > li > a::after {
    content: "";
    position: absolute;
    right: 19px;
    left: 19px;
    bottom: 0;
    height: 3px;
    border-radius: 999px 999px 0 0;
    background: #9BE79B;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .22s ease;
}

.wqn-nav > .jcl-wrap > .ovl-list > li:hover > a,
.wqn-nav > .jcl-wrap > .ovl-list > li:focus-within > a {
    color: #FFFFFF;
    background: var(--fc-blue-dark);
}

.wqn-nav > .jcl-wrap > .ovl-list > li:hover > a::after,
.wqn-nav > .jcl-wrap > .ovl-list > li:focus-within > a::after {
    transform: scaleX(1);
}

/* Current page — works on every page, not only the first item */
.wqn-nav > .jcl-wrap > .ovl-list > li > a.active,
.wqn-nav > .jcl-wrap > .ovl-list > li > a[aria-current="page"] {
    background: var(--fc-green-dark);
    color: #FFFFFF;
}

.wqn-nav > .jcl-wrap > .ovl-list > li > a.active::after,
.wqn-nav > .jcl-wrap > .ovl-list > li > a[aria-current="page"]::after {
    display: none;
}

/* Dropdown arrow */
.nav-chev {
    display: inline-flex;
    font-size: 12px;
    line-height: 1;
    transition: transform .22s ease;
}

.wqn-nav .hqp-parent:hover > a .nav-chev,
.wqn-nav .hqp-parent:focus-within > a .nav-chev {
    transform: rotate(180deg);
}

/* =========================================================
   8) SERVICES DROPDOWN — DESKTOP
========================================================= */
.czm-drop {
    position: absolute;
    top: 100%;
    right: 0;
    z-index: 80;
    width: 340px;
    min-width: 340px;
    overflow: hidden;
    direction: rtl;
    text-align: right;
    border-top: 3px solid var(--fc-green);
    border-radius: 0 0 12px 12px;
    background: #FFFFFF;
    box-shadow: 0 18px 42px rgba(15, 79, 142, .18);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(10px);
    transition:
        opacity .22s ease,
        visibility .22s ease,
        transform .22s ease;
}

.hqp-parent:hover .czm-drop,
.hqp-parent:focus-within .czm-drop {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

.czm-drop li {
    width: 100%;
    direction: rtl;
    text-align: right;
}

.czm-drop li a {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    padding: 12px 18px;
    direction: rtl;
    text-align: right;
    border-bottom: 1px solid #EEF2F4;
    color: var(--fc-ink);
    font-size: 13.5px;
    font-weight: 500;
    line-height: 1.65;
    transition:
        background-color .2s ease,
        color .2s ease,
        padding-right .2s ease;
}

.czm-drop li a::before {
    content: "";
    width: 6px;
    height: 6px;
    flex: 0 0 6px;
    border-radius: 50%;
    background: #78D578;
    box-shadow: 0 0 0 3px rgba(0, 164, 0, .10);
    transition: background-color .2s ease, box-shadow .2s ease;
}

.czm-drop li:last-child a {
    border-bottom: 0;
}

.czm-drop li a:hover,
.czm-drop li a:focus-visible {
    padding-right: 23px;
    background: var(--fc-green-soft);
    color: var(--fc-green-dark);
}

.czm-drop li a:hover::before,
.czm-drop li a:focus-visible::before {
    background: var(--fc-green);
    box-shadow: 0 0 0 3px rgba(0, 164, 0, .14);
}

/* =========================================================
   9) MOBILE DRAWER — SHARED ELEMENTS
========================================================= */
.nav-overlay,
.mob-drawer-head,
.mob-drawer-foot {
    display: none;
}

.mob-drawer-head {
    min-height: 82px;
    padding: 14px 20px;
    position: relative;
    border-bottom: 1px solid var(--fc-line);
    background: #FFFFFF;
}

.mob-drawer-head .mob-brand {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.mob-drawer-head .mob-brand .mob-logo {
    width: 175px;
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

.mob-drawer-foot {
    padding: 20px 20px 25px;
}

.mob-contact-title {
    margin: 0 0 14px;
    color: var(--fc-muted);
    font-size: 12px;
    font-weight: 500;
    text-align: center;
}

.mob-socials {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
}

.mob-socials a {
    width: 43px;
    height: 43px;
    flex: 0 0 43px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #FFFFFF;
    box-shadow: 0 6px 16px rgba(15, 79, 142, .15);
    transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}

.mob-socials a svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
}

.mob-socials .mob-phone {
    background: var(--fc-blue);
}

.mob-socials .mob-phone svg,
.mob-socials .mob-whatsapp svg {
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.mob-socials .mob-whatsapp {
    background: var(--fc-green-dark);
}

.mob-socials .mob-facebook {
    background: #1877F2;
}

.mob-socials .mob-tiktok {
    background: #111111;
}

.mob-socials a:hover,
.mob-socials a:focus-visible {
    transform: translateY(-3px);
    box-shadow: 0 10px 22px rgba(15, 79, 142, .22);
    opacity: .94;
}

/* =========================================================
   10) RESPONSIVE
========================================================= */
@media (min-width: 1400px) {
    :root {
        --fc-container: 1400px;
    }
}

@media (max-width: 1199.98px) {
    .ehs-contacts {
        gap: 20px;
    }

    .wqn-nav > .jcl-wrap > .ovl-list > li > a {
        padding: 16px 15px;
        font-size: 14px;
    }
}

@media (max-width: 991.98px) {
    .mwx-row1 {
        display: none;
    }

    .mwx-row2 {
        padding: 10px 0;
    }

    .mwx-row2 .jcl-wrap {
        direction: ltr;
        flex-wrap: nowrap;
        justify-content: space-between;
        align-items: center;
    }

    .gxv-brand {
        order: 2;
        margin-left: auto;
    }

    .gxv-brand .main-logo {
        width: 155px;
    }

    .ehs-contacts {
        display: none;
    }

    .fzt-burger {
        display: flex;
        order: 1;
    }

    /* Screen overlay */
    .nav-overlay {
        display: block;
        position: fixed;
        inset: 0;
        z-index: 999;
        background: rgba(13, 40, 56, .60);
        cursor: pointer;
        opacity: 0;
        visibility: hidden;
        backdrop-filter: blur(0);
        transition:
            opacity .3s ease,
            visibility .3s ease,
            backdrop-filter .3s ease;
    }

    .nav-overlay.uop-open {
        opacity: 1;
        visibility: visible;
        backdrop-filter: blur(2px);
    }

    /* Drawer */
    .wqn-nav {
        position: fixed;
        top: 0;
        right: 0;
        z-index: 1000;
        width: min(340px, 88vw);
        height: 100vh;
        height: 100dvh;
        max-height: none;
        overflow-y: auto;
        overflow-x: hidden;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        border-radius: 0;
        background: #FFFFFF;
        box-shadow: -14px 0 34px rgba(15, 79, 142, .22);
        opacity: .98;
        transform: translateX(105%);
        will-change: transform;
        transition:
            transform .48s var(--fc-ease),
            opacity .3s ease,
            box-shadow .3s ease;
    }

    .wqn-nav.uop-open {
        opacity: 1;
        transform: translateX(0);
    }

    .wqn-nav .jcl-wrap {
        display: block;
        max-width: none;
        padding: 0;
        opacity: 0;
        transform: translateX(18px);
        transition: transform .4s ease .1s, opacity .3s ease .1s;
    }

    .wqn-nav.uop-open > .jcl-wrap {
        opacity: 1;
        transform: translateX(0);
    }

    .mob-drawer-head {
        display: block;
    }

    /* Mobile menu */
    .wqn-nav > .jcl-wrap > .ovl-list {
        display: block;
        width: 100%;
        padding: 4px 0 0;
        direction: rtl;
    }

    .wqn-nav > .jcl-wrap > .ovl-list > li {
        width: 100%;
        position: relative;
        border-bottom: 1px solid var(--fc-line);
        opacity: 0;
        transform: translateX(18px);
        transition: opacity .3s ease, transform .3s ease;
    }

    .wqn-nav.uop-open > .jcl-wrap > .ovl-list > li {
        opacity: 1;
        transform: translateX(0);
    }

    .wqn-nav.uop-open > .jcl-wrap > .ovl-list > li:nth-child(1) { transition-delay: .08s; }
    .wqn-nav.uop-open > .jcl-wrap > .ovl-list > li:nth-child(2) { transition-delay: .11s; }
    .wqn-nav.uop-open > .jcl-wrap > .ovl-list > li:nth-child(3) { transition-delay: .14s; }
    .wqn-nav.uop-open > .jcl-wrap > .ovl-list > li:nth-child(4) { transition-delay: .17s; }
    .wqn-nav.uop-open > .jcl-wrap > .ovl-list > li:nth-child(5) { transition-delay: .20s; }
    .wqn-nav.uop-open > .jcl-wrap > .ovl-list > li:nth-child(6) { transition-delay: .23s; }
    .wqn-nav.uop-open > .jcl-wrap > .ovl-list > li:nth-child(7) { transition-delay: .26s; }

    .wqn-nav > .jcl-wrap > .ovl-list > li > a,
    .wqn-nav > .jcl-wrap > .ovl-list > li > a:visited {
        width: 100%;
        justify-content: space-between;
        padding: 16px 22px;
        direction: rtl;
        text-align: right;
        background: #FFFFFF;
        color: var(--fc-ink);
        font-size: 15.5px;
        font-weight: 500;
        opacity: 1;
        visibility: visible;
    }

    .wqn-nav > .jcl-wrap > .ovl-list > li > a::after {
        display: none;
    }

    .wqn-nav > .jcl-wrap > .ovl-list > li > a:hover,
    .wqn-nav > .jcl-wrap > .ovl-list > li > a:focus-visible,
    .wqn-nav > .jcl-wrap > .ovl-list > li > a.active,
    .wqn-nav > .jcl-wrap > .ovl-list > li > a[aria-current="page"] {
        background: var(--fc-blue-soft);
        color: var(--fc-blue-dark);
    }

    /* Services toggle indicator */
    .wqn-nav .hqp-parent > a {
        position: relative;
        padding-left: 56px;
    }

    .wqn-nav .hqp-parent > a::before {
        content: "+";
        position: absolute;
        left: 18px;
        top: 50%;
        width: 25px;
        height: 25px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        background: var(--fc-blue-soft);
        color: var(--fc-blue);
        font-size: 18px;
        font-weight: 600;
        line-height: 1;
        transform: translateY(-50%);
        transition: background-color .2s ease, color .2s ease;
    }

    .hqp-parent.uop-open > a::before {
        content: "−";
        background: var(--fc-blue);
        color: #FFFFFF;
    }

    .hqp-parent.uop-open > a .nav-chev {
        transform: rotate(180deg);
    }

    /* Mobile dropdown */
    .czm-drop {
        position: static;
        width: 100%;
        min-width: 100%;
        max-height: 0;
        overflow: hidden;
        border: 0;
        border-radius: 0;
        background: var(--fc-surface-soft);
        box-shadow: none;
        direction: rtl;
        text-align: right;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: none;
        transition: max-height .35s ease;
    }

    .hqp-parent.uop-open .czm-drop {
        max-height: 900px;
    }

    .czm-drop li a {
        width: 100%;
        justify-content: flex-start;
        padding: 12px 34px;
        direction: rtl;
        text-align: right;
        border-bottom: 1px solid #E9EEF1;
        background: var(--fc-surface-soft);
        color: #66737B;
        font-size: 13.5px;
    }

    .czm-drop li a:hover,
    .czm-drop li a:focus-visible {
        padding-right: 38px;
        background: var(--fc-green-soft);
        color: var(--fc-green-dark);
    }

    .mob-drawer-foot {
        display: block;
        opacity: 0;
        transform: translateY(15px);
        transition: opacity .3s ease .26s, transform .3s ease .26s;
    }

    .wqn-nav.uop-open .mob-drawer-foot {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 767.98px) {
    :root {
        --fc-gutter: 18px;
    }
}

@media (max-width: 575.98px) {
    :root {
        --fc-gutter: 15px;
    }

    .gxv-brand .main-logo {
        width: 138px;
    }

    .mob-drawer-head .mob-brand .mob-logo {
        width: 155px;
    }

    .fzt-burger {
        width: 40px;
        height: 40px;
        border-radius: 8px;
    }

    .fzt-burger span {
        width: 18px;
    }

    .wqn-nav {
        width: min(320px, 89vw);
    }
}

/* =========================================================
   11) REDUCED MOTION
========================================================= */
@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}





/* =========================================================
   FIXED CONTACT ICONS
========================================================= */
.fixed-icons{
    position:fixed;
    right:20px;
    bottom:24px;
    z-index:9999;
    display:flex;
    flex-direction:column;
    gap:12px;
    align-items:center;
}

.fixed-icons .icon{
    position:relative;
    width:58px;
    height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    color:#fff;
    text-decoration:none;
    box-shadow:0 8px 22px rgba(0,0,0,.20);
    transition:transform .25s ease, box-shadow .25s ease, filter .25s ease;
}

.fixed-icons .icon svg{
    width:27px;
    height:27px;
    display:block;
    fill:#fff;
}

.fixed-icons .whatsapp-icon{
    background:#179447;
    animation:fcFloat 3.2s ease-in-out infinite;
}

.fixed-icons .phone-icon{
    background:#1675B9;
    animation:fcFloat 3.2s ease-in-out infinite .45s;
}

.fixed-icons .icon:hover{
    transform:translateY(-4px) scale(1.06);
    box-shadow:0 13px 30px rgba(0,0,0,.26);
    filter:brightness(1.06);
}

.fixed-icons .whatsapp-icon::before{
    content:"";
    position:absolute;
    inset:-5px;
    border-radius:50%;
    border:2px solid rgba(23,148,71,.30);
    animation:fcPulse 2.3s ease-out infinite;
    pointer-events:none;
}

.fixed-icons .phone-icon::before{
    content:"";
    position:absolute;
    inset:-5px;
    border-radius:50%;
    border:2px solid rgba(22,117,185,.25);
    animation:fcPulse 2.3s ease-out infinite .6s;
    pointer-events:none;
}

/* Alert */
.contact-alert{
    position:absolute;
    right:72px;
    bottom:42px;
    min-width:145px;
    padding:10px 14px;
    background:#fff;
    color:#17324A;
    border:1px solid #E5E7EB;
    border-radius:10px;
    font-size:13px;
    font-weight:600;
    white-space:nowrap;
    box-shadow:0 10px 28px rgba(0,0,0,.14);
    opacity:0;
    transform:translateX(12px) scale(.96);
    animation:fcAlert 9s ease infinite;
    pointer-events:none;
}

.contact-alert::after{
    content:"";
    position:absolute;
    right:-7px;
    bottom:18px;
    width:12px;
    height:12px;
    background:#fff;
    border-top:1px solid #E5E7EB;
    border-right:1px solid #E5E7EB;
    transform:rotate(45deg);
}

.contact-alert span{
    width:7px;
    height:7px;
    display:inline-block;
    margin-left:6px;
    border-radius:50%;
    background:#18A34A;
    box-shadow:0 0 0 4px rgba(24,163,74,.12);
}

/* Animations */
@keyframes fcFloat{
    0%,100%{transform:translateY(0)}
    50%{transform:translateY(-4px)}
}

@keyframes fcPulse{
    0%{transform:scale(.9);opacity:.8}
    75%,100%{transform:scale(1.28);opacity:0}
}

@keyframes fcAlert{
    0%,8%{
        opacity:0;
        transform:translateX(12px) scale(.96);
    }

    12%,38%{
        opacity:1;
        transform:translateX(0) scale(1);
    }

    44%,100%{
        opacity:0;
        transform:translateX(12px) scale(.96);
    }
}

.fixed-icons .icon:focus-visible{
    outline:3px solid rgba(23,107,184,.30);
    outline-offset:4px;
}

/* Mobile */
@media (max-width:575.98px){
    .fixed-icons{
        right:14px;
        bottom:18px;
        gap:10px;
    }

    .fixed-icons .icon{
        width:52px;
        height:52px;
    }

    .fixed-icons .icon svg{
        width:24px;
        height:24px;
    }

    .contact-alert{
        right:65px;
        bottom:37px;
        min-width:132px;
        padding:9px 12px;
        font-size:12px;
    }
}

@media (prefers-reduced-motion:reduce){
    .fixed-icons .icon,
    .fixed-icons .icon::before,
    .contact-alert{
        animation:none;
    }
}


/* =========================================================
   FAST CLEAN HERO
========================================================= */
.fc-hero{
    position:relative;
    width:100%;
    min-height:650px;
    height:calc(100vh - 220px);
    max-height:820px;
    overflow:hidden;
    display:flex;
    align-items:center;
    background:#123a60;
    direction:rtl;
}

.fc-hero-image{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    display:block;
    z-index:0;
}

.fc-hero-overlay{
    position:absolute;
    inset:0;
    z-index:1;
    background:
        linear-gradient(
            90deg,
            rgba(9,34,58,.34) 0%,
            rgba(9,34,58,.52) 44%,
            rgba(7,31,53,.88) 100%
        ),
        linear-gradient(
            180deg,
            rgba(0,0,0,.08) 0%,
            rgba(0,0,0,.28) 100%
        );
}

.fc-hero-container{
    position:relative;
    z-index:2;
    width:100%;
    max-width:1320px;
    margin:0 auto;
    padding:70px 28px;
}

.fc-hero-content{
    max-width:720px;
    text-align:right;
    color:#fff;
}

.fc-hero-label{
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-bottom:17px;
    color:#B9E8C0;
    font-size:14px;
    font-weight:600;
}

.fc-hero-label::before{
    content:"";
    width:34px;
    height:3px;
    border-radius:20px;
    background:#14A72C;
}

.fc-hero h1{
    margin:0 0 20px;
    color:#fff;
    font-size:clamp(38px,4.5vw,64px);
    line-height:1.3;
    font-weight:800;
    letter-spacing:-.4px;
}

.fc-hero h1 span{
    display:block;
    margin-top:3px;
    color:#fff;
    font-size:.72em;
    font-weight:700;
}

.fc-hero-content > p{
    max-width:670px;
    margin:0;
    color:rgba(255,255,255,.90);
    font-size:17px;
    line-height:2;
    font-weight:400;
}

.fc-hero-actions{
    display:flex;
    align-items:center;
    gap:13px;
    flex-wrap:wrap;
    margin-top:30px;
}

.fc-hero-btn{
    min-width:170px;
    height:52px;
    padding:0 25px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:8px;
    font-size:15px;
    font-weight:700;
    text-decoration:none;
    transition:
        transform .25s ease,
        background .25s ease,
        border-color .25s ease,
        box-shadow .25s ease;
}

.fc-hero-whatsapp{
    color:#fff;
    background:#149447;
    border:1px solid #149447;
    box-shadow:0 12px 26px rgba(0,0,0,.16);
}

.fc-hero-whatsapp:hover{
    color:#fff;
    background:#0E7D3A;
    border-color:#0E7D3A;
    transform:translateY(-2px);
    box-shadow:0 15px 32px rgba(0,0,0,.22);
}

.fc-hero-phone{
    color:#fff;
    background:rgba(255,255,255,.10);
    border:1px solid rgba(255,255,255,.46);
    backdrop-filter:blur(5px);
}

.fc-hero-phone:hover{
    color:#176BB8;
    background:#fff;
    border-color:#fff;
    transform:translateY(-2px);
}

.fc-hero-points{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:14px 25px;
    margin-top:27px;
}

.fc-hero-points span{
    position:relative;
    padding-right:17px;
    color:rgba(255,255,255,.88);
    font-size:13.5px;
    font-weight:500;
}

.fc-hero-points span::before{
    content:"";
    position:absolute;
    right:0;
    top:50%;
    width:7px;
    height:7px;
    border-radius:50%;
    background:#19B33A;
    transform:translateY(-50%);
    box-shadow:0 0 0 4px rgba(25,179,58,.16);
}


/* =========================================================
   TABLET
========================================================= */
@media (max-width:991.98px){

    .fc-hero{
        min-height:90vh;
        height:auto;
        max-height:none;
    }

    .fc-hero-container{
        padding:80px 22px;
    }

    .fc-hero-content{
        max-width:670px;
    }

    .fc-hero-content > p{
        font-size:16px;
    }
}


/* =========================================================
   MOBILE
========================================================= */
@media (max-width:575.98px){

    .fc-hero{
        min-height:80vh;
    }

    .fc-hero-image{
        object-position:center;
    }

    .fc-hero-overlay{
        background:
            linear-gradient(
                180deg,
                rgba(7,31,53,.30) 0%,
                rgba(7,31,53,.64) 38%,
                rgba(7,31,53,.96) 100%
            );
    }

    .fc-hero-container{
        padding:85px 17px 55px;
    }

    .fc-hero-label{
        margin-bottom:12px;
        font-size:12.5px;
    }

    .fc-hero-label::before{
        width:27px;
    }

    .fc-hero h1{
        margin-bottom:15px;
        font-size:34px;
        line-height:1.42;
    }

    .fc-hero h1 span{
        font-size:.69em;
        line-height:1.6;
    }

    .fc-hero-content > p{
        font-size:14.5px;
        line-height:1.9;
    }

    .fc-hero-actions{
        margin-top:24px;
        gap:10px;
    }

    .fc-hero-btn{
        width:100%;
        height:49px;
        min-width:0;
        font-size:14px;
    }

    .fc-hero-points{
        gap:11px 18px;
        margin-top:22px;
    }

    .fc-hero-points span{
        font-size:12.5px;
    }
}


/* =========================================================
   REDUCED MOTION
========================================================= */
@media (prefers-reduced-motion:reduce){

    .fc-hero-btn{
        transition:none;
    }
}







/* =========================================================
   FAST CLEAN HERO INTRO ANIMATION
========================================================= */

/* subtle image entrance */
.fc-hero-image{
    animation:fcHeroImage 1.4s ease-out both;
}

/* content entrance */
.fc-hero-label{
    animation:fcHeroUp .65s ease-out .10s both;
}

.fc-hero h1{
    animation:fcHeroUp .72s ease-out .20s both;
}

.fc-hero-content > p{
    animation:fcHeroUp .72s ease-out .32s both;
}

.fc-hero-actions{
    animation:fcHeroUp .72s ease-out .44s both;
}

.fc-hero-points{
    animation:fcHeroUp .72s ease-out .56s both;
}


/* title hook */
.fc-hero h1{
    position:relative;
    display:inline-block;
}

.fc-hero h1::after{
    content:"";
    position:absolute;
    right:0;
    bottom:-10px;

    width:70px;
    height:4px;

    border-radius:20px;

    background:linear-gradient(
        90deg,
        #19B33A,
        #7ED957
    );

    transform-origin:right;
    animation:fcHeroLine .8s ease-out .75s both;
}


/* animations */
@keyframes fcHeroUp{
    from{
        opacity:0;
        transform:translateY(28px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}

@keyframes fcHeroImage{
    from{
        transform:scale(1.045);
    }

    to{
        transform:scale(1);
    }
}

@keyframes fcHeroLine{
    from{
        transform:scaleX(0);
        opacity:0;
    }

    to{
        transform:scaleX(1);
        opacity:1;
    }
}


/* interaction hook */
.fc-hero-whatsapp{
    position:relative;
    overflow:hidden;
}

.fc-hero-whatsapp::after{
    content:"";
    position:absolute;
    top:0;
    right:-120%;

    width:55%;
    height:100%;

    background:linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.20),
        transparent
    );

    transform:skewX(-20deg);
    animation:fcHeroShine 4.5s ease-in-out 1.8s infinite;
}

@keyframes fcHeroShine{
    0%,72%{
        right:-120%;
    }

    88%,100%{
        right:160%;
    }
}


/* reduced motion accessibility */
@media (prefers-reduced-motion:reduce){

    .fc-hero-image,
    .fc-hero-label,
    .fc-hero h1,
    .fc-hero h1::after,
    .fc-hero-content > p,
    .fc-hero-actions,
    .fc-hero-points,
    .fc-hero-whatsapp::after{
        animation:none !important;
    }
}





/* =========================================================
   FAST CLEAN ABOUT
========================================================= */

.fc-about{
    position:relative;
    overflow:hidden;
    padding:95px 0 105px;
    background:#fff;
    direction:rtl;
}

.fc-about-container{
    width:100%;
    max-width:1320px;
    margin:0 auto;
    padding:0 28px;
}

.fc-about-layout{
    position:relative;
    min-height:560px;
    display:flex;
    align-items:center;
    justify-content:flex-start;
}


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

.fc-about-image{
    position:absolute;
    top:0;
    right:0;

    width:55%;
    height:100%;

    min-height:560px;

    overflow:hidden;

    background:#F4F8FB;

    border-radius:3px;

    box-shadow:
        0 15px 45px rgba(18,50,74,.08);
}

.fc-about-image img{
    width:100%;
    height:100%;

    display:block;

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


/* soft blue background accent */
.fc-about-image::before{
    content:"";

    position:absolute;
    inset:0;

    z-index:1;

    background:
        linear-gradient(
            135deg,
            rgba(23,107,184,.03),
            rgba(21,148,71,.015)
        );

    pointer-events:none;
}


/* =========================================================
   CONTENT CARD
========================================================= */

.fc-about-card{
    position:relative;
    z-index:3;

    width:58%;
    max-width:720px;

    margin-right:auto;
    margin-left:0;

    padding:58px 62px;

    background:#fff;

    border:1px solid rgba(229,231,235,.72);
    border-radius:4px;

    box-shadow:
        0 18px 55px rgba(15,50,75,.10);

    text-align:right;
}


/* small green accent */
.fc-about-card::before{
    content:"";

    position:absolute;
    top:0;
    right:62px;

    width:72px;
    height:3px;

    background:#159447;

    border-radius:0 0 5px 5px;
}


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

.fc-about-label{
    display:block;

    margin-bottom:8px;

    color:#159447;

    font-size:13px;
    font-weight:700;

    letter-spacing:.1px;
}


.fc-about h2{
    margin:0 0 23px;

    color:#17324A;

    font-size:clamp(30px,3vw,42px);
    line-height:1.35;

    font-weight:800;
}


.fc-about-card p{
    margin:0 0 13px;

    color:#6B7280;

    font-size:15.5px;
    font-weight:400;

    line-height:2.05;
}


.fc-about-card p:last-of-type{
    margin-bottom:0;
}


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

.fc-about-bottom{
    margin-top:30px;

    padding-top:22px;

    border-top:1px solid #EEF0F2;

    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    flex-wrap:wrap;
}


.fc-about-more{
    display:inline-flex;
    align-items:center;
    gap:8px;

    color:#176BB8;

    text-decoration:none;

    font-size:14px;
    font-weight:700;

    transition:
        color .25s ease,
        gap .25s ease;
}


.fc-about-more span{
    font-size:19px;

    transition:transform .25s ease;
}


.fc-about-more:hover{
    color:#159447;
    gap:12px;
}


.fc-about-more:hover span{
    transform:translateX(-3px);
}


/* availability */

.fc-about-available{
    display:flex;
    align-items:center;
    gap:8px;

    color:#53606C;

    font-size:12.5px;
    font-weight:600;
}


.fc-about-available i{
    position:relative;

    width:8px;
    height:8px;

    display:block;

    border-radius:50%;

    background:#159447;

    box-shadow:
        0 0 0 5px rgba(21,148,71,.09);
}


/* =========================================================
   SUBTLE VIEW ANIMATION
========================================================= */

@supports (animation-timeline:view()){

    .fc-about-image{
        animation:fcAboutImageReveal linear both;
        animation-timeline:view();
        animation-range:entry 5% cover 30%;
    }

    .fc-about-card{
        animation:fcAboutCardReveal linear both;
        animation-timeline:view();
        animation-range:entry 5% cover 32%;
    }

}


@keyframes fcAboutImageReveal{

    from{
        opacity:.25;
        transform:translateY(35px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}


@keyframes fcAboutCardReveal{

    from{
        opacity:.2;
        transform:translateX(-35px);
    }

    to{
        opacity:1;
        transform:translateX(0);
    }

}


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

@media (max-width:991.98px){

    .fc-about{
        padding:70px 0;
    }

    .fc-about-container{
        padding:0 22px;
    }

    .fc-about-layout{
        min-height:500px;
    }

    .fc-about-image{
        width:58%;
        min-height:500px;
    }

    .fc-about-card{
        width:62%;
        padding:45px 40px;
    }

    .fc-about-card::before{
        right:40px;
    }

    .fc-about-card p{
        font-size:14.5px;
    }

}


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

@media (max-width:767.98px){

    .fc-about{
        padding:50px 0 58px;
    }

    .fc-about-container{
        padding:0 16px;
    }

    .fc-about-layout{
        display:flex;
        flex-direction:column;
        min-height:0;
    }


    /* الصورة فوق */
    .fc-about-image{
        position:relative;
        top:auto;
        right:auto;

        order:1;

        width:100%;
        height:300px;
        min-height:0;

        border-radius:10px 10px 0 0;

        box-shadow:
            0 10px 30px rgba(15,50,75,.08);
    }


    /* النص تحت الصورة */
    .fc-about-card{
        order:2;

        width:calc(100% - 20px);
        max-width:none;

        margin:-18px auto 0;

        padding:35px 24px 30px;

        border-radius:8px;

        box-shadow:
            0 14px 35px rgba(15,50,75,.11);
    }


    .fc-about-card::before{
        right:24px;
        width:55px;
    }


    .fc-about h2{
        margin-bottom:17px;

        font-size:27px;
        line-height:1.45;
    }


    .fc-about-card p{
        margin-bottom:11px;

        font-size:14px;
        line-height:1.95;
    }


    .fc-about-bottom{
        margin-top:23px;
        padding-top:18px;

        align-items:flex-start;
        flex-direction:column;
        gap:14px;
    }

}


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

@media (max-width:479.98px){

    .fc-about-image{
        height:260px;
    }

    .fc-about-card{
        width:calc(100% - 12px);

        padding:
            32px 19px
            27px;
    }

    .fc-about-card::before{
        right:19px;
    }

    .fc-about h2{
        font-size:25px;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion:reduce){

    .fc-about-image,
    .fc-about-card{
        animation:none !important;
        transform:none !important;
    }

}








/* =========================================================
   FAST CLEAN FEATURES
========================================================= */

.fc-why{
    padding:75px 0;
    background:#F8FAFC;
    direction:rtl;
}

.fc-why-container{
    width:100%;
    max-width:1200px;
    margin:0 auto;
    padding:0 28px;
}

.fc-why-head{
    text-align:center;
    margin-bottom:38px;
}

.fc-why-head .fc-section-label{
    justify-content:center;
}

.fc-why-head h2{
    margin:0;
    color:#17324A;
    font-size:clamp(28px,3vw,40px);
    line-height:1.4;
    font-weight:800;
}

.fc-why-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:35px;
}

.fc-why-item{
    text-align:center;
    padding:10px 20px;
}

.fc-why-icon{
    width:58px;
    height:58px;
    margin:0 auto 18px;

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

    border-radius:50%;

    color:#176BB8;
    background:#EEF6FD;
}

.fc-why-icon svg{
    width:26px;
    height:26px;

    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.fc-why-item h3{
    margin:0 0 8px;
    color:#17324A;
    font-size:18px;
    font-weight:700;
}

.fc-why-item p{
    max-width:300px;
    margin:0 auto;
    color:#6B7280;
    font-size:14px;
    line-height:1.9;
}

/* mobile */
@media (max-width:767.98px){

    .fc-why{
        padding:52px 0;
    }

    .fc-why-container{
        padding:0 16px;
    }

    .fc-why-head{
        margin-bottom:30px;
    }

    .fc-why-grid{
        grid-template-columns:1fr;
        gap:28px;
    }

    .fc-why-item{
        padding:0 10px;
    }
}






/* =========================================================
   FAST CLEAN SERVICES
========================================================= */

.fc-services{
    position:relative;
    padding:90px 0 95px;
    background:#fff;
    direction:rtl;
}

.fc-services-wrap{
    width:100%;
    max-width:1240px;
    margin:0 auto;
    padding:0 28px;
}


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

.fc-services-heading{
    max-width:800px;
    margin:0 auto 48px;
    text-align:center;
}

.fc-services-kicker{
    display:block;
    margin-bottom:8px;
    color:#159447;
    font-size:14px;
    font-weight:700;
}

.fc-services-heading h2{
    margin:0 0 15px;
    color:#17324A;
    font-size:clamp(30px,3.2vw,42px);
    font-weight:800;
    line-height:1.4;
}

.fc-services-heading p{
    max-width:760px;
    margin:0 auto;
    color:#6B7280;
    font-size:15px;
    line-height:2;
}


/* =========================================================
   GRID - 3 CARDS ONLY
========================================================= */

.fc-services-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:34px 28px;
    align-items:start;
}


/* final card centered because Fast Clean has 10 services */
.fc-service-card:last-child{
    grid-column:2;
}


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

.fc-service-card{
    min-width:0;
    background:#fff;
    text-align:right;
}


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

.fc-service-image{
    position:relative;
    display:block;
    width:100%;
    height:auto;
    overflow:hidden;
    margin-bottom:23px;
    background:#F7F9FA;
    text-decoration:none;
}

.fc-service-image img{
    display:block;
    width:100%;
    height:auto;
    max-width:100%;
    object-fit:contain;
    object-position:center;
    transition:transform .4s ease;
}

.fc-service-image:hover img{
    transform:scale(1.015);
}


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

.fc-service-content{
    padding:0 3px;
}

.fc-service-content h3{
    margin:0 0 12px;
    color:#17324A;
    font-size:21px;
    font-weight:700;
    line-height:1.55;
}

.fc-service-content h3 a{
    color:inherit;
    text-decoration:none;
    transition:color .22s ease;
}

.fc-service-content h3 a:hover{
    color:#176BB8;
}

.fc-service-content p{
    margin:0 0 17px;
    color:#6B7280;
    font-size:14px;
    font-weight:400;
    line-height:2;
}


/* =========================================================
   MORE LINK
========================================================= */

.fc-service-more{
    display:inline-flex;
    align-items:center;
    gap:7px;
    color:#176BB8;
    font-size:14px;
    font-weight:700;
    text-decoration:none;
    transition:
        color .22s ease,
        gap .22s ease;
}

.fc-service-more span{
    position:relative;
    top:-1px;
    font-size:18px;
}

.fc-service-more:hover{
    color:#159447;
    gap:11px;
}


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

@media (max-width:991.98px){

    .fc-services{
        padding:70px 0;
    }

    .fc-services-wrap{
        padding:0 22px;
    }

    .fc-services-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:32px 22px;
    }

    .fc-service-card:last-child{
        grid-column:auto;
    }

}


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

@media (max-width:575.98px){

    .fc-services{
        padding:52px 0 58px;
    }

    .fc-services-wrap{
        padding:0 16px;
    }

    .fc-services-heading{
        margin-bottom:34px;
        text-align:right;
    }

    .fc-services-heading h2{
        font-size:28px;
    }

    .fc-services-heading p{
        font-size:14px;
        line-height:1.9;
    }

    .fc-services-grid{
        grid-template-columns:1fr;
        gap:38px;
    }

    .fc-service-card:last-child{
        grid-column:auto;
    }

    .fc-service-image{
        margin-bottom:19px;
    }

    .fc-service-content h3{
        margin-bottom:9px;
        font-size:19px;
    }

    .fc-service-content p{
        margin-bottom:14px;
        font-size:13.5px;
        line-height:1.95;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion:reduce){

    .fc-service-image img,
    .fc-service-more{
        transition:none;
    }

}








/* =========================================================
   FAST CLEAN LATEST WORKS
========================================================= */

.fc-works{
    padding:85px 0 90px;
    background:#F7FAFC;
    direction:rtl;
}

.fc-works-wrap{
    width:100%;
    max-width:1240px;
    margin:0 auto;
    padding:0 28px;
}


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

.fc-works-head{
    margin-bottom:38px;
    text-align:center;
}

.fc-works-label{
    display:block;
    margin-bottom:7px;
    color:#159447;
    font-size:14px;
    font-weight:700;
}

.fc-works-head h2{
    margin:0;
    color:#17324A;
    font-size:clamp(30px,3vw,42px);
    font-weight:800;
    line-height:1.4;
}


/* =========================================================
   GRID
========================================================= */

.fc-works-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:20px;
    align-items:start;
}


/* =========================================================
   IMAGE CARD
========================================================= */

.fc-work-card{
    position:relative;
    display:block;
    width:100%;
    height:auto;
    overflow:hidden;
    background:#fff;
    border-radius:10px;
    box-shadow:0 7px 22px rgba(15,50,75,.08);
    text-decoration:none;
    transition:
        transform .28s ease,
        box-shadow .28s ease;
}

.fc-work-card img{
    display:block;
    width:100%;
    height:auto;
    max-width:100%;
    object-fit:contain;
    object-position:center;
    transition:transform .4s ease;
}

.fc-work-card:hover{
    transform:translateY(-5px);
    box-shadow:0 15px 32px rgba(15,50,75,.13);
}

.fc-work-card:hover img{
    transform:scale(1.015);
}


/* =========================================================
   BUTTON
========================================================= */

.fc-works-footer{
    margin-top:35px;
    text-align:center;
}

.fc-works-btn{
    min-height:49px;
    padding:0 25px;

    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;

    color:#fff;
    background:#176BB8;

    border-radius:7px;

    font-size:14px;
    font-weight:700;

    text-decoration:none;

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

.fc-works-btn span{
    font-size:19px;
}

.fc-works-btn:hover{
    color:#fff;
    background:#159447;
    transform:translateY(-2px);
    box-shadow:0 9px 22px rgba(21,148,71,.18);
}


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

@media (max-width:991.98px){

    .fc-works{
        padding:65px 0 70px;
    }

    .fc-works-wrap{
        padding:0 22px;
    }

    .fc-works-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:18px;
    }

}


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

@media (max-width:575.98px){

    .fc-works{
        padding:50px 0 55px;
    }

    .fc-works-wrap{
        padding:0 16px;
    }

    .fc-works-head{
        margin-bottom:28px;
        text-align:right;
    }

    .fc-works-head h2{
        font-size:28px;
    }

    .fc-works-grid{
        grid-template-columns:1fr;
        gap:16px;
    }

    .fc-works-footer{
        margin-top:25px;
    }

    .fc-works-btn{
        width:100%;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion:reduce){

    .fc-work-card,
    .fc-work-card img,
    .fc-works-btn{
        transition:none;
    }

    .fc-work-card:hover,
    .fc-work-card:hover img{
        transform:none;
    }

}







/* =========================================================
   FAST CLEAN CUSTOMER REVIEWS
========================================================= */

.fc-reviews{
    padding:85px 0 90px;
    overflow:hidden;
    background:#fff;
    direction:rtl;
}

.fc-reviews-wrap{
    width:100%;
    max-width:1240px;
    margin:0 auto;
    padding:0 28px;
}


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

.fc-reviews-head{
    max-width:720px;
    margin:0 auto 42px;
    text-align:center;
}

.fc-reviews-label{
    display:block;
    margin-bottom:7px;
    color:#159447;
    font-size:14px;
    font-weight:700;
}

.fc-reviews-head h2{
    margin:0 0 12px;
    color:#17324A;
    font-size:clamp(30px,3vw,42px);
    font-weight:800;
    line-height:1.4;
}

.fc-reviews-head p{
    margin:0 auto;
    color:#6B7280;
    font-size:15px;
    line-height:1.9;
}


/* =========================================================
   CAROUSEL
========================================================= */

.fc-reviews-slider{
    position:relative;
}

.fc-reviews-track{
    display:flex;
    gap:22px;

    overflow-x:auto;
    overflow-y:hidden;

    scroll-behavior:smooth;
    scroll-snap-type:x mandatory;

    padding:8px 2px 18px;

    scrollbar-width:none;
}

.fc-reviews-track::-webkit-scrollbar{
    display:none;
}


/* =========================================================
   SLIDE
========================================================= */

.fc-review-slide{
    flex:0 0 calc((100% - 44px) / 3);
    min-width:0;
    scroll-snap-align:start;
}


/* =========================================================
   IMAGE CARD
========================================================= */

.fc-review-image{
    width:100%;
    height:auto;
    overflow:hidden;

    background:#fff;

    border:1px solid #E6EAEE;
    border-radius:12px;

    box-shadow:
        0 8px 25px rgba(15,50,75,.08);

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

.fc-review-image img{
    display:block;

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

    object-fit:contain;
}

.fc-review-image:hover{
    transform:translateY(-4px);

    box-shadow:
        0 15px 34px rgba(15,50,75,.13);
}


/* =========================================================
   ARROWS
========================================================= */

.fc-reviews-arrow{
    position:absolute;
    top:50%;
    z-index:5;

    width:44px;
    height:44px;

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

    padding:0;

    border:1px solid #E3E8EC;
    border-radius:50%;

    color:#176BB8;
    background:#fff;

    box-shadow:
        0 6px 18px rgba(15,50,75,.12);

    cursor:pointer;

    transform:translateY(-50%);

    transition:
        color .22s ease,
        background .22s ease,
        transform .22s ease;
}

.fc-reviews-arrow svg{
    width:20px;
    height:20px;

    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.fc-reviews-next{
    right:-22px;
}

.fc-reviews-prev{
    left:-22px;
}

.fc-reviews-arrow:hover{
    color:#fff;
    background:#176BB8;

    transform:
        translateY(-50%)
        scale(1.06);
}


/* =========================================================
   DOTS
========================================================= */

.fc-reviews-dots{
    margin-top:18px;

    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
}

.fc-reviews-dots button{
    width:8px;
    height:8px;

    padding:0;

    border:0;
    border-radius:20px;

    background:#CBD5DD;

    cursor:pointer;

    transition:
        width .25s ease,
        background .25s ease;
}

.fc-reviews-dots button.active{
    width:25px;
    background:#159447;
}


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

@media (max-width:991.98px){

    .fc-reviews{
        padding:65px 0 70px;
    }

    .fc-reviews-wrap{
        padding:0 22px;
    }

    .fc-review-slide{
        flex-basis:calc((100% - 18px) / 2);
    }

    .fc-reviews-track{
        gap:18px;
    }

    .fc-reviews-next{
        right:-12px;
    }

    .fc-reviews-prev{
        left:-12px;
    }

}


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

@media (max-width:575.98px){

    .fc-reviews{
        padding:50px 0 55px;
    }

    .fc-reviews-wrap{
        padding:0 16px;
    }

    .fc-reviews-head{
        margin-bottom:29px;
        text-align:right;
    }

    .fc-reviews-head h2{
        font-size:28px;
    }

    .fc-reviews-head p{
        font-size:14px;
    }

    .fc-reviews-track{
        gap:14px;
        padding-bottom:14px;
    }

    .fc-review-slide{
        flex:0 0 100%;
    }

    .fc-reviews-arrow{
        width:39px;
        height:39px;
    }

    .fc-reviews-next{
        right:-7px;
    }

    .fc-reviews-prev{
        left:-7px;
    }

    .fc-reviews-dots{
        margin-top:14px;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion:reduce){

    .fc-reviews-track{
        scroll-behavior:auto;
    }

    .fc-review-image,
    .fc-reviews-arrow,
    .fc-reviews-dots button{
        transition:none;
    }

}








/* =========================================================
   FAST CLEAN CONTACT
========================================================= */

.fc-contact{
    position:relative;
    overflow:hidden;
    padding:90px 0 95px;
    background:#F7FAFC;
    direction:rtl;
}

.fc-contact-wrap{
    position:relative;
    z-index:2;
    width:100%;
    max-width:1240px;
    margin:0 auto;
    padding:0 28px;
}


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

.fc-contact-head{
    max-width:730px;
    margin:0 auto 45px;
    text-align:center;
}

.fc-contact-label{
    display:block;
    margin-bottom:7px;
    color:#159447;
    font-size:14px;
    font-weight:700;
}

.fc-contact-head h2{
    margin:0 0 13px;
    color:#17324A;
    font-size:clamp(30px,3.2vw,43px);
    font-weight:800;
    line-height:1.4;
}

.fc-contact-head p{
    max-width:650px;
    margin:0 auto;
    color:#6B7280;
    font-size:15px;
    line-height:1.95;
}


/* =========================================================
   GRID
========================================================= */

.fc-contact-grid{
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    background:#fff;
    border:1px solid #E6EBEF;
    border-radius:15px;
    overflow:hidden;
    box-shadow:0 18px 50px rgba(15,50,75,.08);
}


/* =========================================================
   INFO
========================================================= */

.fc-contact-info{
    position:relative;
    overflow:hidden;
    padding:48px 42px;

    color:#fff;

    background:
        linear-gradient(
            145deg,
            #0E568E 0%,
            #176BB8 60%,
            #1677B3 100%
        );
}

.fc-contact-info::before{
    content:"";
    position:absolute;
    width:270px;
    height:270px;
    left:-120px;
    bottom:-130px;
    border-radius:50%;
    background:rgba(255,255,255,.06);
}

.fc-contact-info::after{
    content:"";
    position:absolute;
    width:180px;
    height:180px;
    right:-110px;
    top:-90px;
    border-radius:50%;
    border:35px solid rgba(255,255,255,.035);
}

.fc-contact-info-label{
    position:relative;
    z-index:2;
    display:block;
    margin-bottom:8px;
    color:#BEEBC5;
    font-size:13px;
    font-weight:700;
}

.fc-contact-info h3{
    position:relative;
    z-index:2;
    max-width:400px;
    margin:0 0 14px;
    color:#fff;
    font-size:27px;
    font-weight:800;
    line-height:1.5;
}

.fc-contact-intro{
    position:relative;
    z-index:2;
    max-width:430px;
    margin:0;
    color:rgba(255,255,255,.82);
    font-size:14px;
    line-height:1.9;
}


/* =========================================================
   CONTACT DETAILS
========================================================= */

.fc-contact-details{
    position:relative;
    z-index:2;
    margin-top:31px;
    display:grid;
    gap:5px;
}

.fc-contact-item{
    min-height:70px;
    padding:11px 0;

    display:flex;
    align-items:center;
    gap:14px;

    color:#fff;

    border-bottom:1px solid rgba(255,255,255,.11);

    text-decoration:none;
}

a.fc-contact-item{
    transition:transform .22s ease;
}

a.fc-contact-item:hover{
    color:#fff;
    transform:translateX(-3px);
}

.fc-contact-icon{
    flex:0 0 auto;

    width:43px;
    height:43px;

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

    border-radius:10px;

    color:#fff;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.13);
}

.fc-contact-icon svg{
    width:20px;
    height:20px;

    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.fc-contact-item:nth-child(2) .fc-contact-icon svg{
    fill:currentColor;
    stroke:none;
}

.fc-contact-item-text{
    min-width:0;
}

.fc-contact-item-text small{
    display:block;
    margin-bottom:3px;
    color:rgba(255,255,255,.68);
    font-size:11.5px;
    font-weight:500;
}

.fc-contact-item-text strong{
    display:block;
    color:#fff;
    font-size:14px;
    font-weight:600;
    line-height:1.6;
}


/* =========================================================
   COVERAGE
========================================================= */

.fc-contact-coverage{
    position:relative;
    z-index:2;

    margin-top:24px;

    display:flex;
    align-items:center;
    gap:9px;

    color:rgba(255,255,255,.82);

    font-size:12.5px;
    font-weight:500;
}

.fc-contact-coverage span{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#4FDA68;
    box-shadow:0 0 0 5px rgba(79,218,104,.13);
}


/* =========================================================
   FORM BOX
========================================================= */

.fc-contact-form-box{
    padding:48px 46px;
    background:#fff;
}

.fc-contact-form-head{
    margin-bottom:29px;
}

.fc-contact-form-head > span{
    display:block;
    margin-bottom:5px;
    color:#159447;
    font-size:13px;
    font-weight:700;
}

.fc-contact-form-head h3{
    margin:0 0 9px;
    color:#17324A;
    font-size:27px;
    font-weight:800;
    line-height:1.45;
}

.fc-contact-form-head p{
    max-width:580px;
    margin:0;
    color:#6B7280;
    font-size:13.5px;
    line-height:1.85;
}


/* =========================================================
   FORM
========================================================= */

.fc-contact-form{
    display:grid;
    gap:18px;
}

.fc-form-row{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}

.fc-form-group{
    min-width:0;
}

.fc-form-group label{
    display:block;
    margin-bottom:7px;

    color:#314354;

    font-size:13px;
    font-weight:700;
}

.fc-form-group input,
.fc-form-group select,
.fc-form-group textarea{
    width:100%;

    color:#374151;
    background:#F8FAFC;

    border:1px solid #E0E6EB;
    border-radius:8px;

    outline:0;

    font-size:14px;
    font-weight:400;

    transition:
        border-color .22s ease,
        background .22s ease,
        box-shadow .22s ease;
}

.fc-form-group input,
.fc-form-group select{
    height:49px;
    padding:0 14px;
}

.fc-form-group textarea{
    min-height:125px;
    padding:13px 14px;
    resize:vertical;
    line-height:1.8;
}

.fc-form-group input::placeholder,
.fc-form-group textarea::placeholder{
    color:#9AA4AE;
}

.fc-form-group input:focus,
.fc-form-group select:focus,
.fc-form-group textarea:focus{
    background:#fff;
    border-color:#176BB8;
    box-shadow:0 0 0 3px rgba(23,107,184,.08);
}


/* =========================================================
   SUBMIT
========================================================= */

.fc-contact-submit{
    min-height:52px;
    width:100%;

    margin-top:2px;
    padding:0 22px;

    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;

    border:0;
    border-radius:8px;

    color:#fff;
    background:#159447;

    font-size:14px;
    font-weight:700;

    cursor:pointer;

    box-shadow:0 9px 22px rgba(21,148,71,.17);

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

.fc-contact-submit svg{
    width:20px;
    height:20px;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.fc-contact-submit:hover{
    background:#117E3D;
    transform:translateY(-2px);
    box-shadow:0 12px 26px rgba(21,148,71,.23);
}


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

@media (max-width:991.98px){

    .fc-contact{
        padding:70px 0;
    }

    .fc-contact-wrap{
        padding:0 22px;
    }

    .fc-contact-grid{
        grid-template-columns:1fr;
    }

    .fc-contact-info,
    .fc-contact-form-box{
        padding:40px 35px;
    }

}


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

@media (max-width:575.98px){

    .fc-contact{
        padding:52px 0 58px;
    }

    .fc-contact-wrap{
        padding:0 16px;
    }

    .fc-contact-head{
        margin-bottom:30px;
        text-align:right;
    }

    .fc-contact-head h2{
        font-size:28px;
    }

    .fc-contact-head p{
        font-size:14px;
    }

    .fc-contact-grid{
        border-radius:12px;
    }

    .fc-contact-info{
        padding:32px 22px;
    }

    .fc-contact-info h3{
        font-size:23px;
    }

    .fc-contact-form-box{
        padding:31px 20px;
    }

    .fc-contact-form-head h3{
        font-size:23px;
    }

    .fc-form-row{
        grid-template-columns:1fr;
    }

    .fc-contact-item{
        min-height:65px;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion:reduce){

    .fc-contact-item,
    .fc-contact-submit{
        transition:none;
    }

}


/* =========================================================
   CONTACT FORCE RTL / RIGHT ALIGN
========================================================= */

.fc-contact,
.fc-contact *{
    direction:rtl;
    text-align:right;
}

.fc-contact-head,
.fc-contact-info,
.fc-contact-form-box,
.fc-contact-form-head,
.fc-contact-item,
.fc-contact-item-text,
.fc-form-group,
.fc-contact-coverage{
    text-align:right !important;
}

.fc-contact-head{
    margin-right:0;
    margin-left:auto;
}

.fc-contact-head p,
.fc-contact-form-head p,
.fc-contact-intro{
    margin-right:0;
    margin-left:auto;
}

.fc-contact-item{
    justify-content:flex-start;
}

.fc-contact-item-text{
    flex:1;
}

.fc-form-group label{
    text-align:right;
}

.fc-form-group input,
.fc-form-group select,
.fc-form-group textarea{
    text-align:right;
    direction:rtl;
}

.fc-contact-submit{
    direction:rtl;
    text-align:center;
}

/* الأرقام والإيميل يفضلوا LTR لكن مكانهم يمين */
.fc-contact-item-text strong[dir="ltr"]{
    direction:ltr;
    text-align:right !important;
}

/* mobile */
@media (max-width:575.98px){

    .fc-contact-head,
    .fc-contact-info,
    .fc-contact-form-box,
    .fc-contact-form-head,
    .fc-contact-item,
    .fc-contact-item-text,
    .fc-form-group,
    .fc-contact-coverage{
        text-align:right !important;
    }

}

.fc-reviews-track{
    direction:ltr;
}

.fc-review-slide{
    direction:rtl;
}









/* =========================================================
   FAST CLEAN FOOTER
========================================================= */

.fc-footer{
    background:#163E59;
    color:#D9E3EA;
    direction:rtl;
}

.fc-footer-wrap{
    width:100%;
    max-width:1240px;
    margin:0 auto;
    padding:26px 28px 18px;
}

.fc-footer-top{
    padding-bottom:20px;
    border-bottom:1px solid rgba(255,255,255,.12);
}

.fc-footer-credit{
    margin:0;
    text-align:left;
    direction:ltr;
    color:#D9E3EA;
    font-size:13px;
    font-weight:500;
}

.fc-footer-credit a{
    color:#A9D34F;
    font-weight:700;
    text-decoration:none;
    transition:opacity .2s ease;
}

.fc-footer-credit a:hover{
    opacity:.8;
}

.fc-footer-bottom{
    padding-top:17px;
    text-align:center;
}

.fc-footer-bottom p{
    margin:0;
    color:#AEBCC7;
    font-size:13px;
    line-height:1.8;
}

@media (max-width:575.98px){

    .fc-footer-wrap{
        padding:22px 16px 17px;
    }

    .fc-footer-credit{
        text-align:center;
    }

    .fc-footer-bottom p{
        font-size:12.5px;
    }

}












/* =========================================================
   CUSTOMER REVIEWS GALLERY
========================================================= */

.customer-reviews-gallery{
    position:relative;
    padding:85px 0 90px;
    background:#F7FAFC;
    direction:rtl;
}

.customer-reviews-container{
    width:100%;
    max-width:1240px;
    margin:0 auto;
    padding:0 28px;
}


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

.customer-reviews-heading{
    max-width:720px;
    margin:0 auto 45px;
    text-align:center;
}

.customer-reviews-heading > span{
    display:block;
    margin-bottom:8px;
    color:#159447;
    font-size:14px;
    font-weight:700;
}

.customer-reviews-heading h2{
    margin:0 0 13px;
    color:#17324A;
    font-size:clamp(30px,3.2vw,42px);
    font-weight:800;
    line-height:1.4;
}

.customer-reviews-heading p{
    max-width:640px;
    margin:0 auto;
    color:#6B7280;
    font-size:15px;
    line-height:1.95;
}


/* =========================================================
   GRID
========================================================= */

.customer-reviews-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
    align-items:start;
}


/* =========================================================
   REVIEW ITEM
========================================================= */

.customer-review-item{
    width:100%;
    height:auto;
    overflow:hidden;

    background:#fff;

    border:1px solid #E5E9ED;
    border-radius:12px;

    box-shadow:
        0 7px 24px rgba(15,50,75,.07);

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

.customer-review-item:hover{
    transform:translateY(-5px);

    box-shadow:
        0 15px 35px rgba(15,50,75,.12);
}


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

.customer-review-item img{
    display:block;

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

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


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

@media (max-width:991.98px){

    .customer-reviews-gallery{
        padding:68px 0 72px;
    }

    .customer-reviews-container{
        padding:0 22px;
    }

    .customer-reviews-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:20px;
    }

}


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

@media (max-width:575.98px){

    .customer-reviews-gallery{
        padding:52px 0 58px;
    }

    .customer-reviews-container{
        padding:0 16px;
    }

    .customer-reviews-heading{
        margin-bottom:31px;
        text-align:right;
    }

    .customer-reviews-heading h2{
        font-size:28px;
    }

    .customer-reviews-heading p{
        font-size:14px;
        line-height:1.9;
    }

    .customer-reviews-grid{
        grid-template-columns:1fr;
        gap:17px;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion:reduce){

    .customer-review-item{
        transition:none;
    }

    .customer-review-item:hover{
        transform:none;
    }

}



/* =========================================================
   CUSTOMER REVIEWS HERO
========================================================= */

.fc-page-hero{
    position:relative;
    overflow:hidden;

    padding:78px 0 82px;

    background:
        linear-gradient(
            135deg,
            #0F548B 0%,
            #176BB8 58%,
            #168E65 100%
        );

    direction:rtl;
}


/* decorative circles */

.fc-page-hero::before{
    content:"";

    position:absolute;
    width:330px;
    height:330px;

    top:-180px;
    left:-100px;

    border-radius:50%;

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

    pointer-events:none;
}


.fc-page-hero::after{
    content:"";

    position:absolute;
    width:210px;
    height:210px;

    right:-100px;
    bottom:-120px;

    border-radius:50%;

    border:35px solid rgba(255,255,255,.04);

    pointer-events:none;
}


/* container */

.fc-page-hero-wrap{
    position:relative;
    z-index:2;

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

    margin:0 auto;
    padding:0 28px;
}


/* breadcrumb */

.fc-page-breadcrumb{
    margin-bottom:25px;

    display:flex;
    align-items:center;
    gap:9px;

    color:rgba(255,255,255,.65);

    font-size:13px;
    font-weight:500;
}


.fc-page-breadcrumb a{
    color:rgba(255,255,255,.78);

    text-decoration:none;

    transition:color .2s ease;
}


.fc-page-breadcrumb a:hover{
    color:#B9EDC0;
}


.fc-page-breadcrumb span:last-child{
    color:#B9EDC0;
}


/* content */

.fc-page-hero-content{
    max-width:780px;
}


.fc-page-hero-label{
    display:inline-flex;
    align-items:center;
    gap:9px;

    margin-bottom:10px;

    color:#C3F0C9;

    font-size:14px;
    font-weight:700;
}


.fc-page-hero-label::before{
    content:"";

    width:32px;
    height:3px;

    border-radius:20px;

    background:#47C65C;
}


.fc-page-hero h1{
    margin:0 0 16px;

    color:#fff;

    font-size:clamp(36px,4vw,54px);
    font-weight:800;
    line-height:1.35;
}


.fc-page-hero p{
    max-width:720px;

    margin:0;

    color:rgba(255,255,255,.86);

    font-size:16px;
    font-weight:400;
    line-height:2;
}


/* =========================================================
   INTRO ANIMATION
========================================================= */

.fc-page-breadcrumb{
    animation:fcPageHeroUp .55s ease-out .05s both;
}

.fc-page-hero-label{
    animation:fcPageHeroUp .6s ease-out .12s both;
}

.fc-page-hero h1{
    animation:fcPageHeroUp .7s ease-out .20s both;
}

.fc-page-hero p{
    animation:fcPageHeroUp .7s ease-out .30s both;
}


@keyframes fcPageHeroUp{

    from{
        opacity:0;
        transform:translateY(22px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}


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

@media (max-width:991.98px){

    .fc-page-hero{
        padding:68px 0 72px;
    }

    .fc-page-hero-wrap{
        padding:0 22px;
    }

}


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

@media (max-width:575.98px){

    .fc-page-hero{
        padding:52px 0 56px;
    }

    .fc-page-hero-wrap{
        padding:0 16px;
    }

    .fc-page-breadcrumb{
        margin-bottom:19px;
        font-size:12px;
    }

    .fc-page-hero-label{
        font-size:13px;
    }

    .fc-page-hero h1{
        margin-bottom:13px;

        font-size:32px;
        line-height:1.45;
    }

    .fc-page-hero p{
        font-size:14px;
        line-height:1.9;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion:reduce){

    .fc-page-breadcrumb,
    .fc-page-hero-label,
    .fc-page-hero h1,
    .fc-page-hero p{
        animation:none !important;
    }

}






/* =========================================================
   ABOUT COMPANY SECTION
========================================================= */

.fc-about-story{
    padding:90px 0;
    background:#fff;
    direction:rtl;
}

.fc-about-story-wrap{
    width:100%;
    max-width:1240px;
    margin:0 auto;
    padding:0 28px;
}

.fc-about-story-grid{
    display:grid;
    grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
    gap:68px;
    align-items:center;
}


/* IMAGE */

.fc-about-story-image{
    position:relative;
}

.fc-about-story-image::before{
    content:"";
    position:absolute;
    width:75%;
    height:75%;
    right:-18px;
    bottom:-18px;
    background:#EEF6FD;
    border-radius:18px;
    z-index:0;
}

.fc-about-story-image img{
    position:relative;
    z-index:1;

    display:block;
    width:100%;
    height:auto;

    border-radius:16px;

    box-shadow:
        0 15px 40px rgba(15,79,142,.12);
}


/* CONTENT */

.fc-about-story-content{
    text-align:right;
}

.fc-section-label{
    display:inline-block;

    margin-bottom:10px;

    color:#159447;

    font-size:14px;
    font-weight:700;
}

.fc-about-story-content h2{
    max-width:650px;

    margin:0 0 18px;

    color:#17324A;

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

.fc-about-story-content > p{
    margin:0 0 14px;

    color:#6B7280;

    font-size:15px;
    line-height:2;
}


/* POINTS */

.fc-about-story-points{
    display:grid;
    gap:20px;

    margin-top:30px;
}

.fc-about-story-point{
    display:flex;
    align-items:flex-start;
    gap:14px;
}

.fc-about-story-icon{
    flex:0 0 34px;

    width:34px;
    height:34px;

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

    border-radius:50%;

    background:#F1FAF3;
    color:#159447;

    font-size:16px;
    font-weight:800;
}

.fc-about-story-point h3{
    margin:0 0 4px;

    color:#17324A;

    font-size:17px;
    font-weight:700;
}

.fc-about-story-point p{
    margin:0;

    color:#6B7280;

    font-size:14px;
    line-height:1.85;
}


/* ACTIONS */

.fc-about-story-actions{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:20px;

    margin-top:32px;
}

.fc-about-primary-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;

    padding:13px 22px;

    border-radius:8px;

    background:#176BB8;
    color:#fff;

    font-size:14px;
    font-weight:700;

    text-decoration:none;

    transition:
        background .25s ease,
        transform .25s ease;
}

.fc-about-primary-btn:hover{
    background:#0F4F8E;
    transform:translateY(-2px);
}

.fc-about-text-link{
    color:#159447;

    font-size:14px;
    font-weight:700;

    text-decoration:none;

    border-bottom:1px solid transparent;

    transition:border-color .2s ease;
}

.fc-about-text-link:hover{
    border-color:#159447;
}


/* TABLET */

@media (max-width:991.98px){

    .fc-about-story{
        padding:70px 0;
    }

    .fc-about-story-wrap{
        padding:0 22px;
    }

    .fc-about-story-grid{
        grid-template-columns:1fr;
        gap:45px;
    }

    .fc-about-story-image{
        max-width:720px;
        margin:0 auto;
    }

}


/* MOBILE */

@media (max-width:575.98px){

    .fc-about-story{
        padding:55px 0 60px;
    }

    .fc-about-story-wrap{
        padding:0 16px;
    }

    .fc-about-story-grid{
        gap:36px;
    }

    .fc-about-story-image::before{
        right:-8px;
        bottom:-8px;
    }

    .fc-about-story-content h2{
        font-size:28px;
    }

    .fc-about-story-content > p{
        font-size:14px;
        line-height:1.9;
    }

    .fc-about-story-actions{
        align-items:flex-start;
        flex-direction:column;
        gap:15px;
    }

    .fc-about-primary-btn{
        width:100%;
    }

}

/* =========================================================
   FAST CLEAN PREVIOUS WORK GALLERY
========================================================= */

.works-gallery-section{
    padding:80px 0 90px;
    background:#F7FAFC;
    direction:rtl;
}

.works-gallery-container{
    width:100%;
    max-width:1240px;
    margin:0 auto;
    padding:0 28px;
}


/* =========================================================
   GRID
========================================================= */

.works-gallery-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:20px;
    align-items:start;
}


/* =========================================================
   ITEM
========================================================= */

.works-gallery-item{
    position:relative;

    width:100%;
    height:auto;

    overflow:hidden;

    background:#fff;

    border:1px solid #E6EBEF;
    border-radius:12px;

    box-shadow:
        0 7px 24px rgba(15,50,75,.07);

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

.works-gallery-item:hover{
    transform:translateY(-4px);

    box-shadow:
        0 14px 34px rgba(15,50,75,.12);
}


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

.works-gallery-item img{
    display:block;

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

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

    transition:transform .4s ease;
}

.works-gallery-item:hover img{
    transform:scale(1.015);
}


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

@media (max-width:991.98px){

    .works-gallery-section{
        padding:65px 0 72px;
    }

    .works-gallery-container{
        padding:0 22px;
    }

    .works-gallery-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:18px;
    }

}


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

@media (max-width:767.98px){

    .works-gallery-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:16px;
    }

}


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

@media (max-width:575.98px){

    .works-gallery-section{
        padding:50px 0 58px;
    }

    .works-gallery-container{
        padding:0 16px;
    }

    .works-gallery-grid{
        grid-template-columns:1fr;
        gap:16px;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion:reduce){

    .works-gallery-item,
    .works-gallery-item img{
        transition:none;
    }

    .works-gallery-item:hover{
        transform:none;
    }

    .works-gallery-item:hover img{
        transform:none;
    }

}









































/* =========================================================
   FAST CLEAN - PRIMARY SERVICE CONTENT
   Reusable for all service pages
========================================================= */

.fc-service-content{
    width:100%;
    background:#fff;
    color:#374151;
    direction:rtl;
    text-align:right;
}

.fc-service-content *,
.fc-service-content *::before,
.fc-service-content *::after{
    box-sizing:border-box;
}

.fc-service-container{
    width:100%;
    max-width:1240px;
    margin:0 auto;
    padding:0 28px;
}

.fc-service-section{
    padding:82px 0;
    background:#fff;
}

.fc-service-soft{
    background:#F7FAFC;
}

.fc-service-narrow{
    max-width:920px;
}


/* =========================================================
   TYPOGRAPHY
========================================================= */

.fc-service-kicker{
    display:inline-block;
    margin-bottom:10px;

    color:#159447;

    font-size:14px;
    font-weight:700;
    line-height:1.6;
}

.fc-service-content h2{
    margin:0 0 18px;

    color:#17324A;

    font-size:clamp(28px,3vw,40px);
    font-weight:800;
    line-height:1.45;
}

.fc-service-content h3{
    margin:0 0 9px;

    color:#17324A;

    font-size:20px;
    font-weight:700;
    line-height:1.55;
}

.fc-service-content p{
    margin:0 0 15px;

    color:#5F6B76;

    font-size:15.5px;
    font-weight:400;
    line-height:2.05;
}

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

.fc-service-heading{
    max-width:800px;
    margin-bottom:38px;
}

.fc-service-heading p{
    max-width:720px;
}


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

.fc-service-cards{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
}

.fc-service-card{
    padding:25px 24px;

    background:#fff;

    border:1px solid #E5EAF0;
    border-radius:12px;

    box-shadow:0 6px 20px rgba(15,79,142,.05);

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.fc-service-card:hover{
    transform:translateY(-4px);

    border-color:rgba(23,107,184,.25);

    box-shadow:0 14px 30px rgba(15,79,142,.09);
}

.fc-service-card h3{
    font-size:18px;
}

.fc-service-card p{
    font-size:14px;
    line-height:1.9;
}


/* =========================================================
   TWO COLUMN CONTENT
========================================================= */

.fc-service-two-cols{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
    gap:50px;
    align-items:start;
}

.fc-service-main-text{
    max-width:760px;
}


/* =========================================================
   NOTE BOX
========================================================= */

.fc-service-note{
    padding:28px;

    background:#EEF6FD;

    border-right:4px solid #176BB8;
    border-radius:10px;
}

.fc-service-note strong{
    display:block;

    margin-bottom:10px;

    color:#17324A;

    font-size:18px;
    font-weight:800;
    line-height:1.7;
}

.fc-service-note p{
    margin:0;

    font-size:14px;
    line-height:1.95;
}


/* =========================================================
   LIST BOX
========================================================= */

.fc-service-list-box{
    max-width:960px;
}

.fc-service-list-box ul,
.fc-service-price-factors ul{
    list-style:none;

    margin:0;
    padding:0;
}

.fc-service-list-box li,
.fc-service-price-factors li{
    position:relative;

    margin-bottom:12px;
    padding-right:28px;

    color:#5F6B76;

    font-size:15px;
    line-height:1.9;
}

.fc-service-list-box li:last-child,
.fc-service-price-factors li:last-child{
    margin-bottom:0;
}

.fc-service-list-box li::before,
.fc-service-price-factors li::before{
    content:"";

    position:absolute;
    top:12px;
    right:3px;

    width:9px;
    height:9px;

    border-radius:50%;

    background:#159447;

    box-shadow:0 0 0 5px rgba(21,148,71,.09);
}


/* =========================================================
   CONTENT GRID
========================================================= */

.fc-service-content-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:32px;
}

.fc-service-content-grid article{
    padding-top:20px;

    border-top:3px solid #176BB8;
}

.fc-service-content-grid article:nth-child(even){
    border-top-color:#159447;
}

.fc-service-content-grid h3{
    font-size:19px;
}

.fc-service-content-grid p{
    font-size:14.5px;
}


/* =========================================================
   SERVICE STEPS
========================================================= */

.fc-service-steps{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px 28px;
}

.fc-service-step{
    display:flex;
    align-items:flex-start;
    gap:18px;

    padding:24px;

    background:#fff;

    border:1px solid #E5EAF0;
    border-radius:12px;
}

.fc-service-step > span{
    flex:0 0 46px;

    width:46px;
    height:46px;

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

    border-radius:50%;

    background:#EEF6FD;
    color:#176BB8;

    font-size:14px;
    font-weight:800;
}

.fc-service-step h3{
    margin-bottom:5px;

    font-size:17px;
}

.fc-service-step p{
    margin:0;

    font-size:14px;
    line-height:1.85;
}


/* =========================================================
   MID CTA
========================================================= */

.fc-service-cta{
    padding:0;
    background:#F7FAFC;
}

.fc-service-cta-box{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:40px;

    padding:42px 45px;

    background:
        linear-gradient(
            135deg,
            #0F548B 0%,
            #176BB8 62%,
            #168E65 100%
        );

    border-radius:16px;

    color:#fff;
}

.fc-service-cta-box > div:first-child{
    max-width:720px;
}

.fc-service-cta-box > div > span{
    display:block;

    margin-bottom:5px;

    color:#C9F3D0;

    font-size:13px;
    font-weight:700;
}

.fc-service-cta-box h2{
    margin-bottom:10px;

    color:#fff;

    font-size:30px;
}

.fc-service-cta-box p{
    margin:0;

    color:rgba(255,255,255,.85);

    font-size:14.5px;
}

.fc-service-cta-actions{
    flex:0 0 auto;

    display:flex;
    align-items:center;
    gap:10px;
}


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

.fc-service-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    min-height:47px;

    padding:11px 21px;

    border:1px solid transparent;
    border-radius:8px;

    font-size:14px;
    font-weight:700;
    line-height:1.4;

    text-decoration:none;

    transition:
        transform .2s ease,
        background .2s ease,
        border-color .2s ease;
}

.fc-service-btn:hover{
    transform:translateY(-2px);
}

.fc-service-btn-green{
    background:#159447;
    color:#fff;
}

.fc-service-btn-green:hover{
    background:#107D3B;
}

.fc-service-btn-blue{
    background:#176BB8;
    color:#fff;
}

.fc-service-btn-blue:hover{
    background:#0F4F8E;
}

.fc-service-btn-outline{
    border-color:rgba(255,255,255,.5);

    background:rgba(255,255,255,.08);
    color:#fff;
}

.fc-service-btn-outline:hover{
    background:#fff;
    color:#176BB8;
}


/* =========================================================
   BENEFITS
========================================================= */

.fc-service-benefits{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:20px;
}

.fc-service-benefit{
    padding:0 0 0 18px;
}

.fc-service-benefit::before{
    content:"";

    display:block;

    width:38px;
    height:4px;

    margin-bottom:15px;

    border-radius:20px;

    background:#159447;
}

.fc-service-benefit h3{
    font-size:18px;
}

.fc-service-benefit p{
    font-size:14px;
    line-height:1.85;
}


/* =========================================================
   PRICE FACTORS
========================================================= */

.fc-service-price-factors{
    padding:28px 30px;

    background:#fff;

    border:1px solid #E4E9EE;
    border-radius:12px;

    box-shadow:0 8px 24px rgba(15,79,142,.05);
}

.fc-service-price-factors h3{
    margin-bottom:18px;
}


/* =========================================================
   ADVICE
========================================================= */

.fc-service-advice{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
}

.fc-service-advice > div{
    padding:28px 30px;

    border:1px solid #E5EAF0;
    border-radius:12px;

    background:#fff;
}

.fc-service-advice > div:first-child{
    border-top:3px solid #176BB8;
}

.fc-service-advice > div:last-child{
    border-top:3px solid #159447;
}

.fc-service-advice p{
    margin:0;

    font-size:14.5px;
}


/* =========================================================
   FAQ
========================================================= */

.fc-service-faq{
    max-width:900px;
}

.fc-service-faq details{
    margin-bottom:12px;

    background:#fff;

    border:1px solid #E3E8ED;
    border-radius:10px;

    overflow:hidden;
}

.fc-service-faq details:last-child{
    margin-bottom:0;
}

.fc-service-faq summary{
    position:relative;

    padding:19px 52px 19px 20px;

    cursor:pointer;

    color:#17324A;

    font-size:16px;
    font-weight:700;
    line-height:1.6;

    list-style:none;
}

.fc-service-faq summary::-webkit-details-marker{
    display:none;
}

.fc-service-faq summary::before{
    content:"+";

    position:absolute;
    top:50%;
    right:19px;

    transform:translateY(-50%);

    color:#159447;

    font-size:25px;
    font-weight:500;
    line-height:1;
}

.fc-service-faq details[open] summary::before{
    content:"−";
}

.fc-service-faq details[open] summary{
    border-bottom:1px solid #E8EDF1;
}

.fc-service-faq details > div{
    padding:17px 20px 19px;
}

.fc-service-faq details p{
    margin:0;

    font-size:14px;
    line-height:1.95;
}


/* =========================================================
   FINAL CTA
========================================================= */

.fc-service-final{
    padding:82px 0 90px;
    background:#fff;
}

.fc-service-final-content{
    max-width:850px;
}

.fc-service-final-content > p{
    max-width:750px;
}

.fc-service-final-links{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:12px 18px;

    margin-top:26px;
}

.fc-service-simple-link{
    color:#176BB8;

    font-size:14px;
    font-weight:700;

    text-decoration:none;

    border-bottom:1px solid rgba(23,107,184,.3);
}


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

@media (max-width:991.98px){

    .fc-service-container{
        padding:0 22px;
    }

    .fc-service-section,
    .fc-service-final{
        padding:68px 0;
    }

    .fc-service-cards{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .fc-service-two-cols{
        grid-template-columns:1fr;
        gap:30px;
    }

    .fc-service-main-text{
        max-width:none;
    }

    .fc-service-content-grid{
        grid-template-columns:1fr;
        gap:26px;
    }

    .fc-service-benefits{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:30px 20px;
    }

    .fc-service-cta-box{
        flex-direction:column;
        align-items:flex-start;

        padding:38px;
    }

}


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

@media (max-width:575.98px){

    .fc-service-container{
        padding:0 16px;
    }

    .fc-service-section,
    .fc-service-final{
        padding:54px 0;
    }

    .fc-service-heading{
        margin-bottom:28px;
    }

    .fc-service-content h2{
        font-size:27px;
        line-height:1.5;
    }

    .fc-service-content h3{
        font-size:18px;
    }

    .fc-service-content p{
        font-size:14px;
        line-height:1.95;
    }

    .fc-service-cards{
        grid-template-columns:1fr;
        gap:14px;
    }

    .fc-service-card{
        padding:21px 19px;
    }

    .fc-service-two-cols{
        gap:25px;
    }

    .fc-service-note,
    .fc-service-price-factors{
        padding:22px 20px;
    }

    .fc-service-steps{
        grid-template-columns:1fr;
        gap:13px;
    }

    .fc-service-step{
        gap:14px;

        padding:20px 18px;
    }

    .fc-service-step > span{
        flex-basis:40px;

        width:40px;
        height:40px;
    }

    .fc-service-benefits{
        grid-template-columns:1fr;
        gap:25px;
    }

    .fc-service-advice{
        grid-template-columns:1fr;
        gap:14px;
    }

    .fc-service-advice > div{
        padding:23px 20px;
    }

    .fc-service-cta-box{
        padding:30px 22px;

        border-radius:12px;
    }

    .fc-service-cta-box h2{
        font-size:26px;
    }

    .fc-service-cta-actions{
        width:100%;
        flex-direction:column;
    }

    .fc-service-cta-actions .fc-service-btn{
        width:100%;
    }

    .fc-service-final-links{
        align-items:stretch;
        flex-direction:column;
    }

    .fc-service-final-links .fc-service-btn{
        width:100%;
    }

    .fc-service-simple-link{
        align-self:flex-start;
        margin-top:5px;
    }

    .fc-service-faq summary{
        padding:17px 46px 17px 16px;

        font-size:15px;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion:reduce){

    .fc-service-card,
    .fc-service-btn{
        transition:none;
    }

    .fc-service-card:hover,
    .fc-service-btn:hover{
        transform:none;
    }

}




/* =========================================================
   SERVICE FEATURED IMAGE
========================================================= */

.fc-service-featured-image{
    padding:42px 0 10px;
    background:#fff;
    direction:rtl;
}

.fc-service-featured-figure{
    margin:0;

    overflow:hidden;

    border-radius:16px;

    box-shadow:
        0 14px 35px rgba(15,79,142,.10);
}

.fc-service-featured-figure img{
    display:block;

    width:100%;
    height:auto;

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


/* TABLET */

@media (max-width:991.98px){

    .fc-service-featured-image{
        padding:32px 0 8px;
    }

}


/* MOBILE */

@media (max-width:575.98px){

    .fc-service-featured-image{
        padding:24px 0 5px;
    }

    .fc-service-featured-figure{
        border-radius:12px;
    }

}








/* =========================================================
   SERVICE INTERNAL LINKS
========================================================= */

.fc-service-content a.fc-inline-link{
    color:#176BB8;
    font-weight:700;
    text-decoration:none;
    border-bottom:1px solid rgba(23,107,184,.28);
    transition:border-color .2s ease,color .2s ease;
}

.fc-service-content a.fc-inline-link:hover{
    color:#0F4F8E;
    border-color:#0F4F8E;
}

.fc-service-related{
    padding:70px 0;
    background:#F7FAFC;
}

.fc-service-related-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
    margin-top:28px;
}

.fc-service-related-card{
    display:block;
    padding:24px 22px;

    background:#fff;
    border:1px solid #E5EAF0;
    border-radius:12px;

    color:#17324A;
    text-decoration:none;

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.fc-service-related-card:hover{
    transform:translateY(-3px);
    border-color:rgba(23,107,184,.25);
    box-shadow:0 12px 28px rgba(15,79,142,.08);
}

.fc-service-related-card span{
    display:block;
    margin-bottom:6px;

    color:#159447;
    font-size:13px;
    font-weight:700;
}

.fc-service-related-card strong{
    display:block;

    color:#17324A;
    font-size:18px;
    line-height:1.6;
}

@media (max-width:767.98px){

    .fc-service-related{
        padding:54px 0;
    }

    .fc-service-related-grid{
        grid-template-columns:1fr;
        gap:13px;
    }

}



















/* =========================================================
   LATEST ARTICLES
========================================================= */

.fc-latest-articles{
    padding:82px 0;
    background:#F7FAFC;
    direction:rtl;
}

.fc-latest-articles-head{
    max-width:820px;
    margin-bottom:38px;
}

.fc-latest-articles-head h2{
    margin:0 0 15px;
    color:#17324A;
    font-size:clamp(28px,3vw,40px);
    font-weight:800;
    line-height:1.45;
}

.fc-latest-articles-head p{
    margin:0;
    color:#5F6B76;
    font-size:15.5px;
    line-height:2;
}

.fc-latest-articles-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
}

.fc-latest-article-card{
    min-width:0;
    display:flex;
    flex-direction:column;
    padding:26px 24px;
    background:#fff;
    border:1px solid #E5EAF0;
    border-radius:14px;
    box-shadow:0 7px 22px rgba(15,79,142,.05);
    transition:
        transform .25s ease,
        border-color .25s ease,
        box-shadow .25s ease;
}

.fc-latest-article-card:hover{
    transform:translateY(-4px);
    border-color:rgba(23,107,184,.25);
    box-shadow:0 14px 32px rgba(15,79,142,.09);
}

.fc-latest-article-category{
    display:inline-block;
    align-self:flex-start;
    margin-bottom:12px;
    padding:5px 10px;
    background:rgba(21,148,71,.08);
    color:#159447;
    border-radius:6px;
    font-size:12px;
    font-weight:700;
    line-height:1.5;
}

.fc-latest-article-card h3{
    margin:0 0 10px;
    font-size:19px;
    font-weight:800;
    line-height:1.65;
}

.fc-latest-article-card h3 a{
    color:#17324A;
    text-decoration:none;
    transition:color .2s ease;
}

.fc-latest-article-card h3 a:hover{
    color:#176BB8;
}

.fc-latest-article-card p{
    margin:0 0 20px;
    color:#5F6B76;
    font-size:14px;
    line-height:1.9;
}

.fc-latest-article-link{
    display:inline-flex;
    align-items:center;
    gap:7px;
    align-self:flex-start;
    margin-top:auto;
    color:#176BB8;
    font-size:14px;
    font-weight:700;
    text-decoration:none;
}

.fc-latest-article-link span{
    transition:transform .2s ease;
}

.fc-latest-article-link:hover span{
    transform:translateX(-4px);
}

/* 7 مقالات: توسيط آخر كارت */
.fc-latest-article-card:nth-child(7):last-child{
    grid-column:2;
}

.fc-latest-articles-more{
    display:flex;
    justify-content:center;
    margin-top:34px;
}


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

@media(max-width:991.98px){

    .fc-latest-articles{
        padding:68px 0;
    }

    .fc-latest-articles-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    /* إلغاء التوسيط الخاص بالديسكتوب */
    .fc-latest-article-card:nth-child(7):last-child{
        grid-column:auto;
    }

}


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

@media(max-width:767.98px){

    .fc-latest-articles{
        padding:54px 0;
    }

    .fc-latest-articles-head{
        margin-bottom:28px;
    }

    .fc-latest-articles-head h2{
        font-size:27px;
    }

    .fc-latest-articles-grid{
        grid-template-columns:1fr;
        gap:14px;
    }

    .fc-latest-article-card{
        padding:22px 20px;
    }

    .fc-latest-articles-more{
        margin-top:28px;
    }

}













































































/* =========================================================
   FAST CLEAN GLOBAL FONT
========================================================= */
html,
body,
body *,
button,
input,
textarea,
select{
    font-family:"Tajawal", Arial, sans-serif !important;
}

body{
    font-weight:400;
}

h1,
h2,
h3,
h4,
h5,
h6,
strong,
b{
    font-weight:700;
}




