

body {
    font-family: 'Inter', sans-serif;
}
/* ===========================
   ABOUT HERO SECTION
=========================== */

.about-hero-section{

    position:relative;

    min-height:70vh;

    display:flex;

    align-items:center;

    background:url('https://moonfta.ae/images/luca4.jpg')
               center center / cover no-repeat;

    overflow:hidden;

}

.about-hero-overlay{

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:100%;

    background:linear-gradient(
        90deg,
        rgba(0,0,0,0.78) 0%,
        rgba(0,0,0,0.55) 40%,
        rgba(0,0,0,0.35) 100%
    );

}

.about-hero-content{

    position:relative;

    z-index:2;

    max-width:700px;

    padding-top:120px;

}

.hero-subtitle{

    display:inline-block;

    color:#D4B46A;

    font-size:15px;

    font-weight:600;

    letter-spacing:2px;

    text-transform:uppercase;

    margin-bottom:20px;

}

/* .explore-btn{

    margin-top:25px;

    background:#D4B46A;

    color:black;

    padding:12px 30px;

    border-radius:50px;

    font-weight:500;

}

.explore-btn:hover{

    background:#D4B46A;

   

}

.explore-btn i{

    margin-right:8px;

} */


.explore-btn{

    position:relative;

    display:inline-block;

    background:#C9B273;

    color:#2D394C !important;

    border-radius:100px;

    padding:12px 30px;

    font-size:14px;

    font-weight:600;

    letter-spacing:1px;

    text-transform:uppercase;

    text-decoration:none;

    transition:all .3s ease;

    overflow:hidden;

}

/* Arrow */

.explore-btn:after{

    content:"\f0a9";

    font-family:"Font Awesome 6 Free";

    font-weight:900;

    position:absolute;

    right:20px;

    top:50%;

    transform:translateY(-50%);

    opacity:0;

    transition:all .3s ease;

}

/* Hover */

.explore-btn:hover{

    padding-left:25px;

    padding-right:45px;

    background:#d4bc7a;

    color:#2D394C !important;

}

.explore-btn:hover:after{

    opacity:1;

    right:15px;

}

.about-hero-content h1{

    color:#fff;

    font-size:38px;

    line-height:1.1;

    font-weight:600;

    margin-bottom:30px;

}

.about-hero-content p{

    color:rgba(255,255,255,0.92);

    font-size:18px;

    line-height:1.9;

    margin-bottom:20px;

    max-width:650px;

}

/* ===========================
   TABLET
=========================== */

@media(max-width:991px){

    .about-hero-content{

        padding-top:100px;

    }

    .about-hero-content h1{

        font-size:50px;

    }

}

/* ===========================
   MOBILE
=========================== */

@media(max-width:767px){

    .about-hero-section{

        min-height:90vh;

    }

    .about-hero-content{

        padding-top:80px;

    }

    .about-hero-content h1{

        font-size:34px;

        line-height:1.2;

    }

    .about-hero-content p{

        font-size:16px;

        line-height:1.8;

    }

    .hero-subtitle{

        font-size:13px;

    }

}

/* Journay section */


.journey-section {
    background: #f5f5f5;
    padding: 90px 0 100px;
}

/* ---- HEADING ---- */
.journey-head {
    max-width: 720px;
    margin-bottom: 55px;
}

.journey-tag {
    display: inline-block;
    padding: 7px 16px;
    margin-bottom: 16px;
    border: 1px solid rgba(192, 0, 0, 0.35);
    border-radius: 50px;
    background: rgba(192, 0, 0, 0.07);
    color: #C00000;
    font-family: Inter;
    font-size: 12.5px;
    font-weight: 600;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}

.journey-title {
    color: #000;
    font-family: Inter;
    font-size: 52px;
    font-style: normal;
    font-weight: 600;
    line-height: 1.15;
    text-transform: capitalize;
    margin-bottom: 14px;
}

.journey-sub {
    color: #6b7280;
    font-family: Inter;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.7;
    margin: 0;
}

/* reveal stagger — header.php mein sirf .delay-1/.delay-2 hain, isliye yahan
   journey-card ke liye apne (thode tight) delays, .delay-3 ke saath */
.journey-card.delay-1 { transition-delay: .12s; }
.journey-card.delay-2 { transition-delay: .24s; }
.journey-card.delay-3 { transition-delay: .36s; }

/* ---- CARD ---- */
/* specificity .journey-row ke saath — .reveal-up.active (header.php) bhi transform
   set karta hai aur baad mein load hota hai, warna hover lift dab jata hai */
.journey-row .journey-card {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 8px 26px rgba(0, 0, 0, 0.10);
    transition: transform .4s cubic-bezier(.22,1,.36,1), box-shadow .4s ease, opacity .7s ease;
}

.journey-row .journey-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 22px 46px rgba(0, 0, 0, 0.20);
}

.journey-img {
    position: relative;
    height: 400px;
    overflow: hidden;
}

.journey-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .7s cubic-bezier(.22,1,.36,1);
}

.journey-card:hover .journey-img img {
    transform: scale(1.07);
}

/* flat 60% black ki jagah gradient — tasveer dikhti hai, text phir bhi readable */
.journey-img::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,
                rgba(0,0,0,.15) 0%,
                rgba(0,0,0,.45) 45%,
                rgba(0,0,0,.88) 100%);
    transition: background .4s ease;
}

.journey-card:hover .journey-img::after {
    background: linear-gradient(180deg,
                rgba(0,0,0,.30) 0%,
                rgba(0,0,0,.60) 45%,
                rgba(0,0,0,.94) 100%);
}

/* ---- CONTENT (bottom aligned) ---- */
.journey-content {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    padding: 24px 22px;
    text-align: left;
    color: #fff;
}

.journey-year {
    display: inline-block;
    padding: 5px 13px;
    margin-bottom: 12px;
    border-radius: 50px;
    background: #C00000;
    color: #fff;
    font-family: Inter;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .5px;
}

.journey-content h5 {
    color: #FFF;
    text-align: left;
    font-family: Inter;
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: 1.35;
    margin: 0;
}

.journey-content p {
    color: rgba(255, 255, 255, 0.82);
    text-align: left;
    font-family: Inter;
    font-size: 13.5px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.6;
    margin: 0;

    /* desktop: description hover pe khulti hai */
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height .45s ease, opacity .35s ease, margin-top .45s ease;
}

.journey-card:hover .journey-content p {
    max-height: 160px;
    opacity: 1;
    margin-top: 10px;
}

/* ---- RESPONSIVE ---- */
@media (max-width: 991px) {
    .journey-title {
        font-size: 38px;
    }

    /* touch pe hover nahi hota — description hamesha dikhegi */
    .journey-content p {
        max-height: 200px;
        opacity: 1;
        margin-top: 10px;
    }
}

@media (max-width: 768px) {
    .journey-section {
        padding: 60px 0 70px;
    }

    .journey-head {
        margin-bottom: 35px;
    }

    .journey-title {
        font-size: 28px;
    }

    .journey-sub {
        font-size: 15.5px;
    }

    .journey-img {
        height: 300px;
    }

    .journey-row .journey-card:hover {
        transform: none;
    }
}

/* Our Mission Our Vision */



.who-section {
    background: url('https://moonfta.ae/images/vision.png') no-repeat center/cover;
    position: relative;
    padding: 100px 0;
    color: #fff;
}


/* flat 70% black ki jagah gradient — background image thodi dikhti hai */
.who-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(115deg,
                rgba(0,0,0,.88) 0%,
                rgba(0,0,0,.78) 50%,
                rgba(0,0,0,.66) 100%);
}

/* CONTENT ABOVE OVERLAY */
.who-section .container {
    position: relative;
    z-index: 2;
}

/* TOP TEXT */
.who-tag {
    display: inline-block;
    padding: 7px 16px;
    margin-bottom: 16px;
    border: 1px solid rgba(192, 0, 0, 0.55);
    border-radius: 50px;
    background: rgba(192, 0, 0, 0.14);
    color: #ff6b6b;
    font-family: Inter;
    font-size: 12.5px;
    font-weight: 600;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}

.who-top h2 {
    color: #FFF;
    font-family: Inter;
    font-size: 52px;
    font-style: normal;
    font-weight: 600;
    line-height: 1.15;
    margin: 0;
}

/* pehle 600px ki poori-chaudi hairline thi — ab chhota red accent */
.who-top .line {
    width: 64px;
    height: 3px;
    border-radius: 3px;
    background: #C00000;
    margin: 18px 0 26px;
}

.who-lead {
    color: #FFF;
    font-family: Inter;
    font-size: 19px;
    font-weight: 400;
    line-height: 1.7;
    max-width: 900px;
    margin-bottom: 28px;
}

/* baaki text do columns mein — 1100px ki single line padhne mein thakati hai */
.who-cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px 45px;
}

.who-cols p {
    color: rgba(255, 255, 255, 0.7);
    font-family: Inter;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.8;
    margin: 0;
}

/* BOX — glass card */
.who-row {
    margin-top: 55px;
}

/* NOTE: .reveal-up / .reveal-up.active (header.php ke inline <style> mein) bhi
   transform aur transition set karte hain, aur wo about.css ke BAAD load hote hain.
   Isliye hover rules ki specificity zyada rakhi hai (.who-row .who-box:hover),
   warna reveal ke baad hover ka lift kaam hi nahi karta. */
.who-row .who-box {
    height: 100%;
    padding: 34px 32px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(6px);
    transition: transform .4s cubic-bezier(.22,1,.36,1), border-color .4s ease, background .4s ease, opacity .7s ease;
}

.who-row .who-box:hover {
    transform: translateY(-6px);
    border-color: rgba(192, 0, 0, 0.5);
    background: rgba(255, 255, 255, 0.08);
}

.who-box h4 {
    text-align: left;
    color: #fff;
    font-family: Inter;
    font-size: 24px;
    font-weight: 700;
    margin: 0 0 14px;
}

/* ICON — pehle 140px ka bare image tha, ab chhota badge */
.who-box .icon-box {
    width: 68px;
    height: 68px;
    margin: 0 0 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    border: 1px solid rgba(192, 0, 0, 0.4);
    background: rgba(192, 0, 0, 0.15);
    text-align: left;
    transition: background .4s ease, border-color .4s ease;
}

.who-box:hover .icon-box {
    background: rgba(192, 0, 0, 0.3);
    border-color: rgba(192, 0, 0, 0.7);
}

.who-box .icon-box img {
    width: 36px;
    height: 36px;
    margin: 0;
}

/* TEXT */
.who-box p {
    color: rgba(255, 255, 255, 0.75);
    font-family: Inter;
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.75;
    max-width: none;
    margin-bottom: 14px;
}

.who-aim {
    color: #fff !important;
    font-weight: 600 !important;
    margin-top: 22px !important;
    margin-bottom: 12px !important;
}

/* LIST — default disc ki jagah red check */
.who-box ul {
    list-style: none;
    padding-left: 0;
    margin: 0;
}

.who-box ul li {
    position: relative;
    padding-left: 28px;
    color: rgba(255, 255, 255, 0.75);
    font-family: Inter;
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.6;
    margin-bottom: 12px;
}

.who-box ul li::before {
    content: "\f00c";           /* Font Awesome check */
    font-family: FontAwesome;
    position: absolute;
    left: 0;
    top: 1px;
    color: #C00000;
    font-size: 12px;
}

/* reveal stagger */
.who-box.delay-1 { transition-delay: .15s; }

/* RESPONSIVE */
@media (max-width: 991px) {
    .who-top h2 {
        font-size: 38px;
    }

    .who-cols {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .who-row {
        margin-top: 40px;
    }
}

@media (max-width: 768px) {
    .who-section {
        padding: 65px 0;
    }

    .who-top h2 {
        font-size: 28px;
    }

    .who-lead {
        font-size: 16.5px;
    }

    .who-row .who-box {
        padding: 26px 22px;
    }

    .who-row .who-box:hover {
        transform: none;
    }
}


/* Team Section */
/* 

.team-section {
    background: url('images/teamBg.png');
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    padding: 100px 0;
}


.team-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(255,255,255,0.85);
}

.team-section .container {
    position: relative;
    z-index: 2;
}


.team-heading h2 {
    color: #000;
font-family: Inter;
font-size: 56px;
font-style: normal;
font-weight: 600;
line-height: normal;
}

.highlight {
    background: #C00000;
    color: #000;
    padding: 5px 10px;
}


.team-heading p {
    max-width: 1000px;
    margin: auto;
    

    color: #000;
text-align: justify;
font-family: Inter;
font-size: 16px;
font-style: normal;
font-weight: 400;
line-height: 150%; 
}


.director-row {
    margin-top: 40px;
}

.director-card img {
    width: 100%;
    border-radius: 5px;
}

.director-info {
    background: #C00000;
    color: #fff;
    padding: 10px;
    margin-top: -5px;
}

.director-info h5 {
    color: #FFF;
text-align: center;
font-family: Inter;
font-size: 18px;
font-style: normal;
font-weight: 700;
line-height: normal;
    margin: 0;
}

.director-info span {
    color: #FFF;
text-align: center;
font-family: Inter;
font-size: 14px;
font-style: normal;
font-weight: 400;
line-height: normal;
}


.management-title {
    margin-top: 40px;
    color: red;
    font-weight: 600;
}


.team-members {
    margin-top: 30px;
}

.team-card img {
    width: 244px;
    height: 244px;
    object-fit: cover;
    border-radius: 50%;
    margin-bottom: 10px;
}

.team-card h6 {
    color: #C00000;
font-family: Inter;
font-size: 18px;
font-style: normal;
font-weight: 600;
padding: 15px 0px;
line-height: normal;
}

.team-card p {
    color: #000;
text-align: center;
font-family: Inter;
font-size: 16px;
font-style: normal;
font-weight: 600;
line-height: normal;
}


@media (max-width: 768px) {
    .team-heading h2 {
        font-size: 26px;
    }

    .team-card img {
        width: 100px !important;
        height: 100px !important;        
    }

    .moon-sez-node
    {
       box-sizing: border-box;
       height: 85px !important;
       width: 85px !important;
    }
} */



/* =========================================
   TEAM SECTION
========================================= */

.team-section {
    background: url('https://moonfta.ae/copyData/images/teamBg.png');
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    padding: 100px 0;
    overflow: hidden;
}

/* OVERLAY */

.team-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(255,255,255,0.88);
}

.team-section .container {
    position: relative;
    z-index: 2;
}


/* =========================================
   HEADING
========================================= */

.team-heading h2 {
    color: #000;
    font-family: Inter, sans-serif;
    font-size: 56px;
    font-style: normal;
    font-weight: 600;
    line-height: 130%;
    margin-bottom: 20px;
}

.highlight {
    background: #C00000;
    color: #000;
    padding: 5px 12px;
    border-radius: 4px;
    display: inline-block;
}


/* =========================================
   DESCRIPTION
========================================= */

.team-heading p {
    max-width: 1000px;
    margin: auto;

    color: #000;
    text-align: justify;
    font-family: Inter, sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 180%;
}


/* =========================================
   DIRECTOR SECTION
========================================= */

.director-row {
    margin-top: 60px;
    row-gap: 30px;
}

.director-card {
    overflow: hidden;
    border-radius: 10px;
    transition: 0.4s ease;
}

.director-card:hover {
    transform: translateY(-6px);
}

.director-card img {
    width: 100%;
    height: 420px;
    object-fit: cover;
    display: block;
}

.director-info {
    background: #C00000;
    color: #fff;
    padding: 16px 10px;
}

.director-info h5 {
    color: #FFF;
    text-align: center;
    font-family: Inter, sans-serif;
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    margin: 0 0 5px;
}

.director-info span {
    color: #FFF;
    text-align: center;
    font-family: Inter, sans-serif;
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}


/* =========================================
   MANAGEMENT TITLE
========================================= */

.management-title {
    margin-top: 70px;
    color: #C00000;

    font-family: Inter, sans-serif;
    font-size: 34px;
    font-weight: 700;
    line-height: 140%;
}


/* =========================================
   TEAM MEMBERS
========================================= */

.team-members {
    margin-top: 40px;
    row-gap: 40px;
}

.team-card {
    transition: 0.4s ease;
}

.team-card:hover {
    transform: translateY(-5px);
}

.team-card img {
    width: 240px;
    height: 240px;
    object-fit: cover;
    border-radius: 50%;
    margin-bottom: 15px;
    transition: 0.4s ease;
}

.team-card img:hover {
    transform: scale(1.04);
}

.team-card h6 {
    color: #C00000;
    font-family: Inter, sans-serif;
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    padding: 12px 0 8px;
    line-height: normal;
    margin-bottom: 0;
}

.team-card p {
    color: #000;
    text-align: center;
    font-family: Inter, sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 165%;
    margin-bottom: 0;
}


/* =========================================
   LARGE DEVICES
========================================= */

@media (max-width: 1200px) {

    .team-heading h2 {
        font-size: 48px;
    }

    .director-card img {
        height: 380px;
    }

    .team-card img {
        width: 210px;
        height: 210px;
    }
}


/* =========================================
   TABLET DEVICES
========================================= */

@media (max-width: 991.98px) {

    .team-section {
        padding: 80px 0;
    }

    .team-heading h2 {
        font-size: 40px;
    }

    .team-heading p {
        font-size: 15px;
        line-height: 170%;
    }

    .director-card img {
        height: 340px;
    }

    .management-title {
        font-size: 28px;
        margin-top: 60px;
    }

    .team-card img {
        width: 180px;
        height: 180px;
    }

    .team-card h6 {
        font-size: 18px;
    }

    .team-card p {
        font-size: 15px;
    }
}


/* =========================================
   MOBILE DEVICES
========================================= */

@media (max-width: 767.98px) {

    .team-section {
        padding: 60px 0;
    }

    .team-heading h2 {
        font-size: 30px;
        line-height: 145%;
    }

    .highlight {
        padding: 4px 10px;
    }

    .team-heading p {
        font-size: 14px;
        line-height: 170%;
        text-align: left;
        padding: 0 10px;
    }

    .director-row {
        margin-top: 40px;
    }

    .director-card {
        max-width: 320px;
        margin: auto;
    }

    .director-card img {
        height: auto;
    }

    .director-info h5 {
        font-size: 18px;
    }

    .director-info span {
        font-size: 14px;
    }

    .management-title {
        font-size: 24px;
        line-height: 150%;
        padding: 30px 10px !important;
    }

    .team-members {
        margin-top: 20px;
        row-gap: 30px;
    }

    .team-card img {
        width: 140px !important;
        height: 140px !important;
    }

    .team-card h6 {
        font-size: 16px;
        padding-top: 10px;
    }

    .team-card p {
        font-size: 13px;
        line-height: 155%;
    }

    .moon-sez-node {
        box-sizing: border-box;
        height: 85px !important;
        width: 85px !important;
    }
}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 480px) {

    .team-heading h2 {
        font-size: 24px;
    }

    .team-heading p {
        font-size: 13px;
    }

    .management-title {
        font-size: 20px;
    }

    .team-card img {
        width: 115px !important;
        height: 115px !important;
    }

    .team-card h6 {
        font-size: 14px;
    }

    .team-card p {
        font-size: 12px;
    }

    .director-info h5 {
        font-size: 16px;
    }
}

/* Group Section */

.moon-sez-section {
  background-color: #FFFFFF;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 24px;
  width: 100%;
}

.moon-sez-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  width: 100%;
  max-width: 680px;
}

.moon-sez-container {
  position: relative;
  width: min(780px, 94vw);
  height: min(780px, 94vw);
}

.moon-sez-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}

.moon-sez-orbit-path {
  fill: none;
  stroke: #e8828e;
  stroke-width: 1;
  stroke-dasharray: 7 5;
  opacity: 0.8;
}

.moon-sez-node {
  position: absolute;
  background-color: #c40000;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  cursor: default;
  transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.moon-sez-node:hover {
  box-shadow: 0 0 0 7px rgba(196, 0, 0, 0.18);
}

.moon-sez-center {
  width: 15%;
  height: 15%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
}

.moon-sez-center:hover {
  transform: translate(-50%, -50%) scale(1.07);
}

.moon-sez-outer {
  width: 16%;
  height: 16%;
  z-index: 2;
}

.moon-sez-label {
  color: #ffffff;
  line-height: 1.32;
  word-break: break-word;
  hyphens: auto;
  display: block;
  width: 86%;
  text-align: center;
  font-family: 'Segoe UI', Arial, sans-serif;
}

.moon-sez-center .moon-sez-label {
  font-size: clamp(6.5px, 1.65vw, 11px);
  font-weight: 700;
}

.moon-sez-outer .moon-sez-label {
  font-size: clamp(10px, 1.2vw, 8px);
  font-weight: 500;
}

.moon-sez-title {
 color: #000;
text-align: center;
font-family: Inter;
font-size: 28px;
font-style: normal;
font-weight: 400;
line-height: normal;
}


