/*==================================================
  KHAIR ALLAH MEDICAL TOURISM
  Premium Landing Page
==================================================*/

/*==========================
Google Fonts
==========================*/

@import url('https://fonts.googleapis.com/css2?family=Amiri:wght@400;700&family=Work+Sans:wght@300;400;500;600;700&display=swap');

/*==========================
Root Variables
==========================*/

:root{

    --primary:#063A63;
    --secondary:#0C4D78;
    --emerald:#0F8F73;
    --gold:#D6B35A;

    --white:#ffffff;
    --text:#EAF2F8;

    --dark:#041A2E;

}

/*==========================
Reset
==========================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{

    scroll-behavior:smooth;
    overflow-x:hidden;
    width:100%;

}

body{

    font-family:'Work Sans',sans-serif;

    background:#fff;

    overflow-x:hidden;
    width:100%;
    max-width:100vw;
    position:relative;

    color:#333;

}
img{

    max-width:100%;
    display:block;

}

a{

    text-decoration:none;

}

ul{

    list-style:none;

}

.container{

    width:min(1200px,90%);
    margin:auto;

}

/*==========================
Navbar
==========================*/

.navbar{

    position:fixed;

    width:100%;

    top:0;

    left:0;

    z-index:999;

    transition:.45s ease;

    padding:25px 0;

}

.navbar.scrolled{

    background:rgba(5,25,45,.78);

    backdrop-filter:blur(18px);

    box-shadow:0 10px 35px rgba(0,0,0,.25);

}

.nav-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 48px;                 /* space between logo, menu, button, etc. */
    /* remove justify-content: space-between; */
}

.logo{

    display:flex;

    align-items:center;

    gap:14px;

    flex-shrink:0;

}

.logo-mark {
    width: 150px;
    height: auto;
    object-fit: contain;
    object-position: center;
    display: block;
    border: none;
    border-radius: 0;
    box-shadow: none;
}

.logo-text{

    display:flex;

    flex-direction:column;

    line-height:1.15;

}

.logo-title{

    font-family:'Amiri',serif;

    color:#fff;

    font-size:19px;

    font-weight:700;

}

.logo-subtitle{

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

    font-size:10px;

    letter-spacing:2px;

    text-transform:uppercase;

}

.nav-menu{

    display:flex;

    gap:28px;
    margin-left: auto;

}

.nav-menu a{

    color:#fff;

    font-weight:500;

    position:relative;

    transition:.4s;

    white-space:nowrap;

}

.nav-menu a::after{

    content:"";

    position:absolute;

    width:0;

    left:0;

    bottom:-8px;

    height:2px;

    background:var(--gold);

    transition:.4s;

}

.nav-menu a:hover::after,

.nav-menu .active::after{

    width:100%;

}

.nav-button{

    background:linear-gradient(135deg,#17B26A,#0F8F73);

    color:#fff;

    padding:10px 18px;

    border-radius:50px;

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

    white-space:nowrap;

    transition:.4s;

    box-shadow:0 10px 25px rgba(0,0,0,.2);

}

.nav-button:hover{

    transform:translateY(-4px);

    box-shadow:0 18px 40px rgba(0,0,0,.3);

}

.mobile-toggle{

    display:none;

}

/* ==========================
   NAVBAR LOGO
========================== */
.navbar .logo-mark {
    width: 260px;
    height: auto;
    display: block;
    object-fit: contain;
}



/* ================================
   LANGUAGE SWITCHER
================================ */

.language-switcher {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-left: 12px;
    white-space: nowrap;
}

.language-switcher span {
    color: rgba(255, 255, 255, 0.5);
}

.lang-btn {
    border: none;
    background: transparent;
    color: rgba(255, 255, 255, 0.75);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    padding: 6px 4px;
    transition: all 0.3s ease;
}

.lang-btn:hover {
    color: #D6B35A;
}

.lang-btn.active {
    color: #D6B35A;
}

/* Arabic text */

#lang-ar {
    font-family: "Arial", sans-serif;
}

.language-switcher i{
    color: rgba(255,255,255,.75);
    font-size: 15px;
    margin-right: 2px;
}

/*==========================
Hero
==========================*/

.hero{
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
}
.hero-background{

    position:absolute;

    inset:0;

    background-image:url("../assets/jj.1b71df7162c1.webp");
    background-repeat:no-repeat;
    background-size:cover;
    background-position:75% center;

    animation:kenburns 35s ease-in-out infinite alternate;

    z-index:1;

}

.hero-overlay{

    position:absolute;

    inset:0;

    background:linear-gradient(
        100deg,
        rgba(4,26,46,.90) 0%,
        rgba(6,58,99,.75) 35%,
        rgba(6,58,99,.10) 100%
    );

    z-index:2;

}
body.arabic .hero h1{

    letter-spacing:0;

    word-spacing:3px;

}

body.arabic .hero p{

    line-height:2;

}

.hero-container{

    position: relative;

    z-index: 5;

    display:flex;

    justify-content:center;

}
.hero-grid{

    display:flex;

    align-items:center;

    gap:60px;

    justify-content:space-between;

}

.hero-image{

    flex:0 0 45%;

    border-radius:20px;

    overflow:hidden;

}

.hero-image img{

    width:100%;

    height:520px;

    object-fit:cover;

    display:block;

}

.hero-divider{

    width:70px;

    height:3px;

    background:var(--gold);

    margin:20px 0;

}

.hero-content{

    max-width: 800px;

    color: #fff;

    display: flex;

    flex-direction: column;

    justify-content: center;

    align-items:center;

    text-align:center;

}
.hero-badge{

    display:inline-block;

    padding:8px 18px;

    border-radius:30px;

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

    backdrop-filter:blur(12px);

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

    margin-bottom:25px;

    animation:fadeUp 1s ease forwards;

}

.hero-badge i{

    color:var(--gold);

    margin-right:8px;

}

.hero-heading-gold{

    color:#FEF110;
    text-transform:uppercase;

}

.hero h1{

    font-family:'Amiri',serif;

    font-size:72px;

    line-height:1.08;

    font-weight:700;

    margin-bottom:25px;

    opacity:0;

    transform:translateY(40px);

    animation:fadeUp 1.2s ease forwards;

}

.hero h1 span{

    color:var(--gold);

}

.hero p{

    font-size:20px;

    line-height:1.6;

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

    max-width:650px;

    opacity:0;

    transform:translateY(40px);

    animation:fadeUp 1.2s ease .4s forwards;

}

.hero-buttons{

    display:flex;

    gap:20px;

    margin-top:40px;

    opacity:0;

    transform:translateY(40px);

    animation:fadeUp 1.2s ease .8s forwards;
    justify-content:center;

}

.btn-primary{

    padding:18px 34px;

    border-radius:50px;

    background:linear-gradient(135deg,#18B56A,#0F8F73);

    color:#fff;

    font-weight:600;

    transition:.4s;

}

.btn-primary:hover{

    transform:translateY(-5px);

    box-shadow:0 20px 40px rgba(0,0,0,.35);

}

.btn-secondary{

    padding:18px 34px;

    border-radius:50px;

    border:2px solid rgba(255,255,255,.25);

    color:#fff;

    backdrop-filter:blur(8px);

    transition:.4s;

}

.btn-secondary:hover{

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

}

.hero-stats{

    display:flex;

    gap:20px;

    margin-top:35px;

    opacity:0;

    transform:translateY(40px);

    animation:fadeUp 1.2s ease 1.2s forwards;

}

.glass-card{

    width:180px;

    padding:24px;

    border-radius:20px;

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

    backdrop-filter:blur(18px);

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

    box-shadow:0 15px 35px rgba(0,0,0,.18);

    text-align:center;

}

.glass-card i{

    font-size:22px;

    color:var(--gold);

    margin-bottom:10px;

    display:block;

}

.glass-card h2{

    font-size:34px;

    color:#fff;

}

.glass-card p{

    font-size:14px;

    margin-top:8px;

}

/*==========================
Scroll Indicator
==========================*/

.scroll-indicator{

    position:absolute;

    left:50%;

    bottom:35px;

    transform:translateX(-50%);

    z-index:5;

}

.scroll-indicator span{

    display:block;

    width:28px;

    height:48px;

    border:2px solid rgba(255,255,255,.8);

    border-radius:30px;

    position:relative;

}

.scroll-indicator span::before{

    content:"";

    position:absolute;

    width:6px;

    height:6px;

    border-radius:50%;

    background:#fff;

    left:50%;

    transform:translateX(-50%);

    animation:scrollMouse 2s infinite;

}

/*==========================
Animations
==========================*/

@keyframes kenburns{

    from{

        transform:scale(1);

    }

    to{

        transform:scale(1.08);

    }

}

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

@keyframes scrollMouse{

    0%{

        top:8px;

        opacity:0;

    }

    50%{

        opacity:1;

    }

    100%{

        top:28px;

        opacity:0;

    }

}

/* =========================================================
   PHASE 7 — SCROLL REVEALS
   ========================================================= */

/* Base reveal */
.reveal {
    opacity: 0;

    transform:
        translate3d(0, 60px, 0);

    filter: blur(4px);

    transition:
        opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.9s cubic-bezier(0.22, 1, 0.36, 1),
        filter 0.9s ease;

    will-change:
        opacity,
        transform,
        filter;
}


/* Visible state */
.reveal.show {
    opacity: 1;

    transform:
        translate3d(0, 0, 0);

    filter: blur(0);
}


/* ---------------------------------------------------------
   LEFT REVEAL
   --------------------------------------------------------- */

.reveal-left {
    opacity: 0;

    transform:
        translate3d(-70px, 0, 0);

    filter: blur(5px);

    transition:
        opacity 1s cubic-bezier(0.22, 1, 0.36, 1),
        transform 1s cubic-bezier(0.22, 1, 0.36, 1),
        filter 1s ease;
}

.reveal-left.show {
    opacity: 1;

    transform:
        translate3d(0, 0, 0);

    filter: blur(0);
}


/* ---------------------------------------------------------
   RIGHT REVEAL
   --------------------------------------------------------- */

.reveal-right {
    opacity: 0;

    transform:
        translate3d(70px, 0, 0);

    filter: blur(5px);

    transition:
        opacity 1s cubic-bezier(0.22, 1, 0.36, 1),
        transform 1s cubic-bezier(0.22, 1, 0.36, 1),
        filter 1s ease;
}

.reveal-right.show {
    opacity: 1;

    transform:
        translate3d(0, 0, 0);

    filter: blur(0);
}


/* ---------------------------------------------------------
   SCALE REVEAL
   --------------------------------------------------------- */

.reveal-scale {
    opacity: 0;

    transform:
        translate3d(0, 20px, 0)
        scale(0.94);

    filter: blur(5px);

    transition:
        opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.9s cubic-bezier(0.22, 1, 0.36, 1),
        filter 0.9s ease;
}

.reveal-scale.show {
    opacity: 1;

    transform:
        translate3d(0, 0, 0)
        scale(1);

    filter: blur(0);
}


/* ---------------------------------------------------------
   BLUR REVEAL
   --------------------------------------------------------- */

.reveal-blur {
    opacity: 0;

    transform:
        translate3d(0, 25px, 0)
        scale(1.02);

    filter: blur(14px);

    transition:
        opacity 1.1s ease,
        transform 1.1s cubic-bezier(0.22, 1, 0.36, 1),
        filter 1.1s ease;
}

.reveal-blur.show {
    opacity: 1;

    transform:
        translate3d(0, 0, 0)
        scale(1);

    filter: blur(0);
}


/* ---------------------------------------------------------
   STAGGERED CHILDREN
   --------------------------------------------------------- */

.reveal-stagger > * {
    opacity: 0;

    transform:
        translate3d(0, 35px, 0);

    filter: blur(3px);

    transition:
        opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.8s cubic-bezier(0.22, 1, 0.36, 1),
        filter 0.8s ease;
}

.reveal-stagger.show > * {
    opacity: 1;

    transform:
        translate3d(0, 0, 0);

    filter: blur(0);
}


/* Individual stagger delays */

.reveal-stagger.show > *:nth-child(1) {
    transition-delay: 0.05s;
}

.reveal-stagger.show > *:nth-child(2) {
    transition-delay: 0.15s;
}

.reveal-stagger.show > *:nth-child(3) {
    transition-delay: 0.25s;
}

.reveal-stagger.show > *:nth-child(4) {
    transition-delay: 0.35s;
}

.reveal-stagger.show > *:nth-child(5) {
    transition-delay: 0.45s;
}

.reveal-stagger.show > *:nth-child(6) {
    transition-delay: 0.55s;
}


/* ---------------------------------------------------------
   RTL REVEALS
   --------------------------------------------------------- */

html[dir="rtl"] .reveal-left {
    transform:
        translate3d(70px, 0, 0);
}

html[dir="rtl"] .reveal-right {
    transform:
        translate3d(-70px, 0, 0);
}

html[dir="rtl"] .reveal-left.show,
html[dir="rtl"] .reveal-right.show {
    transform:
        translate3d(0, 0, 0);
}


/* ---------------------------------------------------------
   REDUCED MOTION
   --------------------------------------------------------- */

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

    .reveal,
    .reveal-left,
    .reveal-right,
    .reveal-scale,
    .reveal-blur,
    .reveal-stagger > * {

        opacity: 1;

        transform: none;

        filter: none;

        transition: none;
    }

}

/*=================================
Mobile Menu
=================================*/

@media(max-width:991px){

.nav-menu{

    position:fixed;

    top:90px;

    right:-100%;

    width:300px;

    height:calc(100vh - 90px);

    background:#06243F;

    flex-direction:column;

    padding:40px;

    transition:.4s;

    gap:25px;

}

.nav-menu.active{

    right:0;

}

.mobile-toggle{

    display:block;

    font-size:28px;

    color:#fff;

    cursor:pointer;

    background:none;

    border:none;

}

.nav-button{

    display:none;

}

.hero{

    text-align:center;

}

.hero h1{

    font-size:48px;

}

.hero p{

    font-size:18px;

}

.hero-buttons{

    justify-content:center;

    flex-wrap:wrap;

}



.hero-content{

    align-items:center;

    text-align:center;

}

.hero-divider{

    width:70px;

    height:3px;

    background:var(--gold);

    margin:20px auto;

}

.hero-stats{

    flex-wrap:wrap;

    justify-content:center;

}

.glass-card{

    width:160px;

}

}

@media(max-width:768px){

.hero{

    min-height:100vh;

}

.hero h1{

    font-size:38px;

}

.hero p{

    font-size:16px;

}


.glass-card{

    width:140px;

    padding:18px;

}

.logo-title{

    font-size:16px;

}

.navbar .logo-mark {
    width: 110px;
    height: auto;
    object-fit: contain;
}

}
/* ===========================================
   Arabic Hero Layout
=========================================== */

body.arabic .hero-content{

    max-width:680px;

    margin-left:auto;

    margin-right:8%;

    align-items:flex-end;

    text-align:right;

}

body.arabic .hero h1{

    font-size:56px;

    line-height:1.32;

}

body.arabic .hero p{

    max-width:100%;

    text-align:right;

}

body.arabic .hero-buttons{

    justify-content:flex-end;

}

body.arabic .hero-badge{

    align-self:flex-end;

}
/*=================================================
ABOUT PREVIEW
=================================================*/

.about-preview{

    padding:120px 0;

    background:#fff;

}

.company-grid{
    display: grid;
    grid-template-columns: 380px 1fr;
    gap: 100px;
    align-items: center;
}

.about-image{
    display:flex;  
    position:relative;
    align-items:center;
}

.about-image img{

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

    border-radius:25px;

    box-shadow:0 30px 60px rgba(0,0,0,.15);

    transition:.6s;

}

.about-image:hover img{

    transform:scale(1.03);

}

.experience-card{

    position:absolute;

    bottom:-30px;

    right:-30px;

    width:220px;

    padding:30px;

    background:#0F8F73;

    color:#fff;

    border-radius:20px;

    box-shadow:0 25px 60px rgba(0,0,0,.25);

}

.experience-card h2{

    font-size:52px;

    font-family:'Amiri',serif;

}

.experience-card span{

    display:block;

    line-height:1.6;

}

/* =========================================
   MAIN GREEN SECTION HEADINGS
   ========================================= */

.section-tag {
    display: block;
    font-family: 'Amiri', serif;
    color: #0F8F73;
    font-size: 64px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 1px;
    text-align: center;
    margin: 0 0 18px;
}

.section-heading h2 {
    font-family: 'Amiri', serif;
    font-size: 42px;
    line-height: 1.05;
    color: #063A63;
    margin: 0 0 28px;
    font-weight: 700;
    text-align: center;
}

.section-heading p {
    color: #666;
    font-size: 18px;
    line-height: 1.8;
    text-align: justify;
    text-wrap: wrap;
    hyphens: auto;
    margin: 0 auto;
}
.about-content h2{

    font-size:46px;

    color:#063A63;

    margin-bottom:30px;

    font-family:'Amiri',serif;

    line-height:1.2;

}
.about-content p{

    font-size:18px;

    color:#555;

    line-height:1.9;

    margin-bottom:25px;

}

.about-features{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:18px;

    margin-top:35px;

}

.about-features div{

    display:flex;

    align-items:center;

    gap:12px;

    font-weight:600;

}

.about-features i{

    color:#0F8F73;

}

.about-btn{

    display:inline-flex;

    align-items:center;

    gap:10px;

    margin-top:40px;

    background:#063A63;

    color:#fff;

    padding:18px 34px;

    border-radius:50px;

    transition:.4s;

}

.about-btn:hover{

    transform:translateY(-5px);

    background:#0F8F73;

}

@media(max-width:991px){

.about-grid{

grid-template-columns:1fr;

}

.experience-card{

position:relative;

right:0;

bottom:0;

margin-top:25px;

width:100%;

}

.about-content{

margin-top:30px;

}

.about-features{

grid-template-columns:1fr;

}

.about-content h2{

font-size:36px;

}

}

/*==========================================
WHY CHOOSE US
==========================================*/

/* =========================================
   WHY CHOOSE US
========================================= */

.why-choose {
    padding: 150px 0 60px;
    background: #f7fafc;
    position: relative;
}

/* Section Heading */

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

.section-heading {
    text-align: center;
    max-width: 900px;
    margin: 0 auto 70px;
}

/* Blue supporting heading */
.section-heading h2 {
    font-family: 'Amiri', serif;
    font-size: 42px;
    line-height: 1.05;
    color: #063A63;
    margin: 0 0 28px;
    font-weight: 700;
    text-align: center;
}

/* Section description */
.section-heading p {
    color: #666;
    font-size: 18px;
    line-height: 1.8;
    text-align: justify;
    text-wrap: wrap;
    hyphens: auto;
    margin: 0 auto;
}


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

.choose-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}


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

.choose-card {
    position: relative;
    overflow: hidden;

    min-height: 320px;

    background-color: #063A63;

    /* Image comes from the HTML --bg variable */
    background-image: var(--bg) !important;

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    border-radius: 22px;

    padding: 40px 30px;

    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08);

    transition:
        transform 0.4s ease,
        box-shadow 0.4s ease;
}


/* =========================================
   DARK IMAGE OVERLAY
========================================= */

.choose-card::before {
    content: "";

    position: absolute;
    inset: 0;

    background: linear-gradient(
        180deg,
        rgba(4, 26, 46, 0.20),
        rgba(4, 26, 46, 0.88)
    );

    z-index: 1;

    transition:
        opacity 0.4s ease,
        transform 0.4s ease;
}


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

.choose-card > * {
    position: relative;
    z-index: 2;
}

.choose-card img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    border-radius: 14px;
    margin-bottom: 20px;
}


.choose-card h3 {
    color: #ffffff;

    font-size: 24px;

    margin: 0 0 18px;

    line-height: 1.3;

    min-height: 63px;

    display: flex;

    align-items: flex-end;
}

.choose-card p {
    color: rgba(255, 255, 255, 0.92);

    font-size: 16px;

    line-height: 1.8;

    margin: 0;

    text-align: left;
    text-wrap: balance;
}


/* =========================================
   HOVER EFFECT
========================================= */

.choose-card:hover {
    transform: translateY(-12px);

    box-shadow:
        0 30px 60px rgba(0, 0, 0, 0.18);
}


.choose-card:hover::before {
    opacity: 0.72;
    transform: scale(1.05);
}


/* =========================================
   CHOOSE ICON
========================================= */

.choose-icon {
    width: 80px;
    height: 80px;

    border-radius: 50%;

    background: linear-gradient(
        135deg,
        #0F8F73,
        #063A63
    );

    color: #ffffff;

    display: flex;

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

    font-size: 34px;

    margin-bottom: 30px;

    position: relative;

    z-index: 2;

    transition:
        transform 0.5s ease,
        background 0.5s ease;
}


/* =========================================
   ICON HOVER
========================================= */

.choose-card:hover .choose-icon {
    transform: rotate(10deg) scale(1.1);
}


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

@media (max-width: 992px) {

    .section-tag {
        font-size: 50px;
    }

    .section-heading h2 {
        font-size: 36px;
        line-height: 1.05;
    }

}


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

@media (max-width: 768px) {


    .choose-grid {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .section-tag {
        font-size: 42px;
    }

    .section-heading h2 {
        font-size: 32px;
        line-height: 1.05;
    }

    .section-heading {
        max-width: calc(100% - 30px);
    }

    .section-heading p {
        font-size: 16px;
        line-height: 1.7;
    }

    .choose-card {
        min-height: 300px;

        padding: 35px 25px;
    }

}


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

@media (max-width: 480px) {

    .section-tag {
        font-size: 36px;
    }

    .section-heading h2 {
        font-size: 28px;
        line-height: 1.05;
    }

    .choose-card {
        min-height: 280px;

        padding: 30px 22px;
    }

    .choose-card h3 {
        font-size: 22px;
    }

    .choose-card p {
        font-size: 15px;
    }

    .choose-icon {
        width: 65px;
        height: 65px;

        font-size: 28px;

        margin-bottom: 22px;
    }

}

/*==========================================
OUR SERVICES
==========================================*/

/* ==========================================
   OUR SERVICES
========================================== */

.services {
    padding: 60px 0 120px;
    background: #f8fbfd;
}


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

.services-grid {
    display: grid;

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

    gap: 30px;

    margin-top: 70px;

    align-items: stretch;
}


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

.service-card {
    position: relative;

    width: 100%;
    min-width: 0;
    height: auto;

    background: #ffffff;

    border-radius: 20px;

    overflow: hidden;

    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08);

    transition:
        transform 0.4s ease,
        box-shadow 0.4s ease;

    display: flex;
    flex-direction: column;

    box-sizing: border-box;
}


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

.service-card img {
    display: block;

    width: 100%;
    height: 220px;

    object-fit: cover;

    flex-shrink: 0;

    transition: transform 0.6s ease;
}


/* ==========================================
   SERVICE CONTENT
========================================== */
/* ==========================================
   MEDICAL SERVICE CARD CONTENT
========================================== */

.service-content {
    padding: 24px 24px 28px;

    height: auto;
    min-height: 0;

    flex: 1;

    box-sizing: border-box;
}

.service-content h3 {
    color: #063A63;

    font-size: 22px;
    line-height: 1.35;

    margin: 0 0 10px;

    min-height: 0;

    display: block;
}

.service-content p {
    color: #666;

    font-size: 15px;

    line-height: 1.65;

    margin: 0;
}
/* ==========================================
   MEDICAL CARDS — ARABIC
========================================== */

body.arabic .service-content {
    direction: rtl;
    text-align: right;
}

body.arabic .service-content h3 {
    font-family: 'Amiri', serif;

    font-size: 22px;

    line-height: 1.55;

    margin-bottom: 10px;
}

body.arabic .service-content p {
    font-family: 'Amiri', serif;

    font-size: 16px;

    line-height: 1.9;
}
/* ==========================================
   HOVER
========================================== */

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

    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.15);
}

.service-card:hover img {
    transform: scale(1.08);
}


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

@media (max-width: 1100px) {

    .services-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));

        gap: 28px;
    }

    .service-card img {
        height: 230px;
    }

    .service-content {
        padding: 22px 24px 26px;
    }

}


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

@media (max-width: 768px) {

    .services {
        padding: 80px 0;
    }

    .services-grid {
        grid-template-columns: minmax(0, 1fr);

        gap: 25px;

        margin-top: 50px;

        align-items: stretch;
    }

    .service-card {
        width: 100%;

        height: auto;

        min-height: 0;
    }

    .service-card img {
        width: 100%;

        height: 220px;

        object-fit: cover;
    }

    .service-content {
        padding: 22px 22px 25px;
    }

    .service-content h3 {
        font-size: 22px;

        line-height: 1.3;

        margin-bottom: 8px;

        min-height: 0;
    }

    .service-content p {
        font-size: 16px;

        line-height: 1.6;
    }

}


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

@media (max-width: 480px) {

    .services {
        padding: 70px 0;
    }

    .services-grid {
        gap: 20px;
    }

    .service-card img {
        height: 210px;
    }

    .service-content {
        padding: 20px 20px 24px;
    }

    .service-content h3 {
        font-size: 20px;

        line-height: 1.3;
    }

    .service-content p {
        font-size: 15px;

        line-height: 1.65;
    }

}

/*==========================================
OUR JOURNEY IN NUMBERS
==========================================*/

.stats-section{

    position:relative;

    padding:130px 0;

    background:url("../assets/kerala-hospitality.c204027fb3e3.jpg") center/cover no-repeat;

    overflow:hidden;

}

.stats-overlay{

    position:absolute;

    inset:0;

    background:linear-gradient(
        135deg,
        rgba(4,26,46,.94),
        rgba(6,58,99,.88),
        rgba(15,143,115,.82)
    );

}

.stats-section .container{

    position:relative;

    z-index:2;

}

.light h2,
.light p,
.light .section-tag{

    color:#fff;

}

.stats-grid{

    display:grid;

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

    gap:30px;

    margin-top:70px;

}

.stat-card{

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

    backdrop-filter:blur(20px);

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

    border-radius:25px;

    text-align:center;

    padding:45px 30px;

    transition:.45s;

}

.stat-card:hover{

    transform:translateY(-10px);

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

}

.stat-card i{

    font-size:45px;

    color:#D6B35A;

    margin-bottom:25px;

}

.stat-card h3{

    font-family:'Amiri',serif;

    font-size:54px;

    color:#fff;

    margin-bottom:15px;

}

.stat-card p{

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

    line-height:1.7;

    font-size:17px;

}

@media(max-width:991px){

.stats-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.stats-grid{

grid-template-columns:1fr;

}

}

/*==========================================
OUR STORY
==========================================*/

.story-section{

    padding:130px 0;

    background:#ffffff;

}

.story-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:80px;

    align-items:center;

}

.story-content h2{

    font-family:'Amiri',serif;

    font-size:52px;

    color:#063A63;

    margin:25px 0;

    line-height:1.2;

}

.story-content p{

    font-size:18px;

    color:#666;

    line-height:1.9;

    margin-bottom:25px;

}

.story-image{

    position:relative;

}

.story-image img{

    width:100%;

    border-radius:30px;

    box-shadow:0 30px 60px rgba(0,0,0,.15);

    transition:.5s;

}

.story-image:hover img{

    transform:scale(1.04);

}

.floating-box{

    position:absolute;

    bottom:25px;

    left:-40px;

    background:#ffffff;

    padding:25px;

    border-radius:20px;

    box-shadow:0 20px 40px rgba(0,0,0,.15);

    width:220px;

}

.floating-box h3{

    color:#0F8F73;

    font-size:40px;

    font-family:'Amiri',serif;

}

.story-btn{

    display:inline-flex;

    align-items:center;

    gap:12px;

    margin-top:20px;

    background:#063A63;

    color:#fff;

    padding:18px 36px;

    border-radius:50px;

    transition:.4s;

}

.story-btn:hover{

    background:#0F8F73;

    transform:translateY(-5px);

}

@media(max-width:991px){

.story-grid{

grid-template-columns:1fr;

}

.floating-box{

left:20px;

bottom:20px;

}

.story-content h2{

font-size:40px;

}

}

/*==========================================
TRUST
==========================================*/

.trust-section{

    padding:120px 0;

    background:#f8fbfd;

}

.trust-box{

    max-width:900px;

    margin:auto;

    background:#fff;

    padding:70px;

    border-radius:30px;

    box-shadow:0 25px 60px rgba(0,0,0,.08);

    text-align:center;

}

.trust-box i{

    font-size:60px;

    color:#D6B35A;

    margin-bottom:30px;

}

.trust-box p{

    font-size:22px;

    line-height:2;

    color:#555;

    margin-bottom:45px;

}

.supporters{

    display:flex;

    justify-content:center;

    gap:60px;

    flex-wrap:wrap;

}

.supporters h4{

    color:#063A63;

    margin-bottom:8px;

}

.supporters span{

    color:#777;

}

@media(max-width:768px){

.trust-box{

padding:40px 25px;

}

.trust-box p{

font-size:18px;

}

}

/*==========================================
PHILOSOPHY
==========================================*/

.philosophy{

    padding:140px 0;

    background:
    linear-gradient(rgba(4,26,46,.85),rgba(4,26,46,.85)),
    url("../assets/tourist/munnar.4fb4f1df7cb2.jpg");

    background-size:cover;
    background-position:center;
    background-attachment:fixed;

    color:#fff;

    text-align:center;

}

.philosophy-content{

    max-width:850px;

    margin:auto;

}

.philosophy h2{

    font-family:'Amiri',serif;

    font-size:62px;

    margin:25px 0 10px;

    color:#D6B35A;

}

.philosophy h3{

    font-size:28px;

    margin-bottom:25px;

    font-weight:500;

}

.philosophy p{

    font-size:20px;

    line-height:2;

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

}
/*==========================================
CTA
==========================================*/

.cta{

    padding:120px 0;

    background:#ffffff;

}

.cta-box{

    background:
    linear-gradient(135deg,#063A63,#0F8F73);

    border-radius:35px;

    padding:80px;

    text-align:center;

    color:#fff;

    box-shadow:0 30px 60px rgba(0,0,0,.18);

}

.cta-box h2{

    font-family:'Amiri',serif;

    font-size:52px;

    margin:25px 0;

}

.cta-box p{

    font-size:19px;

    line-height:1.9;

    max-width:700px;

    margin:auto;

}

.cta-buttons{

    display:flex;

    justify-content:center;

    gap:20px;

    margin-top:45px;

    flex-wrap:wrap;

}

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

footer{

    background:#041A2E;

    color:#fff;

    padding:80px 0 30px;

}

.footer-grid{

    display:grid;

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

    gap:50px;

}

.footer-logo{

    height:48px;

    width:auto;

    display:block;

    margin-bottom:18px;

    object-fit:contain;

}

.footer-grid h3{

    font-family:'Amiri',serif;

    font-size:34px;

    margin-bottom:20px;

}

.footer-grid h4{

    margin-bottom:20px;

    color:#D6B35A;

}

.footer-grid ul{

    list-style:none;

}

.footer-grid li{

    margin-bottom:12px;

}

.footer-grid a{

    color:#ddd;

    transition:.3s;

}

.footer-grid a:hover{

    color:#D6B35A;

}

footer hr{

    border:none;

    height:1px;

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

    margin:50px 0 25px;

}

.copyright{

    text-align:center;

    color:#aaa;

}
.footer-phone-label{
    display:block;
    font-size:12px;
    color:rgba(255,255,255,.55);
    margin-top:2px;
}

.contact-card .footer-phone-label{
    color:#888;
    font-weight:400;
    margin-top:1px;
    margin-bottom:10px;
}
@media(max-width:991px){

.footer-grid{

grid-template-columns:1fr 1fr;

}

}

@media(max-width:768px){

.footer-grid{

grid-template-columns:1fr;

text-align:center;

}

.cta-box{

padding:50px 30px;

}

.cta-box h2{

font-size:38px;

}

}

/*==========================================
ABOUT HERO
==========================================*/

.about-hero{

height:70vh;

display:flex;

align-items:center;

position:relative;

background:
url("../assets/about-company.925b12c38543.jpg")
center/cover no-repeat;

}

.about-overlay{

position:absolute;

inset:0;

background:linear-gradient(
135deg,
rgba(4,26,46,.92),
rgba(6,58,99,.75)
);

}

.about-hero .container{

position:relative;

z-index:2;

}

.about-hero-content{

max-width:720px;

color:#fff;

margin:0 auto;

text-align:center;

}

.hero-logo{

height:64px;

width:auto;

display:block;

margin-bottom:24px;

object-fit:contain;

}

.about-hero h1{

font-family:'Amiri',serif;

font-size:70px;

line-height:1.1;

margin:20px 0;

animation:fadeUp 1s;

}

.about-hero p{

font-size:20px;

line-height:1.9;

max-width:650px;

opacity:.95;

margin-left:auto;

margin-right:auto;

}

/*==========================================
HERO — ELEGANT NAVY/TEAL COMPOSITION (Medical page)
==========================================*/

.about-hero.hero-elegant{

    background:linear-gradient(135deg, var(--dark) 0%, var(--primary) 55%, #0B4A52 100%);
    overflow:hidden;
    text-align:center;

}

.about-hero.hero-elegant .about-overlay{

    background:transparent;

}

.hero-pattern-left{

    position:absolute;
    inset:0;
    width:55%;
    height:100%;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23D6B35A' stroke-width='1'%3E%3Cpath d='M60 0 L120 60 L60 120 L0 60 Z'/%3E%3Cpath d='M60 20 L100 60 L60 100 L20 60 Z'/%3E%3Ccircle cx='60' cy='60' r='6'/%3E%3C/g%3E%3C/svg%3E");
    background-repeat:repeat;
    background-size:120px 120px;
    opacity:.07;
    pointer-events:none;
    z-index:1;

}

.hero-glow-right{

    position:absolute;
    right:-8%;
    top:50%;
    transform:translateY(-50%);
    width:560px;
    height:560px;
    background:radial-gradient(circle, rgba(214,179,90,.22) 0%, rgba(214,179,90,0) 70%);
    border-radius:50%;
    pointer-events:none;
    z-index:1;

}

.hero-elegant-content{

    position:relative;
    z-index:2;
    max-width:820px;
    margin:0 auto;
    display:flex;
    flex-direction:column;
    align-items:center;

}

.hero-ornament{

    display:flex;
    align-items:center;
    gap:14px;
    margin:20px 0 6px;

}

.hero-ornament-line{

    width:60px;
    height:1px;
    background:var(--gold);
    opacity:.6;

}

.hero-ornament-diamond{

    width:8px;
    height:8px;
    background:var(--gold);
    transform:rotate(45deg);
    flex:0 0 auto;

}

.hero-arabic-highlight{

    font-family:'Amiri',serif;
    font-size:clamp(40px,5vw,64px);
    color:var(--gold);
    font-weight:700;
    text-align:center;
    margin:0;
    line-height:1.4;

}

.hero-arabic-meaning{

    font-style:italic;
    color:rgba(255,255,255,.9);
    text-align:center;
    margin-top:8px;
    font-size:17px;

}

.hero-sub-heading{

    font-family:'Amiri',serif;
    margin-top:34px;
    font-size:44px;
    font-weight:700;
    text-align:center;
    color:#fff;
    line-height:1.2;

}

.hero-underline{

    display:block;
    width:70px;
    height:2px;
    background:var(--gold);
    margin:16px auto 20px;

}

.hero-desc-gray{

    color:#B9C4CC;
    font-size:17px;
    line-height:1.8;
    max-width:560px;
    margin:0 auto;
    text-align:center;

}

body.medical-page .nav-button{

    background:linear-gradient(135deg,#12967E,#0B5D63);

}


/* ================================
   NAV MENU HIGHLIGHT (Medical / Tourism)
================================ */

.nav-menu .nav-highlight{

    position:relative;

    z-index:1;

    display:inline-block;

    align-self:center;

    padding:6px 14px;

    border-radius:50px;

}

.nav-menu .nav-highlight::before{

    content:"";

    position:absolute;

    inset:-2px;

    border-radius:50px;

    padding:2px;

    background:linear-gradient(90deg,#22D3EE,#A855F7,#EC4899,#F97316);

    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    -webkit-mask-composite:xor;
    mask-composite:exclude;

    opacity:1;

    z-index:-1;

}

.nav-menu .nav-highlight::after{

    bottom:-4px;

}

@media (max-width:900px){

    .hero-pattern-left{ width:100%; }

}

/*==========================================
COMPANY INTRODUCTION
==========================================*/

.company-intro{

    padding:120px 0;

    background:#fff;

}

.company-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:80px;

    align-items:start;

}
.company-image{
    display: flex;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
}

.company-image img{
    width: auto;
    max-width: 100%;
    height: auto;
    border-radius: 20px;
    box-shadow: 0 20px 45px rgba(0,0,0,.12);
    transition: .5s;
}

.company-image img.company-logo-img{
    width: auto;
    max-width: 100%;
    height: auto;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
    transition: .5s;
}
.company-image:hover img{
    transform: scale(1.03);
}

.experience-box{
    position: static;          /* no longer absolute */
    flex-shrink: 0;
    background: linear-gradient(135deg, #063A63, #0F8F73);
    color: #fff;
    padding: 28px 24px;
    border-radius: 22px;
    width: 200px;
    text-align: center;
    box-shadow: 0 18px 40px rgba(0,0,0,.22);
}

.experience-box h2{

    font-family:'Amiri',serif;

    font-size:52px;

    margin-bottom:10px;

}

.experience-box p{

    font-size:15px;

    line-height:1.6;

}

.company-content h2{

    font-family:'Amiri',serif;

    font-size:50px;

    color:#063A63;

    margin:20px 0 30px;

}

.company-content p{

    color:#666;

    font-size:18px;

    line-height:1.9;

    margin-bottom:20px;

}

.intro-highlights{

    display:flex;

    gap:30px;

    margin-top:40px;

}

.intro-highlights div{

    flex:1;

    background:#f8fbfd;

    padding:25px;

    border-radius:20px;

    text-align:center;

    transition:.4s;

}

.intro-highlights div:hover{

    transform:translateY(-8px);

    box-shadow:0 15px 40px rgba(0,0,0,.08);

}

.intro-highlights h3{

    font-family:'Amiri',serif;

    color:#0F8F73;

    font-size:38px;

    margin-bottom:8px;

}

.intro-highlights span{

    color:#555;

    font-weight:500;

}

@media(max-width:991px){

.company-grid{

grid-template-columns:1fr;

}

.experience-box{
    position: static;
    width: 100%;
    max-width: 220px;
    margin-top: 10px;
}

.intro-highlights{

flex-direction:column;

}

.company-content h2{

font-size:38px;

}

}

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

.timeline-section{

    padding:120px 0;

    background:#f8fbfd;

}

.timeline{

    position:relative;

    max-width:900px;

    margin:80px auto 0;

}

.timeline::before{

    content:"";

    position:absolute;

    left:30px;

    top:0;

    bottom:0;

    width:4px;

    background:linear-gradient(#0F8F73,#063A63);

}

.timeline-item{

    position:relative;

    padding-left:90px;

    margin-bottom:70px;

}

.timeline-dot{

    position:absolute;

    left:18px;

    top:5px;

    width:28px;

    height:28px;

    border-radius:50%;

    background:#0F8F73;

    border:5px solid #fff;

    box-shadow:0 0 0 4px rgba(15,143,115,.2);

}

.timeline-content{

    background:#fff;

    padding:35px;

    border-radius:22px;

    box-shadow:0 15px 40px rgba(0,0,0,.08);

    transition:.4s;

}

.timeline-content:hover{

    transform:translateX(10px);

    box-shadow:0 20px 50px rgba(0,0,0,.12);

}

.timeline-year{

    display:inline-block;

    background:#063A63;

    color:#fff;

    padding:8px 18px;

    border-radius:30px;

    font-size:14px;

    margin-bottom:18px;

}

.timeline-content h3{

    color:#063A63;

    margin-bottom:15px;

    font-size:26px;

}

.timeline-content p{

    color:#666;

    line-height:1.8;

    font-size:17px;

}

@media(max-width:768px){

.timeline::before{

left:15px;

}

.timeline-item{

padding-left:55px;

}

.timeline-dot{

left:3px;

}

.timeline-content{

padding:25px;

}

}

/*==========================================
LEADERSHIP
==========================================*/

.leadership-section{

    padding:120px 0;

    background:#ffffff;

}

.leadership-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

    margin-top:70px;

}

.leader-card{

    background:#fff;

    border-radius:28px;

    overflow:hidden;

    box-shadow:0 20px 50px rgba(0,0,0,.08);

    transition:.45s;

}

.leader-card:hover{

    transform:translateY(-12px);

    box-shadow:0 30px 60px rgba(0,0,0,.14);

}

.leader-image{

    height:360px;

    overflow:hidden;

}

.leader-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    object-position: top center;

    transition:.6s;

}

.leader-card:hover img{

    transform:scale(1.08);

}

.leader-content{

    padding:35px;

}

.leader-role{

    display:inline-block;

    background:#0F8F73;

    color:#fff;

    padding:8px 18px;

    border-radius:30px;

    font-size:14px;

    margin-bottom:18px;

}

.leader-content h3{

    color:#063A63;

    font-size:28px;

    margin-bottom:18px;

}

.leader-content p{

    color:#666;

    line-height:1.9;

    font-size:16px;

}

@media(max-width:991px){

.leadership-grid{

grid-template-columns:1fr;

}

.leader-image{

height:420px;

}

}

/*==========================================
LEGACY
==========================================*/

.legacy-section{

    padding:120px 0;

    background:#f8fbfd;

}

.legacy-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:35px;

    margin-top:60px;

}

.legacy-card{

    background:#fff;

    padding:45px;

    border-radius:25px;

    text-align:center;

    box-shadow:0 20px 50px rgba(0,0,0,.08);

    transition:.45s;

}

.legacy-card:hover{

    transform:translateY(-10px);

    box-shadow:0 30px 60px rgba(0,0,0,.14);

}


.legacy-photo{

    width:100%;

    height:220px;

    margin-bottom:25px;

    border-radius:18px;

    overflow:hidden;

}

.legacy-photo img{

    width:100%;

    height:100%;

    object-fit:cover;

    display:block;

}

.legacy-photo-1{

    object-position:center 15%;

}

.legacy-photo-2{

    object-position:center 25%;

}


.legacy-card h3{

    color:#063A63;

    font-size:28px;

    margin-bottom:10px;

}

.legacy-role{

    color:#0F8F73;

    font-weight:600;

    display:block;

    margin-bottom:20px;

}

.legacy-card p{

    color:#666;

    line-height:1.9;

}

.legacy-quote{

    margin-top:80px;

    background:linear-gradient(135deg,#063A63,#0F8F73);

    color:#fff;

    padding:70px;

    border-radius:30px;

    text-align:center;

}

.legacy-quote i{

    font-size:55px;

    color:#D6B35A;

    margin-bottom:25px;

}

.legacy-quote p{

    font-size:22px;

    line-height:2;

    max-width:900px;

    margin:auto;

}

.legacy-quote h4{

    margin-top:35px;

    color:#D6B35A;

    font-size:28px;

    font-family:'Amiri',serif;

}

@media(max-width:991px){

.legacy-grid{

grid-template-columns:1fr;

}

.legacy-quote{

padding:45px 30px;

}

.legacy-quote p{

font-size:18px;

}

}

/*==========================================
HOSPITALITY
==========================================*/

.hospitality-section{

padding:120px 0;

background:#fff;

}

.hospitality-grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:80px;

align-items:center;

}

.hospitality-image img{

width:100%;

border-radius:25px;

box-shadow:0 25px 50px rgba(0,0,0,.12);

transition:.5s;

}

.hospitality-image:hover img{

transform:scale(1.04);

}

.hospitality-content h2{

font-size:48px;

font-family:'Amiri',serif;

color:#063A63;

margin:20px 0;

}

.hospitality-content h3{

font-size:30px;

color:#0F8F73;

margin-bottom:25px;

}

.hospitality-content p{

font-size:18px;

line-height:1.9;

color:#666;

margin-bottom:20px;

}

@media(max-width:991px){

.hospitality-grid{

grid-template-columns:1fr;

}

}

/*==========================================
LOOKING AHEAD
==========================================*/

.future-section{

padding:120px 0;

background:#f8fbfd;

}

.future-box{

max-width:900px;

margin:auto;

text-align:center;

}

.future-box h2{

font-size:54px;

font-family:'Amiri',serif;

color:#063A63;

margin:25px 0;

}

.future-box p{

font-size:19px;

line-height:2;

color:#666;

margin-bottom:25px;

}

/*==========================================
TERMS HERO
==========================================*/

.terms-hero{

height:55vh;

display:flex;

align-items:center;

position:relative;

background:
url("../assets/logistics-bg.baff665e6ded.jpg")
center/cover no-repeat;

}

.terms-overlay{

position:absolute;

inset:0;

background:linear-gradient(
135deg,
rgba(4,26,46,.92),
rgba(6,58,99,.75)
);

}

.terms-hero .container{

position:relative;

z-index:2;

}

/*==========================================
TERMS
==========================================*/

.terms-section{

padding:120px 0;

background:#f8fbfd;

}

.terms-box{

max-width:900px;

margin:auto;

background:#fff;

padding:60px;

border-radius:25px;

box-shadow:0 20px 60px rgba(0,0,0,.08);

}

.terms-box h2{

color:#063A63;

margin:35px 0 15px;

font-size:30px;

}

.terms-box p{

color:#666;

line-height:2;

font-size:17px;

}

@media(max-width:768px){

.terms-box{

padding:35px 25px;

}

}
/*==========================
Clients Hero
==========================*/

/*==========================
Clients Hero
==========================*/

.clients-hero {
    position: relative;
    display: flex;
    align-items: center;
    overflow: hidden;

    /* Same background as Medical page */
    background: linear-gradient(
        135deg,
        var(--dark) 0%,
        var(--primary) 55%,
        #0B4A52 100%
    );

    /* Better section height */
    min-height: auto;
    padding: 120px 0 100px;
}


.clients-overlay{

    position:absolute;

    inset:0;

    /* No dark image overlay needed */
    background:transparent;

}

.clients-hero-content{

    position:relative;

    z-index:5;

    color:#fff;

    max-width:720px;

}

.clients-hero h1{

    font-size:72px;

    line-height:1.1;

    margin:25px 0;

    font-family:'Amiri',serif;

}

.clients-hero h1 span{

    color:#D6B35A;

}

.clients-hero p{

    font-size:20px;

    line-height:1.9;

    max-width:650px;

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

}

/*==========================
About Clients
==========================*/

.clients-about{

    padding:120px 0;

    background:#ffffff;

}

.clients-about-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:80px;

    align-items:center;

}

.clients-about-image{

    position:relative;

}

.clients-about-image img{

    width:100%;

    border-radius:0;

    box-shadow:none;

    transition:.5s;

}

.clients-about-image:hover img{

    transform:scale(1.03);

}

.clients-about-content h2{

    font-size:46px;

    color:#063A63;

    margin:20px 0;

    font-family:'Amiri',serif;

}

.clients-about-content p{

    font-size:18px;

    line-height:1.9;

    color:#666;

}

.client-features{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:20px;

    margin-top:35px;

}

.client-features div{

    display:flex;

    align-items:center;

    gap:12px;

    font-weight:600;

}

.client-features i{

    color:#0F8F73;

}

@media(max-width:991px){

.clients-about-grid{

grid-template-columns:1fr;

}

}

/*==========================
Client Gallery
==========================*/

.client-gallery{

    padding:120px 0;

    background:#f8fbfd;

}

.gallery-filter{

    display:flex;

    justify-content:center;

    flex-wrap:wrap;

    gap:15px;

    margin:50px 0;

}

.gallery-filter button{

    border:none;

    background:#fff;

    padding:14px 28px;

    border-radius:50px;

    cursor:pointer;

    font-weight:600;

    color:#063A63;

    box-shadow:0 8px 20px rgba(0,0,0,.08);

    transition:.4s;

}

.gallery-filter button.active,
.gallery-filter button:hover{

    background:#063A63;

    color:#fff;

}

.gallery-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

    gap:30px;

}

.gallery-item{

    position:relative;

    overflow:hidden;

    border-radius:20px;

    cursor:pointer;

    box-shadow:0 15px 40px rgba(0,0,0,.08);

}

.gallery-item img{

    width:100%;

    height:320px;

    object-fit:cover;

    transition:.6s;

}

.gallery-item::after{

    content:"";

    position:absolute;

    inset:0;

    background:rgba(6,58,99,.35);

    opacity:0;

    transition:.4s;

}

.gallery-item::before{

    content:"\f00e";

    font-family:"Font Awesome 6 Free";

    font-weight:900;

    position:absolute;

    top:50%;

    left:50%;

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

    color:#fff;

    font-size:34px;

    opacity:0;

    z-index:2;

    transition:.4s;

}

.gallery-item:hover img{

    transform:scale(1.08);

}

.gallery-item:hover::after,
.gallery-item:hover::before{

    opacity:1;

}

/*==========================
Client Journey
==========================*/

.client-journey{

    padding:120px 0;

    background:#ffffff;

}

.journey-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

    margin-top:70px;

}

.journey-card{

    background:#fff;

    border-radius:24px;

    padding:40px 30px;

    text-align:center;

    box-shadow:0 15px 40px rgba(0,0,0,.08);

    transition:.4s;

    border-top:5px solid #0F8F73;

}

.journey-card:hover{

    transform:translateY(-10px);

    box-shadow:0 25px 60px rgba(0,0,0,.15);

}
.journey-img{

    width:100%;
    height:220px;
    object-fit:cover;
    border-radius:18px;
    margin-bottom:25px;
    transition:.5s;

}

.journey-card{

    overflow:hidden;

}

.journey-card:hover .journey-img{

    transform:scale(1.08);

}

.journey-card h3{

    color:#063A63;

    margin-bottom:15px;

    font-size:24px;

}

.journey-card p{

    color:#666;

    line-height:1.8;

}

@media(max-width:991px){

.journey-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.journey-grid{

grid-template-columns:1fr;

}

}

/*==================================
CONTACT BANNER
===================================*/
.contact-banner{

    padding:180px 0 100px;

    background:linear-gradient(135deg, #041A2E, #063A63);

    text-align:center;

}

.contact-banner h1{

    font-size:60px;

    color:#fff;

    margin:20px 0;

    font-family:'Amiri',serif;

}

.contact-banner p{

    max-width:700px;

    margin:auto;

    font-size:20px;

    line-height:1.8;

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

}

@media(max-width:768px){

.contact-banner{

padding:150px 20px 80px;

}

.contact-banner h1{

font-size:42px;

}

.contact-banner p{

font-size:17px;

}

}

/*==================================
CONTACT INFORMATION
===================================*/

.contact-info{

    padding:120px 0;

    background:#ffffff;

}

.contact-grid{

    display:grid;

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

    gap:30px;

    margin-top:60px;

}

.contact-card{

    background:#fff;

    border-radius:24px;

    padding:40px 30px;

    text-align:center;

    box-shadow:0 15px 40px rgba(0,0,0,.08);

    transition:.4s;

}

.contact-card:hover{

    transform:translateY(-10px);

    box-shadow:0 25px 60px rgba(0,0,0,.15);

}

.contact-icon{

    width:80px;

    height:80px;

    margin:auto;

    border-radius:50%;

    background:linear-gradient(135deg,#0F8F73,#063A63);

    color:#fff;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:30px;

    margin-bottom:25px;

}

.contact-card h3{

    color:#063A63;

    margin-bottom:15px;

    font-size:24px;

}

.contact-card p{
    color:#666;
    line-height:1.8;
    margin-bottom:18px;
}
.contact-card .contact-address{
    text-align: left;
    display: inline-block;
}

.contact-card p:last-child{
    margin-bottom:0;
}

.contact-card a{

    color:#0F8F73;

    text-decoration:none;

    font-weight:600;

}

.contact-card a:hover{

    color:#063A63;

}

@media(max-width:991px){

.contact-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.contact-grid{

grid-template-columns:1fr;

}

}

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

.contact-section{

    padding:120px 0;

    background:#f8fbfd;

}

.contact-wrapper{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:50px;

    align-items:stretch;

}

.contact-form{

    background:#fff;

    padding:45px;

    border-radius:24px;

    box-shadow:0 20px 50px rgba(0,0,0,.08);

}

.contact-form h2{

    color:#063A63;

    margin:15px 0;

    font-size:38px;

    font-family:'Amiri',serif;

}

.contact-form p{

    color:#666;

    margin-bottom:30px;

    line-height:1.8;

}

.contact-form form{

    display:flex;

    flex-direction:column;

    gap:18px;

}

.contact-form input,
.contact-form textarea{

    width:100%;

    padding:18px;

    border:1px solid #ddd;

    border-radius:12px;

    font-size:16px;

    outline:none;

    transition:.3s;

}

.contact-form input:focus,
.contact-form textarea:focus{

    border-color:#0F8F73;

}

.contact-form textarea{

    resize:vertical;

}

.contact-form button{

    border:none;

    background:#063A63;

    color:#fff;

    padding:18px;

    border-radius:50px;

    font-size:17px;

    cursor:pointer;

    transition:.4s;

}

.contact-form button:hover{

    background:#0F8F73;

}

.contact-map{

    border-radius:24px;

    overflow:hidden;

    box-shadow:0 20px 50px rgba(0,0,0,.08);

}

.contact-map iframe{

    width:100%;

    height:100%;

    min-height:650px;

    border:0;

}

@media(max-width:991px){

.contact-wrapper{

grid-template-columns:1fr;

}

.contact-map iframe{

min-height:450px;

}

}

/*==================================
BUSINESS HOURS
===================================*/

.business-hours{

    padding:120px 0;

    background:#ffffff;

}

.hours-card{

    max-width:850px;

    margin:auto;

    background:#fff;

    border-radius:24px;

    padding:60px;

    text-align:center;

    box-shadow:0 20px 50px rgba(0,0,0,.08);

}

.hours-card h2{

    color:#063A63;

    margin:20px 0 40px;

    font-size:42px;

    font-family:'Amiri',serif;

}

.hours-list{

    display:flex;

    flex-direction:column;

    gap:25px;

}

.hour-item{

    display:flex;

    justify-content:space-between;

    border-bottom:1px solid #eee;

    padding-bottom:18px;

    font-size:18px;

}

.hour-item strong{

    color:#0F8F73;

}

/*==================================
CONTACT CTA
===================================*/

.contact-cta{

    padding:120px 20px;

    background:linear-gradient(135deg,#063A63,#0F8F73);

    text-align:center;

    color:#fff;

}

.contact-cta h2{

    font-size:52px;

    font-family:'Amiri',serif;

    margin-bottom:20px;

}

.contact-cta p{

    max-width:700px;

    margin:0 auto 40px;

    font-size:19px;

    line-height:1.8;

}

.cta-buttons{

    display:flex;

    justify-content:center;

    gap:20px;

    flex-wrap:wrap;

}

@media(max-width:768px){

.hours-card{

padding:35px 25px;

}

.hour-item{

flex-direction:column;

gap:10px;

}

.contact-cta h2{

font-size:38px;

}

}

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

.footer{

    background:#063A63;

    color:#fff;

    padding:80px 0 30px;

}

.footer-grid{

    display:grid;

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

    gap:50px;

}

.footer-logo{

    width:220px;

    margin-bottom:20px;

}

.footer-column p{

    color:#d8d8d8;

    line-height:1.8;

    margin-bottom:14px;

}

.footer-column h3{

    color:#D6B35A;

    margin-bottom:20px;

    font-size:24px;

    line-height:1.3;

    min-height:32px;

}

.footer-column ul{

    list-style:none;

    padding:0;

}

.footer-column ul li{

    margin-bottom:12px;

}

.footer-column ul li a{

    color:#d8d8d8;

    text-decoration:none;

    transition:.3s;

}

.footer-column ul li a:hover{

    color:#D6B35A;

}

.footer-column a{

    color:#d8d8d8;

    text-decoration:none;

}

.footer-column a:hover{

    color:#D6B35A;

}

.footer-social{

    margin-top:25px;

    display:flex;

    gap:15px;

}

.footer-social a{

    width:45px;

    height:45px;

    border-radius:50%;

    background:#0F8F73;

    display:flex;

    align-items:center;

    justify-content:center;

    color:#fff;

    transition:.4s;

}

.footer-social a:hover{

    background:#D6B35A;

    transform:translateY(-5px);

}

.footer hr{

    margin:50px 0 30px;

    border:none;

    border-top:1px solid rgba(255,255,255,.15);

}

.footer-bottom{

    display:flex;

    justify-content:space-between;

    align-items:center;

    flex-wrap:wrap;

    gap:20px;

}

.footer-bottom a{

    color:#d8d8d8;

    text-decoration:none;

}

.footer-bottom a:hover{

    color:#D6B35A;

}

@media(max-width:991px){

.footer-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.footer-grid{

grid-template-columns:1fr;

text-align:center;

}

.footer-logo{

margin:auto auto 20px;

}

.footer-social{

justify-content:center;

}

.footer-bottom{

flex-direction:column;

text-align:center;

}

}

/*==================================
LOADER
===================================*/

#loader{

    position:fixed;

    inset:0;

    background:#ffffff;

    z-index:99999;

    display:flex;

    justify-content:center;

    align-items:center;

    transition:opacity .7s ease, visibility .7s ease;

}
/* ==========================
   PAGE TRANSITION STATE
========================== */

#loader.page-exit {
    opacity: 1;
    visibility: visible;
}

.loader-content{

    text-align:center;

}

.loader-logo{

    width:260px;

    margin-bottom:25px;

    animation:logoFloat 2s ease-in-out infinite;

}

.loader-content h2{

    color:#063A63;

    font-size:34px;

    margin-bottom:10px;

    font-family:'Amiri',serif;

}

.loader-content p{

    color:#666;

    margin-bottom:35px;

    font-size:17px;

}

.loader-bar{

    width:320px;

    height:8px;

    margin:auto;

    background:#e8e8e8;

    border-radius:50px;

    overflow:hidden;

}

.loader-progress{

    width:0;

    height:100%;

    border-radius:50px;

    background:linear-gradient(90deg,#0F8F73,#063A63,#D6B35A);

    animation:loading 2.2s linear forwards;

}

@keyframes loading{

    from{

        width:0;

    }

    to{

        width:100%;

    }

}

@keyframes logoFloat{

    0%,100%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-10px);

    }

}

/* TEST ONLY */
.service-card.reveal {
    opacity: 1 !important;
    transform: none !important;
    visibility: visible !important;
}

/* =========================================================
   LOGISTICS PAGE
   ========================================================= */

/* ---------- PAGE HEADER ---------- */

.logistics-page-header{
    position: relative;
    min-height: 450px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.page-header-bg{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;
    z-index: 1;
}

.page-header-overlay{
    position: absolute;
    inset: 0;

    background: rgba(4, 26, 46, 0.65);
    z-index: 2;
}

.page-header-content{
    position: relative;
    z-index: 3;
    color: #fff;
    text-align: center;
}

.logistics-page-header::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(
            circle at 20% 30%,
            rgba(214, 179, 90, 0.10),
            transparent 35%
        ),
        radial-gradient(
            circle at 80% 70%,
            rgba(15, 143, 115, 0.12),
            transparent 40%
        );
    pointer-events: none;
}

.logistics-page-header .page-header-content {
    position: relative;
    z-index: 2;
}

.logistics-page-header h1 {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}


/* ---------- MAIN LOGISTICS SECTION ---------- */

.logistics-section {
    padding: 110px 0;
    background: #f8fbfd;
}

.logistics-section .section-heading {
    max-width: 850px;
    margin: 0 auto 55px;
    text-align: center;
}

.logistics-section .section-heading h2 {
    margin-top: 14px;
}

.logistics-section .section-heading p {
    margin-top: 18px;
    color: #66727d;
    line-height: 1.8;
}


/* ---------- INTRODUCTION ---------- */

.logistics-introduction {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 40px;
    margin-bottom: 100px;
}
.logistics-introduction-content {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
}
.logistics-introduction-content h3 {
    margin: 0 0 20px;
    color: #063a63;
    font-size: 34px;
    line-height: 1.25;
}

.logistics-introduction-content p {
    margin: 0 auto 18px;
    max-width: 650px;
    color: #596570;
    font-size: 17px;
    line-height: 1.9;
}

.logistics-introduction-content p:last-child {
    margin-bottom: 0;
}


/* ---------- EXPERIENCE CARD ---------- */

.logistics-experience {
    padding: 42px 28px;
    border-radius: 24px;
    text-align: center;
    color: #ffffff;
    background:
        linear-gradient(
            135deg,
            #063a63,
            #0f8f73
        );
    box-shadow:
        0 20px 50px rgba(6, 58, 99, 0.18);
    max-width: 300px;
    width: 100%;
    margin: 0 auto;
}

.logistics-experience-icon {
    width: 72px;
    height: 72px;
    margin: 0 auto 22px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.12);
    color: #d6b35a;
    font-size: 30px;
}

.logistics-experience strong {
    display: block;
    margin-bottom: 10px;
    font-size: 56px;
    line-height: 1;
    font-weight: 700;
}

.logistics-experience span {
    display: block;
    color: rgba(255, 255, 255, 0.90);
    font-size: 16px;
}


/* ---------- SERVICES GRID ---------- */

.logistics-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px;
    margin-top: 50px;
}


/* ---------- SERVICE CARD ---------- */

.logistics-card {
    overflow: hidden;
    background: #ffffff;
    border-radius: 22px;
    box-shadow:
        0 15px 40px rgba(0, 0, 0, 0.07);
    border: 1px solid rgba(6, 58, 99, 0.06);
    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease;
}

.logistics-card:hover {
    transform: translateY(-8px);
    box-shadow:
        0 25px 55px rgba(0, 0, 0, 0.13);
}

.logistics-card img {
    display: block;
    width: 100%;
    height: 240px;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.logistics-card:hover img {
    transform: scale(1.04);
}

.logistics-card-content {
    padding: 28px;
}

.logistics-card-content h3 {
    margin: 0 0 14px;
    color: #063a63;
    font-size: 22px;
    line-height: 1.35;
}

.logistics-card-content p {
    margin: 0;
    color: #66727d;
    font-size: 16px;
    line-height: 1.8;
}


/* ---------- TRUST SECTION ---------- */

.logistics-trust {
    display: grid;
    grid-template-columns: 90px minmax(0, 1fr);
    gap: 30px;
    align-items: center;

    margin-top: 90px;
    padding: 50px;

    background: #ffffff;
    border: 1px solid rgba(6, 58, 99, 0.08);
    border-radius: 24px;

    box-shadow:
        0 15px 40px rgba(0, 0, 0, 0.06);
}

.logistics-trust-icon {
    width: 80px;
    height: 80px;

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

    border-radius: 50%;

    background: #063a63;
    color: #d6b35a;

    font-size: 32px;
}

.logistics-trust-content h2 {
    margin: 14px 0 16px;
    color: #063a63;
    font-size: 36px;
    line-height: 1.25;
}

.logistics-trust-content p {
    margin: 0;
    max-width: 900px;
    color: #66727d;
    font-size: 17px;
    line-height: 1.85;
}


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

@media (max-width: 1100px) {

    .logistics-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .logistics-introduction {
        grid-template-columns: minmax(0, 1fr) 260px;
        gap: 40px;
    }

}


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

@media (max-width: 768px) {

    .logistics-section {
        padding: 80px 0;
    }

    .logistics-section .section-heading {
        margin-bottom: 40px;
    }

    .logistics-introduction {
        grid-template-columns: 1fr;
        gap: 35px;
        margin-bottom: 70px;
    }

    .logistics-introduction-content h3 {
        font-size: 28px;
    }

    .logistics-introduction-content p {
        font-size: 16px;
        line-height: 1.8;
    }

    .logistics-experience {
        max-width: 360px;
        width: 100%;
        margin: 0 auto;
    }

    .logistics-grid {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .logistics-card img {
        height: 220px;
    }

    .logistics-card-content {
        padding: 24px;
    }

    .logistics-card-content h3 {
        font-size: 21px;
    }

    .logistics-card-content p {
        font-size: 15.5px;
    }

    .logistics-trust {
        grid-template-columns: 1fr;
        gap: 25px;
        margin-top: 65px;
        padding: 35px 25px;
        text-align: center;
    }

    .logistics-trust-icon {
        margin: 0 auto;
    }

    .logistics-trust-content h2 {
        font-size: 29px;
    }

    .logistics-trust-content p {
        font-size: 16px;
        line-height: 1.8;
    }

}


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

@media (max-width: 480px) {

    .logistics-section {
        padding: 65px 0;
    }

    .logistics-card img {
        height: 200px;
    }

    .logistics-experience {
        padding: 35px 22px;
    }

    .logistics-experience strong {
        font-size: 48px;
    }

    .logistics-trust {
        padding: 30px 20px;
    }

    .logistics-trust-content h2 {
        font-size: 26px;
    }

}

/*==================================================
  MEDICAL SECTION — CINEMATIC FILL LOADER
  "لَا تَحْزَنْ إِنَّ اللَّهَ مَعَنَا"
==================================================*/

.medical-page #medicalLoader.medical-loader{

    position:fixed;
    inset:0;
    z-index:99999;
    background:#000;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:opacity .9s ease;

}

.medical-page #medicalLoader.medical-loader.ml-done{

    opacity:0;
    pointer-events:none;

}

.ml-wrap{

    position:relative;
    display:inline-block;
    padding-bottom:34px;

}

.ml-arabic{

    position:relative;
    display:inline-block;
    margin:0;
    font-family:'Amiri', sans-serif;
    font-weight:900;
    font-size:clamp(30px,6vw,72px);
    line-height:1.4;
    letter-spacing:0;
    color:#242424;

}

.ml-arabic::after{

    content:attr(data-text);
    position:absolute;
    inset:0;
    color:#ffffff;
    clip-path:inset(calc(100% - (var(--ml-fill,0) * 1%)) 0 0 0);
    will-change:clip-path;

}

.ml-percent{

    position:absolute;
    right:0;
    bottom:0;
    font-family:'Cairo', sans-serif;
    font-weight:400;
    font-size:14px;
    letter-spacing:.5px;
    color:#7a7a7a;
    text-transform:lowercase;

}

.ml-percent-num{

    color:#ffffff;
    font-weight:600;

}

@media (max-width:480px){

    .ml-percent{ font-size:12px; }

}


/*==================================================
  TOURISM SECTION — "MAKES Ü HAPPY" FILL LOADER
==================================================*/
.tourism-page #tourismLoader.tourism-loader{

    position:fixed;
    inset:0;
    z-index:99999;
    background:linear-gradient(135deg, #17171b 0%, #232228 55%, #1c1c20 100%);
    display:flex;
    align-items:center;
    justify-content:center;
    transition:opacity .9s ease;

}


.tourism-page #tourismLoader.tourism-loader.tl-done{

    opacity:0;
    pointer-events:none;

}

.tl-wrap{

    position:relative;
    display:inline-block;
    padding-bottom:34px;

}

.tl-row{

    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    padding:0 20px;

}

.tl-line{

    flex:1 1 60px;
    max-width:120px;
    height:2px;
    background:#f4c41a;

}

.tl-logo{

    position:relative;
    display:inline-block;
    margin:0;
    font-family:'Poppins', sans-serif;
    font-weight:600;
    font-size:clamp(28px,6vw,64px);
    letter-spacing:0.5px;
    white-space:nowrap;

}

.tl-logo .tl-u{

    font-weight:800;
    font-size:1.05em;
    margin:0 2px;
    display:inline-block;

}

.tl-base{

    color:#3a3a3a;

}

.tl-base .tl-u{

    color:#7a5c12;

}

.tl-fill{

    position:absolute;
    inset:0;
    color:#ffffff;
    clip-path:inset(calc(100% - (var(--tl-fill,0) * 1%)) 0 0 0);
    will-change:clip-path;

}

.tl-fill .tl-u{

    color:#f4c41a;

}

.tl-percent{

    position:absolute;
    right:0;
    bottom:0;
    font-family:'Cairo', sans-serif;
    font-weight:400;
    font-size:14px;
    letter-spacing:.5px;
    color:#7a7a7a;
    text-transform:lowercase;

}

.tl-percent-num{

    color:#ffffff;
    font-weight:600;

}

@media (max-width:480px){

    .tl-logo{ font-size:26px; }
    .tl-line{ max-width:40px; }
    .tl-percent{ font-size:12px; }

}



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

@media (max-width: 1100px) {

    .logistics-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .logistics-introduction {
        grid-template-columns: minmax(0, 1fr) 260px;
        gap: 40px;
    }

}


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

@media (max-width: 768px) {

    .logistics-section {
        padding: 80px 0;
    }

    .logistics-section .section-heading {
        margin-bottom: 40px;
    }

    .logistics-introduction {
        grid-template-columns: 1fr;
        gap: 35px;
        margin-bottom: 70px;
    }

    .logistics-introduction-content h3 {
        font-size: 28px;
    }

    .logistics-introduction-content p {
        font-size: 16px;
        line-height: 1.8;
    }

    .logistics-experience {
        max-width: 360px;
        width: 100%;
        margin: 0 auto;
    }

    .logistics-grid {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .logistics-card img {
        height: 220px;
    }

    .logistics-card-content {
        padding: 24px;
    }

    .logistics-card-content h3 {
        font-size: 21px;
    }

    .logistics-card-content p {
        font-size: 15.5px;
    }

    .logistics-trust {
        grid-template-columns: 1fr;
        gap: 25px;
        margin-top: 65px;
        padding: 35px 25px;
        text-align: center;
    }

    .logistics-trust-icon {
        margin: 0 auto;
    }

    .logistics-trust-content h2 {
        font-size: 29px;
    }

    .logistics-trust-content p {
        font-size: 16px;
        line-height: 1.8;
    }

}


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

@media (max-width: 480px) {

    .logistics-section {
        padding: 65px 0;
    }

    .logistics-card img {
        height: 200px;
    }

    .logistics-experience {
        padding: 35px 22px;
    }

    .logistics-experience strong {
        font-size: 48px;
    }

    .logistics-trust {
        padding: 30px 20px;
    }

    .logistics-trust-content h2 {
        font-size: 26px;
    }

}

body.arabic .hero-background{

    background-position:25% center;

}

/*==========================================
NEON TAGLINE — Tourism Hero (main statement)
==========================================*/
.hero-neon-wrap{

    position:absolute;

    top:50%;

    right:5%;

    left:auto;

    transform:translateY(-50%);

    z-index:3;

    max-width:400px;

    text-align:right;

    padding:0 20px;

}

.hero-neon-text{

    display:block;

    font-family:'Poppins', sans-serif;

    font-weight:600;

    font-size:64px;

    letter-spacing:.5px;

    color:#ffffff;

    text-shadow:none;

}

.hero-neon-u{

    color:#f4c41a;

    font-weight:800;

    font-size:1.05em;

}



.hero-neon-caption{

    display:block;

    margin-top:8px;

    font-family:'Work Sans', sans-serif;

    font-size:12px;

    font-weight:500;

    letter-spacing:3px;

    text-transform:uppercase;

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

}

@keyframes neonGlowPulse{

    0%,100%{

        text-shadow:
            0 0 6px rgba(255,217,138,.85),
            0 0 16px rgba(214,179,90,.75),
            0 0 34px rgba(214,179,90,.55),
            0 0 60px rgba(214,179,90,.35);

    }

    50%{

        text-shadow:
            0 0 10px rgba(255,217,138,1),
            0 0 24px rgba(214,179,90,.9),
            0 0 46px rgba(214,179,90,.7),
            0 0 80px rgba(214,179,90,.5);

    }

}

@keyframes neonCursorBlink{

    0%,50%{

        opacity:1;

    }

    51%,100%{

        opacity:0;

    }

}
@media(max-width:991px){

    .hero-neon-wrap{

        top:auto;

        bottom:6%;

        right:50%;

        left:auto;

        transform:translateX(50%);

        text-align:center;

        max-width:85%;

    }

    .hero-neon-text{

        font-size:44px;

    }

    .hero-neon-cursor{

        font-size:44px;

    }

    .hero-neon-caption{

        font-size:11px;

        letter-spacing:2px;

    }

}

@media(max-width:480px){

    .hero-neon-wrap{

        bottom:4%;

    }

    .hero-neon-text{

        font-size:32px;

    }

    .hero-neon-cursor{

        font-size:32px;

    }

    .hero-neon-caption{

        font-size:10px;

        letter-spacing:1.5px;

    }

}

    .hero-neon-caption{

        font-size:10px;

        letter-spacing:1.5px;

    }

@media (max-width:768px){
 
     .hero-neon-wrap{
        position: static;   /* was absolute — this is what caused the overlap */
        top: auto;
        bottom: auto;
        right: auto;
        left: auto;
        transform: none;
        max-width: 100%;
        text-align: center;
        margin: 24px 0;
        padding: 0 20px;
    }
    .about-hero,
    .about-hero.hero-elegant{
        height:auto;
        min-height:auto;
        padding:140px 0 60px;   /* pushes content below the fixed navbar */
        align-items:flex-start;
    }

    .about-hero h1{
        font-size:34px;
    }

    .about-hero p{
        font-size:16px;
    }

    .clients-hero{
        min-height:auto;
        padding:140px 0 60px;
        align-items:flex-start;
    }

    .clients-hero h1{
        font-size:38px;
    }

    .clients-hero p{
        font-size:16px;
    }

}

/*==========================================
OUR TEAM
==========================================*/

.our-team-section{

    padding:120px 0;

    background:#F7F9FA;

}

.team-grid{

    display:grid;

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

    gap:30px;

    margin-top:70px;

}

.team-card{

    background:#fff;

    border-radius:20px;

    padding:20px;

    text-align:center;

    box-shadow:0 15px 35px rgba(0,0,0,.06);

    transition:.4s;

}

.team-card:hover{

    transform:translateY(-8px);

    box-shadow:0 20px 45px rgba(0,0,0,.12);

}

.team-image{

    width:100%;

    aspect-ratio:1/1;

    border-radius:16px;

    overflow:hidden;

    margin-bottom:18px;

}

.team-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    object-position: top center;

    display:block;

}

.team-card h4{

    color:#063A63;

    font-size:18px;

    margin-bottom:6px;

}

.team-role{

    display:block;

    color:#0F8F73;

    font-size:13px;

    font-weight:600;

    text-transform:uppercase;

    letter-spacing:1px;

}

@media(max-width:991px){

    .team-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:480px){

    .team-grid{

        grid-template-columns:1fr;

    }
}

/* =========================================================
   KHAIR ALLAH — CINEMATIC HERO
   Phase 7 / Step 52
   ========================================================= */

/* ---------------------------------------------------------
   HERO FOUNDATION
   --------------------------------------------------------- */

.hero {
    position: relative;
    isolation: isolate;
    min-height: 100vh;
    min-height: 100svh;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    display: flex;
    align-items: center;
    background: #050b12;
}

/* ---------------------------------------------------------
   CINEMATIC BACKGROUND
   --------------------------------------------------------- */

.hero-background {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: -5;
    overflow: hidden;
    background: #050b12;
}

.hero-background-image {
    position: absolute;
    inset: -6%;
    background-image:
        linear-gradient(
            90deg,
            rgba(3, 9, 15, 0.96) 0%,
            rgba(3, 9, 15, 0.78) 30%,
            rgba(3, 9, 15, 0.45) 58%,
            rgba(3, 9, 15, 0.72) 100%
        ),
        url("../assets/jj.1b71df7162c1.webp");
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;

    transform: scale(1.08);
    animation: cinematicHeroZoom 24s ease-in-out infinite alternate;

    will-change: transform;
}

/*
   If your existing hero image has a different filename,
   keep your original background image URL instead of
   hero-main.jpg.
*/

@keyframes cinematicHeroZoom {

    0% {
        transform: scale(1.08);
    }

    100% {
        transform: scale(1.16);
    }

}


/* ---------------------------------------------------------
   BACKGROUND GLOW
   --------------------------------------------------------- */

.hero-background-glow {
    position: absolute;
    width: 55vw;
    height: 55vw;
    max-width: 850px;
    max-height: 850px;

    right: -18%;
    top: 8%;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(201, 163, 74, 0.14) 0%,
            rgba(201, 163, 74, 0.06) 30%,
            transparent 70%
        );

    filter: blur(10px);

    animation: heroGlowMovement 14s ease-in-out infinite alternate;

    pointer-events: none;
}

@keyframes heroGlowMovement {

    0% {
        transform: translate3d(0, 0, 0) scale(1);
        opacity: 0.55;
    }

    100% {
        transform: translate3d(-40px, 25px, 0) scale(1.08);
        opacity: 0.9;
    }

}


/* ---------------------------------------------------------
   VIGNETTE
   --------------------------------------------------------- */

.hero-background-vignette {
    position: absolute;
    inset: 0;

    background:
        radial-gradient(
            ellipse at center,
            transparent 25%,
            rgba(0, 0, 0, 0.22) 58%,
            rgba(0, 0, 0, 0.72) 100%
        );

    pointer-events: none;
}


/* ---------------------------------------------------------
   HERO OVERLAY
   --------------------------------------------------------- */

.hero-overlay {
    position: absolute;
    inset: 0;
    z-index: -4;

    background:
        linear-gradient(
            180deg,
            rgba(3, 9, 15, 0.68) 0%,
            rgba(3, 9, 15, 0.25) 28%,
            rgba(3, 9, 15, 0.18) 55%,
            rgba(3, 9, 15, 0.88) 100%
        );

    pointer-events: none;
}


/* ---------------------------------------------------------
   CINEMATIC LIGHT
   --------------------------------------------------------- */

.hero-light {
    position: absolute;
    z-index: -2;

    width: 320px;
    height: 320px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(201, 163, 74, 0.12) 0%,
            rgba(201, 163, 74, 0.035) 38%,
            transparent 72%
        );

    filter: blur(4px);

    pointer-events: none;
}

.hero-light-one {
    top: 12%;
    right: 12%;

    animation:
        heroLightFloatOne
        11s
        ease-in-out
        infinite
        alternate;
}

.hero-light-two {
    bottom: 10%;
    left: 28%;

    opacity: 0.45;

    animation:
        heroLightFloatTwo
        15s
        ease-in-out
        infinite
        alternate;
}

@keyframes heroLightFloatOne {

    0% {
        transform: translate3d(0, 0, 0);
    }

    100% {
        transform: translate3d(-35px, 30px, 0);
    }

}

@keyframes heroLightFloatTwo {

    0% {
        transform: translate3d(0, 0, 0);
    }

    100% {
        transform: translate3d(45px, -25px, 0);
    }

}


/* ---------------------------------------------------------
   HERO CONTAINER
   --------------------------------------------------------- */

.hero-container {
    position: relative;
    z-index: 2;

    width: 100%;

    padding-top: 120px;
    padding-bottom: 80px;
}


/* ---------------------------------------------------------
   HERO CONTENT
   --------------------------------------------------------- */

.hero-content {
    position: relative;
    z-index: 3;

    max-width: 850px;
}


/* ---------------------------------------------------------
   LOCATION BADGE
   --------------------------------------------------------- */

.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    margin-bottom: 24px;
    padding: 9px 16px;

    border: 1px solid rgba(201, 163, 74, 0.35);
    border-radius: 999px;

    background: rgba(5, 12, 20, 0.42);

    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);

    color: rgba(255, 255, 255, 0.88);

    font-size: 0.78rem;
    font-weight: 600;

    letter-spacing: 0.16em;
    text-transform: uppercase;

    box-shadow:
        0 8px 30px rgba(0, 0, 0, 0.16),
        inset 0 0 20px rgba(255, 255, 255, 0.025);
}

.hero-badge i {
    color: #c9a34a;
    font-size: 0.9rem;
}


/* ---------------------------------------------------------
   HEADING
   --------------------------------------------------------- */

.cinematic-heading {
    position: relative;

    margin: 0;
    padding: 0;

    font-weight: 600;
    line-height: 0.98;
    letter-spacing: -0.025em;
}

.hero-heading-line {
    display: block;
    overflow: hidden;
}

.hero-heading-line > span {
    display: inline-block;
}

.hero-heading-brand {
    position: relative;

    margin-left: 10px;

    color: #FEF110;

    text-shadow:
        0 0 30px rgba(254, 241, 16, 0.16);
}

.hero-heading-brand::after {
    content: "";

    position: absolute;

    left: 0;
    right: 0;
    bottom: -7px;

    height: 2px;

    background:
        linear-gradient(
            90deg,
            transparent,
            #FEF110,
            transparent
        );

    opacity: 0.65;
}


/* ---------------------------------------------------------
   DIVIDER
   --------------------------------------------------------- */

.hero-divider {
    width: 120px;
    height: 1px;

    margin: 12px 0 16px;

    overflow: hidden;

    background: rgba(255, 255, 255, 0.12);
}

.hero-divider span {
    display: block;

    width: 100%;
    height: 100%;

    background:
        linear-gradient(
            90deg,
            transparent,
            #FEF110,
            transparent
        );

    transform: translateX(-100%);
    animation: heroDividerReveal 2s ease forwards;
    animation-delay: 1.25s;
}

@keyframes heroDividerReveal {

    to {
        transform: translateX(100%);
    }

}


/* ---------------------------------------------------------
   DESCRIPTION
   --------------------------------------------------------- */

.hero-description {
    max-width: 720px;
    margin: 0 auto;
    color: rgba(255, 255, 255, 0.76);
    font-size: 1.05rem;
    line-height: 1.85;
    text-align: justify;
    text-wrap: wrap;
    hyphens: auto;
}
.hero-description strong {
    color: #ffffff;
    font-weight: 700;
}


/* ---------------------------------------------------------
   BUTTONS
   --------------------------------------------------------- */

.hero-buttons {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;

    margin-top: 34px;
}

.hero-cta {
    position: relative;

    overflow: hidden;

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

.hero-cta::before {
    content: "";

    position: absolute;

    top: 0;
    bottom: 0;
    left: -120%;

    width: 80%;

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

    transform: skewX(-20deg);

    transition: left 0.65s ease;

    pointer-events: none;
}

.hero-cta:hover::before {
    left: 140%;
}

.hero-cta:hover {
    transform: translateY(-3px);
}


/* ---------------------------------------------------------
   STATISTICS
   --------------------------------------------------------- */

.hero-stats {
    display: grid;

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

    gap: 14px;

    max-width: 760px;

    margin-top: 46px;
}

.hero-stat-card {
    position: relative;

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

    min-height: 92px;

    padding: 18px 20px;

    border: 1px solid rgba(255, 255, 255, 0.09);

    background:
        linear-gradient(
            135deg,
            rgba(255, 255, 255, 0.075),
            rgba(255, 255, 255, 0.025)
        );

    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);

    box-shadow:
        0 15px 40px rgba(0, 0, 0, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);

    transition:
        transform 0.35s ease,
        border-color 0.35s ease,
        background 0.35s ease;
}

.hero-stat-card:hover {
    transform: translateY(-5px);

    border-color: rgba(201, 163, 74, 0.35);

    background:
        linear-gradient(
            135deg,
            rgba(201, 163, 74, 0.10),
            rgba(255, 255, 255, 0.035)
        );
}

.hero-stat-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 42px;

    width: 42px;
    height: 42px;

    border: 1px solid rgba(201, 163, 74, 0.24);
    border-radius: 50%;

    background: rgba(201, 163, 74, 0.07);

    color: #c9a34a;
}

.hero-stat-icon i {
    font-size: 0.95rem;
}

.hero-stat-content h2 {
    margin: 0 0 3px;

    color: #ffffff;

    font-size: 1.45rem;
    line-height: 1;
}

.hero-stat-content p {
    margin: 0;

    color: rgba(255, 255, 255, 0.58);

    font-size: 0.75rem;
    line-height: 1.35;
}


/* ---------------------------------------------------------
   SCROLL INDICATOR
   --------------------------------------------------------- */

.hero-scroll-indicator {
    position: absolute;

    z-index: 5;

    right: 34px;
    bottom: 32px;

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

    writing-mode: vertical-rl;

    color: rgba(255, 255, 255, 0.52);

    font-size: 0.62rem;
    font-weight: 600;

    letter-spacing: 0.2em;
}

.hero-scroll-line {
    position: relative;

    width: 1px;
    height: 54px;

    overflow: hidden;

    background: rgba(255, 255, 255, 0.18);
}

.hero-scroll-line::after {
    content: "";

    position: absolute;

    top: -100%;
    left: 0;

    width: 100%;
    height: 50%;

    background: #c9a34a;

    animation:
        heroScrollLine
        2s
        ease-in-out
        infinite;
}

@keyframes heroScrollLine {

    0% {
        top: -60%;
    }

    50% {
        top: 60%;
    }

    100% {
        top: 120%;
    }

}


/* ---------------------------------------------------------
   REVEAL SYSTEM
   --------------------------------------------------------- */

.hero-reveal {
    opacity: 0;

    transform:
        translate3d(0, 30px, 0);

    will-change:
        opacity,
        transform;

    animation:
        heroRevealUp
        1s
        cubic-bezier(0.22, 1, 0.36, 1)
        forwards;
}

.hero-reveal-1 {
    animation-delay: 0.15s;
}

.hero-reveal-2 {
    animation-delay: 0.30s;
}

.hero-reveal-3 {
    animation-delay: 0.58s;
}

.hero-reveal-4 {
    animation-delay: 0.70s;
}

.hero-reveal-5 {
    animation-delay: 0.88s;
}

.hero-reveal-6 {
    animation-delay: 1.08s;
}

.hero-reveal-7 {
    animation-delay: 1.35s;
}

@keyframes heroRevealUp {

    to {
        opacity: 1;
        transform:
            translate3d(0, 0, 0);
    }

}


/* ---------------------------------------------------------
   HEADING LINE REVEAL
   --------------------------------------------------------- */

.cinematic-heading .hero-heading-line {
    opacity: 0;

    transform:
        translate3d(0, 105%, 0);

    animation:
        heroHeadingLineReveal
        1.15s
        cubic-bezier(0.16, 1, 0.3, 1)
        forwards;
}

.cinematic-heading .hero-heading-line:nth-child(1) {
    animation-delay: 0.42s;
}

.cinematic-heading .hero-heading-line:nth-child(2) {
    animation-delay: 0.56s;
}

.cinematic-heading .hero-heading-line:nth-child(3) {
    animation-delay: 0.70s;
}

@keyframes heroHeadingLineReveal {

    to {
        opacity: 1;

        transform:
            translate3d(0, 0, 0);
    }

}


/* ---------------------------------------------------------
   ARABIC / RTL
   --------------------------------------------------------- */

html[dir="rtl"] .hero {
    text-align: right;
}

html[dir="rtl"] .hero-content {
    margin-left: auto;
    margin-right: 0;
}

html[dir="rtl"] .hero-heading-brand {
    margin-left: 0;
    margin-right: 10px;
}

html[dir="rtl"] .hero-divider {
    margin-right: 0;
    margin-left: auto;
}

html[dir="rtl"] .hero-buttons {
    justify-content: flex-start;
}

html[dir="rtl"] .hero-stat-card {
    flex-direction: row-reverse;
}

html[dir="rtl"] .hero-scroll-indicator {
    right: auto;
    left: 34px;
}

html[dir="rtl"] .hero-background-image {
    background-position: center center;
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 992px) {

    .hero-container {
        padding-top: 110px;
        padding-bottom: 90px;
    }

    .hero-content {
        max-width: 760px;
    }

    .hero-background-image {
        background-position: 50% center;
    }

    .hero-stats {
        max-width: 100%;
    }

    .hero-scroll-indicator {
        right: 20px;
        bottom: 24px;
    }

    html[dir="rtl"] .hero-scroll-indicator {
        right: auto;
        left: 20px;
    }

}


@media (max-width: 768px) {

    .hero {
        min-height: 100svh;
    }

    .hero-container {
        display: flex;
        align-items: center;

        min-height: 100svh;

        padding-top: 105px;
        padding-bottom: 80px;
    }

    .hero-content {
        width: 100%;
        max-width: 100%;
    }

    .hero-background-image {
        inset: 0;

        background-image:
            linear-gradient(
                90deg,
                rgba(3, 9, 15, 0.96) 0%,
                rgba(3, 9, 15, 0.78) 30%,
                rgba(3, 9, 15, 0.45) 58%,
                rgba(3, 9, 15, 0.72) 100%
            ),
            url("../assets/jj.1b71df7162c1.webp");
        background-size: 100% 100%, cover;
        background-position: center center, center 25%;
        background-repeat: no-repeat;
        background-color: #050b12;

        transform: none;
        animation: none;
    }
    .hero-background-glow {
        width: 90vw;
        height: 90vw;

        right: -40%;
        top: 12%;
    }
        .hero-overlay {
        background: linear-gradient(
            180deg,
            rgba(3, 9, 15, 0.55) 0px,
            rgba(3, 9, 15, 0.15) 300px,
            rgba(3, 9, 15, 0.12) 650px,
            rgba(3, 9, 15, 0.85) 100%
        );
    }

    .hero-background-vignette {
        background: radial-gradient(
            ellipse at center,
            transparent 35%,
            rgba(0, 0, 0, 0.12) 70%,
            rgba(0, 0, 0, 0.55) 100%
        );
    }

    .hero-badge {
        margin-bottom: 20px;

        padding: 8px 13px;

        font-size: 0.68rem;
        letter-spacing: 0.11em;
    }

    .cinematic-heading {
        font-size: clamp(
            2.35rem,
            9vw,
            4rem
        );

        line-height: 1.02;
    }

    .hero-heading-brand {
        margin-left: 6px;
    }

    .hero-description {
        max-width: 100%;

        font-size: 0.95rem;
        line-height: 1.7;
    }

    .hero-buttons {
        flex-direction: column;
        align-items: stretch;

        width: 100%;

        margin-top: 28px;
    }

    .hero-cta {
        justify-content: center;

        width: 100%;
    }

    .hero-stats {
        grid-template-columns: 1fr;

        gap: 10px;

        margin-top: 32px;
    }

    .hero-stat-card {
        min-height: 76px;

        padding: 14px 16px;
    }

    .hero-stat-icon {
        flex-basis: 38px;

        width: 38px;
        height: 38px;
    }

    .hero-stat-content h2 {
        font-size: 1.25rem;
    }

    .hero-stat-content p {
        font-size: 0.7rem;
    }

    .hero-scroll-indicator {
        display: none;
    }

}


@media (max-width: 480px) {

    .hero-container {
        padding-top: 96px;
        padding-bottom: 45px;
    }

    .hero-badge {
        font-size: 0.62rem;
    }

    .cinematic-heading {
        font-size: clamp(
            2.05rem,
            10.5vw,
            3rem
        );
    }

    .hero-description {
        font-size: 0.9rem;
    }

    .hero-stat-card {
        min-height: 70px;
    }

}


/* ---------------------------------------------------------
   MOBILE RTL
   --------------------------------------------------------- */

@media (max-width: 768px) {

    html[dir="rtl"] .hero-content {
        text-align: right;
    }

    html[dir="rtl"] .hero-buttons {
        align-items: stretch;
    }

    html[dir="rtl"] .hero-heading-brand {
        margin-right: 6px;
        margin-left: 0;
    }

}


/* ---------------------------------------------------------
   REDUCED MOTION
   --------------------------------------------------------- */

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

    .hero-background-image,
    .hero-background-glow,
    .hero-light,
    .hero-scroll-line::after,
    .hero-divider span,
    .hero-reveal,
    .cinematic-heading .hero-heading-line {

        animation: none !important;

        transition: none !important;

    }

    .hero-background-image {
        transform: scale(1.08);
    }

    .hero-reveal,
    .cinematic-heading .hero-heading-line {

        opacity: 1;

        transform: none;
    }

}

/* ==========================
   SMOOTH PAGE TRANSITIONS
========================== */

.page-transition {

    position: fixed;

    inset: 0;

    z-index: 99999;

    background: var(--bg-dark, #07110f);

    opacity: 0;

    visibility: hidden;

    pointer-events: none;

    transition:
        opacity 0.45s ease,
        visibility 0.45s ease;
}

.page-transition.active {

    opacity: 1;

    visibility: visible;
}

/* =========================================================
   TOURISM HERO — TAGLINE / ARABIC FIX
   ========================================================= */

.tourism-hero {
    position: relative;
    overflow: hidden;
}

/* ---------------------------------------------------------
   DESKTOP
   Keep the neon tagline away from the main heading
   --------------------------------------------------------- */

.tourism-hero .hero-neon-wrap {
    position: static;
    top: auto;
    right: auto;
    left: auto;
    transform: none;
    z-index: auto;

    width: 100%;
    max-width: 100%;
    text-align: center;
    margin: 0 auto 18px;
    padding: 0;
}
.tourism-hero .about-hero-content {
    position: relative;
    z-index: 4;

    max-width: 720px;
    margin-left: auto;
    margin-right: auto;

    padding-top: 90px;
}

/* ---------------------------------------------------------
   ARABIC
   --------------------------------------------------------- */

html[dir="rtl"] .tourism-hero .hero-neon-wrap {
    right: 5%;
    left: auto;
    text-align: right;
    direction: rtl;
}

html[dir="rtl"] .tourism-hero .hero-neon-text {
    font-family: 'Amiri', serif;
    font-size: 48px;
    line-height: 1.35;
    letter-spacing: 0;
    white-space: normal;
}

html[dir="rtl"] .tourism-hero .hero-neon-caption {
    font-family: 'Work Sans', sans-serif;
    direction: ltr;
    text-align: right;
    margin-top: 4px;
}

html[dir="rtl"] .tourism-hero .about-hero-content {
    direction: rtl;
    text-align: center;
}

html[dir="rtl"] .tourism-hero h1 {
    font-family: 'Amiri', serif;
    font-size: 70px;
    line-height: 1.45;
    margin: 20px 0 28px;
}

html[dir="rtl"] .tourism-hero p {
    font-family: 'Amiri', serif;
    font-size: 21px;
    line-height: 2;
    text-align: center;
}

/* ---------------------------------------------------------
   ENGLISH
   --------------------------------------------------------- */
html[dir="ltr"] .tourism-hero .about-hero-content {
    text-align: center;
}

html[dir="ltr"] .tourism-hero h1 {
    line-height: 1.15;
}

.tourism-hero p {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}


/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */

@media (max-width: 991px) {

      .tourism-hero .hero-neon-wrap {
        position: static;
        top: auto;
        right: auto;
        left: auto;
        transform: none;

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

        text-align: center;
        margin: 0 auto 16px;
    }

    .tourism-hero .about-hero-content {
        padding-top: 110px;
    }

    html[dir="rtl"] .tourism-hero .hero-neon-text {
        font-size: 42px;
    }

    html[dir="rtl"] .tourism-hero h1 {
        font-size: 54px;
        line-height: 1.45;
    }

}

/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 600px) {

    .tourism-hero {
        min-height: 100vh;
        height: auto;
        padding: 120px 0 60px;
        align-items: flex-start;
    }

    .tourism-hero .hero-neon-wrap {
        position: static;
        top: auto;
        right: auto;
        left: auto;
        transform: none;

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

        margin: 0 auto 14px;
        padding: 0 20px;

        text-align: center;
    }

    .tourism-hero .about-hero-content {
        padding-top: 0;
        width: 100%;
    }

    html[dir="rtl"] .tourism-hero .hero-neon-text {
        font-size: 34px;
        line-height: 1.4;
    }

    html[dir="rtl"] .tourism-hero .hero-neon-caption {
        font-size: 10px;
        letter-spacing: 1.5px;
        text-align: center;
    }

    html[dir="rtl"] .tourism-hero h1 {
        font-size: 42px;
        line-height: 1.5;
        margin: 10px 0 25px;
    }

    html[dir="rtl"] .tourism-hero p {
        font-size: 18px;
        line-height: 2;
    }

}

/* =========================================================
   HERO STAT CARDS — MOBILE FIX
   ========================================================= */

@media (max-width: 768px) {

    .hero-stats {
        width: 100%;
        max-width: 100%;
        grid-template-columns: minmax(0, 1fr);
    }

    .hero-stat-card {
        width: 100%;
        min-width: 0;
        max-width: 100%;

        display: flex;
        align-items: center;

        padding: 14px 16px;

        box-sizing: border-box;
        overflow: hidden;
    }

    .hero-stat-icon {
        flex: 0 0 38px;
        width: 38px;
        height: 38px;
    }

    .hero-stat-content {
        flex: 1 1 auto;
        min-width: 0;
        width: 0;
        overflow: hidden;
    }

    .hero-stat-content h2 {
        width: 100%;
        margin: 0 0 3px;

        font-size: 1.25rem;
        line-height: 1.15;

        white-space: nowrap;
        overflow: hidden;
    }

    .hero-stat-content p {
        width: 100%;

        font-size: 0.7rem;
        line-height: 1.35;

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

}


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

@media (max-width: 480px) {

    .hero-stat-card {
        padding: 12px 14px;
        gap: 10px;
    }

    .hero-stat-icon {
        flex: 0 0 34px;

        width: 34px;
        height: 34px;
    }

    .hero-stat-icon i {
        font-size: 0.8rem;
    }

    .hero-stat-content h2 {
        font-size: 1.15rem;
    }

    .hero-stat-content p {
        font-size: 0.65rem;
    }

}
@media (min-width: 1101px) {
    body.medical-page .services-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 30px;
    }
}

body.medical-page .service-card {
    width: 100%;
    min-width: 0;
}

body.medical-page .service-card img {
    width: 100%;
    height: 220px;
    object-fit: cover;
}

body.medical-page .service-content {
    padding: 22px 22px 26px;
    box-sizing: border-box;
}

body.medical-page .service-content h3 {
    font-size: 21px;
    line-height: 1.35;
    min-height: 0;
    margin: 0 0 10px;
    display: block;
}

body.medical-page .service-content p {
    font-size: 15px;
    line-height: 1.6;
    margin: 0;
}

html[dir="rtl"] body.medical-page .service-content {
    direction: rtl;
    text-align: right;
}

html[dir="rtl"] body.medical-page .service-content h3 {
    font-family: 'Amiri', serif;
    line-height: 1.5;
}

html[dir="rtl"] body.medical-page .service-content p {
    font-family: 'Amiri', serif;
    line-height: 1.9;
}

/*==================================================
  FLOATING WHATSAPP BUTTON (all pages)
==================================================*/

.whatsapp-float{
    position:fixed;
    bottom:26px;
    right:26px;
    width:60px;
    height:60px;
    background:#25D366;
    color:#fff;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:32px;
    box-shadow:0 8px 24px rgba(0,0,0,.25);
    z-index:9999;
    text-decoration:none;
    transition:transform .3s ease, box-shadow .3s ease;
}

.whatsapp-float::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:50%;
    animation:whatsappPulse 2.2s infinite;
}

.whatsapp-float:hover{
    transform:scale(1.08);
    box-shadow:0 12px 30px rgba(0,0,0,.35);
    color:#fff;
}

@keyframes whatsappPulse{
    0%{ box-shadow:0 0 0 0 rgba(37,211,102,.55); }
    70%{ box-shadow:0 0 0 16px rgba(37,211,102,0); }
    100%{ box-shadow:0 0 0 0 rgba(37,211,102,0); }
}

@media (max-width:480px){
    .whatsapp-float{
        width:52px;
        height:52px;
        font-size:26px;
        bottom:18px;
        right:18px;
    }
}

/* =========================================================
   TEAM SUBSECTION HEADINGS
   Premium centered headings — About Page
   ========================================================= */

.team-subheading {
    position: relative;

    text-align: center;

    margin: 70px auto 40px;

    font-family: 'Amiri', serif;
    font-size: 32px;
    font-weight: 700;

    line-height: 1.3;

    color: #173f35;

    letter-spacing: 0.3px;
}

/* Elegant gold accent underneath */
.team-subheading::after {
    content: "";

    display: block;

    width: 55px;
    height: 3px;

    margin: 14px auto 0;

    background: #b58a4a;

    border-radius: 10px;
}

/* First subsection spacing */
.team-subsection:first-of-type .team-subheading {
    margin-top: 55px;
}

/* =========================================================
   TEAM SUBSECTION
   ========================================================= */

.team-subsection {
    width: 100%;
    margin-bottom: 25px;
}

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

.team-subsection .team-grid {
    margin-top: 0;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 768px) {

    .team-subheading {
        font-size: 27px;
        margin: 55px auto 30px;
    }

    .team-subheading::after {
        width: 45px;
        height: 2px;
        margin-top: 11px;
    }

}


@media (max-width: 480px) {

    .team-subheading {
        font-size: 24px;
        margin: 45px auto 25px;
    }

}




/* ==========================================================================
   Text justification (scoped)
   ==========================================================================
   Earlier attempt applied justify to every element site-wide, which broke
   headings, narrow grid/card blurbs, and centered subtitles (they only fit
   a few words per line, so justify stretched the spacing into ugly gaps).

   This site was originally built left-aligned by default everywhere, with
   only a couple of deliberately centered subtitle blocks. Rather than fight
   that, justify is now applied ONLY to the genuine long-form narrative /
   legal paragraphs where it reads well (hero intro, About/Story narrative,
   Philosophy text, Terms & Privacy pages). Everything else keeps its
   original left/center design.
   ========================================================================== */
.about-content p,
.about-hero p,
.story-content p,
.philosophy p,
.company-content p,
.hospitality-content p,
.logistics-introduction-content p,
.logistics-trust-content p,
.clients-about-content p,
.timeline-content p,
.leader-content p,
.contact-banner p,
.contact-cta p,
.terms-box p,
.future-box p{
    text-align: justify !important;
}

/* =========================================
   MEDICAL PAGE - OUR IMPACT TEXT ALIGNMENT
========================================= */

.stats-section .section-heading {
    text-align: center;
    max-width: 900px;
    margin: 0 auto 70px;
}

.stats-section .section-heading .section-tag {
    display: block;
    text-align: center;
    margin-bottom: 16px;
}

.stats-section .section-heading h2 {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}

.stats-section .section-heading p {
    max-width: 700px;
    margin: 0 auto;
    text-align: center;
    text-align-last: center;
}

.clients-hero-actions {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 18px;
    margin-top: 35px;
}
