/* =========================================================
   START: HERO BANNER STYLES (SCOPED - no global resets)
   - This file ONLY targets .hero-section and its children.
   - It intentionally avoids global selectors like * or body
     so it doesn't conflict with header.css.
   ========================================================= */

/* =========================================================
   START: HERO SECTION WRAPPER
   - Controls layout, 3D perspective, and base area styling
   ========================================================= */
.hero-section {
    position: relative;
    width: calc(100% - 30px);   /* ✅ prevent overflow */
    height: 95vh;
    margin: 0 15px;            /* ✅ LEFT & RIGHT MARGIN */
    overflow: hidden;
    border-radius: 45px;
}

/* ===== SLIDER IMAGE WITH ZOOM ===== */
.hero-section .image-bg {
    position: absolute;
    inset: 0;
    background-image: url("../images/googee.jpeg"); /* slider image */
    background-size: cover;
    background-position: center;
    transform: scale(1);
    animation: bgZoom 10s ease-in-out infinite alternate;
    z-index: 1;
}

/* BACKGROUND ZOOM ANIMATION */
@keyframes bgZoom {
    from {
        transform: scale(1);
    }
    to {
        transform: scale(1.08);
    }
}

/* DARK OVERLAY */
.hero-section .overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.30);
    z-index: 2;
}

/* CONTENT CONTAINER */
.slider-container {
    position: relative;
    z-index: 3;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    transform: translateY(-100px);
    text-align: center;
    padding: 0 1rem;
}

/* TEXT */
.hero-title {
    font-family: 'Cinzel', serif;
    font-size: 2.6rem;
    color: #fff;
    margin-bottom: 5px;
    opacity: 0;

    text-shadow:
        0 2px 4px rgba(0, 0, 0, 0.6),
        0 6px 12px rgba(0, 0, 0, 0.4),
        0 12px 24px rgba(0, 0, 0, 0.25);
}

/* LOGO */
.hero-logo {
    width: 220px;
    opacity: 0;
}

/* TEXT & LOGO ANIMATION */
.text-show {
    animation: textZoom 1.5s ease forwards;
}

.logo-show {
    animation: logoZoom 1.2s ease forwards;
}

/* KEYFRAMES */
@keyframes textZoom {
    from {
        opacity: 0;
        transform: scale(0.9) translateY(20px);
    }
    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

@keyframes logoZoom {
    from {
        opacity: 0;
        transform: scale(0.6);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* RESPONSIVE */
@media (max-width: 768px) {
    .hero-title { font-size: 2rem; }
    .hero-logo { width: 160px; }
    .slider-container { transform: translateY(-80px); }
}

@media (max-width: 480px) {
    .hero-title { font-size: 1.5rem; }
    .hero-logo { width: 130px; }
}


/* =========================================================
   END: HERO BANNER STYLES
   ========================================================= */


/* =========================================================
   START: AWARDS STYLES
   ========================================================= */
.trust-section-wrapper {
    --brand-blue: #0c589c;
    --dark-navy: #062d51;
    --accent-red: #e82126;
    
    background-color: var(--brand-blue);
    padding: clamp(40px, 8vw, 30px) 5%;
    margin: 0 15px;                 /* ✅ LEFT & RIGHT MARGIN ADDED */
    font-family: 'Inter', sans-serif;
    position: relative;
    overflow: hidden;
    width: calc(100% - 30px);       /* ✅ PREVENT OVERFLOW */
    border-radius: 45px;
}

/* Background Continuation Design */
.trust-bg-layer {
    position: absolute;
    inset: 0;
    z-index: 0;
    background: radial-gradient(circle at center, var(--brand-blue) 0%, var(--dark-navy) 100%);
}

.trust-moving-grid {
    position: absolute;
    width: 200%;
    height: 200%;
    top: -50%;
    left: -50%;
    background-image: 
        linear-gradient(to right, rgba(255, 255, 255, 0.03) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
    background-size: 50px 50px;
    transform: rotate(15deg);
    animation: trustGridFlow 80s linear infinite;
    opacity: 0.5;
    pointer-events: none;
}

@keyframes trustGridFlow {
    from { transform: rotate(15deg) translateY(0); }
    to { transform: rotate(15deg) translateY(500px); }
}

.trust-container {
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

/* Header Refinement */
.trust-header {
    text-align: center;
    margin-bottom: clamp(30px, 6vw, 50px);
}

.pro-eyebrow {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    display: block;
    margin-bottom: 8px;
    color: rgba(255,255,255,0.7);
}

.trust-title {
    font-family: 'Playfair Display', serif;
    color: #ffffff;
    font-size: clamp(24px, 4vw, 34px);
    margin: 10px 0 15px;
    line-height: 1.2;
    letter-spacing: -0.5px;
}

.trust-desc {
    color: rgba(255, 255, 255, 0.8);
    max-width: 750px;
    margin: 0 auto;
    font-size: clamp(14px, 1.5vw, 15px);
    line-height: 1.6;
    font-weight: 300;
}

/* Responsive Logo Strip */
.trust-logo-strip-container {
    display: flex;
    justify-content: center;
    margin-bottom: clamp(40px, 8vw, 60px);
}

.trust-logo-strip {
    background: #ffffff;
    border-radius: 50px;
    padding: 15px clamp(20px, 4vw, 40px);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: clamp(20px, 3vw, 35px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
}

.trust-logo-item {
    height: clamp(25px, 4vw, 35px);
    transition: all 0.4s ease;
}

.trust-logo-item:hover {
    opacity: 1;
    transform: scale(1.1);
}

/* Adaptive Content Grid */
.trust-content-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 25px;
}

.trust-card {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 15px;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    backdrop-filter: blur(10px);
    transition: all 0.3s ease;
}

.trust-card:hover {
    border-color: var(--accent-red);
    transform: translateY(-5px);
}

.trust-card iframe {
    width: 100%;
    height: 100%;
    border: none;
}

/* Awards Section */
.awards-flex-center {
    display: flex;
    justify-content: space-around;
    align-items: center;
    height: 100%;
    padding: 10px;
}

.award-box {
    text-align: center;
    flex: 1;
}

.award-box img {
    height: clamp(50px, 12vw, 100px);
    margin-bottom: 8px;
    /* filter: brightness(0) invert(1); */
}

.award-box p {
    color: #ffffff;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 1px;
    margin: 0;
    opacity: 0.7;
}

/* Shimmer Effect */
.shimmer-sweep {
    position: absolute;
    top: 0;
    left: -150%;
    width: 100%;
    height: 100%;
    background: linear-gradient(110deg, transparent, rgba(255,255,255,0.06), transparent);
    animation: shimmerLoop 6s infinite;
    pointer-events: none;
}

@keyframes shimmerLoop {
    0% { left: -150%; }
    40% { left: 150%; }
    100% { left: 150%; }
}

/* Tablet */
@media (max-width: 768px) {
    .trust-logo-strip {
        border-radius: 25px;
        padding: 20px;
    }

    .award-box img {
        height: 100px;
    }
}

/* Mobile */
@media (max-width: 480px) {
    .trust-content-grid {
        grid-template-columns: 1fr;
    }

    .trust-logo-strip {
        gap: 15px;
    }
}

/* =========================================================
   END: AWARDS STYLES
   ========================================================= */


/* =========================================================
   START: HEROABOUT / ABOUT GOOGEE PROPERTIES SECTION CSS
   ========================================================= */

#homeabout,
.homeabout-section,
.homeabout-lansum-section {
    position: relative;
    width: 100%;
    box-sizing: border-box;
    overflow: hidden;
    padding: 35px 16px 80px 16px;
    background: linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%);
    color: #061426;
    font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
}

/* Container */
.homeabout-container {
    width: 95%;
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

/* Large screens */
@media (min-width: 1600px) {
    .homeabout-container {
        max-width: 1500px;
    }
}

/* Header */
.homeabout-header {
    text-align: center;
    max-width: 1100px;
    margin: 0 auto 24px auto;
}

.homeabout-subtitle {
    display: inline-block;
    margin: 0 0 0.5rem 0;
    font-size: 30px;
    font-weight: 700;
    color: #e82126;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.homeabout-desc {
    margin: 0 auto;
    font-size: 1rem;
    color: #223047;
    line-height: 1.6;
    max-width: 1000px;
}

/* Content Row */
.homeabout-content-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    max-width: 1200px;
    margin: 3.5rem auto 0 auto;
    gap: 20px;
}

/* Stat Columns */
.homeabout-stat-col {
    text-align: left;
    flex: 1;
    min-width: 140px;
}

.homeabout-stat-col h3 {
    font-size: 32px;
    color: #e82126;
    font-weight: 700;
    margin: 0 0 5px 0;
}

.homeabout-stat-col p {
    font-size: 16px;
    line-height: 1.3;
    color: #222;
    margin: 0;
}

/* Center Image */
.homeabout-center-img {
    flex: 0 0 auto;
    padding: 0 20px;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
}

.homeabout-center-img img {
    display: block;
    max-height: 280px;
    width: auto;
    max-width: 100%;
    border-radius: 12px;
    object-fit: contain;
}

/* Desktop Wave */
@media (min-width: 993px) {
    .homeabout-stat-high { transform: translateY(-50px); transition: 0.6s ease; }
    .homeabout-stat-low  { transform: translateY(40px);  transition: 0.6s ease; }
}

/* Tablet & Mobile */
@media (max-width: 992px) {
    .homeabout-content-row {
        flex-wrap: wrap;
        justify-content: center;
        gap: 20px 0;
        margin-top: 2rem;
    }

    .homeabout-center-img {
        order: -1;
        flex: 0 0 100%;
        margin-bottom: 30px;
        padding: 0;
    }

    .homeabout-center-img img {
        margin: 0 auto;
        max-height: 240px;
    }

    .homeabout-stat-col {
        flex: 0 0 50%;
        max-width: 50%;
        text-align: center;
        margin-bottom: 20px;
        transform: none !important;
        padding: 0 10px;
        box-sizing: border-box;
    }

    .homeabout-desc {
        max-width: 90%;
    }
}

/* Mobile */
@media (max-width: 576px) {
    #homeabout,
    .homeabout-section,
    .homeabout-lansum-section {
        padding: 20px 16px;
    }

    .homeabout-stat-col h3 { font-size: 28px; }
    .homeabout-stat-col p  { font-size: 15px; }

    .homeabout-desc {
        font-size: 0.95rem;
        max-width: 100%;
    }
}

/* Small Mobile */
@media (max-width: 360px) {
    .homeabout-stat-col { padding: 0 2px; }
    .homeabout-stat-col h3 { font-size: 24px; }
    .homeabout-stat-col p { font-size: 13px; line-height: 1.2; }

    .homeabout-center-img img { max-height: 180px; }
}

/* Background Animation */
.homeabout-bg-animation {
    position: absolute;
    inset: 0;
    overflow: hidden;
    z-index: 1;
    pointer-events: none;
}

.homeabout-bg-animation span {
    position: absolute;
    width: 20px;
    height: 20px;
    background: rgba(21, 80, 134, 0.12);
    bottom: -150px;
    animation: homeaboutMoveUp 10s linear infinite;
    border-radius: 50%;
}

@keyframes homeaboutMoveUp {
    0%   { transform: translateY(0) scale(0.6); opacity: 0; }
    20%  { opacity: 0.8; }
    100% { transform: translateY(-900px) scale(1); opacity: 0; }
}

/* Bubble Variations */
.homeabout-bg-animation span:nth-child(1)  { left: 10%; width: 80px;  height: 80px;  animation-duration: 7s; }
.homeabout-bg-animation span:nth-child(2)  { left: 20%; width: 20px;  height: 20px;  animation-duration: 4s; }
.homeabout-bg-animation span:nth-child(3)  { left: 25%; width: 20px;  height: 20px;  animation-duration: 6s; }
.homeabout-bg-animation span:nth-child(4)  { left: 40%; width: 60px;  height: 60px;  animation-duration: 9s; }
.homeabout-bg-animation span:nth-child(5)  { left: 65%; width: 20px;  height: 20px;  animation-duration: 5s; }
.homeabout-bg-animation span:nth-child(6)  { left: 75%; width: 110px; height: 110px; animation-duration: 11s; }
.homeabout-bg-animation span:nth-child(7)  { left: 35%; width: 150px; height: 150px; animation-duration: 14s; }
.homeabout-bg-animation span:nth-child(8)  { left: 50%; width: 25px;  height: 25px;  animation-duration: 8s; }
.homeabout-bg-animation span:nth-child(9)  { left: 15%; width: 15px;  height: 15px;  animation-duration: 7s; }
.homeabout-bg-animation span:nth-child(10) { left: 85%; width: 120px; height: 120px; animation-duration: 9s; }

/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {
    .homeabout-bg-animation span,
    .homeabout-stat-high,
    .homeabout-stat-low {
        animation: none !important;
        transform: none !important;
    }
}



/* =========================================================
   END: HEROABOUT / ABOUT GOOGEE PROPERTIES SECTION CSS
   ========================================================= */


  /* =========================================================
   START: PROJECTS /  GOOGEE PROPERTIES 
   ========================================================= */

/* --- Global Reset --- */
body {
    margin: 0;
    padding: 0;
    background-color: #f9f9f9; 
    font-family: 'Roboto', sans-serif;
    overflow-x: hidden; 
}

/* --- Galaxy Section Wrapper --- */
.logo-galaxy-section {
    position: relative;
    width: 100%;
    min-height: 950px; /* Increased height for larger orbit */
    padding: 30px 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    background-color: #ffffff; 
}

/* --- Header Styles --- */
.section-header {
    text-align: center;
    margin-bottom: 20px;
    z-index: 60;
    padding: 0 20px;
}

.section-header h2 {
    font-size: 2rem;
    color: #e82126;
    margin-bottom: 5px;
    font-weight: 700;
}

.section-header p {
    font-size: 1rem;
    color: #666;
    margin: 0;
}

/* --- Main Container --- */
/* Increased width/height to accommodate the 5th orbit (850px) */
.galaxy-container {
    position: relative;
    width: 850px; 
    height: 850px;
    display: flex;
    justify-content: center;
    align-items: center;
    transform-origin: center center;
}

/* --- CENTER LOGO STYLES --- */
.center-logo {
    position: absolute;
    z-index: 50;
    width: 170px; 
    height: 170px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #ffffff;
    border-radius: 50%;
    text-decoration: none;
    box-shadow: 0 0 15px rgba(0,0,0,0.1);
    transition: transform 0.3s ease;
    animation: center-pulse 3s infinite ease-in-out;
}

.brand-text {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    line-height: 1.1;
    z-index: 2;
}

.brand-main {
    font-size: 24px; 
    font-weight: 900;
    color: #e82126; 
    letter-spacing: 1px;
}

.brand-sub {
    font-size: 11px;
    font-weight: 700;
    color: #333;
    margin-top: 4px;
    letter-spacing: 1.5px;
}

.brand-logo-small {
    width: 60px;
    height: auto;
    margin-top: 8px;
    object-fit: contain;
    display: block;
}

.center-logo:hover {
    transform: scale(1.1);
}

@keyframes center-pulse {
    0% { box-shadow: 0 0 0 0 rgba(232, 33, 38, 0.4); }
    70% { box-shadow: 0 0 0 15px rgba(232, 33, 38, 0); }
    100% { box-shadow: 0 0 0 0 rgba(232, 33, 38, 0); }
}

/* --- Common Orbit Styles --- */
.orbit {
    position: absolute;
    border-radius: 50%;
    border: 1px solid #cccccc; 
    background: transparent;
    display: flex;
    justify-content: center;
    align-items: center;
    pointer-events: none; 
}

/* --- Orbit Sizes & Animation Speeds --- */
/* Pattern: +150px per orbit. Speed: +10s per orbit */
.orbit-1 { width: 250px; height: 250px; z-index: 40; animation: orbit-spin-cw 15s linear infinite; }
.orbit-2 { width: 400px; height: 400px; z-index: 30; animation: orbit-spin-ccw 25s linear infinite; }
.orbit-3 { width: 550px; height: 550px; z-index: 20; animation: orbit-spin-cw 35s linear infinite; }
.orbit-4 { width: 700px; height: 700px; z-index: 10; animation: orbit-spin-ccw 45s linear infinite; }
.orbit-5 { width: 850px; height: 850px; z-index: 5;  animation: orbit-spin-cw 55s linear infinite; }

/* --- Logo Items --- */
.orbit-item {
    position: absolute;
    min-width: 80px; 
    display: flex;
    flex-direction: column; 
    justify-content: center;
    align-items: center;
    pointer-events: auto;
    background-color: #f9f9f9; 
    border-radius: 8px;
    padding: 5px; 
    text-decoration: none;
    transition: transform 0.3s ease;
}

.orbit-item img {
    width: 60px;
    height: 40px;
    object-fit: contain;
    margin-bottom: 4px;
}

.project-title {
    font-size: 10px;
    color: #333;
    font-weight: 600;
    text-align: center;
    line-height: 1.2;
    white-space: nowrap; 
}

/* --- Positioning Logic (Equal Gaps for 4 items) --- */
/* Top */
.pos-1 { top: 0%; left: 50%; margin: 0; } 
/* Right */
.pos-2 { top: 50%; left: 100%; margin: 0; } 
/* Bottom */
.pos-3 { top: 100%; left: 50%; margin: 0; } 
/* Left */
.pos-4 { top: 50%; left: 0%; margin: 0; } 

/* --- Animation Setup --- */
/* Orbits 1, 3, 5: Clockwise -> Items must Counter-Rotate Counter-Clockwise */
.orbit-1 .orbit-item, 
.orbit-3 .orbit-item, 
.orbit-5 .orbit-item { 
    animation: item-counter-rot-ccw 15s linear infinite; 
}
/* Adjust durations to match their parent orbit */
.orbit-3 .orbit-item { animation-duration: 35s; }
.orbit-5 .orbit-item { animation-duration: 55s; }

/* Orbits 2, 4: Counter-Clockwise -> Items must Counter-Rotate Clockwise */
.orbit-2 .orbit-item, 
.orbit-4 .orbit-item { 
    animation: item-counter-rot-cw 25s linear infinite; 
}
.orbit-4 .orbit-item { animation-duration: 45s; }

/* Spin Keyframes */
@keyframes orbit-spin-cw { 100% { transform: rotate(360deg); } }
@keyframes orbit-spin-ccw { 100% { transform: rotate(-360deg); } }

/* Counter Rotate Keyframes */
/* Translate -50% -50% centers the item on the line, Rotate keeps it upright */
@keyframes item-counter-rot-ccw { 
    0% { transform: translate(-50%, -50%) rotate(0deg); } 
    100% { transform: translate(-50%, -50%) rotate(-360deg); } 
}

@keyframes item-counter-rot-cw { 
    0% { transform: translate(-50%, -50%) rotate(0deg); } 
    100% { transform: translate(-50%, -50%) rotate(360deg); } 
}

/* --- Interaction --- */
.galaxy-container:hover .orbit,
.galaxy-container:hover .orbit-item { animation-duration: 30s; }

.orbit-item:hover { 
    z-index: 100; 
    transform: translate(-50%, -50%) scale(1.2); 
    cursor: pointer; 
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

/* =========================================================
   RESPONSIVE BREAKPOINTS
   ========================================================= */

@media (max-width: 1024px) {
    /* Slightly reduced scale to fit 850px container in tablet view */
    .logo-galaxy-section { min-height: 750px; padding-bottom: 0; }
    .galaxy-container { transform: scale(0.75); }
}

@media (max-width: 768px) {
    .logo-galaxy-section { 
        min-height: 550px; 
        height: 650px; 
        padding: 20px 0 0 0; 
        justify-content: flex-start; 
    }
    .galaxy-container { 
        transform: scale(0.55); /* Reduced scale further */
        margin-top: -60px; 
    }
}

@media (max-width: 480px) {
    .logo-galaxy-section { 
        min-height: 450px; 
        height: 520px; 
        padding: 10px 0 0 0; 
    }
    .galaxy-container { 
        transform: scale(0.40); /* Adjusted for the larger 5th ring */
        margin-top: -120px; 
        margin-bottom: -150px; 
    }
    
    .center-logo { width: 140px; height: 140px; }
    .brand-main { font-size: 20px; }
}
/* =========================================================
   END: PROJECTS /  GOOGEE PROPERTIES 
   ========================================================= */



   /* =========================================
   KEY FEATURES SECTION (UPDATED ANIMATION)
   ========================================= */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;600;700;800&display=swap');

.hk-luxury-clean-section {
    padding: 80px 20px;
    background: linear-gradient(180deg, #ffffff 0%, #f1f5f9 35%, #062d51 100%);
    font-family: 'Plus Jakarta Sans', sans-serif;
    position: relative;
    overflow: hidden;
    border-radius: 0px 0px 45px 45px;
    margin-left: 15px;
    margin-right: 15px;
}

.hk-header {
    text-align: center;
    margin-bottom: 50px;
    position: relative;
    z-index: 10;
}

.hk-top-line {
    color: #0C589C;
    text-transform: uppercase;
    font-weight: 800;
    letter-spacing: 5px;
    font-size: 12px;
    margin-bottom: 12px;
}

.hk-main-title {
    font-size: 2rem;
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -1.5px;
}

.hk-accent-blue {
    color: #0C589C;
}

.hk-divider {
    width: 60px;
    height: 4px;
    background: #0C589C;
    margin: 20px auto;
    border-radius: 2px;
}

/* Grid Layout */
.hk-grid {
    max-width: 1240px;
    margin: auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px;
    position: relative;
    z-index: 5;
}

/* Card Base */
.hk-card {
    background: linear-gradient(145deg, #0C589C 0%, #062d51 100%);
    border-radius: 24px;
    padding: 40px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
    display: flex;
    flex-direction: column;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2);
    position: relative;
    overflow: hidden;
}

.hk-wide { grid-column: span 2; }
.hk-tall { grid-row: span 2; }

/* Icon */
.hk-icon-box {
    width: 60px;
    height: 60px;
    background: rgba(255, 255, 255, 0.1);
    color: #ffffff;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.6rem;
    margin-bottom: 30px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    transition: all 0.4s ease;
}

/* Label */
.hk-label {
    display: inline-block;
    font-size: 11px;
    font-weight: 800;
    color: #ffffff;
    background: rgba(255, 255, 255, 0.15);
    padding: 4px 12px;
    border-radius: 6px;
    text-transform: uppercase;
    margin-bottom: 15px;
    letter-spacing: 1px;
    transition: all 0.4s ease;
}

/* Text */
.hk-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 15px;
    line-height: 1.3;
}

.hk-desc {
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.98rem;
    line-height: 1.7;
}

/* Card Hover (Base – white card only) */
.hk-card:hover {
    transform: translateY(-15px);
    background: linear-gradient(145deg, #ffffff 0%, #f8fafc 100%);
    border-color: #e2e8f0;
    box-shadow: 0 25px 50px rgba(12, 88, 156, 0.15);
}

.hk-card:hover .hk-title { color: #0f172a; }
.hk-card:hover .hk-desc { color: #475569; }

/* ================================
   GOOGLE-STYLE COLORS (PER CARD)
================================ */

/* Card 1 – Google Blue */
.hk-card:nth-child(1):hover .hk-icon-box,
.hk-card:nth-child(1):hover .hk-label {
    background: #1a73e8;
    border-color: #1a73e8;
}

/* Card 2 – Google Green */
.hk-card:nth-child(2):hover .hk-icon-box,
.hk-card:nth-child(2):hover .hk-label {
    background: #34a853;
    border-color: #34a853;
}

/* Card 3 – Google Yellow */
.hk-card:nth-child(3):hover .hk-icon-box,
.hk-card:nth-child(3):hover .hk-label {
    background: #fbbc04;
    border-color: #fbbc04;
    color: #1f2933;
}

/* Card 4 – Google Red */
.hk-card:nth-child(4):hover .hk-icon-box,
.hk-card:nth-child(4):hover .hk-label {
    background: #ea4335;
    border-color: #ea4335;
}

/* Card 5 – Google Teal */
.hk-card:nth-child(5):hover .hk-icon-box,
.hk-card:nth-child(5):hover .hk-label {
    background: #00acc1;
    border-color: #00acc1;
}

/* Card 6 – Google Purple */
.hk-card:nth-child(6):hover .hk-icon-box,
.hk-card:nth-child(6):hover .hk-label {
    background: #8e24aa;
    border-color: #8e24aa;
}

/* Icon motion */
.hk-card:hover .hk-icon-box {
    transform: scale(1.12) rotate(6deg);
}

/* Responsive */
@media (max-width: 1024px) {
    .hk-grid { grid-template-columns: repeat(2, 1fr); }
    .hk-wide { grid-column: span 2; }
}

@media (max-width: 768px) {
    .hk-grid { grid-template-columns: 1fr; }
    .hk-wide { grid-column: span 1; }
    .hk-tall { grid-row: span 1; }
    .hk-main-title { font-size: 2.2rem; }
    .hk-card { padding: 30px; }
}


/* ======================================================================================================
=================================== HOME OUR TEAM START =================================================
====================================================================================================== */
/* ================================
   LEADER SECTION
================================ */

.leader-section {
    padding: 30px 5%;
    background-color: #f5f5f5;
    font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}

/* Section Title */
.leader-section-title {
    text-align: center;
    font-size: 32px;
    font-weight: 800;
    color: #222;
    margin-bottom: 30px;
    text-transform: uppercase;
    position: relative;
}

.leader-section-title::after {
    content: '';
    display: block;
    width: 90px;
    height: 4px;
    background-color: #e82126;
    margin: 15px auto 0;
    border-radius: 2px;
}

/* Layout */
.leader-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 60px;
    max-width: 1200px;
    margin: 0 auto;
}

/* ================================
   CONTENT AREA
================================ */

.leader-content {
    flex: 1;
    max-width: 600px;
}

.leader-heading {
    font-size: 2.2rem;
    color: #e82126;
    margin-bottom: 25px;
    font-weight: 800;
    text-transform: uppercase;
}

.leader-text {
    font-size: 1.1rem;
    line-height: 1.8;
    color: #444;
    margin-bottom: 20px;
    text-align: justify;
}

/* ================================
   LEADER CARD
================================ */

.leader-card {
    position: relative;
    width: 320px;
    height: 400px;
    background-color: #fff;
    border-radius: 80px 0 20px 20px;
    overflow: hidden;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
}

.leader-fixed-card {
    flex-shrink: 0;
}

/* Background Layer */
.leader-background-layer {
    position: absolute;
    inset: 0;
    width: 85%;
    background: linear-gradient(160deg, #e82126 0%, #b31217 100%);
    border-top-left-radius: 80px;
    z-index: 1;
}

/* Vertical Text */
.leader-vertical-role {
    position: absolute;
    top: 70%;
    left: 30px;
    transform: translateY(-50%) rotate(-90deg);
    transform-origin: left center;
    font-size: 2rem;
    font-weight: 900;
    text-transform: uppercase;
    color: transparent;
    -webkit-text-stroke: 2px rgba(255, 255, 255, 0.25);
    transition: all 0.6s ease;
}

/* Image Layer */
.leader-image-layer {
    position: absolute;
    top: 25px;
    right: 0;
    bottom: 0;
    width: 88%;
    z-index: 2;
    border-top-left-radius: 60px;
    overflow: hidden;
}

.leader-image-layer img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    filter: grayscale(20%);
    transition: all 0.6s ease;
}

/* Info Layer */
.leader-info-layer {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 3;
    padding: 80px 25px 25px;
    background: linear-gradient(
        to top,
        #e82126 15%,
        rgba(232, 33, 38, 0) 100%
    );
    color: #fff;
}

/* Name & Role */
.leader-name {
    margin: 0;
    font-size: 1.8rem;
    font-weight: 700;
}

.leader-designation {
    margin-top: 5px;
    font-size: 1rem;
    opacity: 0.85;
    letter-spacing: 0.5px;
}

/* ================================
   HOVER EFFECTS
================================ */

.leader-card:hover .leader-image-layer img {
    transform: scale(1.1);
    filter: grayscale(0%);
}

.leader-card:hover .leader-vertical-role {
    transform: translateY(-55%) rotate(-90deg);
    letter-spacing: 5px;
    -webkit-text-stroke: 2px rgba(255, 255, 255, 0.5);
}

/* ================================
   RESPONSIVE
================================ */

@media (max-width: 1024px) {
    .leader-wrapper {
        flex-direction: column;
        text-align: center;
        gap: 40px;
    }

    .leader-text {
        text-align: center;
    }
}


/* ======================================================================================================
=================================== HOME OUR TEAM END ===================================================
====================================================================================================== */


/* =========================================
   TESTIMONIALS SECTION (HORIZONTAL SCROLL)
   ========================================= */

/* 1. Section Container */
.testimonials-section {
    padding: 30px 20px;
    background-color: #ffffff;
    font-family: 'Roboto', sans-serif;
    text-align: center;
    position: relative;
    overflow: hidden;
}

/* 2. Header Styles */
.testi-header {
    margin-bottom: 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.testi-title {
    font-size: 32px;
    font-weight: 800;
    text-transform: uppercase;
    color: #222;
    margin: 0;
    letter-spacing: 1px;
}

.testi-separator {
    width: 60px;
    height: 4px;
    background-color: #e82126;
    display: block;
    margin: 10px 0;
    border-radius: 2px;
}

.testi-subtitle {
    font-size: 16px;
    color: #666;
    margin: 0;
}

/* 3. Marquee Wrapper (HORIZONTAL) */
.testi-marquee-wrapper {
    position: relative;
    width: 100%;
    overflow: hidden;
    margin: 0 auto;
}

/* 4. Side Gradients */
.testi-gradient {
    position: absolute;
    top: 0;
    width: 120px;
    height: 100%;
    z-index: 10;
    pointer-events: none;
}

.testi-gradient.top {
    left: 0;
    background: linear-gradient(to right, #f9f9f9 20%, transparent);
}

.testi-gradient.bottom {
    right: 0;
    background: linear-gradient(to left, #f9f9f9 20%, transparent);
}

/* 5. Moving Track (RIGHT → LEFT) */
.testi-marquee-track {
    display: flex;
    width: max-content;
    animation: scrollTesti 75s linear infinite;
}

@keyframes scrollTesti {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}

.testi-marquee-wrapper:hover .testi-marquee-track {
    animation-play-state: paused;
}

/* 6. Grid Group → Horizontal */
.testi-grid-group {
    display: flex;
    gap: 20px;
    padding: 10px 0;
}

/* 7. Card Styling */
.testi-card {
    background: #ffffff;
    border-radius: 16px;
    padding: 20px 15px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
    display: flex;
    flex-direction: row;
    align-items: center;
    text-align: left;
    gap: 15px;
    border-left: 5px solid transparent;
    transition: all 0.3s ease;

    /* IMPORTANT for horizontal scroll */
    min-width: 320px;
    max-width: 320px;
}

.testi-card:hover {
    box-shadow: 0 15px 35px rgba(0,0,0,0.1);
    border-left: 5px solid #e82126;
    transform: translateY(-5px);
}

/* 8. Profile Image */
.testi-profile-img {
    width: 75px;
    height: 75px;
    flex-shrink: 0;
    border-radius: 50%;
    overflow: hidden;
    border: 3px solid #f0f0f0;
    background-color: #eee;
    display: flex;
    align-items: center;
    justify-content: center;
}

.testi-profile-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* 9. Card Details */
.testi-card-details {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.testi-client-name {
    font-size: 15px;
    font-weight: 700;
    color: #222;
    margin: 0 0 5px 0;
}

.testi-feedback {
    font-size: 12px;
    color: #555;
    line-height: 1.5;
    margin: 0 0 8px 0;
    font-style: italic;
}

/* 10. Stars */
.testi-stars {
    display: flex;
    gap: 3px;
}

.testi-stars i {
    font-size: 11px;
    color: #e0e0e0;
}

.testi-stars i.filled {
    color: #ffc107;
}

/* 11. View More Button */
.testi-view-more {
    margin-top: 30px;
    display: flex;
    justify-content: center;
}

.testi-btn {
    background-color: transparent;
    color: #e82126;
    border: 2px solid #e82126;
    padding: 10px 25px;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 50px;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.testi-btn:hover {
    background-color: #e82126;
    color: #ffffff;
    box-shadow: 0 5px 15px rgba(232, 33, 38, 0.3);
}

/* 12. Responsive */
@media (max-width: 900px) {
    .testi-card {
        min-width: 280px;
    }
}

@media (max-width: 600px) {
    .testi-card {
        min-width: 260px;
    }
}





/* ======================================================================================================
=================================== BANNER START ========================================================
====================================================================================================== */

/* --- DESKTOP STYLES (Default) --- */
.banner-video-section {
    position: relative;
    width: 100%;
    height: 180px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    background-color: #fff;
    font-family: Arial, sans-serif;
}

/* Background Video: Right Aligned */
.banner-bg-video {
    position: absolute;
    top: 50%;
    right: 0;               /* Anchored to right */
    transform: translateY(-50%);
    width: 30%;             /* Desktop width */
    height: 90%;
    object-fit: contain;
    z-index: 0;
    opacity: 0.8;
    transition: all 0.3s ease;
}

/* Overlay: Gradient Fade Left (White) to Right (Transparent) */
.banner-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    /* This gradient ensures text is readable on the left */
    background: linear-gradient(to right, #ffffff 45%, rgba(255,255,255,0.1) 100%);
}

/* Content: Left Aligned */
.banner-content {
    position: relative;
    z-index: 2;
    padding-left: 5%;
    width: 50%; /* Restricted width so text doesn't hit video */
}

.banner-title {
    font-size: 3rem;
    font-weight: 800;
    color: #000;
    margin: 0 0 10px 0;
}

.breadcrumbs {
    font-size: 0.9rem;
    color: #666;
}

.breadcrumbs a.home-link {
    text-decoration: none;
    color: #5f6368;
    transition: color 0.3s;
}

.breadcrumbs a.home-link:hover {
    color: #000;
}

.breadcrumbs .separator {
    margin: 0 8px;
    font-size: 1.2rem;
    line-height: 0;
    position: relative;
    top: 2px;
    color: #999;
}

.breadcrumbs .current-page {
    color: #ff6600;
}

/* Bottom Line: Centered, 75% width */
.banner-bottom-line {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 75%;
    height: 1px;
    background-color: #b0b0b0;
    z-index: 10;
}

/* --- TABLET RESPONSIVENESS (1024px and below) --- */
@media (max-width: 1024px) {
    .banner-bg-video {
        width: 50%;         /* Slightly smaller than desktop */
        right: 0;           /* Keep it on the right */
        opacity: 0.6;       /* Lower opacity slightly */
    }
    .banner-content {
        width: 60%;         /* Allow text a bit more space */
    }
}

/* --- MOBILE RESPONSIVENESS (768px and below) --- */
@media (max-width: 768px) {
    .banner-video-section {
        height: 130px;      /* Reduce section height for mobile */
    }

    /* Video: Keep on Right, but Make Small */
    .banner-bg-video {
        width: 45%;         /* Small width for mobile */
        height: 80%;        /* Not full height */
        right: 0px;       /* Push slightly to edge */
        left: auto;         /* Ensure it doesn't try to center */
        top: 50%;
        transform: translateY(-50%);
        opacity: 0.5;       /* Faint visibility */
    }
    
    .banner-overlay {
         /* Strengthen white fade on mobile so text is clear */
        background: linear-gradient(to right, #ffffff 55%, rgba(255,255,255,0.0) 100%);
    }

    .banner-content {
        width: 70%;         /* Text takes up left 70% of screen */
    }

    .banner-title {
        font-size: 2rem;    /* Smaller font size */
    }

    .banner-bottom-line {
        width: 85%;         /* Slightly wider line for small screens */
    }
}

/* ======================================================================================================
=================================== BANNER END ==========================================================
====================================================================================================== */



/* ======================================================================================================
=================================== BLOG START ==========================================================
====================================================================================================== */
/* --- SECTION & CONTAINER STYLES --- */
.cards-section {
    width: 100%;
    padding: 30px 5%;
    background-color: #f9f9f9;
    font-family: Arial, sans-serif;
    box-sizing: border-box;
}

.cards-container {
    display: grid;
    /* Creates 4 equal columns */
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    /* 'align-items: stretch' ensures all cards in a row are the same height */
    align-items: stretch;
}

/* --- INDIVIDUAL CARD STYLES --- */
.card-item {
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);

    /* Using Flexbox to organize content vertically */
    display: flex;
    flex-direction: column;

    /* This is crucial: it makes the card fill the grid cell's full height */
    height: 100%;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}

/* --- IMAGE STYLES (UPDATED) --- */
.card-image {
    width: 100%;
    /* Fixed height is required to keep all cards the same size */
    height: 220px;

    /* Prevents layout shifts */
    flex-shrink: 0;
    overflow: hidden;
    /* Optional: background color for any empty space */
    background-color: #fff;
}

.card-image img {
    width: 100%;
    height: 100%;

    /* --- THE FIX IS HERE --- */
    /* 'contain' ensures the WHOLE image fits inside the box without cropping. */
    /* It will maintain the aspect ratio, so there might be some empty space. */
    object-fit: contain;

    display: block;
    transition: transform 0.3s ease;
}

.card-item:hover .card-image img {
    transform: scale(1.05);
}

/* --- CONTENT AREA (Text & Button) --- */
.card-content {
    padding: 20px;

    /* Flexbox layout for the text area */
    display: flex;
    flex-direction: column;

    /* 'flex-grow: 1' expands this area to fill any remaining space.
       This pushes the button to the bottom. */
    flex-grow: 1;

    text-align: center;
}

.card-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: #333;
    margin: 0 0 20px 0;
    line-height: 1.4;

    /* This pushes the button down to the bottom edge */
    margin-bottom: auto;
}

/* READ MORE Button Styling */
.read-more-btn {
    display: inline-block;
    background-color: #e82126;
    color: #fff;
    text-decoration: none;
    padding: 12px 25px;
    border-radius: 5px;
    font-weight: bold;
    font-size: 0.9rem;
    text-transform: uppercase;
    transition: background-color 0.3s;
    align-self: center;
    /* Adds space above button */
    margin-top: 15px;
}

.read-more-btn:hover {
    background-color: #0c589c;
}

/* --- RESPONSIVE BREAKPOINTS --- */
@media (max-width: 1024px) {
    .cards-container {
        grid-template-columns: repeat(2, 1fr); /* 2 columns on tablets */
    }
}

@media (max-width: 768px) {
    .cards-container {
        grid-template-columns: 1fr; /* 1 column on mobile */
        gap: 20px;
    }

    .cards-section {
        padding: 30px 20px;
    }
}
/* ======================================================================================================
=================================== BLOG END ============================================================
====================================================================================================== */

/* ======================================================================================================
=================================== BLOG CONTENT START ==================================================
====================================================================================================== */
/* --- BLOG DETAIL SECTION WRAPPER --- */
.blog-detail-section {
    width: 100%;
    font-family: Arial, sans-serif;
    color: #333;
    line-height: 1.6;
    background-color: #ffffff; 
    padding-bottom: 50px;
    position: relative; /* Needed for positioning context */
}

/* --- HERO IMAGE CONTAINER --- */
.blog-hero-container {
    position: relative;
    margin: 30px auto; 
    width: 90%; 
    max-width: 1100px; 
    height: auto; 
    background-color: #ffffff; 
    box-shadow: none; 
    border: none;
    border-radius: 10px; 
    overflow: hidden;
}

/* --- HERO IMAGE --- */
.blog-hero-img {
    width: 100%; 
    height: auto; 
    display: block; 
}

/* --- CONTENT WRAPPER --- */
.blog-content-wrapper {
    max-width: 900px; 
    margin: 0 auto; 
    padding: 30px 20px;
    background-color: #ffffff; 
}

/* --- TYPOGRAPHY --- */
.blog-main-title {
    font-size: 2.2rem;
    font-weight: 800;
    color: #222;
    margin-bottom: 30px;
    line-height: 1.3;
    text-align: center;
}

.blog-subtitle {
    font-size: 1.6rem;
    font-weight: 700;
    color: #e82126; /* Color Code */
    margin-top: 40px;
    margin-bottom: 20px;
}

.blog-text {
    font-size: 1.1rem;
    margin-bottom: 20px;
    color: #444;
    text-align: justify; 
}

/* Lists */
.blog-list {
    margin-bottom: 25px;
    padding-left: 20px;
}

.blog-list li {
    font-size: 1.1rem;
    margin-bottom: 10px;
    color: #444;
    list-style-type: disc; 
}

/* Highlight Box */
.blog-highlight-box {
    background-color: #fdf2f2; 
    border-left: 5px solid #e82126;
    padding: 30px;
    margin: 40px 0;
    border-radius: 5px;
}

/* --- FIXED FLOATING BUTTON STYLES --- */
.fixed-back-btn {
    position: fixed; /* This makes it stick to the screen */
    bottom: 30px;    /* 30px from bottom */
    right: 30px;     /* 30px from right */
    z-index: 1000;   /* Ensures it stays on top of everything */
    
    background-color: #e82126; /* Your requested color */
    color: #ffffff;
    
    padding: 15px 25px;
    font-size: 1rem;
    font-weight: bold;
    text-decoration: none;
    border-radius: 50px; /* Pill shape */
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3); /* Drop shadow so it pops out */
    transition: all 0.3s ease;
}

.fixed-back-btn:hover {
    background-color: #0c589c; /* Darker red on hover */
    transform: translateY(-5px); /* Moves up slightly on hover */
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);
}

/* --- RESPONSIVENESS --- */

/* Tablet View */
@media (max-width: 1024px) {
    .blog-hero-container {
        width: 92%; 
        margin-top: 25px;
    }
    .blog-main-title {
        font-size: 1.8rem;
    }
}

/* Mobile View */
@media (max-width: 768px) {
    .blog-hero-container {
        width: 90%; 
        margin-top: 20px;
        border-radius: 10px; 
    }
    
    .blog-content-wrapper {
        padding: 20px;
    }
    
    .blog-main-title {
        font-size: 1.5rem;
        text-align: left; 
    }
    
    .blog-subtitle {
        font-size: 1.3rem;
    }

    .blog-text {
        font-size: 1rem;
        text-align: left; 
    }
    
    /* Adjust Button for Mobile */
    .fixed-back-btn {
        bottom: 20px;
        right: 20px;
        padding: 12px 20px;
        font-size: 0.9rem;
    }
}
/* ======================================================================================================
=================================== BLOG CONTENT END ====================================================
====================================================================================================== */


/* ======================================================================================================
=================================== OUR TEAM START ======================================================
====================================================================================================== */
/* --- LAYOUT CONTAINERS --- */
.team-complete-section {
    padding: 20px 5%;
    background-color: #f5f5f5;
    font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}

/* Chairman Section Layout */
.chairman-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 60px;
    margin-bottom: 80px;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

.chairman-content {
    flex: 1;
    max-width: 600px;
}

.content-heading {
    font-size: 2.2rem;
    color: #e82126;
    margin-bottom: 25px;
    font-weight: 800;
    text-transform: uppercase;
}

.content-text {
    font-size: 1.1rem;
    line-height: 1.8;
    color: #444;
    margin-bottom: 20px;
    text-align: justify;
}

/* Management Team Layout */
.section-heading {
    text-align: center;
    font-size: 2.5rem;
    font-weight: 800;
    color: #333;
    margin-bottom: 50px;
    text-transform: uppercase;
    position: relative;
}

.section-heading::after {
    content: '';
    display: block;
    width: 80px;
    height: 4px;
    background-color: #e82126;
    margin: 10px auto 0;
}

.team-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr); 
    gap: 30px;
    max-width: 1400px;
    margin: 0 auto;
}

.section-divider {
    width: 100%;
    height: 1px;
    background-color: #ddd;
    margin: 50px 0;
}

/* =========================================
   CARD CSS 
   ========================================= */

/* Main Card Container */
.profile-card {
    position: relative;
    width: 100%;
    max-width: 320px;
    height: 400px; 
    background-color: #fff;
    border-radius: 80px 0 20px 20px; 
    overflow: hidden;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
    cursor: pointer;
    margin: 0 auto;
}

/* Used for Chairman to ensure size consistency */
.fixed-card {
    flex-shrink: 0;
    width: 320px;
}

/* --- Layer 1: Background & Vertical Text --- */
.profile-background-layer {
    position: absolute;
    top: 0;
    left: 0;
    width: 85%; 
    height: 100%;
    background: linear-gradient(160deg, #e82126 0%, #b31217 100%);
    border-top-left-radius: 80px;
    z-index: 1;
    overflow: hidden;
}

.vertical-role-text {
    position: absolute;
    top: 70%;
    left: 30px;
    transform: translateY(-50%) rotate(-90deg);
    transform-origin: left center;
    font-size: 2rem;
    font-weight: 900;
    text-transform: uppercase;
    white-space: nowrap;
    color: transparent;
    -webkit-text-stroke: 2px rgba(255, 255, 255, 0.25);
    letter-spacing: 0px;
    transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}

/* --- Layer 2: Image --- */
.profile-image-layer {
    position: absolute;
    top: 25px; 
    right: 0;
    bottom: 0;
    width: 88%; 
    z-index: 2;
    border-top-left-radius: 60px;
    overflow: hidden;
}

.profile-image-layer img {
    width: 100%;
    height: 100%;
    object-fit: cover; 
    object-position: top center; 
    transform: scale(1);
    filter: grayscale(20%); 
    transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}

/* --- Layer 3: Bottom Info --- */
.profile-info-layer {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 3;
    padding: 80px 25px 25px 25px; 
    /* Default Gradient */
    background: linear-gradient(to top, #e82126 15%, rgba(232, 33, 38, 0) 100%);
    color: white;
    transform: translateY(15px);
    opacity: 0.9;
    transition: all 0.5s ease-out;
}

.profile-name {
    margin: 0;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.1;
}

.profile-designation {
    margin: 5px 0 0 0;
    font-size: 1rem;
    font-weight: 400;
    opacity: 0.8;
    letter-spacing: 0.5px;
}

/* --- HOVER ANIMATIONS --- */

/* 1. Zoom Image (Applies to ALL cards, including Chairman) */
.profile-card:hover .profile-image-layer img {
    transform: scale(1.1);
    filter: grayscale(0%);
}

/* 2. Vertical Text Move (Applies to ALL cards) */
.profile-card:hover .vertical-role-text {
    transform: translateY(-55%) rotate(-90deg);
    letter-spacing: 5px;
    -webkit-text-stroke: 2px rgba(255, 255, 255, 0.5);
}

/* --- SPECIFIC RULES: CHAIRMAN CARD (DISABLE HIGHLIGHT) --- */

/* The !important flag ensures this overrides the general hover rules below */
.profile-card.fixed-card:hover .profile-info-layer {
    transform: translateY(15px) !important;
    opacity: 0.9 !important;
    background: linear-gradient(to top, #e82126 15%, rgba(232, 33, 38, 0) 100%) !important;
    padding-top: 80px !important;
}

/* --- HOVER REVEAL: MANAGEMENT TEAM ONLY --- */

/* Details Area (Initially Hidden) */
.hover-details {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: all 0.5s ease-in-out;
    margin-top: 0;
    
    /* SCROLLBAR SUPPORT for long text */
    overflow-y: auto; 
    padding-right: 5px; /* Prevent scrollbar overlapping text */
}

.hover-details p {
    font-size: 0.9rem;
    line-height: 1.4;
    margin-top: 10px;
    color: rgba(255, 255, 255, 0.9);
}

/* Custom Scrollbar Styling for webkit browsers */
.hover-details::-webkit-scrollbar {
    width: 4px;
}
.hover-details::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.5);
    border-radius: 4px;
}

/* On Card Hover (Excluding Chairman): Reveal Content */
.profile-card:not(.fixed-card):hover .profile-info-layer {
    transform: translateY(0px);
    opacity: 1;
    /* Solid gradient on hover to read text */
    background: linear-gradient(to top, #e82126 90%, rgba(232, 33, 38, 0) 100%);
    padding-top: 50px; 
}

.profile-card:not(.fixed-card):hover .hover-details {
    max-height: 320px; 
    opacity: 1;
}

/* --- RESPONSIVENESS --- */
@media (max-width: 1024px) {
    .chairman-wrapper {
        flex-direction: column;
        text-align: center;
        gap: 40px;
    }
    
    .team-grid {
        grid-template-columns: repeat(2, 1fr); 
    }
}

@media (max-width: 768px) {
    .team-grid {
        grid-template-columns: 1fr; 
    }
}
/* ======================================================================================================
=================================== OUR TEAM END ========================================================
====================================================================================================== */

/* ======================================================================================================
=================================== CONTACT US START ====================================================
====================================================================================================== */
/* --- SECTION LAYOUT --- */
.contactpage-section {
    padding-top: 80px; 
    background-color: #f8f9fa;
    font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    color: #333;
    /* IMPORTANT: Do NOT use overflow:hidden here, it breaks sticky */
    overflow: visible; 
}

/* --- MAIN GRID CONTAINER --- */
.contactpage-container {
    display: grid;
    /* Left column 1.2fr, Right column 1fr */
    grid-template-columns: 1.2fr 1fr; 
    gap: 40px;
    max-width: 1300px;
    margin: 0 auto 60px auto;
    padding: 0 5%;
    box-sizing: border-box;
    /* CRITICAL FOR STICKY: This allows columns to have different heights */
    align-items: start; 
}

/* --- LEFT SIDE: SCROLLABLE CONTENT --- */
.contactpage-info-wrapper {
    /* Flows naturally */
    display: flex;
    flex-direction: column;
}

/* --- RIGHT SIDE: STICKY FORM --- */
.contactpage-form-wrapper {
    /* STICKY LOGIC */
    position: -webkit-sticky;
    position: sticky;
    /* Adjust this value based on your Header Height */
    /* 100px usually clears the header nicely */
    top: 100px; 
    
    height: fit-content;
    z-index: 10;
}

/* --- CARDS & STYLING --- */
.contactpage-card {
    background: white;
    padding: 30px;
    border-radius: 8px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
    margin-bottom: 25px;
    border-top: 4px solid #e82126;
}

.contactpage-card-title {
    color: #e82126;
    font-size: 1.4rem;
    margin: 0 0 20px 0;
    font-weight: 700;
    border-bottom: 1px solid #eee;
    padding-bottom: 10px;
}

/* --- ANIMATIONS --- */
.animate-fade-up {
    opacity: 0;
    transform: translateY(40px);
    animation: fadeInUp 0.8s ease forwards;
}

@keyframes fadeInUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.delay-1 { animation-delay: 0.2s; }
.delay-2 { animation-delay: 0.4s; }
.delay-3 { animation-delay: 0.6s; }


/* --- INTERACTIVE ITEMS --- */
.contactpage-item {
    display: flex;
    align-items: flex-start;
    text-decoration: none;
    color: #444;
    margin-bottom: 15px;
    padding: 10px;
    border-radius: 6px;
    transition: all 0.3s ease;
}

.contactpage-item:hover {
    background-color: #f0f7ff;
}

.contactpage-item:hover .contactpage-text-content,
.contactpage-item:hover span {
    color: #0c589c;
}

/* SVG ICONS */
.contactpage-icon-box {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    margin-right: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    fill: #0c589c;
}

.contactpage-icon-box.contactpage-icon-sm {
    width: 24px;
    height: 24px;
    margin-right: 10px;
}

.contactpage-text-content {
    line-height: 1.6;
    font-size: 1rem;
}

.contactpage-links-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 5px;
    margin-top: 15px;
}

.contactpage-links-grid span {
    font-weight: 600;
    font-size: 1.05rem;
    align-self: center;
}

/* Branches Section */
.contactpage-branches-wrapper {
    margin-bottom: 25px;
}

.contactpage-subsection-title {
    font-size: 1.3rem;
    color: #333;
    margin-bottom: 20px;
    padding-left: 10px;
}

.contactpage-branch-item {
    display: flex;
    align-items: flex-start;
    background: white;
    padding: 15px;
    border-radius: 8px;
    margin-bottom: 15px;
    text-decoration: none;
    transition: transform 0.2s, box-shadow 0.2s;
    border-left: 3px solid transparent;
}

.contactpage-branch-item:hover {
    transform: translateX(5px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    border-left: 3px solid #0c589c;
}

.contactpage-branch-content h4 {
    color: #e82126;
    margin: 0 0 5px 0;
    font-size: 1.1rem;
}

.contactpage-branch-content p {
    color: #555;
    margin: 0;
    font-size: 0.9rem;
    line-height: 1.4;
}

.contactpage-partner-names {
    font-weight: 700;
    color: #333;
    margin: 0 0 5px 0;
}

.contactpage-address-text {
    margin: 0;
}

/* --- FORM STYLES --- */
.contactpage-form {
    background: white;
    padding: 40px;
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    border-top: 4px solid #0c589c;
}

.contactpage-form-title {
    color: #0c589c;
    font-size: 1.8rem;
    margin: 0 0 25px 0;
}

/* Status Box */
.contactpage-status-message {
    display: none;
    padding: 15px;
    margin-bottom: 20px;
    border-radius: 5px;
    font-size: 0.95rem;
    font-weight: 600;
    text-align: center;
}
.contactpage-status-message.success { background-color: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
.contactpage-status-message.error { background-color: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; }

.contactpage-form-group { margin-bottom: 20px; }
.contactpage-form-group label { display: block; color: #333; font-weight: 600; margin-bottom: 8px; font-size: 0.9rem; }

/* UPDATED SELECTOR BELOW: Added 'select' */
.contactpage-form-group input, 
.contactpage-form-group textarea, 
.contactpage-form-group select {
    width: 100%; padding: 12px 15px; border: 1px solid #ddd; border-radius: 4px; font-size: 1rem;
    transition: all 0.3s; background-color: #fcfcfc; box-sizing: border-box; font-family: inherit;
    /* Fix for select arrow on some browsers */
    -webkit-appearance: none; -moz-appearance: none; appearance: none;
    /* Add a custom arrow if desired, or remove appearance:none to keep default */
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 15px center;
    background-size: 16px;
}

/* Specific fix for textareas/inputs which shouldn't have the arrow */
.contactpage-form-group input, 
.contactpage-form-group textarea {
    background-image: none;
}

.contactpage-form-group input:focus, 
.contactpage-form-group textarea:focus, 
.contactpage-form-group select:focus {
    border-color: #0c589c; background-color: white; outline: none; box-shadow: 0 0 0 3px rgba(12, 88, 156, 0.1);
}

.contactpage-submit-btn {
    width: 100%; padding: 15px; background-color: #e82126; color: white; border: none; border-radius: 4px;
    font-size: 1.1rem; font-weight: bold; cursor: pointer; text-transform: uppercase; letter-spacing: 1px;
    transition: background-color 0.3s; margin-top: 10px;
}
.contactpage-submit-btn:hover { background-color: #b31217; }

/* --- MAP SECTION --- */
.contactpage-map-container {
    width: 100%; line-height: 0; filter: grayscale(20%); transition: filter 0.3s;
}
.contactpage-map-container:hover { filter: grayscale(0%); }

/* --- RESPONSIVE --- */
@media (max-width: 900px) {
    .contactpage-container {
        grid-template-columns: 1fr; /* Stack on mobile */
        gap: 50px;
    }
    .contactpage-form-wrapper {
        position: static; /* No sticky on mobile */
        order: -1;
    }
}
/* ======================================================================================================
=================================== CONTACT US END ======================================================
====================================================================================================== */

/* ======================================================================================================
=================================== TESTIMONIALS START ==================================================
====================================================================================================== */

/* --- SECTION LAYOUT --- */
.testimonial-page-section {
    padding: 60px 2%; /* Minimized side padding to maximize card width */
    background-color: #f9f9f9;
    font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}

/* --- GRID SYSTEM (4 Cards per Row, Multiple Rows) --- */
.testimonial-row {
    display: grid;
    /* 4 Equal Columns */
    grid-template-columns: repeat(4, 1fr); 
    /* Gap between cards (Horizontal and Vertical) */
    gap: 30px; 
    max-width: 1800px;
    margin: 0 auto;
}

/* --- HORIZONTAL CARD DESIGN --- */
.testimonial-card-horizontal {
    background: white;
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.08);
    overflow: hidden;
    position: relative;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    
    /* Flexbox for Image Left / Content Right */
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    padding: 20px;
    
    /* Red Top Border */
    border-top: 5px solid #e82126; 
    
    /* Ensures equal height in the grid */
    height: 100%; 
    box-sizing: border-box;
}

.testimonial-card-horizontal:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(0,0,0,0.15);
}

/* --- LEFT SIDE: IMAGE --- */
.testimonial-left {
    flex-shrink: 0;
    margin-right: 15px;
}

.testimonial-img-wrapper {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    padding: 2px;
    background: white;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
    border: 2px solid #e82126;
}

.testimonial-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

/* --- RIGHT SIDE: CONTENT --- */
.testimonial-right {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.client-info {
    margin-bottom: 8px;
}

.client-name {
    margin: 0 0 3px 0;
    color: #e82126; /* Red Name */
    font-size: 1.1rem;
    font-weight: 700;
}

.client-location {
    margin: 0;
    color: #888;
    font-size: 0.8rem;
    font-style: italic;
}

/* --- STAR RATING --- */
.star-rating {
    margin-bottom: 10px;
    display: inline-block;
    font-size: 1rem;
    line-height: 1;
}

.star {
    position: relative;
    display: inline-block;
    color: #e0e0e0; 
}

/* Full Star */
.star.full {
    color: #0c589c; 
}

/* Half Star */
.star.half {
    color: #e0e0e0;
}
.star.half::after {
    content: '★';
    position: absolute;
    left: 0;
    top: 0;
    width: 50%;
    overflow: hidden;
    color: #0c589c;
}

/* Feedback Text */
.feedback-text {
    color: #555;
    font-size: 0.9rem;
    line-height: 1.5;
    margin: 0;
    font-style: italic;
}

/* --- RESPONSIVE BREAKPOINTS --- */

/* Large Laptop (1400px): Switch to 3 columns */
@media (max-width: 1400px) {
    .testimonial-row {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* Tablet (1024px): Switch to 2 columns */
@media (max-width: 1024px) {
    .testimonial-row {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Mobile (700px): Switch to 1 column */
@media (max-width: 700px) {
    .testimonial-row {
        grid-template-columns: 1fr;
    }
}

/* ======================================================================================================
=================================== TESTIMONIALS END ====================================================
====================================================================================================== */

/* ======================================================================================================
=================================== GALLERY START =======================================================
====================================================================================================== */
/* ===============================
   Responsive City Grid Layout
================================= */

.city-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* Default: Desktop */
  grid-auto-rows: minmax(120px, 220px);
  gap: 6px;

  max-width: 1200px;
  margin: 50px auto;
  padding: 0 15px;

  font-family: sans-serif;
  box-sizing: border-box;
}

/* Tablet Landscape */
@media (max-width: 1024px) {
  .city-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* Tablet Portrait */
@media (max-width: 768px) {
  .city-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Mobile */
@media (max-width: 480px) {
  .city-grid {
    grid-template-columns: 1fr;
    grid-auto-rows: 200px;
  }
}

/* ===============================
   Grid Items
================================= */

.grid-item {
  position: relative;
  overflow: hidden;
  border-radius: 6px;
  display: block;
  text-decoration: none;
  cursor: pointer;
  color: inherit;
}

/* Image Styling */
.grid-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}

.grid-item:hover img {
  transform: scale(1.05);
}

/* ===============================
   Text Overlay
================================= */

.city-label {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 12px 0;

  background: linear-gradient(to top, rgba(0,0,0,0.8), transparent);

  text-align: center;
  color: white;
  font-weight: 600;

  font-size: clamp(13px, 2.5vw, 18px);
  text-shadow: 0px 2px 4px rgba(0, 0, 0, 0.9);

  pointer-events: none;
  z-index: 2;
}

/* ===============================
   Sizing Classes
================================= */

/* Large Block (2x2) */
.grid-item.big {
  grid-column: span 2;
  grid-row: span 2;
}

/* Wide Block (2x1) */
.grid-item.wide {
  grid-column: span 2;
}

/* Reset spans on small screens */
@media (max-width: 768px) {
  .grid-item.big,
  .grid-item.wide {
    grid-column: span 1;
    grid-row: span 1;
  }
}

/* ======================================================================================================
=================================== GALLERY END =========================================================
====================================================================================================== */

/* ======================================================================================================
=================================== VIDEOS PAGE START ===================================================
====================================================================================================== */
.event-gallery {
  padding: 40px 20px;
  background-color: #f4f4f4;
}

.gallery-container {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  max-width: 1200px;
  margin: 0 auto;
  justify-content: flex-start;
}

.event-card {
  position: relative;
  flex: 0 1 calc(25% - 20px);
  min-width: 260px;
  overflow: hidden;
  border-radius: 10px;
  text-decoration: none;
  box-shadow: 0 6px 15px rgba(0,0,0,0.15);
  transition: transform 0.3s ease;
  background: #000;

  /* ✅ Maintain YouTube Ratio */
  aspect-ratio: 16 / 9;
}

.event-card:hover {
  transform: translateY(-6px);
}

.event-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;   /* Perfect fit */
  display: block;
}

.card-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.85), transparent);
  padding: 20px 10px 12px;
  color: #fff;
  text-align: center;
}

.card-overlay h3 {
  margin: 0;
  font-size: 0.9rem;
  font-family: sans-serif;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Tablet */
@media (max-width: 1024px) {
  .event-card {
    flex: 0 1 calc(50% - 20px);
  }
}

/* Mobile */
@media (max-width: 600px) {
  .event-card {
    flex: 0 1 100%;
  }
}
/* ======================================================================================================
=================================== VIDEOS PAGE END =====================================================
====================================================================================================== */

/* ======================================================================================================
=================================== PHOTOS START =========================================================
====================================================================================================== */

/* --- SECTION LAYOUT --- */
.photopage-section {
    padding: 60px 2%;
    background-color: #f5f5f5;
    font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}

.photopage-header {
    text-align: center;
    margin-bottom: 40px;
}

.photopage-title {
    font-size: 2.5rem;
    color: #e82126; /* Brand Blue */
    text-transform: uppercase;
    font-weight: 800;
    margin-bottom: 10px;
}

.photopage-divider {
    width: 80px;
    height: 4px;
    background-color: #0c589c; /* Brand Red */
    margin: 0 auto;
}

/* --- GRID SYSTEM (5 Columns) --- */
.photopage-grid-container {
    display: grid;
    /* Exactly 5 columns per row */
    grid-template-columns: repeat(5, 1fr);
    gap: 15px; /* Spacing between cards */
    max-width: 1600px;
    margin: 0 auto;
}

/* --- CARD ITEM STYLES --- */
.photopage-item {
    position: relative;
    overflow: hidden;
    border-radius: 6px;
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    background: #fff; /* White background to frame the image */
    height: 220px; /* Fixed height for uniformity */
    
    /* Center the image inside the card */
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px; /* Small padding so image doesn't touch edges */
}

/* Image Styling - NO CUTTING */
.photopage-img {
    width: 100%;
    height: 100%;
    /* 'contain' ensures the WHOLE image is seen within the box. 
       No cropping will happen. */
    object-fit: contain; 
    transition: transform 0.3s ease;
    display: block;
}

/* Hover Effect: Gentle Zoom */
.photopage-item:hover .photopage-img {
    transform: scale(1.05);
}

/* --- LIGHTBOX (MODAL) --- */
.photopage-modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.95);
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.photopage-modal-content {
    position: relative;
    margin: auto;
    max-width: 90%;
    max-height: 85vh;
    display: flex;
    justify-content: center;
}

#photopage-expanded-img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 85vh;
    display: block;
    margin: 0 auto;
    border: 3px solid white;
    box-shadow: 0 0 20px rgba(0,0,0,0.5);
    object-fit: contain; 
}

/* Controls */
.photopage-close-btn {
    position: absolute;
    top: 20px;
    right: 30px;
    color: #fff;
    font-size: 45px;
    font-weight: bold;
    cursor: pointer;
    z-index: 1001;
    line-height: 1;
}
.photopage-close-btn:hover { color: #e82126; }

.photopage-prev, .photopage-next {
    cursor: pointer;
    position: absolute;
    top: 50%;
    width: auto;
    padding: 16px;
    margin-top: -50px;
    color: white;
    font-weight: bold;
    font-size: 35px;
    border-radius: 0 3px 3px 0;
    user-select: none;
    z-index: 1001;
}
.photopage-prev { left: 15px; border-radius: 3px 0 0 3px; }
.photopage-next { right: 15px; border-radius: 3px 0 0 3px; }
.photopage-prev:hover, .photopage-next:hover { background-color: rgba(232, 33, 38, 0.8); }

/* --- RESPONSIVE MEDIA QUERIES --- */

/* Tablet (1024px) -> 3 Columns */
@media (max-width: 1024px) {
    .photopage-grid-container { grid-template-columns: repeat(3, 1fr); }
}

/* Mobile (768px) -> 2 Columns */
@media (max-width: 768px) {
    .photopage-grid-container { grid-template-columns: repeat(2, 1fr); }
    .photopage-item { height: 180px; } /* Slightly smaller on mobile */
}

/* Small Mobile (480px) -> 1 Column */
@media (max-width: 480px) {
    .photopage-grid-container { grid-template-columns: 1fr; }
    .photopage-item { height: 250px; }
}

/* ======================================================================================================
=================================== PHOTOS END ==========================================================
====================================================================================================== */



/* ======================================================================================================
=================================== VIDEOS START ========================================================
====================================================================================================== */

/* --- SECTION LAYOUT --- */
.videopage-section {
    padding: 60px 2%;
    background-color: #f5f5f5;
    font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}

.videopage-header {
    text-align: center;
    margin-bottom: 40px;
}

.videopage-title {
    font-size: 2.5rem;
    color: #e82126; /* Brand Blue */
    text-transform: uppercase;
    font-weight: 800;
    margin-bottom: 10px;
}

.videopage-divider {
    width: 80px;
    height: 4px;
    background-color: #0c589c; /* Brand Red */
    margin: 0 auto;
}

/* --- GRID SYSTEM (5 Columns) --- */
.videopage-grid-container {
    display: grid;
    /* Exactly 5 columns per row */
    grid-template-columns: repeat(5, 1fr);
    gap: 15px; /* Spacing between cards */
    max-width: 1600px;
    margin: 0 auto;
}

/* --- CARD ITEM STYLES --- */
.videopage-item {
    position: relative;
    overflow: hidden;
    border-radius: 6px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    background: #000; /* Black background for video player */
    
    /* Fixed height appropriate for 16:9 video in this column width */
    height: 200px; 
    
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Iframe Styling */
.videopage-frame {
    width: 100%;
    height: 100%;
    border: none;
    display: block;
}

/* Hover Effect: Slight lift */
.videopage-item:hover {
    transform: translateY(-5px);
    transition: transform 0.3s ease;
    box-shadow: 0 8px 20px rgba(0,0,0,0.2);
}

/* --- RESPONSIVE MEDIA QUERIES --- */

/* Laptop/Tablet (1024px) -> 3 Columns */
@media (max-width: 1024px) {
    .videopage-grid-container {
        grid-template-columns: repeat(3, 1fr);
    }
    .videopage-item {
        height: 220px; /* Slightly taller for wider columns */
    }
}

/* Mobile (768px) -> 2 Columns */
@media (max-width: 768px) {
    .videopage-grid-container {
        grid-template-columns: repeat(2, 1fr);
    }
    .videopage-item {
        height: 200px;
    }
}

/* Small Mobile (480px) -> 1 Column */
@media (max-width: 480px) {
    .videopage-grid-container {
        grid-template-columns: 1fr;
    }
    .videopage-item {
        height: 240px; /* Taller for mobile view */
    }
}

/* ======================================================================================================
=================================== VIDEOS END ==========================================================
====================================================================================================== */

/* ======================================================================================================
=================================== ABOUT US PAGE START =================================================
====================================================================================================== */
.aboutpage-agency-section {
    padding: 60px 5%;
    background-color: #ffffff;
    font-family: Arial, sans-serif;
    overflow: hidden;
}

.aboutpage-container {
    max-width: 1200px;
    margin: 0 auto;
}

/* Scroll Reveal */
.aboutpage-reveal-element {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s ease-out;
}

.aboutpage-reveal-element.active {
    opacity: 1;
    transform: translateY(0);
}

.aboutpage-delay-1 { transition-delay: 0.1s; }
.aboutpage-delay-2 { transition-delay: 0.2s; }
.aboutpage-delay-3 { transition-delay: 0.3s; }
.aboutpage-delay-4 { transition-delay: 0.4s; }

/* Header */
.aboutpage-header-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    margin-bottom: 40px;
    align-items: start;
}

.aboutpage-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 20px;
    background: #fff;
    border-radius: 50px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    font-weight: 700;
    color: #0c589c;
    font-size: 0.75rem;
}

.aboutpage-badge::before,
.aboutpage-badge::after {
    content: '';
    width: 5px;
    height: 5px;
    background: #e82126;
    border-radius: 50%;
}

.aboutpage-main-title {
    font-size: clamp(1.5rem, 4vw, 2.5rem);
    font-weight: 800;
    color: #1a1a1a;
    margin: 15px 0 0 0;
}

.aboutpage-highlight-red { color: #e82126; }

.aboutpage-text-col p {
    color: #555;
    line-height: 1.6;
    font-size: 0.9rem;
    margin: 0;
    text-align: justify;
}

/* Features */
.aboutpage-features-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 40px;
}

.aboutpage-feature-card {
    background: #fff;
    padding: 20px;
    border-radius: 12px;
    transition: 0.3s;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
    display: flex;
    gap: 12px;
    border-bottom: 3px solid transparent;
}

.aboutpage-feature-card:hover {
    transform: translateY(-5px);
    border-bottom-color: #0c589c;
}

.aboutpage-icon-circle {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #fff;
}

.aboutpage-red-icon { background: #e82126; }
.aboutpage-blue-icon { background: #0c589c; }

.aboutpage-feature-info h3 {
    font-size: 0.9rem;
    font-weight: 700;
    margin-bottom: 5px;
}

.aboutpage-feature-info p {
    font-size: 0.8rem;
    color: #666;
    line-height: 1.4;
    text-align: justify;
}

/* Visuals */
.aboutpage-visuals-row {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    margin-bottom: 40px;
}

.aboutpage-main-image-wrapper {
    width: 65%;
    height: 100%;
    border-radius: 15px;
    overflow: hidden;
    position: absolute;
    left: 0;
    top: 0;
}

.aboutpage-main-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.aboutpage-overlay-stat-card {
    position: absolute;
    right: 0;
    top: 100px;
    width: 40%;
    height: 55%;
    border: 6px solid #fff;
    border-radius: 15px;
    box-shadow: 0 15px 35px rgba(0,0,0,0.2);
    overflow: hidden;
    background: #000;
    z-index: 5;
}

.aboutpage-card-bg-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
}

.aboutpage-video-text-overlay {
    position: absolute;
    inset: 0;
    background: rgba(255,255,255,0.93);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.aboutpage-stat-number-outline {
    font-size: clamp(1.2rem, 5vw, 3.5rem);
    font-weight: 900;
    color: #0c589c;
}

.aboutpage-logo-stat-img-small {
    width: clamp(60px, 15vw, 150px);
    margin: 10px auto;
    display: block;
}

.aboutpage-force-text {
    font-size: clamp(1rem, 4vw, 2.2rem);
    font-weight: 800;
    color: #e82126;
    letter-spacing: 3px;
}

/* Footer */
.aboutpage-footer-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    margin-top: 30px;
}

.aboutpage-footer-row p {
    font-size: 0.9rem;
    color: #555;
    line-height: 1.7;
    text-align: justify;
}

/* Mobile */
@media (max-width: 768px) {
    .aboutpage-header-row,
    .aboutpage-features-row,
    .aboutpage-footer-row {
        grid-template-columns: 1fr;
    }

    .aboutpage-visuals-row {
        aspect-ratio: 1 / 1.1;
        margin-bottom: 20px;
    }

    .aboutpage-overlay-stat-card {
        top: auto;
        bottom: 0;
        width: 60%;
        height: 50%;
    }
}


/* ======================================================================================================
=================================== ABOUT US PAGE END ===================================================
====================================================================================================== */

/* ======================================================================================================
=================================== ABOUT US PAGE VISSION AND MISSION START =============================
====================================================================================================== */
.vm-section {
  padding: 50px 20px;
  background-color: #fff;
  display: flex;
  justify-content: center;
}

.vm-wrapper {
  display: flex;
  width: 100%;
  max-width: 1100px;
  gap: 20px;
  height: 300px; /* Controlled height for desktop */
  transition: height 0.3s ease;
}

.vm-card {
  position: relative;
  flex: 1;
  background-color: #e82126;
  border: 1px solid #e82126;
  border-radius: 30px;
  padding: 40px;
  overflow: hidden;
  cursor: pointer;
  display: flex;
  transition: all 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}

/* Pattern only on Red Background */
.vm-pattern {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  opacity: 0.15;
  background-image: radial-gradient(#fff 1px, transparent 1px);
  background-size: 15px 15px;
  transition: opacity 0.4s;
  pointer-events: none;
}

/* Active State Styles */
.vm-card.active {
  flex: 2.5;
  background-color: #ffffff;
}

.vm-card.active .vm-pattern {
  opacity: 0; /* Hides pattern when white */
}

.vm-inner {
  position: relative;
  z-index: 2;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.vm-heading {
  margin: 0;
  font-family: sans-serif;
  font-weight: 800;
  font-size: 28px;
  color: #fff;
  transition: color 0.4s;
}

.vm-card.active .vm-heading {
  color: #e82126;
}

.vm-body {
  margin-top: 20px;
  opacity: 0;
  max-height: 0;
  transition: opacity 0.4s ease, max-height 0.4s ease;
}

.vm-card.active .vm-body {
  opacity: 1;
  max-height: 250px;
}

.vm-body p {
  color: #0c589c; /* Blue color from your requirement */
  font-size: 17px;
  line-height: 1.6;
  margin: 0;
}

.vm-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* Toggle Read More visibility */
.vm-read-text {
  color: #fff;
  font-weight: 700;
  font-family: sans-serif;
  transition: opacity 0.3s;
}

.vm-card.active .vm-read-text {
  opacity: 0; /* Hidden when card is open */
  visibility: hidden;
}

.vm-btn {
  width: 45px;
  height: 45px;
  background-color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.4s;
}

.vm-btn .vm-arrow {
  font-size: 20px;
  color: #333;
  transform: rotate(-45deg); /* Pointing up-right like your image */
  transition: 0.4s;
}

.vm-card.active .vm-btn {
  background-color: #e82126;
}

.vm-card.active .vm-btn .vm-arrow {
  color: #fff;
  transform: rotate(0deg); /* Points right when open */
}

/* MOBILE RESPONSIVE */
@media (max-width: 768px) {
  .vm-wrapper {
    flex-direction: column;
    height: auto;
    min-height: 600px;
  }
  .vm-card {
    padding: 25px;
  }
  .vm-card.active {
    flex: 4;
  }
}
/* ======================================================================================================
=================================== ABOUT US PAGE VISSION AND MISSION END ===============================
====================================================================================================== */


/* ======================================================================================================
=================================== ABOUT US PAGE OUR PROJECT START =====================================
====================================================================================================== */
.projects-section {
  position: relative;
  padding: 80px 10px;
  /* Set to auto so it grows if boxes wrap on mobile */
  height: auto;
  min-height: 65vh;
  background-image: url('../images/2151893445.jpg');
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  font-family: sans-serif;
}

/* White translucent layer */
.overlay {
  position: absolute;
  top: 0; 
  left: 0; 
  width: 100%; 
  height: 100%;
  background: rgba(255, 255, 255, 0.85);
  z-index: 1;
}

.projects-heading {
  position: relative;
  z-index: 2;
  color: #e82126;
  font-size: clamp(1.8rem, 4vw, 3rem); /* Smooth font scaling */
  margin-bottom: 60px;
  text-transform: uppercase;
  letter-spacing: 2px;
  text-align: center;
}

.rhombus-grid {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 100vw;
}

.rhombus-row {
  display: flex;
  justify-content: center;
  flex-wrap: wrap; /* Critical for mobile: allows boxes to move down if no space */
  width: 100%;
  margin-top: -55px; /* Default overlap */
}

/* Ensure the first row doesn't have a negative top margin */
.rhombus-row:first-of-type {
  margin-top: 0;
}

.rhombus {
  width: 110px;
  height: 110px;
  background: #ffffff;
  margin: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s ease, background 0.3s ease;
  cursor: pointer;
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
  text-decoration: none;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.rhombus img {
  width: 60%;
  height: auto;
  object-fit: contain;
}

.rhombus:hover {
  transform: scale(1.1);
  z-index: 10;
  background: #fdfdfd;
}

/* --- Responsive Heights & Sizes --- */

/* Desktop / Tablet */
@media (max-width: 1024px) {
  .rhombus {
    width: 100px;
    height: 100px;
  }
  .rhombus-row {
    margin-top: -50px;
  }
}

/* Mobile Devices (Phones) */
@media (max-width: 768px) {
  .projects-section {
    padding: 60px 5px;
  }
  .rhombus {
    width: 80px;
    height: 80px;
    margin: 3px;
  }
  .rhombus-row {
    margin-top: -40px;
  }
  .projects-heading {
    margin-bottom: 40px;
  }
}

/* Small Phones (Ensures 7 items don't break the screen) */
@media (max-width: 480px) {
  .rhombus {
    width: 60px;
    height: 60px;
    margin: 2px;
  }
  .rhombus-row {
    margin-top: -30px;
  }
}

/* ======================================================================================================
=================================== ABOUT US PAGE OUR PROJECT END =======================================
====================================================================================================== */


/* ======================================================================================================
=================================== OUR GLLERY PROJECT VIDEO START ======================================
====================================================================================================== */

.project-video-section {
    padding: 60px 20px;
    background: #f7f9fc;
}

/* FILTER BUTTONS */
.project-filter {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-bottom: 40px;
}

.filter-btn {
    padding: 12px 28px;
    border: 2px solid #0c589c;
    background: transparent;
    color: #0c589c;
    font-weight: 600;
    cursor: pointer;
    border-radius: 6px;
    transition: 0.3s;
}

.filter-btn.active,
.filter-btn:hover {
    background: #0c589c;
    color: #fff;
}

/* SECTION HEADING */
.section-heading {
    font-size: 22px;
    font-weight: 700;
    margin: 40px 0 20px;
    padding-left: 15px;
    display: none;
}

/* GRID */
.video-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

/* CARD */
.video-card {
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 8px 25px rgba(0,0,0,0.08);
}

/* VIDEO */
.video-frame iframe {
    width: 100%;
    height: 200px;
    border: none;
}

/* TEXT */
.video-title {
    text-align: center;
    font-weight: 700;
    margin: 15px 0 5px;
    font-size: 15px;
}

.video-subtitle {
    text-align: center;
    font-size: 14px;
    color: #666;
    padding-bottom: 15px;
}

/* RESPONSIVE */
@media (max-width: 1200px) {
    .video-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 900px) {
    .video-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 500px) {
    .video-grid { grid-template-columns: 1fr; }
}


/* ======================================================================================================
=================================== OUR GLLERY PROJECT VIDEO END ========================================
====================================================================================================== */


/* ======================================================================================================
=================================== PP & TC START =======================================================
====================================================================================================== */
.pptc-wrapper {
    background-color: #ffffff;
    padding: 20px 20px;
    font-family: 'Open Sans', Arial, sans-serif;
    line-height: 1.8;
    color: #333;
}

.pptc-container {
    max-width: 900px;
    margin: 0 auto;
}

/* Centered Title */
.pptc-main-title {
    font-size: 36px;
    font-weight: 700;
    color: #1a1a1a;
    text-align: center;
    margin-bottom: 10px;
    padding-bottom: 10px;
}

/* Left Aligned Content */
.pptc-intro-section, 
.pptc-body-content {
    text-align: left;
}

.pptc-section-heading {
    color: #e31e24; /* Brand Red */
    font-size: 24px;
    font-weight: 600;
    margin-top: 15px;
    margin-bottom: 5px;
}

.pptc-list {
    list-style: none;
    padding: 0;
    margin: 15px 0 25px 0;
}

.pptc-list li {
    position: relative;
    padding-left: 25px;
    margin-bottom: 5px;
    font-size: 16px;
}

.pptc-list li::before {
    content: "•";
    color: #e31e24;
    font-weight: bold;
    font-size: 22px;
    position: absolute;
    left: 0;
    top: -4px;
}

.pptc-link {
    color: #e31e24;
    text-decoration: none;
    font-weight: 600;
}

.pptc-link:hover {
    text-decoration: underline;
}

/* Highlight Box */
.pptc-summary-highlight {
    background-color: #fffafa;
    border-left: 5px solid #e31e24;
    padding: 15px;
    margin: 20px 0;
    border-radius: 0 4px 4px 0;
}

.pptc-summary-title {
    color: #e31e24;
    font-size: 20px;
    font-weight: 700;
    margin-top: 0;
    margin-bottom: 15px;
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
    .pptc-main-title { font-size: 28px; }
    .pptc-section-heading { font-size: 20px; }
    .pptc-wrapper { padding: 40px 15px; }
}

/* ======================================================================================================
=================================== PP & TC END =========================================================
====================================================================================================== */

.pro-executive-section {
    --primary: #0c589c;    
    --accent: #e82126;     
    --text-main: #334155;
    --text-muted: #64748b;
    --bg-light: #f8fafc;

    padding: 60px 5%;
    background-color: #ffffff;
    font-family: 'Inter', sans-serif;
    position: relative;
    overflow: hidden;
    display: flex;
    justify-content: center;
}

/* --- RUNNING BACKGROUND ANIMATIONS --- */
.pro-bg-layer {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}

/* Moving Grid Animation */
.bg-grid-flow {
    position: absolute;
    width: 200%; height: 200%;
    top: -50%; left: -25%;
    background-image: 
        linear-gradient(to right, rgba(12, 88, 156, 0.03) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(12, 88, 156, 0.03) 1px, transparent 1px);
    background-size: 50px 50px;
    transform: rotate(-15deg);
    animation: slideGrid 60s linear infinite;
}

/* Soft Glow Orbs */
.bg-gradient-glow {
    position: absolute;
    width: 600px; height: 600px;
    background: radial-gradient(circle, rgba(12, 88, 156, 0.05) 0%, transparent 70%);
    top: -10%; right: -10%;
    animation: pulseGlow 10s ease-in-out infinite alternate;
}

/* Floating Particles */
.floating-particle {
    position: absolute;
    background: var(--accent);
    border-radius: 50%;
    opacity: 0.1;
    animation: floatUp 20s infinite linear;
}
.p-small { width: 10px; height: 10px; left: 10%; animation-duration: 25s; }
.p-medium { width: 30px; height: 30px; left: 80%; animation-delay: -5s; }
.p-large { width: 50px; height: 50px; left: 40%; opacity: 0.05; animation-duration: 35s; }

@keyframes slideGrid {
    from { transform: rotate(-15deg) translateY(0); }
    to { transform: rotate(-15deg) translateY(500px); }
}

@keyframes pulseGlow {
    from { transform: scale(1); opacity: 0.4; }
    to { transform: scale(1.2); opacity: 0.6; }
}

@keyframes floatUp {
    0% { transform: translateY(110vh) scale(0); opacity: 0; }
    50% { opacity: 0.2; }
    100% { transform: translateY(-10vh) scale(1.2); opacity: 0; }
}

/* --- LAYOUT & TYPOGRAPHY --- */
.pro-container {
    max-width: 1100px;
    display: grid;
    grid-template-columns: 4fr 8fr;
    gap: 50px;
    align-items: center;
    position: relative;
    z-index: 1;
}

.pro-image-wrapper {
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(0,0,0,0.1);
}

.pro-main-img {
    width: 100%;
    display: block;
}

.pro-eyebrow {
    font-size: 11px;
    font-weight: 700;
    color: white;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 5px;
    display: block;
}

.pro-main-title {
    font-family: 'Playfair Display', serif;
    font-size: 36px;
    color: var(--primary);
    margin: 0;
}

.pro-subtitle {
    font-size: 16px;
    color: var(--text-muted);
    margin: 5px 0 25px 0;
}

.pro-lead-text {
    font-size: 16px;
    line-height: 1.5;
    color: var(--text-main);
    border-left: 3px solid var(--accent);
    padding-left: 20px;
    margin-bottom: 20px;
}

.pro-standard-text p {
    font-size: 14.5px;
    color: var(--text-muted);
    line-height: 1.5;
    margin-bottom: 15px;
}

.pro-quote-box {
    background: var(--bg-light);
    padding: 20px;
    border-radius: 8px;
    font-style: italic;
}

/* --- FOOTER --- */
.pro-footer {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-top: 30px;
}

.name-line {
    width: 40px; height: 2px;
    background: var(--accent);
    margin-bottom: 10px;
}

.pro-signature-area h3 {
    font-family: 'Playfair Display', serif;
    font-size: 22px;
    color: var(--primary);
    margin: 0;
}

.pro-experience-badge {
    background: var(--primary);
    color: white;
    padding: 10px 20px;
    display: flex;
    align-items: center;
    gap: 15px;
    border-radius: 4px;
}

.badge-number {
    font-family: 'Playfair Display', serif;
    font-size: 24px;
    font-weight: 700;
    border-right: 1px solid rgba(255,255,255,0.3);
    padding-right: 15px;
}

.badge-text {
    font-size: 9px;
    text-transform: uppercase;
    line-height: 1.2;
}

/* Responsive Fix */
@media (max-width: 992px) {
    .pro-container { grid-template-columns: 1fr; gap: 30px; }
    .pro-footer { flex-direction: column; align-items: flex-start; gap: 20px; }
}