/* ==================== ROOT VARIABLES ==================== */
:root {
    --primary: #1a365d;
    --secondary:#65AF38;
    --accent: #e53e3e;
    --dark: #0f172a;
    --light: #f8fafc;
    --gray: #64748b;
    --gradient: linear-gradient(135deg, #1a365d 0%, #2c5282 50%, #1a365d 100%);
    --text:#e8eaed;--muted:#7a7f8e;
    --bg:#0d0f12;--card:#1a1d22;--border:#646a7b;
    --secondary:#65AF38;--secondary2:#65AF38;
    --r:4px;
	
	 /* Typography Scale */
            --fs-xs: 0.75rem;
            --fs-sm: 0.875rem;
            --fs-base: 1rem;
            --fs-lg: 1.125rem;
            --fs-xl: 1.25rem;
            --fs-2xl: 1.5rem;
            --fs-3xl: 1.875rem;
            --fs-4xl: 2.25rem;
            --fs-5xl: 3rem;
            
            /* Spacing Scale */
            --space-1: 0.25rem;
            --space-2: 0.5rem;
            --space-3: 0.75rem;
            --space-4: 1rem;
            --space-5: 1.25rem;
            --space-6: 1.5rem;
            --space-8: 2rem;
            --space-10: 2.5rem;
            --space-12: 3rem;
            --space-16: 4rem;
            --space-20: 5rem;
}

/* ==================== GLOBAL RESET ==================== */
* { margin:0; padding:0; box-sizing:border-box; }

body {
    font-family:'Inter',sans-serif;
    overflow-x:hidden;
    font-size:15px;
    line-height:1.6;
}

h1,h2,h3,h4,h5,h6 {
    font-family:'Space Grotesk',sans-serif;
    line-height:1.2;
}

img { max-width:100%; height:auto; display:block; }

/* ==================== CUSTOM SCROLLBAR ==================== */
::-webkit-scrollbar { width:8px; }
::-webkit-scrollbar-track { background:var(--dark); }
::-webkit-scrollbar-thumb { background:var(--secondary); border-radius:4px; }

/* ==================== CONTAINER ==================== */
.container { max-width:1200px; margin:0 auto; }

@media(min-width:1400px){ .container { max-width:1320px; } }
@media(max-width:991.98px){ .container { padding:0 20px; } }
@media(max-width:767.98px){ .container { padding:0 16px; } }

/* ==================== PRELOADER ==================== */
.preloader {
    position:fixed; inset:0; background:var(--dark);
    display:flex; flex-direction:column;
    justify-content:center; align-items:center;
    z-index:9999; transition:opacity 0.6s ease,visibility 0.6s ease;
}
.preloader.hidden { opacity:0; visibility:hidden; }

.preloader-logo {
    font-size:clamp(1.5rem,4vw,2.25rem);
    font-weight:700; color:white; margin-bottom:1.75rem;
    font-family:'Space Grotesk',sans-serif;
}
.preloader-logo span { color:var(--secondary); }

.preloader-bar {
    width:200px; height:3px;
    background:rgba(255,255,255,0.1); border-radius:3px; overflow:hidden;
}
.preloader-bar::after {
    content:''; display:block; width:40%; height:100%;
    background:var(--secondary); border-radius:3px;
    animation:loading 1s ease-in-out infinite;
}
@keyframes loading {
    0%{transform:translateX(-100%)}
    100%{transform:translateX(350%)}
}

/* ==================== NAVIGATION ==================== */
.navbar { transition:all 0.4s ease; padding:0.65rem 0; z-index:1000;background:linear-gradient(135deg,rgb(15, 23, 42) 0%,rgba(26,54,93,0.65) 50%,rgba(15,23,42,0.55) 100%) }

.navbar.scrolled {
    background:rgba(15,23,42,0.95);
    backdrop-filter:blur(20px);
    padding:0.6rem 0;
    box-shadow:0 10px 40px rgba(0,0,0,0.2);
}

.navbar-brand {
    font-size:clamp(1.1rem,3vw,1.6rem);
    font-weight:700; color:white !important;
    letter-spacing:-0.5px; transition:all 0.3s ease;
}
.navbar-brand img { max-width:200px; transition:all 0.3s ease; }
.navbar.scrolled .navbar-brand img { max-width:150px; }
.navbar-brand span { color:var(--secondary); }

.nav-link {
    color:rgba(255,255,255,0.85) !important;
    font-weight:500; font-size:0.875rem;
    margin:0 0.3rem; padding:0.45rem 0.8rem !important;
    transition:all 0.3s ease;
}
.nav-link:hover,.nav-link.active { color:var(--secondary) !important; }

.navbar-toggler {
    border:none; padding:0;
    width:30px; height:24px; position:relative;
}
.navbar-toggler:focus { box-shadow:none; }
.navbar-toggler span {
    display:block; width:100%; height:2px;
    background:white; position:absolute; left:0; transition:all 0.3s ease;
}
.navbar-toggler span:nth-child(1){ top:0; }
.navbar-toggler span:nth-child(2){ top:11px; }
.navbar-toggler span:nth-child(3){ bottom:0; }

@media(max-width:991.98px){
    .navbar { padding:0.8rem 0; }
    .navbar.scrolled { padding:4px 0; }
    .navbar-brand img { max-width:145px; }
    .navbar.scrolled .navbar-brand img { max-width:120px; }
    .navbar-collapse {
        background:rgba(15,23,42,0.98);
        padding:0; border-radius:12px; margin-top:0.85rem;
    }
    .nav-link {
        padding:0.7rem 0 !important;
        border-bottom:1px solid rgba(255,255,255,0.05);
    }
    .navbar .btn { width:100% !important; }
}

/* ==================== HERO SECTION ==================== */
.hero {
    position:relative; height:100vh;
    min-height:560px; max-height:900px;
    overflow:hidden; display:flex; align-items:center;
}
.hero-video-bg { position:absolute; inset:0; z-index:-2; }
.hero-video-bg video { width:100%; height:100%; object-fit:cover; }
.hero-overlay {
    position:absolute; inset:0;
    background:linear-gradient(135deg,rgba(15,23,42,0.90) 0%,rgba(26,54,93,0.75) 50%,rgba(15,23,42,0.80) 100%);
    z-index:-1;
}
.hero-content { position:relative; z-index:2; }

.hero-subtitle {
    display:inline-flex; align-items:center; gap:0.55rem;
    color:var(--secondary);
    font-size:clamp(0.7rem,2vw,0.875rem);
    font-weight:600; letter-spacing:2px; text-transform:uppercase;
    margin-bottom:0.65rem; opacity:0;
    animation:fadeUp 0.8s ease forwards;
}
.hero-subtitle::before { content:''; width:28px; height:2px; background:var(--secondary); }

.hero-title {
    font-size:clamp(1.75rem,5vw,3.5rem);
    font-weight:700; color:white; line-height:1.1;
    margin-bottom:0.85rem; opacity:0;
    animation:fadeUp 0.8s ease 0.2s forwards;
}
.hero-title .highlight { color:var(--secondary); }

.hero-description {
    font-size:clamp(0.875rem,2vw,1rem);
    color:rgba(255,255,255,0.8); max-width:540px;
    line-height:1.7; margin-bottom:1.35rem; opacity:0;
    animation:fadeUp 0.8s ease 0.4s forwards;
}

.hero-buttons {
    display:flex; gap:0.85rem; flex-wrap:wrap;
    opacity:0; animation:fadeUp 0.8s ease 0.6s forwards;
}

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

/* Hero Side Info */
.hero-side-info {
    position:absolute; right:20px; bottom:20px;
    z-index:10; display:flex; flex-direction:column; gap:1.25rem;
}
.hero-stat { text-align:right; opacity:0; animation:fadeLeft 0.8s ease forwards; }
.hero-stat:nth-child(1){ animation-delay:0.8s; }
.hero-stat:nth-child(2){ animation-delay:1s; }
.hero-stat:nth-child(3){ animation-delay:1.2s; }
.hero-stat h3 {
    font-size:clamp(1.5rem,4vw,2.25rem);
    font-weight:700; color:var(--secondary); line-height:1; margin-bottom:0.2rem;
}
.hero-stat p {
    color:rgba(255,255,255,0.6);
    font-size:clamp(0.65rem,1.5vw,0.8rem);
    margin:0; text-transform:uppercase; letter-spacing:1px;
}
@keyframes fadeLeft {
    from{ opacity:0; transform:translateX(30px); }
    to{ opacity:1; transform:translateX(0); }
}

/* Hero Slider Nav */
.hero-slider-nav {
    position:absolute; bottom:2.5rem; left:50%;
    transform:translateX(-50%); display:flex; gap:0.5rem; z-index:10;
}
.hero-slider-dot {
    width:36px; height:4px; background:rgba(255,255,255,0.3);
    border:none; border-radius:2px; cursor:pointer;
    transition:all 0.4s ease; position:relative; overflow:hidden;
}
.hero-slider-dot::after {
    content:''; position:absolute; top:0; left:0;
    height:100%; width:0; background:var(--secondary);
}
.hero-slider-dot.active::after { animation:progress 6s linear forwards; }
@keyframes progress{ from{width:0} to{width:100%} }

/* Scroll Indicator */
.scroll-indicator {
    position:absolute; bottom:2.25rem; left:2.25rem;
    display:flex; align-items:center; gap:0.65rem;
    color:rgba(255,255,255,0.6);
    font-size:0.7rem; text-transform:uppercase; letter-spacing:1.5px; z-index:10;
}
.scroll-line {
    width:46px; height:1px; background:rgba(255,255,255,0.3);
    position:relative; overflow:hidden;
}
.scroll-line::after {
    content:''; position:absolute; width:22px; height:100%;
    background:var(--secondary); animation:scrollLine 2s ease-in-out infinite;
}
@keyframes scrollLine{
    0%,100%{transform:translateX(-100%)}
    50%{transform:translateX(200%)}
}

@media(max-width:991.98px){
    .hero{ min-height:500px; }
    .hero-side-info{ display:none; }
    .scroll-indicator{ left:50%; transform:translateX(-50%); }
}
@media(max-width:767.98px){
    .hero{ min-height:460px; }
    .hero-slider-nav{ bottom:1.75rem; }
    .hero-slider-dot{ width:26px; }
    .scroll-indicator{ display:none; }
    .hero-buttons{ flex-direction:column; width:100%; }
}

/* ==================== BUTTONS ==================== */
.btn-primary-custom {
    background:var(--secondary); color:var(--dark);
    border:none; padding:0.8rem 1.6rem;
    font-weight:600; font-size:0.875rem; border-radius:6px;
    transition:all 0.3s ease; display:inline-flex;
    align-items:center; justify-content:center; gap:0.5rem;
    text-decoration:none; cursor:pointer;
}
.btn-primary-custom:hover {
    background:var(--secondary);opacity:0.8; color:var(--dark);
    transform:translateY(-2px);
    box-shadow:0 10px 28px rgba(201,162,39,0.3);
}

.btn-outline-light-custom {
    background:transparent; color:white;
    border:2px solid rgba(255,255,255,0.3);
    padding:0.75rem 1.6rem; font-weight:600; font-size:0.875rem;
    border-radius:6px; transition:all 0.3s ease;
    display:inline-flex; align-items:center; justify-content:center;
    gap:0.5rem; text-decoration:none;
}
.btn-outline-light-custom:hover {
    background:white; color:var(--dark); border-color:white;
}

.btn-dark-custom {
    background:var(--dark); color:white; border:none;
    padding:0.8rem 1.6rem; font-weight:600; font-size:0.875rem;
    border-radius:6px; transition:all 0.3s ease;
    display:inline-flex; align-items:center; justify-content:center;
    gap:0.5rem; text-decoration:none;
}
.btn-dark-custom:hover {
    background:var(--primary); color:white; transform:translateY(-2px);
}

@media(max-width:767.98px){
    .btn-primary-custom,
    .btn-outline-light-custom,
    .btn-dark-custom {
        padding:0.7rem 1.35rem; font-size:0.825rem; width:auto;
    }
}

/* ==================== SECTION HEADERS ==================== */
.section-header { text-align:center; margin-bottom:2.75rem; }

.section-tag {
    display:inline-flex; align-items:center; gap:0.65rem;
    color:var(--secondary); font-weight:600;
    text-transform:uppercase; letter-spacing:2px;
    font-size:0.75rem; margin-bottom:0.65rem;
}
.section-tag::before,.section-tag::after {
    content:''; width:26px; height:2px; background:var(--secondary);
}

.section-title {
    font-size:clamp(1.5rem,4vw,2.35rem);
    font-weight:700; color:var(--dark); margin-bottom:0.85rem;
}
.section-title.text-white { color:white; }
.text-muted b { color:#000; opacity:1; }

@media(max-width:767.98px){
    .section-header{ margin-bottom:2rem; }
    .section-tag::before,.section-tag::after{ width:18px; }
}

/* ==================== STATS SECTION ==================== */
.stats-section {
    padding:3.5rem 0;
    background:var(--gradient); position:relative; overflow:hidden;
}
.stats-section::before {
    content:''; position:absolute; inset:0;
    background:url('data:image/svg+xml,<svg width="60" height="60" viewBox="0 0 60 60" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><g fill="%23ffffff" fill-opacity="0.03"><path d="M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z"/></g></g></svg>');
}
.stats-section::after {
    content:''; position:absolute; top:-50%; right:-20%;
    width:500px; height:500px;
    background:radial-gradient(circle,rgba(97, 201, 39, 0.1) 0%,transparent 70%);
    border-radius:50%;
}
.stats-container { position:relative; z-index:1; }

.stat-box {
    text-align:center; padding:1.25rem 1rem;
    position:relative; transition:all 0.4s ease;
}
.stat-box::after {
    content:''; position:absolute; right:0; top:50%;
    transform:translateY(-50%); width:1px; height:60%;
    background:linear-gradient(to bottom,transparent,rgba(255,255,255,0.2),transparent);
}
.stat-box:last-child::after { display:none; }

.stat-icon {
    width:60px; height:60px; margin:0 auto 1rem;
    background:rgba(201,162,39,0.15); border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    font-size:1.5rem; color:var(--secondary); position:relative; transition:all 0.4s ease;
}
.stat-icon::before {
    content:''; position:absolute; inset:-5px; border-radius:50%;
    border:2px dashed rgba(201,162,39,0.3);
    animation:rotate 20s linear infinite;
}
@keyframes rotate{
    from{transform:rotate(0deg)} to{transform:rotate(360deg)}
}
.stat-box:hover .stat-icon {
    background:var(--secondary); color:var(--dark);
    transform:scale(1.1); box-shadow:0 10px 36px rgba(201,162,39,0.4);
}
.stat-box:hover .stat-icon::before {
    border-color:rgba(255,255,255,0.5); animation-duration:5s;
}

.stat-number {
    display:flex; align-items:baseline; justify-content:center;
    gap:0.2rem; margin-bottom:0.4rem;
}
.stat-number .counter {
    font-size:clamp(1.75rem,4vw,2.25rem);
    font-weight:700; color:white; line-height:1;
    font-family:'Space Grotesk',sans-serif;
}
.stat-number .suffix {
    font-size:clamp(1.25rem,3vw,1.75rem);
    font-weight:700; color:var(--secondary);
}
.stat-label {
    color:rgba(255,255,255,0.8);
    font-size:clamp(0.75rem,1.5vw,0.875rem);
    margin:0; text-transform:uppercase; letter-spacing:1.5px; font-weight:500;
}

@media(max-width:991.98px){
    .stat-box::after{ display:none; }
    .stat-box{ padding:1.75rem 1rem; }
}
@media(max-width:767.98px){
    .stats-section{ padding:2.75rem 0; }
    .stat-box{
        padding:1.25rem 0.75rem;
        border-bottom:1px solid rgba(255,255,255,0.1);
    }
    .stat-box:last-child{ border-bottom:none; }
    .stat-icon{ width:52px; height:52px; font-size:1.35rem; margin-bottom:0.85rem; }
}

/* ==================== ABOUT SECTION ==================== */
.about { padding:3.5rem 0; background:white; position:relative; overflow:hidden; }

.about-images { position:relative; padding:1.75rem 0; }
.about-img-main {
    border-radius:8px;
    box-shadow:0 20px 45px rgba(0,0,0,0.12); position:relative; z-index:2;
}
.about-img-secondary {
    position:absolute; bottom:-18px; right:0;
    width:50%; border-radius:8px;
    box-shadow:0 18px 36px rgba(0,0,0,0.18);
    border:4px solid white; z-index:3;
}
.experience-badge {
    position:absolute; top:0; left:0;
    background:var(--secondary); color:var(--dark);
    padding:1rem 1.5rem; border-radius:8px;
    text-align:center; z-index:4;
    box-shadow:0 12px 28px rgba(201,162,39,0.28);
}
.experience-badge h3 {
    font-size:clamp(1.75rem,4vw,2.25rem);
    font-weight:700; margin:0; line-height:1;
}
.experience-badge p {
    margin:0; font-weight:600;
    font-size:clamp(0.7rem,1.5vw,0.8rem);
}
.about-content { position:relative; z-index:1; }

.about-features {
    display:grid; grid-template-columns:repeat(2,1fr);
    gap:1.1rem; margin:1.35rem 0;
}
.about-feature { display:flex; align-items:flex-start; gap:0.875rem; }
.about-feature-icon {
    width:38px; height:38px; min-width:38px;
    background:rgba(97, 201, 39, 0.1); border-radius:8px;
    display:flex; align-items:center; justify-content:center;
    color:var(--secondary); font-size:0.9rem;
}
.about-feature h4 { font-size:0.9rem; margin-bottom:0.15rem; color:var(--dark); }
.about-feature p { margin:0; color:#64748b; font-size:0.78rem; line-height:1.5; }

@media(max-width:991.98px){
    .about-features{ grid-template-columns:1fr; }
    .about-images{ margin-bottom:2.25rem; }
}
@media(max-width:767.98px){
    .about{ padding:2.75rem 0; }
    .about-img-secondary{ display:none; }
    .experience-badge{ top:auto; bottom:-14px; left:50%; transform:translateX(-50%); }
}

/* ==================== SERVICES SECTION ==================== */
.services { padding:3.5rem 0; background:var(--light); }

.service-card {
    background:white; border-radius:12px; padding:1.75rem;
    height:100%; transition:all 0.4s ease;
    border:1px solid rgba(0,0,0,0.05); position:relative; overflow:hidden;
}
.service-card::before {
    content:''; position:absolute; top:0; left:0;
    width:100%; height:4px; background:var(--secondary);
    transform:scaleX(0); transition:transform 0.4s ease;
}
.service-card:hover::before{ transform:scaleX(1); }
.service-card:hover{
    transform:translateY(-6px);
    box-shadow:0 20px 45px rgba(0,0,0,0.07);
}
.service-icon {
    width:54px; height:54px;
    background:linear-gradient(135deg,var(--primary) 0%,#2c5282 100%);
    border-radius:10px; display:flex; align-items:center; justify-content:center;
    margin-bottom:1.1rem; font-size:1.35rem; color:var(--secondary); transition:all 0.4s ease;
}
.service-card:hover .service-icon{ background:var(--secondary); color:var(--dark); }

.service-card h3 {
    font-size:clamp(1rem,2vw,1.15rem);
    font-weight:600; margin-bottom:0.65rem; color:var(--dark);
}
.service-card p { color:#64748b; line-height:1.6; margin-bottom:1.1rem; font-size:0.875rem; }
.service-link {
    display:inline-flex; align-items:center;
    color:var(--primary); font-weight:600;
    text-decoration:none; font-size:0.825rem; transition:all 0.3s ease;
}
.service-link i{ margin-left:0.5rem; transition:transform 0.3s ease; }
.service-link:hover{ color:var(--secondary); }
.service-link:hover i{ transform:translateX(5px); }

@media(max-width:767.98px){
    .services{ padding:2.75rem 0; }
    .service-card{ padding:1.35rem; }
}

/* ==================== SECTORS SECTION ==================== */
.sectors { padding:3.5rem 0; background:var(--dark); color:white; }

.sector-card {
    background:rgba(255,255,255,0.03);
    border:1px solid rgba(255,255,255,0.08);
    border-radius:12px; padding:1.5rem;
    text-align:center; transition:all 0.4s ease; height:100%;
}
.sector-card:hover{
    transform:translateY(-5px);
    border-color:var(--secondary);
    background:rgba(201,162,39,0.05);
}
.sector-icon {
    width:54px; height:54px;
    background:rgba(97, 201, 39, 0.1); border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    margin:0 auto 1.1rem; font-size:1.35rem; color:var(--secondary); transition:all 0.4s ease;
}
.sector-card:hover .sector-icon{
    background:var(--secondary); color:var(--dark); transform:scale(1.1);
}
.sector-card h3 { font-size:clamp(0.95rem,2vw,1.1rem); margin-bottom:0.45rem; color:#fff; }
.sector-card:hover h3{ color:var(--secondary); }
.sector-card p{ color:rgba(255,255,255,0.6); font-size:0.825rem; margin:0; line-height:1.5; }

@media(max-width:767.98px){
    .sectors{ padding:2.75rem 0; }
    .sector-card{ padding:1.35rem; }
}

/* ==================== PROJECTS SECTION ==================== */
.projects { padding:3.5rem 0; background:var(--light); }

.project-card {
    position:relative; border-radius:12px; overflow:hidden;
    height:260px; cursor:pointer; margin-bottom:1.35rem;
}
.project-card img{
    width:100%; height:100%; object-fit:cover; transition:transform 0.6s ease;
}
.project-card:hover img{ transform:scale(1.1); }

.project-overlay {
    position:absolute; inset:0;
    background:linear-gradient(to top,rgba(15,23,42,0.9) 0%,transparent 70%);
    padding:1.35rem; display:flex; flex-direction:column;
    justify-content:flex-end; align-items:center;
}
.project-card i {
    width:54px; height:54px;
    background:rgba(97, 201, 39, 0.24); border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    font-size:1.35rem; color:var(--secondary); margin-bottom:0.65rem;
    transform:translateY(20px); transition:transform 0.4s ease;
}
.project-card:hover .project-overlay i{ transform:translateY(0); }

.project-overlay h3{
    color:white; font-size:clamp(0.95rem,2vw,1.1rem);
    margin-bottom:0.2rem; text-align:center;
    transform:translateY(20px); transition:transform 0.4s ease;
}
.project-card:hover .project-overlay h3{ transform:translateY(0); color:var(--secondary); }

.project-overlay p{
    margin:0; font-weight:600; font-size:0.825rem;
    text-align:center; color:rgba(255,255,255,0.7);
    transform:translateY(20px); transition:transform 0.4s ease 0.1s;
}
.project-card:hover .project-overlay p{ transform:translateY(0); color:var(--secondary); }

@media(max-width:767.98px){
    .projects{ padding:2.75rem 0; }
    .project-card{ height:200px; }
}

/* ==================== CLIENTS SECTION ==================== */
.clients { padding:3rem 0; background:white; }

.client-logo {
    padding:0.65rem 0.9rem;
    display:flex; align-items:center; justify-content:center;
    filter:grayscale(100%); opacity:0.7; transition:all 0.3s ease;
    border:1px solid #eee; border-radius:6px;
}
.client-logo:hover{ filter:grayscale(0%); opacity:1; transform:scale(1.05); }
.client-logo img{ max-height:70px; max-width:100%; object-fit:contain; }

@media(max-width:767.98px){
    .clients{ padding:2.25rem 0; }
    .client-logo img{ max-height:55px; }
}

/* ==================== TESTIMONIALS SECTION ==================== */
.testimonials { padding:3.5rem 0; background:var(--light); }

.testimonial-card {
    background:white; border-radius:12px; padding:1.75rem;
    position:relative; margin:0.5rem;
    box-shadow:0 5px 28px rgba(0,0,0,0.05); transition:all 0.4s ease;
}
.testimonial-card:hover{
    transform:translateY(-5px);
    box-shadow:0 14px 38px rgba(0,0,0,0.09);
}
.testimonial-card::before {
    content:'"'; position:absolute; top:12px; right:18px;
    font-size:3.5rem; color:var(--secondary);
    opacity:0.15; font-family:serif; line-height:1;
}
.testimonial-rating{ color:var(--secondary); margin-bottom:0.65rem; font-size:0.825rem; }
.testimonial-text{
    font-size:0.9rem; color:#475569; line-height:1.7;
    margin-bottom:1.1rem; font-style:italic;
}
.testimonial-author{ display:flex; align-items:center; }
.author-avatar {
    width:42px; height:42px; border-radius:50%;
    background:var(--primary); display:flex; align-items:center;
    justify-content:center; color:white; font-weight:600;
    font-size:1rem; margin-right:0.8rem;
}
.author-info h4{ margin:0; color:var(--dark); font-size:0.9rem; }
.author-info p{ margin:0; color:#64748b; font-size:0.775rem; }

.testimonials .owl-dots{ margin-top:1.35rem; text-align:center; }
.testimonials .owl-dot{
    width:8px; height:8px;
    background:rgba(26,54,93,0.2) !important;
    border-radius:50%; margin:0 4px; transition:all 0.3s ease;
}
.testimonials .owl-dot.active{ background:var(--secondary) !important; }

@media(max-width:767.98px){
    .testimonials{ padding:2.75rem 0; }
    .testimonial-card{ padding:1.35rem; }
}

/* ==================== CONTACT SECTION ==================== */
.contact { padding:3.5rem 0; background:white; }

.contact-info-card {
    background:var(--gradient); border-radius:14px;
    padding:2rem; height:100%; color:white; position:relative; overflow:hidden;
}
.contact-info-card::before {
    content:''; position:absolute; top:-50%; right:-30%;
    width:220px; height:220px; background:rgba(97, 201, 39, 0.1); border-radius:50%;
}
.contact-info-card h3 {
    font-size:clamp(1.2rem,3vw,1.5rem); margin-bottom:0.45rem;
}
.contact-info-card > p{
    color:rgba(255,255,255,0.7); margin-bottom:1.5rem; font-size:0.875rem;
}
.contact-item{ display:flex; align-items:flex-start; margin-bottom:1.1rem; }
.contact-icon {
    width:38px; height:38px; min-width:38px;
    background:rgba(201,162,39,0.15); border-radius:9px;
    display:flex; align-items:center; justify-content:center;
    color:var(--secondary); font-size:0.9rem; margin-right:0.8rem;
}
.contact-item h4{ font-size:0.9rem; margin-bottom:0.15rem; }
.contact-item p{ margin:0; color:rgba(255,255,255,0.7); font-size:0.825rem; }

.contact-social {
    display:flex; gap:0.6rem; margin-top:1.5rem;
    padding-top:1.5rem; border-top:1px solid rgba(255,255,255,0.1);
}
.contact-social a {
    width:36px; height:36px; background:rgba(255,255,255,0.1);
    border-radius:50%; display:flex; align-items:center;
    justify-content:center; color:white; transition:all 0.3s ease; text-decoration:none;
}
.contact-social a:hover{ background:var(--secondary); color:var(--dark); }

.contact-form-card {
    background:var(--light); border-radius:14px; padding:2rem;
}
.contact-form-card h3 {
    font-size:clamp(1.2rem,3vw,1.5rem); color:var(--dark); margin-bottom:0.45rem;
}
.contact-form-card > p{ color:#64748b; margin-bottom:1.5rem; font-size:0.875rem; }

.form-group{ margin-bottom:1.05rem; }
.form-group label{
    display:block; margin-bottom:0.4rem;
    color:var(--dark); font-weight:500; font-size:0.825rem;
}
.form-group input,
.form-group select,
.form-group textarea {
    width:100%; padding:0.75rem 0.9rem;
    border:2px solid #e2e8f0; border-radius:8px;
    font-size:0.875rem; transition:all 0.3s ease; background:white;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    outline:none; border-color:var(--secondary);
    box-shadow:0 0 0 3px rgba(97, 201, 39, 0.1);
}
.form-group textarea{ min-height:100px; resize:vertical; }
.form-check{ margin-bottom:1.1rem; }
.form-check-input{ margin-right:0.5rem; }
.form-check-input:checked{ background-color:var(--secondary); border-color:var(--secondary); }
.form-check-label{ color:#64748b; font-size:0.78rem; }

@media(max-width:991.98px){ .contact-info-card{ margin-bottom:1.75rem; } }
@media(max-width:767.98px){
    .contact{ padding:2.75rem 0; }
    .contact-info-card,.contact-form-card{ padding:1.65rem; }
}

/* ==================== MAP SECTION ==================== */
.map-section { height:300px; display:none; }
.map-section iframe{ width:100%; height:100%; border:none; filter:grayscale(40%); }

/* ==================== CTA SECTION ==================== */
.cta { padding:3.5rem 0; background:var(--gradient); position:relative; overflow:hidden; }
.cta::before,.cta::after {
    content:''; position:absolute;
    width:320px; height:320px;
    background:rgba(201,162,39,0.08); border-radius:50%;
}
.cta::before{ top:-160px; right:-80px; }
.cta::after{ bottom:-160px; left:-80px; }
.cta-content{ position:relative; z-index:1; text-align:center; color:white; }
.cta h2{ font-size:clamp(1.4rem,4vw,2.25rem); margin-bottom:0.75rem; }
.cta p{
    font-size:clamp(0.875rem,2vw,1rem); opacity:0.85;
    max-width:500px; margin:0 auto 1.5rem;
}
.cta-buttons{ display:flex; justify-content:center; gap:0.875rem; flex-wrap:wrap; }

@media(max-width:767.98px){ .cta{ padding:2.75rem 0; } }

/* ==================== FOOTER ==================== */
.footer { background:var(--dark); color:white; padding:3.5rem 0 1.1rem; }

.footer-brand {
    font-size:clamp(1.2rem,3vw,1.5rem); font-weight:700;
    margin-bottom:0.875rem; display:inline-block; color:white; text-decoration:none;
}
.footer-brand span{ color:var(--secondary); }
.footer-about{ color:rgba(255,255,255,0.6); line-height:1.7; margin-bottom:1.1rem; font-size:0.875rem; }

.footer-links h4{ color:white; font-size:1rem; margin-bottom:0.875rem; font-weight:600; }
.footer-links ul{ list-style:none; padding:0; margin:0; }
.footer-links li{ margin-bottom:0.5rem; }
.footer-links a{
    color:rgba(255,255,255,0.6); text-decoration:none;
    transition:all 0.3s ease; font-size:0.825rem;
}
.footer-links a:hover{ color:var(--secondary); padding-left:3px; }

.footer-contact p{
    display:flex; align-items:flex-start;
    color:rgba(255,255,255,0.6); margin-bottom:0.6rem; font-size:0.825rem;
}
.footer-contact i{
    width:26px; min-width:26px;
    color:var(--secondary); margin-right:0.6rem; margin-top:3px;
}

.social-links{ display:flex; gap:0.6rem; margin-top:1.1rem; }
.social-links a {
    width:34px; height:34px; background:rgba(255,255,255,0.08);
    border-radius:50%; display:flex; align-items:center; justify-content:center;
    color:white; transition:all 0.3s ease; text-decoration:none;
}
.social-links a:hover{ background:var(--secondary); color:var(--dark); }

.footer-bottom {
    border-top:1px solid rgba(255,255,255,0.08);
    margin-top:2.25rem; padding-top:1.1rem;
    text-align:center; color:rgba(255,255,255,0.4); font-size:0.825rem;
}

/* ==================== BACK TO TOP ==================== */
.back-to-top {
    position:fixed; bottom:20px; right:20px;
    width:40px; height:40px; background:var(--secondary);
    color:var(--dark); border:none; border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    font-size:0.9rem; cursor:pointer; opacity:0; visibility:hidden;
    transition:all 0.3s ease; z-index:999;
    box-shadow:0 5px 18px rgba(201,162,39,0.28);
}
.back-to-top.visible{ opacity:1; visibility:visible; }
.back-to-top:hover{
    transform:translateY(-3px); background:var(--dark); color:var(--secondary);
}

/* ==================== REVEAL ANIMATION ==================== */
.reveal{ opacity:0; transform:translateY(25px); transition:all 0.7s ease; }
.reveal.active{ opacity:1; transform:translateY(0); }

/* ==================== PAGE HEADER / BANNER ==================== */
.page-header {
    background:var(--gradient);
    padding:7.5rem 0 3.5rem; position:relative; overflow:hidden;
}
.page-header::before {
    content:''; position:absolute; inset:0;
    background:url('data:image/svg+xml,<svg width="60" height="60" viewBox="0 0 60 60" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><g fill="%23ffffff" fill-opacity="0.03"><path d="M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z"/></g></g></svg>');
}
.page-header::after {
    content:''; position:absolute; top:-50%; right:-20%;
    width:500px; height:500px;
    background:radial-gradient(circle,rgba(97, 201, 39, 0.1) 0%,transparent 70%);
    border-radius:50%;
}
.page-header .container{ position:relative; z-index:1; }
.page-header h1{
    font-size:clamp(1.9rem,5vw,2.9rem); color:white; margin-bottom:0.75rem;
}
.page-header p{
    color:rgba(255,255,255,0.8);
    font-size:clamp(0.875rem,2vw,1rem); max-width:560px;
}
.breadcrumb{ background:transparent; padding:0; margin-top:1.1rem; }
.breadcrumb-item{ color:rgba(255,255,255,0.6); font-size:0.825rem; }
.breadcrumb-item a{ color:var(--secondary); }
.breadcrumb-item a:hover{ color:white; }
.breadcrumb-item.active{ color:rgba(255,255,255,0.8); }
.breadcrumb-item + .breadcrumb-item::before{ color:rgba(255,255,255,0.4); }

@media(max-width:767.98px){
    .page-header{ padding:5rem 0 2.75rem; }
}

/* ==================== GALLERY GRID ==================== */
.gallery-grid{
    display:grid; grid-template-columns:repeat(4,1fr); gap:10px;
}
@media(max-width:992px){ .gallery-grid{ grid-template-columns:repeat(3,1fr); } }

.gallery-item{
    position:relative; overflow:hidden; cursor:pointer;
    border-radius:6px; background:#162133; aspect-ratio:4/3; transition:transform 0.3s ease;
}
.gallery-item:hover{ transform:translateY(-3px); }
.gallery-item.large{ grid-column:span 2; grid-row:span 2; aspect-ratio:auto; }
.gallery-item img{
    width:100%; height:100%; object-fit:cover; display:block;
    transition:transform 0.5s ease,filter 0.4s ease;
    filter:saturate(0.85) brightness(0.9);
}
.gallery-item:hover img{ transform:scale(1.08); filter:saturate(1.1) brightness(1); }
.gallery-overlay{
    position:absolute; inset:0;
    background:linear-gradient(to top,rgba(8,15,28,0.9) 0%,transparent 60%);
    opacity:0; transition:opacity 0.35s ease;
    display:flex; flex-direction:column; justify-content:flex-end; padding:14px;
}
.gallery-item:hover .gallery-overlay{ opacity:1; }
.gallery-overlay .proj-title{
    font-family:'Bebas Neue',sans-serif;
    font-size:1rem; letter-spacing:0.1em; color:#fff;
}
.gallery-overlay .proj-cat{
    font-size:0.66rem; letter-spacing:0.18em; text-transform:uppercase;
    color:var(--secondary); margin-top:4px;
}
.zoom-icon{
    position:absolute; top:10px; right:10px;
    width:30px; height:30px; background:var(--secondary);
    display:flex; align-items:center; justify-content:center;
    border-radius:4px; opacity:0; transition:opacity 0.3s ease;
    font-size:12px; color:#fff;
}
.gallery-item:hover .zoom-icon{ opacity:1; }

/* ==================== EQUIPMENT TABLE SECTION ==================== */
.table-section{ padding:1.75rem 0; background:white; }

.table-container{
    background:var(--light); border-radius:14px; padding:1.75rem;
    box-shadow:0 8px 36px rgba(0,0,0,0.04); overflow:hidden;
}
.table-controls{
    display:flex; justify-content:space-between; align-items:center;
    flex-wrap:wrap; gap:0.875rem; margin-bottom:1.5rem;
    padding-bottom:1.1rem; border-bottom:2px solid #e2e8f0;
}
.table-search{ position:relative; max-width:300px; width:100%; }
.table-search input{
    width:100%; padding:0.75rem 0.9rem 0.75rem 2.6rem;
    border:2px solid #e2e8f0; border-radius:9px;
    font-size:0.875rem; transition:all 0.3s ease; background:white;
}
.table-search input:focus{
    outline:none; border-color:var(--secondary);
    box-shadow:0 0 0 3px rgba(97, 201, 39, 0.1);
}
.table-search i{
    position:absolute; left:0.9rem; top:50%;
    transform:translateY(-50%); color:var(--gray);
}
.table-info{ display:flex; align-items:center; gap:0.4rem; color:var(--gray); font-size:0.825rem; }
.table-info strong{ color:var(--primary); }

.modern-table{ width:100%; border-collapse:separate; border-spacing:0; }
.modern-table thead{ position:sticky; top:0; z-index:10; }
.modern-table thead tr{ background:var(--gradient); }
.modern-table thead th{
    color:white; padding:1rem 0.9rem; font-weight:600;
    text-transform:uppercase; font-size:0.775rem;
    letter-spacing:1px; text-align:left; border:none;
}
.modern-table thead th:first-child{ border-radius:9px 0 0 0; padding-left:1.25rem; }
.modern-table thead th:last-child{ border-radius:0 9px 0 0; padding-right:1.25rem; text-align:center; }
.modern-table thead th:nth-child(3){ text-align:center; }

.modern-table tbody tr{ background:white; transition:all 0.3s ease; }
.modern-table tbody tr:nth-child(even){ background:rgba(248,250,252,0.8); }
.modern-table tbody tr:hover{
    background:rgba(201,162,39,0.08);
    transform:scale(1.01);
    box-shadow:0 5px 18px rgba(0,0,0,0.07);
}
.modern-table tbody td{
    padding:0.9rem 0.9rem; border-bottom:1px solid #f1f5f9; vertical-align:middle;
}
.modern-table tbody td:first-child{ padding-left:1.25rem; }
.modern-table tbody td:last-child{ padding-right:1.25rem; text-align:center; }
.modern-table tbody td:nth-child(3){ text-align:center; }
.modern-table tbody tr:last-child td{ border-bottom:none; }
.modern-table tbody tr:last-child td:first-child{ border-radius:0 0 0 9px; }
.modern-table tbody tr:last-child td:last-child{ border-radius:0 0 9px 0; }

.sno-cell{ width:60px; }
.sno-badge{
    width:34px; height:34px; background:var(--gradient); color:white;
    border-radius:7px; display:flex; align-items:center; justify-content:center;
    font-weight:700; font-size:0.825rem; transition:all 0.3s ease;
}
.modern-table tbody tr:hover .sno-badge{
    background:var(--secondary); color:var(--dark); transform:scale(1.1);
}
.equipment-cell{
    font-weight:600; color:var(--dark);
    display:flex; align-items:center; gap:0.6rem;
}
.equipment-icon{
    width:38px; height:38px; background:rgba(97, 201, 39, 0.1); border-radius:7px;
    display:flex; align-items:center; justify-content:center;
    color:var(--secondary); font-size:0.95rem; transition:all 0.3s ease;
}
.modern-table tbody tr:hover .equipment-icon{ background:var(--secondary); color:var(--dark); }
.quantity-cell{ font-weight:700; font-size:1rem; color:var(--primary); }
.unit-cell{
    background:rgba(26,54,93,0.1); color:var(--primary);
    padding:0.3rem 0.8rem; border-radius:50px;
    font-size:0.725rem; font-weight:600; display:inline-block;
}

@media(max-width:991.98px){
    .table-container{ padding:1.1rem; }
    .table-controls{ flex-direction:column; align-items:stretch; }
    .table-search{ max-width:100%; }
}
@media(max-width:767.98px){
    .sno-cell{ width:auto; }
    .table-section{ padding:2.75rem 0; }
    .modern-table p{ font-size:14px; margin:0; }
    .modern-table thead{ display:none; }
    .modern-table tbody{ display:block; }
    .modern-table tbody tr{
        display:block; margin-bottom:0.875rem; border-radius:11px;
        box-shadow:0 4px 14px rgba(0,0,0,0.07);
        padding:0.8rem; position:relative; overflow:hidden;
    }
    .modern-table tbody tr::before{
        content:''; position:absolute; top:0; left:0;
        width:4px; height:100%; background:var(--secondary);
    }
    .modern-table tbody tr:nth-child(even){ background:white; }
    .modern-table tbody tr:hover{ transform:none; box-shadow:0 8px 24px rgba(0,0,0,0.11); }
    .modern-table tbody td{
        display:flex; justify-content:space-between; align-items:center;
        padding:0.6rem 0.9rem 0.6rem 1.15rem;
        border-bottom:1px solid #f1f5f9; text-align:right !important;
    }
    .modern-table tbody td:first-child{ padding-left:1.15rem; border-radius:0; }
    .modern-table tbody td:last-child{
        padding-right:0.9rem; border-bottom:none; border-radius:0; font-size:0.825rem;
    }
    .modern-table tbody td::before{
        content:attr(data-label); font-weight:600; color:var(--gray);
        text-transform:uppercase; font-size:0.68rem; letter-spacing:0.5px;
        text-align:left; flex-shrink:0; max-width:100px; margin-right:0.8rem;
    }
    .equipment-cell{ flex-direction:row-reverse; gap:0.5rem; }
    .equipment-icon{ width:30px; height:30px; font-size:0.825rem; }
    .sno-badge{ width:30px; height:30px; font-size:0.775rem; }
    .quantity-cell{ font-size:0.95rem; }
}

/* ==================== TEAM INTRO ==================== */
.team-intro {
    background:linear-gradient(135deg,var(--light) 0%,#e2e8f0 100%);
    position:relative; overflow:hidden; padding:3.5rem 0;
}
.team-intro::before {
    content:''; position:absolute; top:-80px; right:-80px;
    width:300px; height:300px;
    background:radial-gradient(circle,rgba(97, 201, 39, 0.1) 0%,transparent 70%);
    border-radius:50%;
}
.team-intro-icon {
    width:75px; height:75px; background:var(--gradient); border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    font-size:2rem; color:var(--secondary); margin:0 auto 1.5rem;
    box-shadow:0 18px 38px rgba(26,54,93,0.28);
}
.team-intro h2{ font-size:clamp(1.65rem,4vw,2.25rem); color:var(--dark); margin-bottom:1.1rem; }
.team-intro p{
    font-size:clamp(0.875rem,2vw,1rem); color:var(--gray);
    max-width:720px; margin:0 auto; line-height:1.7;
}
@media(max-width:767.98px){ .team-intro{ padding:2.75rem 0; } }

/* ==================== PSU SECTION ==================== */
.psu-section { padding:3.5rem 0; background:var(--dark); position:relative; overflow:hidden; }
.psu-section::before {
    content:''; position:absolute; inset:0;
    background:url('data:image/svg+xml,<svg width="60" height="60" viewBox="0 0 60 60" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><g fill="%23ffffff" fill-opacity="0.02"><path d="M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z"/></g></g></svg>');
}
.psu-card {
    background:rgba(255,255,255,0.03);
    border:1px solid rgba(255,255,255,0.08); border-radius:14px;
    padding:1.75rem; height:100%; transition:all 0.4s ease; position:relative; overflow:hidden;
}
.psu-card::before{
    content:''; position:absolute; top:0; left:0; width:100%; height:4px;
    background:var(--secondary); transform:scaleX(0); transition:transform 0.4s ease;
}
.psu-card:hover::before{ transform:scaleX(1); }
.psu-card:hover{
    background:rgba(255,255,255,0.08); border-color:var(--secondary); transform:translateY(-5px);
}
.psu-logo{
   width: 120px;
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.1rem;
  border-radius: 73px;
  background: #fff;
  margin: 0 auto;
    margin-bottom: 0px;
  margin-bottom: 15px;
}
.psu-logo img{
    max-height:50px; max-width:130px; object-fit:contain;
    filter:brightness(0) invert(1); opacity:0.8; transition:all 0.4s ease;
}
.psu-card:hover .psu-logo img{ opacity:1; filter:none; }
.psu-card h4{ color:white; font-size:clamp(0.95rem,2vw,1.1rem); margin-bottom:0.6rem; }
.psu-card p{ color:rgba(255,255,255,0.6); font-size:0.825rem; margin-bottom:0.8rem; line-height:1.5; }
.psu-tag{
    display:inline-block; background:rgba(201,162,39,0.2); color:var(--secondary);
    padding:0.275rem 0.875rem; border-radius:50px; font-size:0.72rem; font-weight:600;
}
@media(max-width:767.98px){
    .psu-section{ padding:2.75rem 0; }
    .psu-card{ padding:1.35rem; }
}

/* ==================== CLIENT INTRO ==================== */
.client-intro { padding:5.5rem 0 3.5rem; background:var(--light); }
.intro-content{ max-width:720px; margin:0 auto; text-align:center; }
.section-badge {
    display:inline-flex; align-items:center; gap:0.6rem;
    background: rgba(74, 201, 39, 0.1);
  border: 1px solid rgba(58, 134, 36, 0.3);
    padding:0.5rem 1.25rem; border-radius:50px;
    color:var(--secondary); font-weight:600; font-size:0.825rem; margin-bottom:1.2rem;
}
.section-badge i{ font-size:0.9rem; }
.intro-content h2{ font-size:clamp(1.65rem,4vw,2.25rem); color:var(--dark); margin-bottom:1.1rem; }
.intro-content p{ font-size:clamp(0.875rem,2vw,1rem); color:var(--gray); line-height:1.7; }
@media(max-width:767.98px){ .client-intro{ padding:4rem 0 2.75rem; } }

/* ==================== MARQUEE CLIENTS ==================== */
.marquee-section { padding:2.75rem 0; background:var(--light); overflow:hidden; }
.marquee-wrapper{ overflow:hidden; padding:1.5rem 0; }
.marquee-track{
    display:flex; width:max-content;
    animation:marquee 30s linear infinite;
}
.marquee-track:hover{ animation-play-state:paused; }
@keyframes marquee{
    0%{transform:translateX(0)}
    100%{transform:translateX(-50%)}
}
.marquee-item{
    flex-shrink:0; width:165px; height:82px; margin:0 1.5rem;
    display:flex; align-items:center; justify-content:center;
    background:#fff; border-radius:11px; padding:1.1rem; transition:all 0.3s ease;
}
.marquee-item:hover{
    background:white; box-shadow:0 12px 36px rgba(0,0,0,0.08); transform:scale(1.05);
}
.marquee-item img{
    max-height:42px; max-width:120px; object-fit:contain;
    filter:grayscale(100%); opacity:0.7; transition:all 0.3s ease;
}
.marquee-item:hover img{ filter:grayscale(0%); opacity:1; }
.marquee-track.reverse{ animation-direction:reverse; }

@media(max-width:575.98px){
    .marquee-section{ padding:2.25rem 0; }
    .marquee-item{ width:130px; height:70px; margin:0 1.1rem; padding:0.875rem; }
    .marquee-item img{ max-height:30px; }
}

/* ==================== CONTACT PAGE ==================== */
.contact-hero { padding:7.5rem 0 3.5rem; }

.quick-contact-section {
    margin-top:-3.5rem; position:relative; z-index:10; padding-bottom:2rem;
}
.quick-contact-card {
    background:white; border-radius:14px; padding:1.85rem 1.5rem;
    text-align:center; box-shadow:0 18px 54px rgba(0,0,0,0.09);
    height:100%; transition:all 0.4s ease; position:relative; overflow:hidden;
}
.quick-contact-card::before{
    content:''; position:absolute; top:0; left:0; width:100%; height:4px;
    background:var(--secondary); transform:scaleX(0); transition:transform 0.4s ease;
}
.quick-contact-card:hover::before{ transform:scaleX(1); }
.quick-contact-card:hover{
    transform:translateY(-7px); box-shadow:0 26px 70px rgba(0,0,0,0.13);
}
.quick-contact-icon {
    width:62px; height:62px; background:var(--gradient); border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    margin:0 auto 1.1rem; font-size:1.35rem; color:var(--secondary);
    transition:all 0.4s ease; position:relative;
}
.quick-contact-icon::before{
    content:''; position:absolute; inset:-5px; border-radius:50%;
    border:2px dashed rgba(201,162,39,0.3); animation:rotate 15s linear infinite;
}
.quick-contact-card:hover .quick-contact-icon{
    background:var(--secondary); color:var(--dark); transform:scale(1.1);
}
.quick-contact-card h3{ font-size:clamp(1rem,2vw,1.1rem); color:var(--dark); margin-bottom:0.6rem; }
.quick-contact-card p{ color:var(--gray); font-size:0.875rem; margin-bottom:0.8rem; line-height:1.5; }
.quick-contact-card a{
    color:var(--primary); font-weight:600;
    font-size:clamp(0.95rem,2vw,1rem); transition:all 0.3s ease;
}
.quick-contact-card a:hover{ color:var(--secondary); }

.main-contact-section { padding:3.5rem 0; background:var(--light); }

.contact-info-wrapper {
    background:var(--gradient); border-radius:18px;
    padding:2rem; height:100%; color:white; position:relative; overflow:hidden;
}
.contact-info-wrapper::before {
    content:''; position:absolute; top:-80px; right:-80px;
    width:220px; height:220px; background:rgba(97, 201, 39, 0.1); border-radius:50%;
}
.contact-info-wrapper::after {
    content:''; position:absolute; bottom:-40px; left:-40px;
    width:160px; height:160px; background:rgba(255,255,255,0.03); border-radius:50%;
}
.contact-info-content{ position:relative; z-index:1; }
.contact-info-header{ margin-bottom:1.85rem; }
.contact-info-header h2{ font-size:clamp(1.4rem,3vw,1.75rem); margin-bottom:0.55rem; }
.contact-info-header p{ color:rgba(255,255,255,0.7); font-size:0.9rem; line-height:1.6; }

.contact-info-item{
    display:flex; align-items:flex-start;
    margin-bottom:1.5rem; padding-bottom:1.5rem;
    border-bottom:1px solid rgba(255,255,255,0.1);
}
.contact-info-item:last-of-type{ border-bottom:none; margin-bottom:0; padding-bottom:0; }
.contact-info-icon{
    width:46px; height:46px; min-width:46px;
    background:rgba(201,162,39,0.15); border-radius:11px;
    display:flex; align-items:center; justify-content:center;
    color:var(--secondary); font-size:1.05rem;
    margin-right:1rem; transition:all 0.3s ease;
}
.contact-info-item:hover .contact-info-icon{
    background:var(--secondary); color:var(--dark); transform:scale(1.1);
}
.contact-info-text h4{ font-size:1rem; margin-bottom:0.4rem; font-weight:600; }
.contact-info-text p{ color:rgba(255,255,255,0.75); font-size:0.875rem; margin:0; line-height:1.5; }
.contact-info-text a{ color:rgba(255,255,255,0.9); transition:all 0.3s ease; }
.contact-info-text a:hover{ color:var(--secondary); }

.contact-social-links{
    display:flex; gap:0.6rem;
    margin-top:1.85rem; padding-top:1.5rem;
    border-top:1px solid rgba(255,255,255,0.1);
}
.contact-social-links a{
    width:40px; height:40px; background:rgba(255,255,255,0.1); border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    color:white; font-size:1rem; transition:all 0.3s ease;
}
.contact-social-links a:hover{ background:var(--secondary); color:var(--dark); transform:translateY(-4px); }

.contact-form-wrapper {
    background:white; border-radius:18px;
    padding:2rem; box-shadow:0 18px 55px rgba(0,0,0,0.07);
}
.contact-form-header{ margin-bottom:1.5rem; }
.contact-form-header h2{ font-size:clamp(1.4rem,3vw,1.75rem); color:var(--dark); margin-bottom:0.4rem; }
.contact-form-header p{ color:var(--gray); font-size:0.9rem; }

.form-control-custom{
    width:100%; padding:0.8rem 1rem;
    border:2px solid #e2e8f0; border-radius:9px;
    font-size:0.9rem; transition:all 0.3s ease;
    background:var(--light); font-family:inherit;
}
.form-control-custom:focus{
    outline:none; border-color:var(--secondary);
    background:white; box-shadow:0 0 0 3px rgba(97, 201, 39, 0.1);
}
.form-control-custom::placeholder{ color:#94a3b8; }
.form-control-custom.textarea{ min-height:120px; resize:vertical; }

.form-select-custom{
    width:100%; padding:0.8rem 1rem;
    border:2px solid #e2e8f0; border-radius:9px;
    font-size:0.9rem; transition:all 0.3s ease;
    background:var(--light); font-family:inherit; cursor:pointer; appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%2364748b' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E");
    background-repeat:no-repeat; background-position:right 1rem center;
}
.form-select-custom:focus{
    outline:none; border-color:var(--secondary);
    background-color:white; box-shadow:0 0 0 3px rgba(97, 201, 39, 0.1);
}
.form-row{ display:grid; grid-template-columns:repeat(2,1fr); gap:1.2rem; }

.form-check-custom{ display:flex; align-items:flex-start; gap:0.6rem; margin-bottom:1.2rem; }
.form-check-custom input[type="checkbox"]{
    width:18px; height:18px; min-width:18px;
    accent-color:var(--secondary); cursor:pointer; margin-top:2px;
}
.form-check-custom label{ color:var(--gray); font-size:0.825rem; cursor:pointer; line-height:1.4; }
.form-check-custom label a{ color:var(--primary); font-weight:600; }
.form-check-custom label a:hover{ color:var(--secondary); }

.btn-submit{
    width:100%; background:var(--secondary); color:var(--dark); border:none;
    padding:0.9rem 1.6rem; font-weight:700; font-size:0.9rem; border-radius:9px;
    cursor:pointer; transition:all 0.3s ease;
    display:inline-flex; align-items:center; justify-content:center;
    gap:0.6rem; position:relative; overflow:hidden;
}
.btn-submit::before{
    content:''; position:absolute; top:0; left:-100%; width:100%; height:100%;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,0.3),transparent);
    transition:left 0.5s ease;
}
.btn-submit:hover::before{ left:100%; }
.btn-submit:hover{
    background:var(--secondary);opacity:0.8; transform:translateY(-2px);
    box-shadow:0 14px 36px rgba(201,162,39,0.32);
}
.btn-submit i{ font-size:1rem; }

.form-success{
    display:none; background:#10b981; color:white;
    padding:0.85rem 1.25rem; border-radius:9px;
    margin-bottom:1.2rem; align-items:center; gap:0.6rem;
}
.form-success.show{ display:flex; }
.form-success i{ font-size:1.1rem; }

.map-container{ height:420px; position:relative; }
.map-container iframe{
    width:100%; height:100%; border:none;
    filter:grayscale(30%) contrast(1.1); transition:filter 0.3s ease;
}
.map-container:hover iframe{ filter:grayscale(0%) contrast(1); }
.map-overlay-card{
    position:absolute; top:50%; left:5%; transform:translateY(-50%);
    background:white; border-radius:14px; padding:1.5rem;
    box-shadow:0 18px 55px rgba(0,0,0,0.13); max-width:300px; z-index:10;
}
.map-overlay-card h3{
    font-size:clamp(1.15rem,2vw,1.35rem); color:var(--dark); margin-bottom:0.75rem;
    display:flex; align-items:center; gap:0.6rem;
}
.map-overlay-card h3 i{ color:var(--secondary); }
.map-overlay-card p{ color:var(--gray); font-size:0.875rem; line-height:1.6; margin-bottom:1.2rem; }
.map-overlay-card .btn-directions{
    display:inline-flex; align-items:center; gap:0.5rem;
    background:var(--primary); color:white;
    padding:0.65rem 1.25rem; border-radius:7px;
    font-weight:600; font-size:0.825rem; transition:all 0.3s ease;
}
.map-overlay-card .btn-directions:hover{ background:var(--secondary); color:var(--dark); }

.contact-cta-section{
    padding:3.5rem 0; background:var(--gradient); position:relative; overflow:hidden;
}
.contact-cta-section::before{
    content:''; position:absolute; top:-140px; right:-70px;
    width:380px; height:380px; background:rgba(97, 201, 39, 0.1); border-radius:50%;
}
.contact-cta-section::after{
    content:''; position:absolute; bottom:-110px; left:-70px;
    width:300px; height:300px; background:rgba(255,255,255,0.03); border-radius:50%;
}
.contact-cta-content{ position:relative; z-index:1; text-align:center; color:white; }
.contact-cta-content h2{ font-size:clamp(1.45rem,4vw,2.1rem); margin-bottom:0.75rem; }
.contact-cta-content p{
    font-size:clamp(0.875rem,2vw,1rem); opacity:0.85;
    max-width:550px; margin:0 auto 1.5rem;
}
.contact-cta-buttons{ display:flex; justify-content:center; gap:0.875rem; flex-wrap:wrap; }

@media(max-width:500px){
    .contact-hero{ padding:7.5rem 0 3.5rem; }
    .form-row{ grid-template-columns:1fr; gap:0; }
    .map-overlay-card{
        position:relative; top:auto; left:auto; transform:none;
        max-width:100%; margin:-2.25rem 1rem 1.5rem; border-radius:12px;
    }
    .map-container{ height:300px; }
    .contact-info-wrapper{ margin-bottom:1.75rem; }
}
@media(max-width:767.98px){
    .contact-hero{ padding:6.5rem 0 3rem; }
    .quick-contact-section{ margin-top:-2.75rem; }
    .quick-contact-card{ padding:1.5rem 1.2rem; }
    .contact-info-wrapper,.contact-form-wrapper{ padding:1.65rem; }
    .map-container{ height:260px; }
    .contact-cta-section{ padding:2.75rem 0; }
}
@media(max-width:575.98px){
    .quick-contact-icon{ width:52px; height:52px; font-size:1.1rem; }
    .contact-info-icon{ width:38px; height:38px; min-width:38px; font-size:0.9rem; }
}

/* ==================== TEAM PAGE ==================== */
.org-chart-section {
    background:var(--dark); position:relative; overflow:hidden; padding:3.5rem 0;
}
.org-chart-section::before {
    content:''; position:absolute; inset:0;
    background:url('data:image/svg+xml,<svg width="60" height="60" viewBox="0 0 60 60" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><g fill="%23ffffff" fill-opacity="0.02"><path d="M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z"/></g></g></svg>');
}
.org-chart-title {
    display:inline-flex; align-items:center; gap:0.8rem;
    background:rgba(97, 201, 39, 0.1); border:1px solid rgba(201,162,39,0.3);
    padding:0.6rem 1.6rem; border-radius:50px;
    color:var(--secondary); font-weight:600; margin-bottom:2.25rem;
}
.director-card {
    background:white; border-radius:14px; overflow:hidden;
    transition:all 0.4s ease; height:100%; position:relative;
}
.director-card::before{
    content:''; position:absolute; top:0; left:0;
    width:100%; height:4px; background:var(--secondary);
}
.director-card:hover{ transform:translateY(-7px); box-shadow:0 28px 55px rgba(0,0,0,0.18); }
.director-img{ position:relative; height:260px; overflow:hidden; }
.director-img img{
    width:100%; height:100%; object-fit:cover; transition:transform 0.5s ease;
}
.director-card:hover .director-img img{ transform:scale(1.1); }
.director-img-overlay{
    position:absolute; bottom:0; left:0; right:0; height:50%;
    background:linear-gradient(to top,rgba(15,23,42,0.9),transparent);
}
.director-badge{
    position:absolute; top:0.8rem; right:0.8rem;
    background:var(--secondary); color:var(--dark);
    padding:0.4rem 0.85rem; border-radius:50px; font-size:0.725rem; font-weight:600;
}
.director-social{
    position:absolute; bottom:0.8rem; left:0.8rem;
    display:flex; gap:0.4rem; opacity:0;
    transform:translateY(18px); transition:all 0.4s ease;
}
.director-card:hover .director-social{ opacity:1; transform:translateY(0); }
.director-social a {
    width:34px; height:34px; background:white; border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    color:var(--primary); transition:all 0.3s ease;
}
.director-social a:hover{ background:var(--secondary); color:var(--dark); }
.director-content{ padding:1.5rem; }
.director-name{ font-size:clamp(1.15rem,2vw,1.35rem); color:var(--dark); margin-bottom:0.15rem; }
.director-position{
    color:var(--secondary); font-weight:600; font-size:0.875rem;
    margin-bottom:0.75rem; display:block;
}
.director-desc{ color:var(--gray); font-size:0.875rem; line-height:1.6; }

.personnel-section { background:var(--light); padding:3.5rem 0; }
.personnel-grid{
    display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:1.2rem;
}
.personnel-card {
    background:white; border-radius:12px; padding:1.2rem;
    display:flex; align-items:flex-start; gap:1rem;
    transition:all 0.4s ease; border:1px solid rgba(0,0,0,0.05);
    position:relative; overflow:hidden;
}
.personnel-card::before{
    content:''; position:absolute; top:0; left:0;
    width:4px; height:100%; background:var(--secondary);
    transform:scaleY(0); transition:transform 0.4s ease;
}
.personnel-card:hover::before{ transform:scaleY(1); }
.personnel-card:hover{ transform:translateX(5px); box-shadow:0 14px 38px rgba(0,0,0,0.09); }
.personnel-number{
    width:44px; height:44px; min-width:44px;
    background:var(--gradient); border-radius:9px;
    display:flex; align-items:center; justify-content:center;
    color:var(--secondary); font-weight:700; font-size:1.05rem;
    font-family:'Space Grotesk',sans-serif;
}
.personnel-info h4{ font-size:clamp(0.95rem,2vw,1rem); color:var(--dark); margin-bottom:0.15rem; }
.personnel-info .designation{
    color:var(--secondary); font-weight:600; font-size:0.775rem;
    margin-bottom:0.4rem; display:block;
}
.personnel-info .qualification{ color:var(--gray); font-size:0.775rem; line-height:1.5; }

.team-values { background:var(--gradient); position:relative; overflow:hidden; padding:3.5rem 0; }
.team-values::before{
    content:''; position:absolute; top:-50%; right:-20%;
    width:500px; height:500px;
    background:radial-gradient(circle,rgba(97, 201, 39, 0.1) 0%,transparent 70%); border-radius:50%;
}
.value-card{
    background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.1);
    border-radius:12px; padding:1.5rem; text-align:center; height:100%; transition:all 0.4s ease;
}
.value-card:hover{
    background:rgba(255,255,255,0.1); transform:translateY(-5px); border-color:var(--secondary);
}
.value-icon{
    width:56px; height:56px; background:rgba(201,162,39,0.15); border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    font-size:1.35rem; color:var(--secondary); margin:0 auto 1.1rem; transition:all 0.4s ease;
}
.value-card:hover .value-icon{ background:var(--secondary); color:var(--dark); transform:scale(1.1); }
.value-card h4{ color:white; font-size:clamp(1rem,2vw,1.1rem); margin-bottom:0.6rem; }
.value-card p{ color:rgba(255,255,255,0.7); font-size:0.875rem; margin:0; line-height:1.5; }

@media(max-width:991.98px){
    .personnel-grid{ grid-template-columns:1fr; }
    .org-chart-section{ padding:2.75rem 0; }
    .personnel-section{ padding:2.75rem 0; }
    .team-values{ padding:2.75rem 0; }
}
@media(max-width:767.98px){
    .director-img{ height:220px; }
    .director-content{ padding:1.35rem; }
}

/* ==================== GALLERY GRID (DUPLICATE CLEAN) ==================== */
.gallery-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
@media(max-width:992px){ .gallery-grid{ grid-template-columns:repeat(3,1fr); } }

.gallery-item{
    position:relative; overflow:hidden; cursor:pointer;
    border-radius:6px; background:#162133; aspect-ratio:4/3; transition:transform 0.3s ease;
}
.gallery-item:hover{ transform:translateY(-3px); }
.gallery-item.large{ grid-column:span 2; grid-row:span 2; aspect-ratio:auto; }
.gallery-item img{
    width:100%; height:100%; object-fit:cover; display:block;
    transition:transform 0.5s ease,filter 0.4s ease;
    filter:saturate(0.85) brightness(0.9);
}
.gallery-item:hover img{ transform:scale(1.08); filter:saturate(1.1) brightness(1); }
.gallery-overlay{
    position:absolute; inset:0;
    background:linear-gradient(to top,rgba(8,15,28,0.9) 0%,transparent 60%);
    opacity:0; transition:opacity 0.35s ease;
    display:flex; flex-direction:column; justify-content:flex-end; padding:16px;
}
.gallery-item:hover .gallery-overlay{ opacity:1; }
.gallery-overlay .proj-title{
    font-family:'Bebas Neue',sans-serif; font-size:1.05rem; letter-spacing:0.1em; color:#fff;
}
.gallery-overlay .proj-cat{
    font-size:0.68rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--secondary); margin-top:4px;
}
.zoom-icon{
    position:absolute; top:12px; right:12px; width:32px; height:32px;
    background:var(--secondary); display:flex; align-items:center; justify-content:center;
    border-radius:4px; opacity:0; transition:opacity 0.3s ease; font-size:13px; color:#fff;
}
.gallery-item:hover .zoom-icon{ opacity:1; }

/* ==================== PAGINATION ==================== */
.pagination-wrap{
    padding:36px 0; display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px;
}
.page-info{ font-size:0.78rem; color:var(--muted); letter-spacing:0.05em; }
.pagination{ display:flex; gap:6px; list-style:none; }
.page-item.disabled .page-link{ opacity:0.4; pointer-events:none; cursor:default; }
.page-item.active .page-link{
    background:var(--secondary); border-color:var(--secondary); color:#fff; font-weight:700;
}
.page-link{
    display:flex; align-items:center; justify-content:center;
    width:34px; height:34px; background:var(--card); border:1px solid var(--border);
    border-radius:var(--r); font-size:14px; font-weight:600; color:var(--text);
    text-decoration:none; cursor:pointer; transition:border-color .18s,color .18s,background .18s;
}
.page-link:hover{ border-color:var(--secondary); color:var(--secondary); background:rgba(232,160,32,.06); }

/* ==================== LIGHTBOX ==================== */
.lightbox-overlay{
    display:none; position:fixed; inset:0;
    background:rgba(4,8,16,0.96); z-index:9999;
    align-items:center; justify-content:center; flex-direction:column;
}
.lightbox-overlay.show{ display:flex; }
.lightbox-img-wrap img{
    max-width:90vw; max-height:80vh; object-fit:contain;
    border:2px solid rgba(224,92,42,0.4); border-radius:6px;
}
.lb-close{
    position:absolute; top:-44px; right:0;
    background:var(--secondary); border:none; color:#fff;
    padding:6px 14px; cursor:pointer; border-radius:4px;
}
.lb-caption{ margin-top:14px; text-align:center; font-size:0.78rem; color:var(--muted); }
.lb-nav button{
    background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.15);
    color:#fff; padding:8px 20px; cursor:pointer; border-radius:4px; transition:0.25s;
}
.lb-nav button:hover{ background:var(--secondary); border-color:var(--secondary); }

@keyframes fadeIn{
    from{opacity:0;transform:translateY(16px)}
    to{opacity:1;transform:translateY(0)}
}
.gallery-item{ animation:fadeIn 0.5s ease both; }

/* ==================== FOOTER ACCORDION MOBILE ==================== */
@media(max-width:991px){
   
    .footer .footer-contact p {
        max-height:0; overflow:hidden;
        transition:max-height 0.35s ease,opacity 0.3s ease;
        opacity:0; margin:0; padding:0;
    }
  
    .footer .footer-links.ftr-open.footer-contact p {
        max-height:300px; opacity:1; padding-top:6px;
    }
    .footer .footer-links h4 {
        cursor:pointer; display:flex; justify-content:space-between; align-items:center;
        padding:12px 0; border-bottom:1px solid #2e2e44; margin-bottom:0; user-select:none;
    }
    .footer .footer-links h4::after {
        content:'+'; font-size:20px; font-weight:300;
        color:var(--secondary); transition:transform 0.3s ease; display:inline-block; line-height:1;
    }
    .footer .footer-links.ftr-open h4::after{ transform:rotate(45deg); }
    .footer .footer-links.ftr-open ul li{ padding:4px 0; }
}

/* ==================== WHATSAPP FLOAT ==================== */
.whatsapp-float {
    position:fixed; bottom:90px; right:10px;
    width:50px; height:50px; background:#25d366; border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    cursor:pointer; box-shadow:0 0 5px rgba(37,211,102,0.5);
    z-index:9999; transition:all 0.3s ease; animation:pulse 2s infinite;
}
.whatsapp-float:hover{ transform:scale(1.14); box-shadow:0 8px 32px rgba(37,211,102,0.65); }
.whatsapp-float:active{ transform:scale(1.04); }

@keyframes pulse{
    0%,100%{ box-shadow:0 6px 24px rgba(37,211,102,0.48); transform:scale(1); }
    50%{ box-shadow:0 6px 32px rgba(37,211,102,0.75); transform:scale(1.02); }
}
.whatsapp-float svg{ width:28px; height:28px; fill:white; }

.float-tooltip {
    position:absolute; bottom:72px; right:0;
    background:#333; color:white; padding:7px 11px;
    border-radius:8px; font-size:12px; white-space:nowrap;
    opacity:0; transform:translateY(10px); transition:all 0.3s; pointer-events:none;
}
.float-tooltip::after{
    content:''; position:absolute; top:100%; right:18px;
    border:5px solid transparent; border-top-color:#333;
}
.whatsapp-float:hover .float-tooltip{ opacity:1; transform:translateY(0); }

/* ==================== WHATSAPP WIDGET ==================== */
.whatsapp-widget {
    position:fixed; bottom:100px; right:20px;
    width:375px; max-width:calc(100vw - 40px);
    background:white; border-radius:14px;
    box-shadow:0 10px 40px rgba(0,0,0,0.28); z-index:99999;
    transform:scale(0) translateY(20px); transform-origin:bottom right;
    transition:all 0.4s cubic-bezier(0.25,0.46,0.45,0.94);
    opacity:0; overflow:hidden;
}
.whatsapp-widget.active{ transform:scale(1) translateY(0); opacity:1; }

.chat-header {
    background:linear-gradient(135deg,#25d366 0%,#22c55e 100%);
    color:white; padding:16px 18px;
    display:flex; align-items:center; justify-content:space-between; position:relative;
}
.header-content{ display:flex; align-items:center; gap:11px; }
.logow{
    width:43px; height:43px; background:white; border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    flex-shrink:0; overflow:hidden; box-shadow:0 2px 8px rgba(0,0,0,0.1);
}
.logo-text{ font-size:17px; font-weight:bold; color:#1565c0; text-align:center; line-height:1; background:#25d265; }
.header-text h3{ font-size:16px; font-weight:600; color:#fff; margin:0; }
.header-text .status{
    font-size:12px; opacity:0.9; margin:2px 0 0 0;
    display:flex; align-items:center; gap:5px;
}
.online-dot{
    width:8px; height:8px; background:#4ade80; border-radius:50%; animation:blink 2s infinite;
}
@keyframes blink{ 0%,100%{opacity:1} 50%{opacity:0.5} }

.close-btn{
    background:rgba(255,255,255,0.2); border:none; color:white;
    font-size:22px; cursor:pointer; padding:7px; line-height:1;
    border-radius:50%; width:34px; height:34px;
    display:flex; align-items:center; justify-content:center; transition:all 0.3s;
}
.close-btn:hover{ background:rgba(255,255,255,0.28); transform:rotate(90deg); }

.chat-body{
    padding:22px 18px; background:#f8fafc;
    min-height:140px; max-height:270px; overflow-y:auto;
}
.welcome-message{
    background:white; padding:14px 16px; border-radius:16px;
    margin-bottom:18px; box-shadow:0 3px 10px rgba(0,0,0,0.09);
    position:relative; animation:slideInLeft 0.6s ease-out; border-left:4px solid #25d366;
}
@keyframes slideInLeft{
    from{opacity:0;transform:translateX(-20px)}
    to{opacity:1;transform:translateX(0)}
}
.welcome-message::before{
    content:''; position:absolute; left:-8px; top:15px;
    width:0; height:0; border-right:8px solid white;
    border-top:8px solid transparent; border-bottom:8px solid transparent;
}
.message-text{ font-size:13px; color:#374151; line-height:1.5; }
.phone-highlight{
    background:#dbeafe; padding:2px 6px; border-radius:4px; color:#1d4ed8; font-weight:600;
}

.input-container{
    padding:18px; background:white; border-top:1px solid #e5e7eb;
}
.input-wrapper{ display:flex; gap:4px; align-items:flex-end; }
.message-input{
    flex:1; border:2px solid #e5e7eb; border-radius:22px;
    padding:11px 16px; font-size:13px; outline:none; transition:all 0.3s;
    resize:none; min-height:44px; max-height:100px; font-family:inherit;
}
.message-input:focus{ border-color:#25d366; box-shadow:0 0 0 3px rgba(37,211,102,0.1); }

.send-btn{
    background:linear-gradient(135deg,#25d366 0%,#22c55e 100%);
    border:none; border-radius:50%; width:44px; height:44px;
    color:white; cursor:pointer; display:flex; align-items:center; justify-content:center;
    transition:all 0.3s; box-shadow:0 4px 14px rgba(37,211,102,0.28);
    flex-shrink:0; padding:inherit;
}
.send-btn:hover{ transform:scale(1.09); box-shadow:0 6px 18px rgba(37,211,102,0.38); }
.send-btn:active{ transform:scale(0.95); }
.send-btn:disabled{ background:#9ca3af; cursor:not-allowed; transform:none; box-shadow:none; }

.user-message{
    background:linear-gradient(135deg,#dcf8c6 0%,#d4f4dd 100%);
    padding:9px 14px; border-radius:16px; margin:11px 0; margin-left:55px;
    position:relative; animation:slideInRight 0.3s ease-out; border:1px solid #c6f6d5;
}
@keyframes slideInRight{
    from{opacity:0;transform:translateX(20px)}
    to{opacity:1;transform:translateX(0)}
}
.user-message::after{
    content:''; position:absolute; right:-8px; top:12px;
    width:0; height:0; border-left:8px solid #dcf8c6;
    border-top:8px solid transparent; border-bottom:8px solid transparent;
}

.bot-response{
    background:white; padding:12px 16px; border-radius:16px;
    margin:11px 0; margin-right:55px; position:relative;
    box-shadow:0 2px 8px rgba(0,0,0,0.09); animation:slideInLeft 0.3s ease-out;
    border:1px solid #e5e7eb;
}
.bot-response::before{
    content:''; position:absolute; left:-8px; top:12px;
    width:0; height:0; border-right:8px solid white;
    border-top:8px solid transparent; border-bottom:8px solid transparent;
}

.success-message{
    background:linear-gradient(135deg,#22c55e 0%,#16a34a 100%);
    color:white; text-align:center; padding:14px;
    font-weight:500; animation:slideInLeft 0.5s ease-out;
}
.redirect-info{
    display:flex; align-items:center; justify-content:center;
    gap:9px; margin-top:7px; font-size:12px; opacity:0.9;
}
.spinner{
    width:15px; height:15px; border:2px solid transparent;
    border-top:2px solid white; border-radius:50%; animation:spin 1s linear infinite;
}
@keyframes spin{ to{transform:rotate(360deg)} }

.quick-actions{
    padding:14px 18px; background:#f1f5f9; border-top:1px solid #e2e8f0;
}
.quick-actions h4{
    font-size:11px; color:#64748b; margin-bottom:11px;
    text-transform:uppercase; font-weight:600;
}
.action-buttons{ display:flex; flex-wrap:wrap; gap:3px; }
.action__btn{
    background:white; color:#374151; border:1px solid #d1d5db;
    border-radius:18px; padding:5px 11px; font-size:12px; cursor:pointer;
    transition:all 0.3s; display:flex; align-items:center; gap:5px;
}
.action__btn:hover{
    background:#25d366; color:white; border-color:#25d366; transform:translateY(-1px);
}

.tp-bullet-title{ display:none !important; }

@media(max-width:480px){
    .whatsapp-float{ position:fixed; bottom:90px; z-index:9999; right:10px; }
    .whatsapp-widget{ width:calc(100vw - 20px); right:10px; bottom:90px; }
    .whatsapp-float svg{ width:26px; height:26px; }
}

.menu-main-menu-container{ margin:0 auto; }
p:empty{ display:none; margin:0 !important; }

/* ==================== HP PROJECTS SECTION ==================== */
.projects-wrap{ margin:0 auto; }

.gallery-grid{
    display:grid; grid-template-columns:repeat(4,1fr); gap:13px; margin-top:40px;
}
@media(max-width:1100px){ .gallery-grid{ grid-template-columns:repeat(3,1fr); } }

.g-item{
    position:relative; overflow:hidden; border-radius:var(--r);
    background:var(--card); border:1px solid var(--border);
    aspect-ratio:4/3; cursor:pointer;
    transition:transform .3s ease,border-color .3s ease;
}
.g-item.featured{ grid-column:span 2; grid-row:span 2; aspect-ratio:auto; }
.g-item:hover{ transform:translateY(-4px); border-color:rgba(232,160,32,.42); }
.g-item img{
    width:100%; height:100%; object-fit:cover; display:block;
    transition:transform .55s ease,filter .3s ease; filter:grayscale(15%);
}
.g-item:hover img{ transform:scale(1.07); filter:grayscale(0%); }
.g-item-overlay{
    position:absolute; inset:0;
    background:linear-gradient(0deg,rgba(13,15,18,.7) 0%,transparent 55%);
    opacity:0; transition:opacity .28s;
}
.g-item:hover .g-item-overlay{ opacity:1; }
.zoom-dot{
    position:absolute; top:11px; right:11px;
    width:30px; height:30px; border-radius:50%;
    background:var(--secondary);
    display:flex; align-items:center; justify-content:center;
    font-size:16px; color:#0d0f12;
    opacity:0; transform:scale(.6); transition:opacity .22s,transform .22s;
}
.g-item:hover .zoom-dot{ opacity:1; transform:scale(1); }

.pag-wrap{
    display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap;
    gap:13px; margin-top:40px; padding-top:22px; border-top:1px solid var(--border);
}
.pag-info{ font-size:12px; color:var(--muted); letter-spacing:.04em; }
.pagination{ display:flex; gap:6px; list-style:none; }
.page-item.disabled .page-link{ opacity:.3; pointer-events:none; cursor:default; }
.page-item.active .page-link{
    background:var(--secondary); border-color:var(--secondary); color:#0d0f12; font-weight:700;
}
.page-link{
    display:flex; align-items:center; justify-content:center;
    width:34px; height:34px; background:var(--card); border:1px solid var(--border);
    border-radius:var(--r); font-size:14px; font-weight:600; color:var(--text);
    text-decoration:none; cursor:pointer; transition:border-color .18s,color .18s,background .18s;
}
.page-link:hover{ border-color:var(--secondary); color:var(--secondary); background:rgba(232,160,32,.06); }

.lb-overlay{
    display:none; position:fixed; inset:0; z-index:9900;
    background:rgba(5,6,8,.96); backdrop-filter:blur(14px);
    align-items:center; justify-content:center;
    flex-direction:column; gap:17px; padding:20px;
}
.lb-overlay.open{ display:flex; }
.lb-frame{
    position:relative; max-width:980px; width:100%;
    border-radius:6px; overflow:hidden; border:1px solid var(--border);
    box-shadow:0 40px 90px rgba(0,0,0,.7);
}
.lb-frame img{
    width:100%; max-height:74vh; object-fit:contain; display:block; background:#000;
}
.lb-close-btn{
    position:absolute; top:10px; right:10px; z-index:2;
    background:rgba(13,15,18,.8); border:1px solid var(--border);
    color:var(--text); font-family:'DM Sans',sans-serif;
    font-size:11px; font-weight:500; letter-spacing:.08em;
    padding:5px 13px; border-radius:18px; cursor:pointer; transition:background .18s;
}
.lb-close-btn:hover{ background:var(--secondary); color:#0d0f12; border-color:var(--secondary); }
.lb-nav-row{ display:flex; gap:10px; }
.lb-nav-row button{
    background:var(--card); border:1px solid var(--border); color:var(--text);
    font-family:'Barlow Condensed',sans-serif; font-size:13px; font-weight:600;
    letter-spacing:.1em; text-transform:uppercase;
    padding:8px 24px; border-radius:var(--r); cursor:pointer;
    transition:background .18s,border-color .18s,color .18s;
}
.lb-nav-row button:hover{ background:var(--secondary); border-color:var(--secondary); color:#0d0f12; }

@keyframes fadeUp{
    from{opacity:0;transform:translateY(18px)}
    to{opacity:1;transform:translateY(0)}
}
.g-item{ animation:fadeUp .36s ease both; }

.hp-projects{
    background:#0d0f12; padding:70px 0 80px; position:relative; overflow:hidden;
}
.hp-projects::before{
    content:''; position:absolute; inset:0;
    background:radial-gradient(ellipse 60% 40% at 50% 0%,rgba(232,160,32,.08) 0%,transparent 65%);
    pointer-events:none;
}
.hp-proj-head{
    display:flex; align-items:flex-end; justify-content:space-between;
    flex-wrap:wrap; gap:18px; max-width:1400px; margin:0 auto; padding:0 26px 34px;
}
.hp-proj-head-left .eyebrow{
    font-family:'Barlow Condensed',sans-serif;
    font-size:11px; font-weight:600; letter-spacing:.28em; text-transform:uppercase;
    color:var(--secondary); margin-bottom:9px;
}
.hp-proj-head-left h2{
    font-family:'Barlow Condensed',sans-serif;
    font-size:clamp(32px,6vw,64px); font-weight:900;
    line-height:.94; letter-spacing:-.01em; text-transform:uppercase; color:#e8eaed;
}
.hp-proj-head-left h2 em{ font-style:normal; color:var(--secondary); }

.hp-view-all{
    display:inline-flex; align-items:center; gap:9px;
    font-family:'Barlow Condensed',sans-serif; font-size:12px; font-weight:700;
    letter-spacing:.18em; text-transform:uppercase;
    color:#e8eaed; text-decoration:none; border:1px solid #252830;
    padding:10px 22px; border-radius:4px; background:#1a1d22;
    transition:border-color .2s,color .2s,background .2s; white-space:nowrap;
}
.hp-view-all:hover{ border-color:var(--secondary); color:var(--secondary); background:rgba(232,160,32,.06); }
.hp-view-all svg{ transition:transform .2s; }
.hp-view-all:hover svg{ transform:translateX(3px); }

.hp-proj-grid{
    display:grid; grid-template-columns:repeat(4,1fr); gap:11px; margin:0 auto;
}
@media(max-width:1100px){ .hp-proj-grid{ grid-template-columns:repeat(3,1fr); } }
@media(max-width:990px){
    .navbar{ padding:0.8rem 0; }
    .navbar.scrolled{ padding:4px 0; }
    .navbar-brand img{ max-width:145px; }
    .navbar.scrolled .navbar-brand img{ max-width:120px; }
}

.hp-proj-item{
    position:relative; overflow:hidden; border-radius:4px;
    background:#1a1d22; border:1px solid #252830; aspect-ratio:4/3;
    cursor:pointer; transition:transform .3s ease,border-color .3s ease;
}
.hp-proj-item.hp-featured{ grid-column:span 2; grid-row:span 2; aspect-ratio:auto; }
.hp-proj-item:hover{ transform:translateY(-4px); border-color:rgba(232,160,32,.42); }
.hp-proj-item img{
    width:100%; height:100%; object-fit:cover; display:block;
    transition:transform .55s ease,filter .3s ease; filter:grayscale(15%);
}
.hp-proj-item:hover img{ transform:scale(1.07); filter:grayscale(0%); }
.hp-proj-overlay{
    position:absolute; inset:0;
    background:linear-gradient(0deg,rgba(13,15,18,.7) 0%,transparent 55%);
    opacity:0; transition:opacity .28s;
}
.hp-proj-item:hover .hp-proj-overlay{ opacity:1; }
.hp-proj-zoom{
    position:absolute; top:11px; right:11px;
    width:28px; height:28px; border-radius:50%;
    background:var(--secondary);
    display:flex; align-items:center; justify-content:center;
    font-size:14px; color:#0d0f12;
    opacity:0; transform:scale(.6); transition:opacity .22s,transform .22s;
}
.hp-proj-item:hover .hp-proj-zoom{ opacity:1; transform:scale(1); }

.hp-proj-cta{
    display:flex; justify-content:center;
    max-width:1400px; margin:34px auto 0; padding:0 26px;
}
.hp-proj-cta a{
    display:inline-flex; align-items:center; gap:9px;
    font-size:13px; font-weight:700; letter-spacing:.18em; text-transform:uppercase;
    color:#0d0f12; text-decoration:none; background:var(--secondary);
    padding:13px 15px; border-radius:4px; transition:opacity .2s,transform .2s;
}
.hp-proj-cta a:hover{ opacity:.88; transform:translateY(-2px); }

.hp-lb-overlay{
    display:none; position:fixed; inset:0; z-index:9900;
    background:rgba(5,6,8,.96); backdrop-filter:blur(14px);
    align-items:center; justify-content:center;
    flex-direction:column; gap:17px; padding:20px;
}
.hp-lb-overlay.open{ display:flex; }
.hp-lb-frame{
    position:relative; max-width:980px; width:100%;
    border-radius:6px; overflow:hidden; border:1px solid #252830;
    box-shadow:0 40px 90px rgba(0,0,0,.7);
}
.hp-lb-frame img{
    width:100%; max-height:74vh; object-fit:contain; display:block; background:#000;
}
.hp-lb-close{
    position:absolute; top:10px; right:10px; z-index:2;
    background:rgba(13,15,18,.8); border:1px solid #252830; color:#e8eaed;
    font-family:'DM Sans',sans-serif; font-size:11px; font-weight:500;
    letter-spacing:.08em; padding:5px 13px; border-radius:18px; cursor:pointer; transition:background .18s;
}
.hp-lb-close:hover{ background:var(--secondary); color:#0d0f12; border-color:var(--secondary); }
.hp-lb-nav{ display:flex; gap:10px; }
.hp-lb-nav button{
    background:#1a1d22; border:1px solid #252830; color:#e8eaed;
    font-family:'Barlow Condensed',sans-serif; font-size:13px; font-weight:600;
    letter-spacing:.1em; text-transform:uppercase;
    padding:8px 24px; border-radius:4px; cursor:pointer;
    transition:background .18s,border-color .18s,color .18s;
}
.hp-lb-nav button:hover{ background:var(--secondary); border-color:var(--secondary); color:#0d0f12; }

@keyframes hpFadeUp{
    from{opacity:0;transform:translateY(18px)}
    to{opacity:1;transform:translateY(0)}
}
.hp-proj-item{ animation:hpFadeUp .38s ease both; }
/* ==================== END OF CSS ==================== */
.ae-info-card {
    background: #152232;
    border: 1px solid #1e3347;
    border-radius: 12px;
    padding: 1rem 1.25rem;
    display: flex; align-items: center; gap: 12px;
    height: 100%;
  }
  .ae-info-icon {
    width: 36px; height: 36px; border-radius: 8px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1rem; flex-shrink: 0;
  }
  .ae-info-icon.green { background: rgba(74,222,128,0.12); color: #4ade80; }
  .ae-info-icon.blue  { background: rgba(42,127,255,0.12); color: #60a5fa; }
  .ae-info-icon.addr  { background: rgba(168,85,247,0.12); color: var(--secondary); }
  .ae-info-text { font-size:16px; color: #c9d4e0; line-height: 1.4; }
  .ae-info-label { font-size:13px;font-weight:600; text-transform: uppercase; letter-spacing: 0.08em; color: #4a6a8a; margin-bottom: 2px; }
  .ae-divider { border-color: #1e3347; margin: 2rem 0 1.25rem; }
  .footer-links li {
  margin-bottom: 0.5rem;
  padding: 4px 8px;
  display: inline;
}