/*====================================================================
    Rainbow Technologies Pvt. Ltd.
    Corporate Website Stylesheet
    Version : 1.0
    Author  : Rainbow Technologies
====================================================================*/


/*====================================================================
    GOOGLE FONTS
====================================================================*/
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Poppins:wght@300;400;500;600;700;800&display=swap');


/*====================================================================
    ROOT VARIABLES
====================================================================*/
:root{

    /* Primary Colors */

    --primary:#263B36;
    --primary-light:#3E5A58;
    --secondary:#3A6575;
    --accent:#A59A63;

    /* Background */

    --bg:#F3F6F4;
    --white:#FFFFFF;
    --dark:#1E302D;
    --dark-light:#2B3E3B;

    /* Text */

    --text:#4F5E5B;
    --heading:#1E302D;
    --muted:#71807C;

    /* Borders */

    --border:#DCE5E2;

    /* Success */

    --success:#5D8A70;

    /* Warning */

    --warning:#A59A63;

    /* Danger */

    --danger:#B45B5B;

    /* Radius */

    --radius-xs:4px;
    --radius-sm:8px;
    --radius-md:14px;
    --radius-lg:20px;
    --radius-xl:30px;

    /* Shadow */

    --shadow-sm:0 4px 12px rgba(0,0,0,.05);

    --shadow-md:0 10px 30px rgba(0,0,0,.08);

    --shadow-lg:0 20px 50px rgba(0,0,0,.15);

    /* Transition */

    --transition:.35s ease;

    /* Max Width */

    --container:1320px;

}


/*====================================================================
    RESET
====================================================================*/

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

html{

    scroll-behavior:smooth;
    scroll-padding-top:100px;

}

body{

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

    background:var(--bg);

    color:var(--text);

    font-size:16px;

    line-height:1.7;

    overflow-x:hidden;

    -webkit-font-smoothing:antialiased;

}

img{

    max-width:100%;

    display:block;

}

a{

    text-decoration:none;

    color:inherit;

    transition:var(--transition);

}

ul{

    list-style:none;

}

button{

    border:none;

    outline:none;

    cursor:pointer;

    font-family:inherit;

}

input,
textarea,
select{

    font-family:inherit;

    outline:none;

}

section{

    position:relative;

    padding:100px 0;

}

.container{

    width:min(92%,var(--container));

    margin:auto;

}

.row{

    display:flex;

    flex-wrap:wrap;

}

.text-center{

    text-align:center;

}

.text-white{

    color:#fff;

}

.bg-white{

    background:#fff;

}


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

h1,
h2,
h3,
h4,
h5,
h6{

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

    color:var(--heading);

    font-weight:700;

    line-height:1.2;

}

h1{

    font-size:64px;

}

h2{

    font-size:48px;

}

h3{

    font-size:34px;

}

h4{

    font-size:26px;

}

h5{

    font-size:20px;

}

h6{

    font-size:18px;

}

p{

    margin-bottom:18px;

    color:var(--text);

}

.section-title{

    margin-bottom:20px;

}

.section-subtitle{

    color:var(--secondary);

    font-weight:700;

    letter-spacing:1px;

    text-transform:uppercase;

    margin-bottom:15px;

}

.section-description{

    max-width:700px;

    margin:auto;

}


/*====================================================================
    SPACING UTILITIES
====================================================================*/

.mt-30{margin-top:30px;}
.mt-50{margin-top:50px;}
.mt-80{margin-top:80px;}

.mb-20{margin-bottom:20px;}
.mb-30{margin-bottom:30px;}
.mb-50{margin-bottom:50px;}
.mb-80{margin-bottom:80px;}

.pt-0{padding-top:0;}
.pb-0{padding-bottom:0;}

.gap-30{

    gap:30px;

}

.gap-50{

    gap:50px;

}


/*====================================================================
    BUTTONS
====================================================================*/

.btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:15px 34px;

    border-radius:50px;

    font-weight:600;

    transition:var(--transition);

}

.btn-primary{

    background:var(--secondary);

    color:#fff;

}

.btn-primary:hover{

    background:var(--primary);

    transform:translateY(-3px);

}

.btn-outline{

    border:2px solid var(--secondary);

    color:var(--secondary);

}

.btn-outline:hover{

    background:var(--secondary);

    color:#fff;

}

.btn-accent{

    background:var(--accent);

    color:#fff;

}

.btn-accent:hover{

    transform:translateY(-3px);

}


/*====================================================================
    HEADER
====================================================================*/

header{

    position:fixed;

    top:0;

    left:0;

    width:100%;

    z-index:9999;

    transition:.4s;

}

header.sticky{

    background:#FFFFFF;

    box-shadow:var(--shadow-md);

}

.navbar {
    min-height: 86px;
    display: flex;
    align-items: center;
}

.logo {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
}

.logo img {
    width: 105px;
    height: auto;
    max-height: 72px;
    object-fit: contain;
    display: block;
}

.nav-menu{

    display:flex;

    align-items:center;

    gap:38px;

}

.nav-menu li{

    position:relative;

}

.nav-menu li a{

    font-weight:600;

    color:var(--heading);

    position:relative;

}

.nav-menu li a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-8px;

    width:0;

    height:2px;

    background:var(--secondary);

    transition:.3s;

}

.nav-menu li:hover>a{

    color:var(--secondary);

}

.nav-menu li:hover>a::after{

    width:100%;

}

.header-right{

    display:flex;
    align-items:center;
    gap:20px;
	margin-left:auto;
    padding-left:50px;

}

.menu-toggle{

    display:none;

    font-size:32px;

    cursor:pointer;

}


/*====================================================================
    DROPDOWN
====================================================================*/

.dropdown{

    position:absolute;

    top:120%;

    left:0;

    width:260px;

    background:#fff;

    border-radius:10px;

    box-shadow:var(--shadow-md);

    opacity:0;

    visibility:hidden;

    transition:.3s;

    overflow:hidden;

}

.dropdown li{

    width:100%;

}

.dropdown li a{

    display:block;

    padding:14px 22px;

}

.dropdown li a:hover{

    background:#f3f6fb;

    color:var(--secondary);

}

.nav-menu li:hover>.dropdown{

    opacity:1;

    visibility:visible;

    top:100%;

}
/*====================================================================
    HERO SECTION
====================================================================*/

.hero{

    position:relative;
	
	width: 100%;

    min-height:720px;

    display:flex;

    align-items:center;

    overflow:hidden;

    background:linear-gradient(135deg,#203735 0%,#294B50 50%,#3E5A58 100%);

    padding-top:90px;

}

.hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url("../images/site/home-hero.jpg") center center / cover no-repeat;
    opacity: 0.32;
    z-index: 0;
}

.hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(32,55,53,.88) 0%,
        rgba(32,55,53,.68) 48%,
        rgba(62,90,88,.38) 100%
    );
    z-index: 1;
}

.hero .container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

.hero-content{

    position: relative;
    z-index: 2;

}

.hero-subtitle{

    color:#A8C6CC;

    font-weight:700;

    letter-spacing:2px;

    text-transform:uppercase;

    margin-bottom:18px;

    font-size:15px;

}

.hero h1{

    color:#fff;

    font-size:68px;

    margin-bottom:25px;

    line-height:1.1;

}

.hero p{

    color:#DCE6E3;

    font-size:19px;

    max-width:650px;

    margin-bottom:40px;

}

.hero-buttons{

    display:flex;

    gap:20px;

    flex-wrap:wrap;

}

.hero-buttons .btn{

    min-width:200px;

}

.hero-scroll{

    position:absolute;

    bottom:35px;

    left:50%;

    transform:translateX(-50%);

    color:#fff;

    font-size:14px;

    letter-spacing:1px;

    animation:scrollDown 2s infinite;

}

.hero-tagline {
    color: #F4F7F5;
}

.hero-services {
    color: #E8EFEC;
}

.hero-subtitle {
    color: #B9D1D0;
}

@keyframes scrollDown{

    0%{transform:translate(-50%,0);}
    50%{transform:translate(-50%,12px);}
    100%{transform:translate(-50%,0);}

}



/*====================================================================
    FLOATING SHAPES
====================================================================*/

.hero-shape{

    position:absolute;

    border-radius:50%;

    filter:blur(100px);

    opacity:.20;

}

.shape1{

    width:320px;

    height:320px;

    background:#3A6575;

    top:-100px;

    right:-60px;

}

.shape2{

    width:280px;

    height:280px;

    background:#A59A63;

    bottom:-80px;

    left:-80px;

}

.shape3{

    width:180px;

    height:180px;

    background:#FFFFFF;

    opacity:.08;

    top:45%;

    right:20%;

}



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

.about{

    background:#fff;

}

.about-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:80px;

    align-items:center;

}

.about-image{

    position:relative;

}

.about-image img{

    border-radius:20px;

    box-shadow:var(--shadow-lg);

}

.experience-box{

    position:absolute;

    bottom:30px;

    right:-30px;

    background:#3A6575;

    color:#fff;

    padding:30px;

    border-radius:18px;

    width:220px;

    text-align:center;

    box-shadow:var(--shadow-lg);

}

.experience-box h2{

    color:#fff;

    font-size:48px;

}

.experience-box span{

    display:block;

    font-size:15px;

    margin-top:8px;

}

.about-content ul{

    margin-top:30px;

}

.about-content li{

    padding:12px 0;

    display:flex;

    align-items:center;

    gap:15px;

    font-weight:500;

}

.about-content li i{

    width:34px;

    height:34px;

    border-radius:50%;

    background:#3A6575;

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

}

/* =========================================================
   OUR DEVELOPMENT APPROACH
========================================================= */

.development-approach-section {
    padding: 90px 0 100px;
    background: #f7f9f9;
}

.development-approach-section .container {
    max-width: 1280px;
    margin: 0 auto;
}

.development-approach-header {
    max-width: 850px;
    margin: 0 auto 45px;
    text-align: center;
}

.development-approach-header .section-eyebrow {
    display: inline-block;
    margin-bottom: 12px;
    color: #376f80;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}

.development-approach-header h2 {
    margin: 0 0 18px;
    color: #163b40;
    font-size: clamp(32px, 4vw, 46px);
    line-height: 1.15;
    font-weight: 700;
}

.development-approach-header p {
    max-width: 760px;
    margin: 0 auto;
    color: #536b70;
    font-size: 17px;
    line-height: 1.7;
}

.development-approach-image {
    width: 100%;
    margin: 0 auto;
    background: #ffffff;
    border: 1px solid rgba(35, 73, 76, 0.10);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 12px 35px rgba(25, 55, 58, 0.08);
}

.development-approach-image img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
    object-fit: contain;
}


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

@media (max-width: 900px) {

    .development-approach-section {
        padding: 70px 0 80px;
    }

    .development-approach-header {
        margin-bottom: 35px;
    }

    .development-approach-image {
        border-radius: 14px;
    }

}


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

@media (max-width: 600px) {

    .development-approach-section {
        padding: 55px 0 65px;
    }

    .development-approach-header {
        margin-bottom: 28px;
    }

    .development-approach-header h2 {
        font-size: 30px;
    }

    .development-approach-header p {
        font-size: 15px;
        line-height: 1.65;
    }

    .development-approach-image {
        border-radius: 10px;
    }

}


/*====================================================================
    FEATURE CARDS
====================================================================*/

.features{

    background:#F3F6F4;

}

.feature-grid{

    display:grid;

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

    gap:30px;

}

.feature-card{

    background:#fff;

    padding:45px 30px;

    border-radius:18px;

    transition:.35s;

    text-align:center;

    box-shadow:var(--shadow-sm);

    border:1px solid transparent;

}

.feature-card:hover{

    transform:translateY(-12px);

    box-shadow:var(--shadow-lg);

    border-color:#3A6575;

}

.feature-icon{

    width:85px;

    height:85px;

    margin:auto auto 25px;

    border-radius:18px;

    background:#EEF3F1;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:36px;

    color:#3A6575;

}

.feature-card h4{

    margin-bottom:18px;

}

.feature-card p{

    margin-bottom:0;

}



/*====================================================================
    CORPORATE STATISTICS
====================================================================*/

.stats{

    background:linear-gradient(135deg,#203735,#3E5A58);

    color:#fff;

}

.stats-grid{

    display:grid;

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

    gap:40px;

}

.stat-box{

    text-align:center;

}

.stat-box h2{

    color:#fff;

    font-size:54px;

    margin-bottom:12px;

}

.stat-box span{

    color:#dce7f5;

    font-size:18px;

}



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

.glass-card{

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

    backdrop-filter:blur(18px);

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

    border-radius:20px;

    padding:35px;

}



/*====================================================================
    SECTION BACKGROUNDS
====================================================================*/

.bg-light{

    background:#F3F6F4;

}

.bg-dark{

    background:#203735;

    color:#fff;

}

.bg-primary{

    background:#3A6575;

}



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

.image-hover{

    overflow:hidden;

    border-radius:18px;

}

.image-hover img{

    transition:.6s;

}

.image-hover:hover img{

    transform:scale(1.08);

}



/*====================================================================
    FADE UP ANIMATION
====================================================================*/

.fade-up{

    opacity:0;

    transform:translateY(50px);

    transition:.8s;

}

.fade-up.active{

    opacity:1;

    transform:translateY(0);

}



/*====================================================================
    SCALE ANIMATION
====================================================================*/

.scale-up{

    opacity:0;

    transform:scale(.9);

    transition:.6s;

}

.scale-up.active{

    opacity:1;

    transform:scale(1);

}



/*====================================================================
    HOVER LIFT
====================================================================*/

.hover-lift{

    transition:.35s;

}

.hover-lift:hover{

    transform:translateY(-10px);

}



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

@media(max-width:1200px){

.feature-grid{

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

}

.stats-grid{

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

}

}


@media(max-width:992px){

.hero h1{

font-size:54px;

}

.about-grid{

grid-template-columns:1fr;

}

.experience-box{

position:relative;

right:0;

bottom:0;

margin-top:25px;

}

}


@media(max-width:768px){

.hero{

text-align:center;

}

.hero-buttons{

justify-content:center;

}

.hero h1{

font-size:42px;

}

.hero p{

font-size:17px;

}

.feature-grid{

grid-template-columns:1fr;

}

.stats-grid{

grid-template-columns:1fr;

}

}


@media(max-width:576px){

.hero h1{

font-size:34px;

}

.section{

padding:70px 0;

}

.btn{

width:100%;

}

}
/*====================================================================
    SOLUTIONS
====================================================================*/

.solutions{

    background:#FFFFFF;

}

.solution-grid{

    display:grid;

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

    gap:35px;

}

.solution-card{

    position:relative;

    background:#fff;

    border-radius:20px;

    padding:40px 35px;

    overflow:visible;

    transition:.35s;

    box-shadow:var(--shadow-sm);

    border:1px solid var(--border);

}

.solution-card::before{

    content:"";

    position:absolute;

    top:0;
    left:0;

    width:6px;
    height:0;

    background:var(--secondary);

    transition:.4s;

}

.solution-card:hover{

    transform:translateY(-10px);

    box-shadow:var(--shadow-lg);

}

.solution-card:hover::before{

    height:100%;

}

.solution-icon{

    width:80px;
    height:80px;

    border-radius:18px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:#EEF3F1;

    color:var(--secondary);

    font-size:34px;

    margin-bottom:25px;

}

.solution-card h4{

    margin-bottom:18px;

}

.solution-card p{

    margin-bottom:25px;

}

.solution-card ul{

    margin-top:20px;

}

.solution-card ul li{

    padding:8px 0;

    display:flex;

    align-items:center;

    gap:10px;

    font-size:15px;

}

.solution-card ul li i{

    color:var(--secondary);

}



/*====================================================================
    INDUSTRIES
====================================================================*/

.industries{

    background:#F3F6F4;

}

.industry-grid{

    display:grid;

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

    gap:30px;

}

.industry-card{

    background:#fff;

    text-align:center;

    padding:35px 20px;

    border-radius:18px;

    transition:.35s;

    box-shadow:var(--shadow-sm);

}

.industry-card:hover{

    transform:translateY(-10px);

    background:var(--primary);

}

.industry-card:hover h5,
.industry-card:hover p,
.industry-card:hover .industry-icon{

    color:#fff;

}

.industry-icon{

    font-size:55px;

    color:var(--secondary);

    margin-bottom:20px;

    transition:.35s;

}



/*====================================================================
    PROCESS
====================================================================*/

.process{

    background:#fff;

}

.process-grid{

    display:grid;

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

    gap:25px;

}

.process-step{

    text-align:center;

    position:relative;

}

.process-step::after{

    content:"";

    position:absolute;

    top:40px;

    right:-45px;

    width:90px;

    height:2px;

    background:#D7E1DE;

}

.process-step:last-child::after{

    display:none;

}

.process-number{

    width:80px;
    height:80px;

    border-radius:50%;

    background:var(--secondary);

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    margin:auto;

    font-size:28px;

    font-weight:700;

    margin-bottom:25px;

}



/*====================================================================
    PORTFOLIO
====================================================================*/

.portfolio{

    background:#F3F6F4;

}

.portfolio-grid{

    display:grid;

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

    gap:30px;

}

.portfolio-item{

    overflow:hidden;

    border-radius:20px;

    position:relative;

    box-shadow:var(--shadow-md);

}

.portfolio-item img{

    width:100%;

    transition:.6s;

}

.portfolio-item:hover img{

    transform:scale(1.12);

}

.portfolio-overlay{

    position:absolute;

    inset:0;

    background:rgba(8,26,51,.88);

    display:flex;

    flex-direction:column;

    justify-content:flex-end;

    padding:35px;

    opacity:0;

    transition:.4s;

}

.portfolio-item:hover .portfolio-overlay{

    opacity:1;

}

.portfolio-overlay h4{

    color:#fff;

    margin-bottom:12px;

}

.portfolio-overlay p{

    color:#D8E4F5;

    margin-bottom:20px;

}



/*====================================================================
    CLIENTS
====================================================================*/

.clients{

    background:#fff;

}

.client-slider{

    display:grid;

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

    gap:35px;

    align-items:center;

}

.client-logo{

    height:90px;

    display:flex;

    justify-content:center;

    align-items:center;

    background:#fff;

    border-radius:15px;

    border:1px solid var(--border);

    transition:.35s;

}

.client-logo img{
    width:130px;
    height:55px;
    object-fit:contain;
    object-position:center;
    opacity:.65;
    transition:.35s;
}

.client-logo:hover{

    box-shadow:var(--shadow-md);

}

.client-logo:hover img{

    opacity:1;

}



/*====================================================================
    CALL TO ACTION
====================================================================*/

.cta{

    background:linear-gradient(135deg,#203735,#3E5A58);

    color:#fff;

    text-align:center;

}

.cta h2{

    color:#fff;

    margin-bottom:25px;

}

.cta p{

    color:#D7E1EF;

    max-width:720px;

    margin:auto auto 35px;

}

.cta-box .btn-outline{
    border-color:#FFFFFF;
    color:#FFFFFF;
}

.cta-box .btn-outline:hover{
    background:#FFFFFF;
    color:#3A6575;
}


/*====================================================================
    SECTION DIVIDER
====================================================================*/

.wave-divider{

    position:absolute;

    bottom:-2px;

    left:0;

    width:100%;

    overflow:hidden;

    line-height:0;

}

.wave-divider svg{

    width:100%;

    height:120px;

}



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

@media(max-width:1200px){

.solution-grid{

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

}

.industry-grid{

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

}

.process-grid{

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

}

.portfolio-grid{

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

}

.client-slider{

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

}

}

@media(max-width:768px){

.solution-grid,
.industry-grid,
.process-grid,
.portfolio-grid{

grid-template-columns:1fr;

}

.client-slider{

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

}

.process-step::after{

display:none;

}

}

@media(max-width:576px){

.client-slider{

grid-template-columns:1fr;

}

}
/*====================================================================
    CONTACT SECTION
====================================================================*/

.contact{

    background:#FFFFFF;

}

.contact-grid{

    display:grid;

    grid-template-columns:1fr 1.2fr;

    gap:60px;

    align-items:start;

}

.contact-info{

    display:flex;

    flex-direction:column;

    gap:25px;

}

.contact-card{

    display:flex;

    gap:20px;

    padding:25px;

    background:#F3F6F4;

    border-radius:18px;

    transition:.35s;

}

.contact-card:hover{

    transform:translateY(-6px);

    box-shadow:var(--shadow-md);

}

.contact-icon{

    width:65px;

    height:65px;

    background:var(--secondary);

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:16px;

    font-size:24px;

    flex-shrink:0;

}

.contact-form{

    background:#fff;

    padding:40px;

    border-radius:20px;

    box-shadow:var(--shadow-md);

}

.contact-form .form-group{

    margin-bottom:20px;

}

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

    width:100%;

    padding:15px 18px;

    border:1px solid var(--border);

    border-radius:12px;

    background:#fff;

    transition:.3s;

}

.contact-form textarea{

    resize:vertical;

    min-height:180px;

}

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

    border-color:var(--secondary);

    box-shadow:0 0 0 3px rgba(0,102,204,.15);

}



/*====================================================================
    NEWSLETTER
====================================================================*/

.newsletter{

    background:linear-gradient(135deg,#263B36,#3E5A58);

    padding:70px 0;

}

.newsletter-box{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:40px;

    color:#fff;

}

.newsletter h3{

    color:#fff;

}

.newsletter-form{

    display:flex;

    gap:15px;

    flex:1;

    max-width:600px;

}

.newsletter-form input{

    flex:1;

    border:none;

    border-radius:50px;

    padding:16px 25px;

}

.newsletter-form button{

    padding:16px 35px;

    border-radius:50px;

}



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

footer{

    background:#203735;

    color:#D7E1EF;

    padding-top:80px;

}

.footer-grid{

    display:grid;

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

    gap:45px;

}

.footer-logo{

    margin-bottom:25px;

}


.footer-title{

    color:#fff;

    margin-bottom:25px;

    font-size:20px;

}

.footer-links li{

    margin-bottom:14px;

}

.footer-links a{

    color:#D7E1EF;

    transition:.3s;

}

.footer-links a:hover{

    color:#fff;

    padding-left:6px;

}

.footer-contact li{

    display:flex;

    gap:12px;

    margin-bottom:18px;

}

.footer-contact i{

    color:var(--accent);

    margin-top:4px;

}

.footer-social{

    display:flex;

    gap:12px;

    margin-top:30px;

}

.footer-social a{

    width:45px;

    height:45px;

    border-radius:50%;

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

    display:flex;

    justify-content:center;

    align-items:center;

    color:#fff;

    transition:.3s;

}

.footer-social a:hover{

    background:var(--secondary);

    transform:translateY(-5px);

}

.footer-bottom{

    margin-top:60px;

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

    padding:25px 0;

    display:flex;

    justify-content:space-between;

    align-items:center;

    flex-wrap:wrap;

    gap:20px;

}



/*====================================================================
    SCROLL TO TOP
====================================================================*/

.scroll-top{

    position:fixed;

    right:25px;

    bottom:25px;

    width:55px;

    height:55px;

    border-radius:50%;

    background:var(--secondary);

    color:#fff;

    display:flex;

    justify-content:center;

    align-items:center;

    cursor:pointer;

    opacity:0;

    visibility:hidden;

    transition:.35s;

    z-index:999;

}

.scroll-top.active{

    opacity:1;

    visibility:visible;

}

.scroll-top:hover{

    background:var(--accent);

    transform:translateY(-5px);

}



/*====================================================================
    PRELOADER
====================================================================*/

.preloader{

    position:fixed;

    inset:0;

    background:#203735;

    display:flex;

    justify-content:center;

    align-items:center;

    z-index:99999;

}

.loader{

    width:70px;

    height:70px;

    border-radius:50%;

    border:6px solid rgba(255,255,255,.15);

    border-top-color:#fff;

    animation:spin 1s linear infinite;

}

@keyframes spin{

    to{

        transform:rotate(360deg);

    }

}



/*====================================================================
    COMMON ANIMATIONS
====================================================================*/

@keyframes fadeIn{

    from{

        opacity:0;

        transform:translateY(30px);

    }

    to{

        opacity:1;

        transform:none;

    }

}

@keyframes zoomIn{

    from{

        opacity:0;

        transform:scale(.9);

    }

    to{

        opacity:1;

        transform:scale(1);

    }

}

.fade-in{

    animation:fadeIn .8s ease both;

}

.zoom-in{

    animation:zoomIn .6s ease both;

}



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

@media(max-width:1200px){

.footer-grid{

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

}

}

@media(max-width:992px){

.contact-grid{

grid-template-columns:1fr;

}

.newsletter-box{

flex-direction:column;

align-items:flex-start;

}

.newsletter-form{

width:100%;

max-width:none;

}

}

@media(max-width:768px){

.footer-grid{

grid-template-columns:1fr;

}

.footer-bottom{

flex-direction:column;

text-align:center;

}

.newsletter-form{

flex-direction:column;

}

.newsletter-form button{

width:100%;

}

}

@media(max-width:576px){

.contact-form{

padding:25px;

}

.scroll-top{

right:15px;

bottom:15px;

width:48px;

height:48px;

}

}
/* Portfolio Filter */

.filter-btn.active{

background:#3A6575;

color:#fff;

}

/* FAQ */

.faq{

border-bottom:1px solid #E5EAF1;

padding:20px 0;

}

.faq-question{

cursor:pointer;

font-weight:600;

}

.faq-answer{

max-height:0;

overflow:hidden;

transition:.4s;

}

.faq.active .faq-answer{

max-height:400px;

margin-top:15px;

}

/* Page Loading */

.page-loading{

opacity:.95;

transition:.3s;

}
.training-tab.active{

background:#3A6575;

color:#fff;

}

.training-content{

display:none;

}

.training-content.active{

display:block;

animation:fadeIn .5s ease;

}

.timeline-step{

opacity:.3;

transform:translateY(40px);

transition:.6s;

}

.timeline-step.active{

opacity:1;

transform:translateY(0);

}

.equipment-card{

transition:.4s;

}

.equipment-card.active{

transform:translateY(-10px);

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

}

.video-modal{

position:fixed;

inset:0;

display:none;

justify-content:center;

align-items:center;

background:rgba(0,0,0,.8);

z-index:99999;

}

.video-modal.active{

display:flex;

}
.navigator-grid{

display:grid;

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

gap:35px;

margin-top:50px;

}

.navigator-card{

background:#fff;

padding:45px;

border-radius:20px;

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

transition:.4s;

border:1px solid #EEF2F6;

display:flex;

flex-direction:column;

height:100%;

}

.navigator-card:hover{

transform:translateY(-12px);

border-color:#3A6575;

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

}

.navigator-icon{

width:80px;

height:80px;

background:#EEF3F1;

border-radius:18px;

display:flex;

justify-content:center;

align-items:center;

font-size:34px;

color:#3A6575;

margin-bottom:30px;

}

.navigator-card h4{

margin-bottom:20px;

}

.navigator-card p{

flex:1;

}

.navigator-card span{

font-weight:600;

color:#3A6575;

margin-top:25px;

display:flex;

align-items:center;

gap:10px;

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

.footer{

background:#203735;

color:#FFFFFF;

padding:80px 0 25px;

margin-top:0;

}

.footer-top{

display:grid;

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

gap:60px;

margin-bottom:50px;

}


.footer-company p{

color:#BFC8D6;

line-height:1.9;

margin-bottom:25px;

}

.footer-column h4{

color:#fff;

font-size:20px;

margin-bottom:25px;

position:relative;

}

.footer-column h4::after{

content:"";

width:45px;

height:3px;

background:#3A6575;

display:block;

margin-top:10px;

border-radius:50px;

}

.footer-column ul{

list-style:none;

padding:0;

margin:0;

}

.footer-column ul li{

margin-bottom:14px;

}

.footer-column a{

color:#C7D2E2;

text-decoration:none;

transition:.3s;

}

.footer-column a:hover{

color:#3A6575;

padding-left:5px;

}

.footer-contact li{

display:flex;

align-items:flex-start;

gap:12px;

margin-bottom:18px;

}

.footer-contact i{

color:#3A6575;

font-size:18px;

margin-top:4px;

}

.social-links{

display:flex;

gap:15px;

}

.social-links a{

width:42px;

height:42px;

border-radius:50%;

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

display:flex;

align-items:center;

justify-content:center;

font-size:18px;

transition:.3s;

}

.social-links a:hover{

background:#3A6575;

color:#fff;

transform:translateY(-4px);

}

.footer-btn{

display:inline-block;

margin-top:15px;

padding:12px 28px;

background:#3A6575;

color:#fff!important;

border-radius:50px;

font-weight:600;

transition:.3s;

}

.footer-btn:hover{

background:#3A6575;

transform:translateY(-2px);

}

.footer hr{

border:none;

height:1px;

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

margin:0 0 25px;

}

.footer-bottom{

display:flex;

justify-content:space-between;

align-items:center;

gap:20px;

flex-wrap:wrap;

}

.footer-bottom p{

margin:0;

color:#AEB8C5;

font-size:15px;

}

@media(max-width:991px){

.footer-top{

grid-template-columns:1fr 1fr;

}

}

@media(max-width:767px){

.footer-top{

grid-template-columns:1fr;

}

.footer-bottom{

flex-direction:column;

text-align:center;

}

}

/*=========================================
FAQ
=========================================*/

.faq-container{

max-width:900px;
margin:0 auto;

}

.faq-item{

background:#fff;
border-radius:12px;
margin-bottom:18px;
overflow:hidden;
box-shadow:0 10px 25px rgba(0,0,0,.06);

}

.faq-question{

width:100%;
display:flex;
justify-content:space-between;
align-items:center;
padding:20px 25px;
background:none;
border:none;
cursor:pointer;
font-size:18px;
font-weight:600;
font-family:inherit;
text-align:left;

}

.faq-answer{

display:none;
padding:0 25px 25px;

}

.faq-answer p{

margin:0;
line-height:1.8;

}

.faq-item.active .faq-answer{

display:block;

}

.faq-item.active .bi{

transform:rotate(45deg);

}
/*=========================================
HONEYPOT SPAM PROTECTION
=========================================*/

.honeypot{

position:absolute;
left:-9999px;
top:-9999px;
width:1px;
height:1px;
overflow:hidden;
visibility:hidden;

}

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

.about-grid{

display:grid;
grid-template-columns:1fr 1fr;
gap:60px;
align-items:center;

}

.about-image img{

width:100%;
border-radius:18px;
box-shadow:0 15px 40px rgba(0,0,0,.12);

}

.about-content p{

margin-bottom:20px;
line-height:1.8;

}

.about-highlights{

display:grid;
grid-template-columns:repeat(2,1fr);
gap:18px;
margin:30px 0;

}

.about-highlights div{

display:flex;
align-items:center;
font-weight:600;
color:#3E5A58;

}

.about-highlights i{

color:#3A6575;
margin-right:10px;
font-size:18px;

}

@media(max-width:992px){

.about-grid{

grid-template-columns:1fr;

}

.about-highlights{

grid-template-columns:1fr;

}

}
/*=========================================
HOME CAPABILITIES
=========================================*/

.solution-card{

padding:35px;

}

.solution-card h3{

margin:20px 0 15px;

font-size:22px;

}

.solution-card p{

line-height:1.8;

}

.solution-icon{

font-size:48px;

color:#3A6575;

margin-bottom:15px;

}
/*=========================================
INDUSTRIES PREVIEW
=========================================*/

.industries-preview{

padding:100px 0;

background:#FFFFFF;

}

.industry-grid{

display:grid;

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

gap:30px;

margin-top:50px;

}

.industry-card{

background:#fff;

padding:35px;

border-radius:16px;

text-align:center;

box-shadow:0 10px 30px rgba(0,0,0,.08);

transition:.3s;

}

.industry-card:hover{

transform:translateY(-8px);

}

.industry-icon{

font-size:50px;

color:#3A6575;

margin-bottom:20px;

}

.industry-card h3{

margin-bottom:15px;

font-size:22px;

}

.industry-card p{

line-height:1.8;

}
/*=========================================
WHY RAINBOW
=========================================*/

.why-rainbow{

padding:100px 0;

background:#F3F6F4;

}

.feature-grid{

display:grid;

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

gap:30px;

margin-top:50px;

}

.feature-card{

background:#FFFFFF;

padding:35px;

border-radius:16px;

text-align:center;

box-shadow:0 12px 30px rgba(0,0,0,.08);

transition:.3s ease;

}

.feature-card:hover{

transform:translateY(-8px);

}

.feature-icon{

width:80px;

height:80px;

margin:0 auto 20px;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

background:#E7EFEC;

color:#3A6575;

font-size:38px;

}

.feature-card h3{

margin-bottom:15px;

font-size:22px;

color:#3E5A58;

}

.feature-card p{

line-height:1.8;

color:#555;

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

.cta-section{

padding:100px 0;
background:#FFFFFF;

}

.cta-box{

display:grid;
grid-template-columns:1.3fr 1fr;
gap:60px;
align-items:center;

background:linear-gradient(135deg,#3A6575,#3E5A58);

padding:60px;

border-radius:24px;

color:#FFFFFF;

overflow:hidden;

}

.cta-content h2{

color:#FFFFFF;
margin:20px 0;

}

.cta-content p{

font-size:17px;
line-height:1.8;
margin-bottom:35px;
color:rgba(255,255,255,.92);

}

.cta-buttons{

display:flex;
gap:20px;
flex-wrap:wrap;

}

.cta-image img{

width:100%;
border-radius:18px;
box-shadow:0 20px 40px rgba(0,0,0,.25);

}

@media(max-width:992px){

.cta-box{

grid-template-columns:1fr;
text-align:center;

}

.cta-buttons{

justify-content:center;

}

}
.footer-divider{

border:none;
height:1px;
background:rgba(255,255,255,.15);
margin:50px 0;

}
.footer-certifications{
    text-align:center;
    padding:40px 0;
}

.footer-certifications h4{
    margin-bottom:20px;
}

.certification-logos{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:24px;
    flex-wrap:wrap;
}

.certification-logos img{
    width:110px;
    height:65px;
    object-fit:contain;
    object-position:center;
    display:block;
    transition:transform .3s ease;
}

.certification-logos img:hover{
    transform:scale(1.05);
}
.hero-trust{

margin-top:30px;

font-size:15px;

opacity:.8;

}
.navigator-card{

height:340px;

overflow:hidden;

}

.preloader.loaded {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}



/* =========================================================
   FINAL RAINBOW TECHNOLOGIES VISUAL CONSISTENCY LAYER
   Army Green + Blue-Green Corporate Theme
   ========================================================= */

/* Unified site header */
header{
    background:rgba(255,255,255,.97);
    box-shadow:0 2px 18px rgba(38,59,54,.08);
}
header.sticky{
    background:#FFFFFF;
}
.nav-menu li a{
    color:var(--heading);
}
.nav-menu li:hover>a,
.nav-menu li a.active{
    color:var(--secondary);
}
.nav-menu li a::after{
    background:var(--secondary);
}

/* Unified buttons */
.btn-primary{
    background:var(--secondary);
    border-color:var(--secondary);
    color:#fff;
}
.btn-primary:hover{
    background:var(--primary);
    border-color:var(--primary);
}
.btn-outline{
    border-color:var(--secondary);
    color:var(--secondary);
}
.btn-outline:hover{
    background:var(--secondary);
    color:#fff;
}

/* Home hero */
.hero{
    background:
        linear-gradient(135deg,#203735 0%,#294B50 52%,#3E5A58 100%);
}
.hero::before{
    background:url("../images/site/home-hero.jpg") center center/cover no-repeat;
    opacity:.32;
}
.hero::after{
    background:linear-gradient(
        to right,
        rgba(32,55,53,.88) 0%,
        rgba(32,55,53,.68) 48%,
        rgba(62,90,88,.38) 100%
    );
}
.hero-subtitle{
    color:#A8C6CC;
}
.shape1{
    background:#3A6575;
}
.shape2{
    background:#A59A63;
}

/* Common inner-page hero */
.page-hero{
    position:relative;
    min-height:430px;
    display:flex;
    align-items:center;
    overflow:hidden;
    padding:150px 0 90px;
    background:
        linear-gradient(135deg,#203735 0%,#294B50 55%,#3E5A58 100%);
    color:#fff;
}
.page-hero::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            90deg,
            rgba(32,55,53,.95),
            rgba(41,75,80,.78),
            rgba(62,90,88,.62)
        );
    z-index:0;
}
.page-hero .container{
    position:relative;
    z-index:1;
}
.page-hero-content{
    max-width:900px;
}
.page-hero h1{
    color:#fff;
    font-size:52px;
    line-height:1.12;
    margin-bottom:22px;
}
.page-hero p{
    color:#E2ECE9;
    max-width:820px;
    font-size:18px;
}

/* Capabilities hero */
.capability-hero{
    position:relative;
    overflow:hidden;
    padding:150px 0 90px;
    background:
        linear-gradient(135deg,#203735 0%,#294B50 55%,#3E5A58 100%);
    color:#fff;
}
.capability-hero .hero-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(
        90deg,
        rgba(32,55,53,.96),
        rgba(41,75,80,.78)
    );
}
.capability-hero .container{
    position:relative;
    z-index:2;
}
.capability-hero .hero-grid{
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:60px;
    align-items:center;
}
.capability-hero .hero-left{
    max-width:720px;
}
.capability-hero .hero-label{
    display:inline-block;
    color:#A8C6CC;
    font-size:14px;
    font-weight:700;
    letter-spacing:2px;
    margin-bottom:18px;
}
.capability-hero h1{
    color:#fff;
    font-size:56px;
    line-height:1.12;
    margin-bottom:24px;
}
.capability-hero p{
    color:#E2ECE9;
    font-size:18px;
    line-height:1.8;
    margin-bottom:35px;
}
.capability-hero .hero-right img{
    width:100%;
    border-radius:22px;
    box-shadow:0 24px 55px rgba(0,0,0,.28);
}

/* Shared section headings */
.section-header span,
.section-subtitle{
    color:var(--secondary);
}
.section-header h2{
    color:var(--heading);
}

/* Industry cards */
.industry-icon,
.feature-icon{
    color:var(--secondary);
}
.industry-card h3,
.feature-card h3,
.feature-card h4{
    color:var(--heading);
}

/* Standard CTA, including pages still using the legacy class */
.cta-section,
.final-cta{
    background:#F3F6F4;
}
.cta-box,
.final-cta .cta-content{
    background:linear-gradient(135deg,#294B50,#3E5A58);
}
.cta-section .section-subtitle{
    color:#C2D5D2;
}
.cta-box .btn-outline,
.final-cta .btn-outline{
    border-color:#fff;
    color:#fff;
}
.cta-box .btn-outline:hover,
.final-cta .btn-outline:hover{
    background:#fff;
    color:#3A6575;
}

/* Footer */
.footer{
    background:#203735;
}
.footer a:hover{
    color:#A8C6CC;
}

/* Responsive */
@media(max-width:992px){
    .page-hero{
        min-height:380px;
        padding:135px 0 75px;
    }
    .page-hero h1{
        font-size:42px;
    }
    .capability-hero .hero-grid{
        grid-template-columns:1fr;
    }
    .capability-hero h1{
        font-size:44px;
    }
}
@media(max-width:576px){
    .page-hero h1{
        font-size:34px;
    }
    .page-hero p{
        font-size:16px;
    }
    .capability-hero h1{
        font-size:36px;
    }
}



/* FINAL HEADER LOGO CORRECTION */

@media(max-width:992px){
    .logo img{
        width:78px;
        height:auto;
        max-height:58px;
        object-fit:contain;
    }
}

/* Final footer logo sizing */
.footer-logo img{
    width:auto;
    height:60px;
    max-width:180px;
    object-fit:contain;
    display:block;
}

/* =========================================================
   FINAL CERTIFICATION LOGO NORMALIZATION
   ========================================================= */

.footer-certifications{
    text-align:center;
    padding:35px 0;
}

.certification-logos{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:30px;
    flex-wrap:wrap;
}

.certification-logos img{
    width:130px !important;
    height:60px !important;
    max-width:130px !important;
    max-height:60px !important;
    object-fit:contain !important;
    object-position:center center !important;
    display:block;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box;
}

/* Mobile */
@media(max-width:576px){

    .certification-logos{
        gap:18px;
    }

    .certification-logos img{
        width:105px !important;
        height:52px !important;
        max-width:105px !important;
        max-height:52px !important;
    }
}

/* =========================================================
   CERTIFICATIONS & CREDENTIALS
   ========================================================= */

.certifications-section{
    background:#F4F7F5;
}

.certification-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:24px;
    margin-top:45px;
    align-items:stretch;
}

.certification-card{
    background:#FFFFFF;
    border:1px solid rgba(38,59,54,.10);
    border-radius:18px;
    padding:24px 20px;
    text-align:center;

    display:flex;
    flex-direction:column;
    align-items:center;

    box-shadow:0 8px 25px rgba(38,59,54,.07);

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

.certification-card:hover{
    transform:translateY(-5px);
    box-shadow:0 15px 35px rgba(38,59,54,.12);
}


/* -----------------------------------------
   UNIFORM IMAGE AREA
   ----------------------------------------- */

.certification-image{
    width:100%;
    height:150px;

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

    margin-bottom:20px;
    overflow:hidden;
}

.certification-image img{
    width:100%;
    height:100%;

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

    display:block;
}


/* -----------------------------------------
   TITLE
   ----------------------------------------- */

.certification-card h4{
    margin:0 0 8px;

    font-size:20px;
    line-height:1.3;

    color:var(--heading);
}


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

.certification-card p{
    margin:0;

    font-size:14px;
    line-height:1.6;

    color:var(--text);
}


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

@media(max-width:1100px){

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

}


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

@media(max-width:576px){

    .certification-grid{
        grid-template-columns:1fr;
        gap:20px;
    }

    .certification-card{
        padding:22px 18px;
    }

    .certification-image{
        height:140px;
    }

}

/* =========================================================
   FINAL FIX – CAPABILITY CARDS
   Prevent headings and text from being clipped
   ========================================================= */

.capabilities-grid,
.capability-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 36px;
    align-items: stretch;
}

.capability-card {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;

    display: flex;
    flex-direction: column;

    box-sizing: border-box;
}

/* Capability image */

.capability-card img {
    width: 100%;
    height: 255px;
    object-fit: cover;
    display: block;
}

/* Text area */

.capability-card h3,
.capability-card h4 {
    margin: 22px 0 10px;
    line-height: 1.2;
    white-space: normal;
    overflow: visible;
    height: auto;
    min-height: 0;
}

.capability-card p {
    margin: 0 0 20px;
    line-height: 1.6;
    white-space: normal;
    overflow: visible;
    height: auto;
}

/* Icon */

.capability-card .capability-icon,
.capability-card > i {
    flex-shrink: 0;
}

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

@media (max-width: 1000px) {

    .capabilities-grid,
    .capability-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 28px;
    }

}

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

@media (max-width: 650px) {

    .capabilities-grid,
    .capability-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

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

    .capability-card h3,
    .capability-card h4 {
        font-size: 26px;
    }

}


/* =========================================================
   CAPABILITIES PAGE – IMAGE CONSISTENCY
   ========================================================= */

/* Capability navigation cards */

.navigator-card {
    overflow: hidden;
}

.navigator-card img {
    width: 100%;
    aspect-ratio: 16 / 10;
    height: auto;
    object-fit: cover;
    display: block;
}

/* Main capability showcase images */

.showcase-image {
    width: 100%;
    overflow: hidden;
    border-radius: 14px;
}

.showcase-image img {
    width: 100%;
    aspect-ratio: 16 / 10;
    height: auto;
    object-fit: cover;
    display: block;
}


/* =========================================================
   CAPABILITY SHOWCASE – TEXT SAFETY
   Prevent headings from being clipped
   ========================================================= */

.capability-showcase {
    overflow: visible;
}

.showcase-grid {
    align-items: center;
}

.showcase-content {
    min-width: 0;
    overflow: visible;
}

.showcase-content h2 {
    height: auto;
    max-height: none;
    overflow: visible;
    white-space: normal;
    word-break: normal;
    overflow-wrap: normal;
}


/* =========================================================
   PROJECT DELIVERABLES – PREMIUM CARD GRID
   ========================================================= */

.project-deliverables-section {
    padding: 90px 0 100px;
    background: #f4f7f7;
}

.project-deliverables-section .container {
    max-width: 1200px;
    margin: 0 auto;
}

.deliverables-header {
    max-width: 900px;
    margin: 0 auto 48px;
    text-align: center;
}

.deliverables-header > span {
    display: inline-block;
    margin-bottom: 12px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 1.6px;
    text-transform: uppercase;
}

.deliverables-header h2 {
    margin: 0 auto 16px;
    line-height: 1.15;
}

.deliverables-header p {
    max-width: 760px;
    margin: 0 auto;
    line-height: 1.7;
}


/* Four-column desktop grid */

.project-deliverables-section .deliverables-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
    margin-top: 10px;
}


/* Individual deliverable card */

.project-deliverables-section .deliverable-card {
    min-height: 190px;
    padding: 28px 24px;

    background: #ffffff;
    border: 1px solid rgba(35, 73, 76, 0.10);
    border-radius: 16px;

    box-shadow: 0 8px 25px rgba(25, 55, 58, 0.07);

    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;

    box-sizing: border-box;

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

.project-deliverables-section .deliverable-card:hover {
    transform: translateY(-6px);

    box-shadow:
        0 16px 35px rgba(25, 55, 58, 0.12);

    border-color:
        rgba(54, 111, 128, 0.35);
}


/* Deliverable icon */

.project-deliverables-section .deliverable-icon {
    width: 52px;
    height: 52px;

    margin-bottom: 20px;

    border-radius: 12px;

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

    background: #e8f1f3;

    font-size: 25px;

    flex-shrink: 0;
}


/* Deliverable heading */

.project-deliverables-section .deliverable-card h5 {
    margin: 0 0 9px;

    font-size: 19px;
    line-height: 1.25;

    height: auto;
    min-height: 0;
    max-height: none;

    overflow: visible;
    white-space: normal;
}


/* Deliverable description */

.project-deliverables-section .deliverable-card p {
    margin: 0;

    font-size: 14px;
    line-height: 1.6;

    height: auto;
    max-height: none;

    overflow: visible;
}


/* =========================================================
   PROJECT DELIVERABLES – TABLET
   ========================================================= */

@media (max-width: 1050px) {

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

}


/* =========================================================
   PROJECT DELIVERABLES – MOBILE
   ========================================================= */

@media (max-width: 600px) {

    .project-deliverables-section {
        padding: 65px 0 75px;
    }

    .project-deliverables-section .deliverables-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .project-deliverables-section .deliverable-card {
        min-height: auto;
    }

    .navigator-card img,
    .showcase-image img {
        aspect-ratio: 16 / 10;
    }

}

/* =========================================================
   CAPABILITY IMAGE CONSISTENCY
   ========================================================= */

.navigator-card img,
.showcase-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.navigator-card img {
    aspect-ratio: 16 / 10;
}

.showcase-image img {
    aspect-ratio: 16 / 10;
    object-fit: cover;
}
/* =========================================================
   RAINBOW TECHNOLOGIES – FINAL CORPORATE CLEANUP
   Purpose: reduce template/AI visual cues and create a
   restrained engineering/defence corporate presentation.
   ========================================================= */

:root {
    --primary: #263f3a;
    --primary-light: #355550;
    --secondary: #3b6877;
    --accent: #9c9160;
    --bg: #f4f7f6;
    --text: #536360;
    --heading: #193530;
    --border: #d9e2df;
    --shadow-sm: 0 2px 10px rgba(25,53,48,.05);
    --shadow-md: 0 6px 20px rgba(25,53,48,.08);
}

html { scroll-padding-top: 82px; }
body { background: #f4f7f6; }

/* ---------- Header ---------- */
header,
header.sticky {
    background: #fff;
    box-shadow: 0 1px 0 rgba(25,53,48,.10);
}

.navbar {
    min-height: 78px;
    display: grid;
    grid-template-columns: auto minmax(0,1fr) auto;
    align-items: center;
    gap: 28px;
}

.logo img {
    width: 82px;
    height: 70px;
    object-fit: contain;
}

.nav-menu,
.nav-menu ul {
    list-style: none !important;
    margin: 0;
    padding: 0;
}

.nav-menu {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 30px;
}

.nav-menu li { list-style: none !important; }

.nav-menu li a {
    display: inline-block;
    padding: 8px 0;
    font-size: 16px;
    font-weight: 600;
    color: #243c38;
}

.nav-menu li a::after { bottom: 0; height: 2px; }

.header-right {
    margin-left: 0;
    padding-left: 0;
    gap: 0;
}

.header-right .btn-primary,
.footer-btn {
    border-radius: 7px;
}

.header-right .btn-primary {
    padding: 13px 22px;
    white-space: nowrap;
    font-size: 15px;
}

/* ---------- Buttons ---------- */
.btn {
    border-radius: 7px;
    box-shadow: none;
    transform: none !important;
}

.btn-primary {
    background: #3b6877;
    border: 1px solid #3b6877;
}

.btn-primary:hover { background: #263f3a; border-color: #263f3a; }

.btn-outline {
    border: 1px solid #3b6877;
    color: #315d6b;
    background: transparent;
}

.btn-outline:hover { background: #3b6877; color: #fff; }

/* ---------- Typography ---------- */
h1, h2, h3, h4, h5, h6 { letter-spacing: -0.015em; }
h1 { font-weight: 700; }
h2 { font-weight: 650; }
.section-header h2 { max-width: 900px; }
.section-header p { max-width: 820px; }

/* ---------- Sections ---------- */
section { padding: 78px 0; }
.section,
.about-company,
.company-highlights,
.our-story,
.mission,
.values,
.quality,
.industries-preview,
.why-rainbow,
.learning-journey,
.development-process,
.case-studies,
.contact-list,
.services-grid { background: transparent; }

.bg-light,
.section.bg-light,
.development-process.bg-light,
.case-studies.bg-light { background: #eef3f1 !important; }

.section-banner {
    width: 100%;
    margin: 0 0 36px;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 10px;
}

.section-banner img {
    width: 100%;
    max-height: 300px;
    object-fit: cover;
}

/* ---------- Home hero ---------- */
.hero {
    min-height: 650px;
    padding: 130px 0 80px;
    background: #203c38 !important;
}

.hero::before { opacity: .24 !important; }
.hero::after {
    background: linear-gradient(90deg, rgba(26,57,53,.94), rgba(32,67,72,.70)) !important;
}

.hero .container {
    display: grid;
    grid-template-columns: minmax(0,1.05fr) minmax(380px,.95fr);
    gap: 60px;
    align-items: center;
}

.hero-content { max-width: 760px; }
.hero-subtitle { color: #b8ced0; letter-spacing: 1.4px; }
.hero h1 { font-size: clamp(44px,5vw,62px); line-height: 1.08; }
.hero-tagline { color: #d9e5e3; font-size: 22px; font-weight: 500; }
.hero-services { color: #eef4f2; max-width: 720px; }
.hero-trust { color: #b8ced0; }
.hero-image { position: relative; }
.hero-image img {
    width: 100%;
    max-height: 430px;
    object-fit: cover;
    border-radius: 10px;
    border: 1px solid rgba(255,255,255,.18);
    box-shadow: 0 12px 30px rgba(0,0,0,.20);
}
.hero-shape { display: none !important; }

/* ---------- Remove decorative motion ---------- */
.floating { transform: none !important; }

/* ---------- About ---------- */
.about-company .about-grid,
.about-preview .about-grid {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    gap: 64px;
    align-items: center;
}

.about-company .about-grid > div:first-child img,
.about-preview .about-image img {
    width: 100%;
    max-height: 430px;
    object-fit: cover;
    border-radius: 10px;
    border: 1px solid var(--border);
    box-shadow: var(--shadow-md);
}

.company-highlights { padding: 28px 0 58px; }
.company-highlights .stats-grid,
.company-highlights .stat-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 18px;
}

.stat-card {
    padding: 22px 20px;
    background: #fff;
    border: 1px solid var(--border);
    border-left: 3px solid #3b6877;
    border-radius: 7px;
    box-shadow: var(--shadow-sm);
}
.stat-card h3 { font-size: 18px; margin-bottom: 7px; }
.stat-card p { margin: 0; font-size: 14px; }

.our-story .section-banner img,
.why-rainbow .section-banner img {
    max-height: 280px;
}

.our-story > .container > p { max-width: 900px; margin: 0 auto 18px; }

.mission .feature-grid,
.values .solution-grid,
.why-rainbow .feature-grid {
    margin-top: 35px;
}

.feature-card,
.solution-card,
.industry-card,
.service-card,
.lifecycle-card,
.case-card,
.why-card,
.comparison-card {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 9px;
    box-shadow: var(--shadow-sm);
}

.feature-card:hover,
.solution-card:hover,
.industry-card:hover,
.service-card:hover,
.lifecycle-card:hover,
.case-card:hover,
.why-card:hover,
.comparison-card:hover {
    transform: none !important;
    box-shadow: var(--shadow-md);
}

.feature-card { padding: 28px; text-align: left; }
.feature-card .feature-icon { margin: 0 0 18px; }

.quality { padding-top: 25px; }
.quality .glass-card {
    background: #e9efed;
    border: 1px solid var(--border);
    border-left: 4px solid #3b6877;
    border-radius: 7px;
    box-shadow: none;
    padding: 30px 34px;
}

/* ---------- Certifications ---------- */
.certifications-section .certification-grid {
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 18px;
}

.certification-card {
    min-width: 0;
    padding: 18px;
    border-radius: 8px;
    box-shadow: var(--shadow-sm);
}

.certification-card > img,
.certification-image img {
    width: 100%;
    height: 130px;
    object-fit: contain;
    object-position: center;
    background: #fff;
}

.certification-card h4 { font-size: 18px; margin-top: 14px; }

/* ---------- Capability navigator ---------- */
.capability-navigator { background: #f4f7f6; }

.navigator-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 22px;
    margin-top: 38px;
}

.navigator-card {
    display: flex;
    flex-direction: column;
    height: auto !important;
    min-height: 0;
    padding: 0;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 9px;
    box-shadow: var(--shadow-sm);
    transition: box-shadow .2s ease, border-color .2s ease;
}

.navigator-card:hover {
    transform: none !important;
    border-color: #9eb5b4;
    box-shadow: var(--shadow-md);
}

.navigator-card img {
    width: 100%;
    height: 205px;
    aspect-ratio: auto;
    object-fit: cover;
}

.navigator-overlay {
    position: static !important;
    inset: auto !important;
    display: block;
    padding: 22px 22px 24px;
    background: #fff !important;
    color: var(--text);
}

.navigator-overlay > i { color: #3b6877; font-size: 23px; }
.navigator-overlay h3 { margin: 10px 0 8px; font-size: 22px; line-height: 1.25; color: var(--heading); }
.navigator-overlay p { margin: 0 0 16px; font-size: 14px; line-height: 1.6; }
.navigator-overlay span { color: #3b6877; font-weight: 700; font-size: 14px; }

/* ---------- Capability showcase ---------- */
.capability-showcase { background: #fff; }
.capability-showcase.bg-light { background: #eef3f1 !important; }

.showcase-grid {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    gap: 55px;
    align-items: center;
}

.showcase-grid.reverse .showcase-image { order: 2; }
.showcase-image { border-radius: 9px; overflow: hidden; border: 1px solid var(--border); box-shadow: var(--shadow-md); }
.showcase-image img { width:100%; height:360px; aspect-ratio:auto; object-fit:cover; }
.showcase-content { min-width:0; }
.showcase-content h2 { font-size: 38px; line-height:1.15; margin: 10px 0 18px; }
.showcase-content > p { max-width: 720px; }

.tag-group { display:flex; flex-wrap:wrap; gap:8px; margin:22px 0; }
.tag-group span { padding:6px 10px; border:1px solid #cbd9d6; border-radius:4px; background:#f6f9f8; color:#3d5e5a; font-size:13px; }
.applications { margin-top: 24px; }
.applications ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px 20px; }
.applications li { position:relative; padding-left:20px; font-size:14px; }
.applications li::before { content:""; position:absolute; left:0; top:.7em; width:7px; height:7px; border-radius:50%; background:#3b6877; }

/* ---------- Ecosystem / journey ---------- */
.ecosystem { background:#263f3a; color:#fff; }
.ecosystem .section-header h2,
.ecosystem .section-header p,
.ecosystem .section-header span { color:#fff; }
.ecosystem .section-header span { color:#b8ced0; }
.ecosystem-flow { display:grid; grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr; align-items:center; gap:12px; margin-top:38px; }
.eco-box { padding:22px 16px; text-align:center; border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.05); border-radius:7px; }
.eco-box i { font-size:28px; color:#b8ced0; }
.eco-box h4 { margin-top:10px; color:#fff; font-size:17px; }
.eco-arrow { color:#a9c4c4; font-size:24px; }

.learning-journey { background:#fff; }
.journey-grid { display:grid; grid-template-columns:1fr auto 1fr auto 1fr auto 1fr; gap:14px; align-items:stretch; margin-top:38px; }
.journey-step { background:#f7f9f8; border:1px solid var(--border); border-radius:8px; overflow:hidden; }
.journey-step img { width:100%; height:170px; object-fit:cover; }
.journey-content { padding:18px; }
.journey-content h4 { font-size:18px; margin-bottom:7px; }
.journey-content p { margin:0; font-size:14px; line-height:1.6; }
.journey-arrow { align-self:center; color:#3b6877; font-size:22px; }

/* ---------- Development process ---------- */
.development-process .timeline { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:38px; }
.timeline-item { position:relative; padding:25px 24px 24px 68px; background:#fff; border:1px solid var(--border); border-radius:8px; min-height:145px; }
.timeline-number { position:absolute; left:20px; top:22px; width:32px; height:32px; border-radius:50%; background:#3b6877; color:#fff; display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:700; }
.timeline-item h4 { font-size:18px; margin-bottom:8px; }
.timeline-item p { margin:0; font-size:14px; line-height:1.55; }

/* ---------- Deliverables ---------- */
.project-deliverables-section { background:#f4f7f6; }
.project-deliverables-section .deliverable-card { border-radius:8px; box-shadow:var(--shadow-sm); }
.project-deliverables-section .deliverable-card:hover { transform:none; box-shadow:var(--shadow-md); }

/* ---------- Case studies ---------- */
.case-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-top:38px; }
.case-card { overflow:hidden; }
.case-card img { width:100%; height:230px; object-fit:cover; }
.case-content { padding:22px; }
.case-content h3 { font-size:21px; margin-bottom:8px; }
.case-content p { margin:0; font-size:14px; line-height:1.6; }

/* ---------- Industries ---------- */
.industry-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.industry-card { text-align:left; padding:26px; }
.industry-icon { font-size:34px; margin-bottom:14px; }
.industry-card h3 { font-size:20px; }

.lifecycle-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin-top:35px; }
.lifecycle-card { padding:24px; }
.lifecycle-icon { color:#3b6877; font-size:30px; margin-bottom:14px; }
.lifecycle-card h4 { font-size:18px; margin-bottom:7px; }
.lifecycle-card p { margin:0; font-size:14px; }
.lifecycle-arrow { display:none; }
.industry-content { min-width:0; }
.industry-features { margin-top:15px; }
.industry-features li { margin-bottom:7px; padding-left:18px; position:relative; font-size:14px; }
.industry-features li::before { content:"•"; position:absolute; left:0; color:#3b6877; }

/* ---------- Resources ---------- */
.services-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:35px; }
.service-card { padding:26px; }
.service-icon { color:#3b6877; font-size:30px; margin-bottom:14px; }
.service-card h3 { font-size:20px; margin-bottom:8px; }
.service-card p { margin:0; font-size:14px; line-height:1.65; }

/* ---------- Contact ---------- */
.contact-list { padding-left:0; }
.contact-list li { display:flex; gap:12px; margin-bottom:13px; align-items:flex-start; }
.contact-list i { color:#3b6877; margin-top:5px; }

/* ---------- CTA ---------- */
.cta-section { background:#f4f7f6; }
.cta-box {
    background:#294d55 !important;
    border-radius:10px !important;
    padding:52px !important;
    box-shadow:none !important;
}
.cta-image img { border-radius:8px; box-shadow:none; }

/* ---------- Footer ---------- */
.footer { background:#203c38; padding:64px 0 22px; }
.footer-top { gap:42px; }
.footer a:hover { color:#b8ced0; }
.footer-certifications { padding:28px 0; }

/* ---------- About development infographic ---------- */
.development-approach-section { padding:65px 0 80px; background:#fff; }
.development-approach-image { border:1px solid var(--border); border-radius:8px; overflow:hidden; box-shadow:var(--shadow-sm); background:#fff; }
.development-approach-image img { width:100%; height:auto; display:block; }

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
    .navbar { grid-template-columns:auto 1fr auto; gap:18px; }
    .nav-menu { gap:20px; }
    .header-right .btn-primary { padding:12px 16px; }
    .hero .container { grid-template-columns:1fr; }
    .hero-image { max-width:760px; }
    .company-highlights .stats-grid,
    .company-highlights .stat-grid,
    .certifications-section .certification-grid { grid-template-columns:repeat(2,1fr); }
    .navigator-grid,
    .case-grid,
    .services-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .lifecycle-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .development-process .timeline { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .showcase-grid { gap:35px; }
}

@media (max-width: 992px) {
    .navbar { display:flex; }
    .nav-menu {
        display:none;
        position:absolute;
        top:78px;
        left:0;
        right:0;
        padding:14px 5%;
        background:#fff;
        border-top:1px solid var(--border);
        border-bottom:1px solid var(--border);
        box-shadow:0 8px 20px rgba(25,53,48,.08);
        flex-direction:column;
        align-items:flex-start;
        gap:0;
    }
    .nav-menu.active { display:flex; }
    .nav-menu li { width:100%; }
    .nav-menu li a { width:100%; padding:11px 0; }
    .menu-toggle { display:block; margin-left:14px; }
    .about-company .about-grid,
    .about-preview .about-grid,
    .showcase-grid { grid-template-columns:1fr; }
    .showcase-grid.reverse .showcase-image { order:initial; }
    .ecosystem-flow { grid-template-columns:repeat(5,1fr); }
    .eco-arrow { display:none; }
    .journey-grid { grid-template-columns:repeat(2,1fr); }
    .journey-arrow { display:none; }
}

@media (max-width: 700px) {
    section { padding:60px 0; }
    .logo img { width:74px; height:62px; }
    .header-right .btn-primary { display:none; }
    .hero { min-height:auto; padding:115px 0 65px; }
    .hero h1 { font-size:40px; }
    .hero-tagline { font-size:19px; }
    .company-highlights .stats-grid,
    .company-highlights .stat-grid,
    .certifications-section .certification-grid,
    .navigator-grid,
    .case-grid,
    .services-grid,
    .lifecycle-grid,
    .development-process .timeline,
    .journey-grid,
    .applications ul { grid-template-columns:1fr; }
    .ecosystem-flow { grid-template-columns:1fr; }
    .showcase-content h2 { font-size:32px; }
    .showcase-image img { height:260px; }
    .project-deliverables-section .deliverables-grid { grid-template-columns:1fr; }
    .cta-box { padding:34px 24px !important; }
}


/* ---------- Small structural classes ---------- */
.text-left { text-align:left !important; }
.hero-highlight { color:#b9ced0; display:inline; }

.interactive-learning { background:#fff; }
.comparison-grid {
    display:grid;
    grid-template-columns:minmax(0,1fr) 60px minmax(0,1fr);
    align-items:stretch;
    gap:18px;
    margin-top:38px;
}
.comparison-card { padding:26px; }
.comparison-header { display:flex; align-items:center; gap:12px; padding-bottom:16px; margin-bottom:14px; border-bottom:1px solid var(--border); }
.comparison-header i { font-size:25px; color:#3b6877; }
.comparison-header h3 { font-size:20px; margin:0; }
.comparison-card ul { margin:0; padding:0; }
.comparison-card li { display:flex; gap:10px; align-items:flex-start; padding:8px 0; font-size:14px; border-bottom:1px solid #edf1f0; }
.comparison-card li:last-child { border-bottom:0; }
.comparison-card li .bi-x-circle { color:#9b6666; }
.comparison-card li .bi-check-circle-fill { color:#4d7a65; }
.comparison-arrow { display:flex; align-items:center; justify-content:center; color:#3b6877; font-size:22px; }
.traditional { border-top:3px solid #8a9a96; }
.interactive { border-top:3px solid #3b6877; }

@media (max-width:700px) {
    .comparison-grid { grid-template-columns:1fr; }
    .comparison-arrow { display:none; }
}

.why-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin-top:35px; }
.why-card { padding:24px; }
.why-card > i { display:block; color:#3b6877; font-size:28px; margin-bottom:13px; }
.why-card h4 { font-size:18px; margin-bottom:7px; }
.why-card p { margin:0; font-size:14px; line-height:1.6; }
@media (max-width:1100px) { .why-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:700px) { .why-grid { grid-template-columns:1fr; } }


/* =========================================================
   02-09-2026 IMAGE REPETITION / CROPPING CLEANUP
   ========================================================= */
.navigator-card .navigator-content-only { position:static; inset:auto; background:transparent; color:inherit; padding:26px; display:flex; flex-direction:column; align-items:flex-start; min-height:180px; }
.navigator-card .navigator-content-only h3, .navigator-card .navigator-content-only p { color:inherit; }
.capability-navigator .navigator-card { min-height:220px; }
.capability-showcase .showcase-image { background:#eef3f1; min-height:360px; display:flex; align-items:center; justify-content:center; overflow:hidden; border:1px solid var(--border); border-radius:10px; }
.capability-showcase .showcase-image img { width:100%; height:100%; max-height:360px; object-fit:contain !important; object-position:center; display:block; background:#eef3f1; }
.case-card { min-height:220px; }
.case-card .case-content { padding:28px; }
.industry-card > img { display:none; }
.industry-card .industry-icon { width:58px; height:58px; border-radius:10px; display:flex; align-items:center; justify-content:center; margin-bottom:20px; background:#edf3f1; color:var(--secondary); font-size:26px; }
.cta-image { display:none !important; }
.page-hero { background-image:none !important; }
.about-grid > div:empty { display:none; }
@media (max-width: 900px) {
  .capability-showcase .showcase-image { min-height:260px; }
  .capability-showcase .showcase-image img { max-height:260px; }
}


/* Final layout polish after image repetition cleanup */
.about-grid > div:only-child { grid-column:1 / -1; }
.about-grid > div:only-child .about-content { max-width:900px; }
.hero-technical-panel { width:100%; max-width:520px; display:grid; gap:12px; }
.hero-technical-item { background:rgba(255,255,255,.96); border:1px solid rgba(217,226,223,.9); border-radius:10px; padding:20px 22px; display:grid; grid-template-columns:42px 1fr; column-gap:14px; align-items:start; box-shadow:0 8px 24px rgba(25,53,48,.08); }
.hero-technical-number { grid-row:1 / span 2; width:38px; height:38px; display:flex; align-items:center; justify-content:center; border-radius:8px; background:#edf3f1; color:var(--secondary); font-weight:800; font-size:13px; }
.hero-technical-item h3 { margin:0 0 4px; font-size:18px; color:var(--heading); }
.hero-technical-item p { margin:0; color:var(--text); font-size:14px; line-height:1.55; }
@media (max-width:700px) { .hero-technical-panel { max-width:none; } .hero-technical-item { padding:17px; } }


/* =========================================================
   FINAL TYPOGRAPHY RHYTHM
   Keep paragraph spacing compact and consistent across pages.
========================================================= */
p {
    margin-top: 0;
    margin-bottom: 14px;
    line-height: 1.65;
}
.section-header p {
    margin-top: 0;
    margin-bottom: 0;
    line-height: 1.65;
}
.about-company p,
.about-preview .about-content p,
.our-story > .container > p,
.quality p,
.mission .feature-card p,
.values .solution-card p {
    margin-top: 0;
    margin-bottom: 13px;
    line-height: 1.65;
}
.about-company .about-content > p:last-child,
.about-preview .about-content > p:last-child,
.our-story > .container > p:last-child,
.quality p:last-child,
.mission .feature-card p:last-child,
.values .solution-card p:last-child {
    margin-bottom: 0;
}
.showcase-content > p,
.service-card p,
.industry-card p,
.feature-card p,
.deliverable-card p {
    margin-top: 0;
    line-height: 1.6;
}
.section-header {
    margin-bottom: 28px;
}
.additional-specializations,
.selected-experience {
    background: #eef3f1 !important;
}
.additional-specializations .services-grid,
.selected-experience .services-grid {
    align-items: stretch;
}
@media (max-width: 700px) {
    p { line-height: 1.6; margin-bottom: 12px; }
    .section-header { margin-bottom: 22px; }
}


/* =========================================================
   FINAL MASTER PASS — TYPOGRAPHY, SPACING & PROFILE BREADTH
   ========================================================= */
body { overflow-x:hidden; }
p { margin:0 0 8px !important; line-height:1.55 !important; }
p + p { margin-top:0 !important; }
.section-header { margin-bottom:20px !important; }
.section-header p { margin-bottom:0 !important; }
.page-hero p { margin-top:10px !important; margin-bottom:0 !important; line-height:1.55 !important; }
.about-company p,
.about-preview .about-content p,
.our-story > .container > p,
.quality p,
.mission .feature-card p,
.values .solution-card p,
.showcase-content > p,
.service-card p,
.industry-card p,
.feature-card p,
.deliverable-card p { margin-bottom:8px !important; }
.cta-content p { margin-bottom:16px !important; }
.footer p { margin-bottom:10px !important; }

/* Remove artificial empty columns and keep content aligned to the left edge. */
.about-grid > div:empty { display:none !important; }
.industries-preview .about-grid,
.our-story .about-grid { grid-template-columns:1fr !important; }

/* Lifecycle is a single horizontal engineering flow on desktop. */
.lifecycle-grid { grid-template-columns:1fr auto 1fr auto 1fr auto 1fr !important; gap:14px !important; align-items:stretch; }
.lifecycle-arrow { display:flex; align-items:center; justify-content:center; color:var(--secondary); font-size:20px; }

/* Compact profile breadth on Home without repeating the full Capabilities page. */
.home-specializations { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; margin-top:22px; }
.home-specialization { min-height:72px; padding:12px 10px; border:1px solid var(--border); background:#fff; border-radius:8px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; text-align:center; color:var(--heading); font-size:12px; font-weight:600; }
.home-specialization i { color:var(--secondary); font-size:20px; }

/* Capability specialisations: clean, compact and consistent. */
.additional-specializations .services-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.additional-specializations .service-card { padding:22px; }
.additional-specializations .service-card h3 { margin-bottom:7px; }

/* Use the site's genuine technical visuals rather than generic/AI-looking photography. */
.hero-image img,
.capability-showcase .showcase-image img,
.development-approach-image img { object-fit:contain; background:#eef3f1; }
.hero-image img { width:100%; height:100%; }
.capability-showcase .showcase-image img { max-width:100%; max-height:100%; }

@media (max-width:1100px) {
  .home-specializations { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .additional-specializations .services-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:700px) {
  .home-specializations { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .additional-specializations .services-grid { grid-template-columns:1fr; }
  .lifecycle-grid { grid-template-columns:1fr !important; }
  .lifecycle-arrow { display:none; }
  p { margin-bottom:7px !important; line-height:1.55 !important; }
  section { padding:58px 0; }
}


/* Development infrastructure */
.infrastructure-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:14px; margin-top:24px; }
.infrastructure-grid .stat-card { min-height:120px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:18px 12px; }
.infrastructure-grid .stat-card strong { font-size:30px; line-height:1; color:var(--heading); margin-bottom:8px; }
.infrastructure-grid .stat-card span { font-size:13px; line-height:1.4; color:var(--text); }
@media (max-width:1100px) { .infrastructure-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:700px) { .infrastructure-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }

/* =========================================================
   FINAL VISUAL / SPACING PASS — 02 SEP 2026
   ========================================================= */

/* Compact, intentional vertical rhythm. */
section,
.about-company,
.company-highlights,
.our-story,
.mission,
.values,
.quality,
.industries-preview,
.why-rainbow,
.learning-journey,
.development-process,
.case-studies,
.infrastructure-section,
.additional-specializations,
.selected-experience {
    padding-top:52px !important;
    padding-bottom:52px !important;
}
.section-header { margin-bottom:18px !important; }
.section-header h2 { margin-bottom:8px !important; }
.section-header p { margin-bottom:0 !important; }
p { margin-top:0 !important; margin-bottom:9px !important; line-height:1.55 !important; }
.section-header p,
.page-hero p { margin-bottom:0 !important; }
.about-company .about-content > p:last-child,
.our-story > .container > p:last-child,
.quality p:last-child,
.feature-card p:last-child,
.solution-card p:last-child,
.industry-card p:last-child,
.service-card p:last-child,
.lifecycle-card p:last-child { margin-bottom:0 !important; }

/* Inner page heroes: clear and compact rather than oversized. */
.page-hero {
    min-height:300px !important;
    padding:112px 0 58px !important;
}
.capability-hero {
    padding:112px 0 58px !important;
}
.capability-hero p { margin-bottom:20px !important; }

/* About mission / values cards should follow the heading closely. */
.mission .feature-grid,
.values .solution-grid,
.why-rainbow .feature-grid,
.feature-grid,
.solution-grid { margin-top:22px !important; }
.feature-card,
.solution-card { padding:24px !important; }
.feature-card .feature-icon { margin-bottom:14px !important; }

/* Industries: images are selective, not repeated across every card. */
.industry-grid { gap:18px !important; }
.industry-card { padding:0 0 22px !important; overflow:hidden; }
.industry-card > img {
    display:block !important;
    width:100%;
    height:155px;
    object-fit:cover;
    object-position:center;
    border-bottom:1px solid var(--border);
    margin-bottom:20px;
}
.industry-card .industry-icon,
.industry-card h3,
.industry-card p { margin-left:24px; margin-right:24px; }
.industry-card .industry-icon { margin-bottom:14px !important; }

/* Footer: visible credentials, stronger brand lock-up and restrained height. */
.footer { padding:48px 0 18px !important; }
.footer-top { gap:34px !important; margin-bottom:28px !important; }
.footer-company p { line-height:1.65 !important; margin:12px 0 0 !important; max-width:390px; }
.footer-brand { display:flex; align-items:center; gap:12px; margin-bottom:4px; }
.footer-logo { display:flex !important; align-items:center; justify-content:center; width:54px; height:54px; flex:0 0 54px; border-radius:8px; background:rgba(255,255,255,.96); }
.footer-logo img { width:48px !important; height:48px !important; object-fit:contain !important; }
.footer-brand-copy { display:flex; flex-direction:column; gap:2px; }
.footer-brand-copy strong { color:#fff; font-size:20px; line-height:1.2; font-weight:700; }
.footer-brand-copy span { color:#a8c6cc; font-size:12px; letter-spacing:.3px; }
.footer-column h4 { margin-bottom:14px !important; font-size:17px !important; }
.footer-column ul li { margin-bottom:8px !important; }
.footer-contact li { margin-bottom:10px !important; }
.footer-btn { margin-top:8px !important; border-radius:7px !important; padding:10px 16px !important; }
.footer-certifications {
    padding:22px 0 18px !important;
    border-top:1px solid rgba(255,255,255,.12);
}
.footer-cert-head { text-align:center; margin-bottom:14px; }
.footer-cert-head span { color:#a8c6cc; font-size:11px; font-weight:700; letter-spacing:1.5px; }
.footer-cert-head h4 { color:#fff !important; font-size:20px !important; margin:3px 0 0 !important; }
.certification-logos { gap:12px !important; align-items:stretch !important; }
.footer-cert-item {
    min-width:132px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:7px;
}
.footer-cert-item img {
    width:128px !important;
    height:66px !important;
    max-width:128px !important;
    max-height:66px !important;
    padding:4px !important;
    box-sizing:border-box;
    background:#fff;
    border-radius:4px;
    object-fit:contain !important;
}
.footer-cert-item span { color:#d3dfdc; font-size:11px; line-height:1.25; text-align:center; max-width:132px; }
.credential-badge {
    width:128px; height:66px; box-sizing:border-box; border:1px solid rgba(255,255,255,.18);
    border-radius:4px; background:rgba(255,255,255,.08); color:#fff;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    font-size:16px; font-weight:800; line-height:1.05; letter-spacing:.3px;
}
.credential-badge small { color:#a8c6cc; font-size:10px; font-weight:600; margin-top:4px; }
.footer-divider { margin:18px 0 !important; }
.footer-bottom { gap:8px !important; }
.footer-bottom p { margin:0 !important; }

/* Contact office: simple address + compact map, no visitor counter. */
.office-location-section { padding-top:48px !important; padding-bottom:48px !important; }
.office-location-card {
    display:grid; grid-template-columns:.8fr 1.2fr; gap:24px; align-items:stretch;
    margin-top:20px; background:#fff; border:1px solid var(--border); border-radius:10px;
    box-shadow:var(--shadow-sm); overflow:hidden;
}
.office-address { padding:28px; display:flex; flex-direction:column; justify-content:center; }
.office-icon { width:48px; height:48px; border-radius:8px; background:#edf3f1; color:var(--secondary); display:flex; align-items:center; justify-content:center; font-size:22px; margin-bottom:14px; }
.office-address h3 { margin:0 0 8px; color:var(--heading); font-size:22px; }
.office-address p { margin:0 0 16px !important; line-height:1.65 !important; }
.office-links { display:flex; flex-direction:column; gap:7px; }
.office-links a { color:var(--secondary); text-decoration:none; font-size:14px; }
.office-links i { margin-right:7px; }
.office-map { min-height:300px; background:#eef3f1; }
.office-map iframe { display:block; width:100%; height:300px; border:0; }

/* Prevent artificial empty vertical space caused by legacy image/layout containers. */
.about-grid > div:empty,
.industries-preview .about-grid > div:empty { display:none !important; }
.about-grid > div:only-child { grid-column:1 / -1 !important; }
.industries-preview .about-grid,
.our-story .about-grid { grid-template-columns:1fr !important; }

@media (max-width:1100px) {
    .footer-cert-item { min-width:115px; }
    .footer-cert-item img, .credential-badge { width:112px !important; max-width:112px !important; }
    .office-location-card { grid-template-columns:1fr 1.4fr; }
}
@media (max-width:700px) {
    section,
    .about-company,
    .company-highlights,
    .our-story,
    .mission,
    .values,
    .quality,
    .industries-preview,
    .why-rainbow,
    .learning-journey,
    .development-process,
    .case-studies,
    .infrastructure-section,
    .additional-specializations,
    .selected-experience { padding-top:42px !important; padding-bottom:42px !important; }
    .page-hero { min-height:250px !important; padding:96px 0 44px !important; }
    .capability-hero { padding:96px 0 44px !important; }
    .footer-top { margin-bottom:18px !important; }
    .footer-certifications { padding:20px 0 14px !important; }
    .footer-cert-item { min-width:95px; }
    .footer-cert-item img, .credential-badge { width:96px !important; height:56px !important; max-width:96px !important; }
    .footer-cert-item span { font-size:10px; max-width:100px; }
    .office-location-card { grid-template-columns:1fr; }
    .office-address { padding:24px; }
    .office-map, .office-map iframe { min-height:250px; height:250px; }
}

/* Contact credentials: six credentials arranged without oversized cards. */
.certifications-section .certification-grid { grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:18px !important; margin-top:24px !important; }
.credential-large { height:130px; background:#eef3f1; border:1px solid var(--border); border-radius:6px; display:flex; flex-direction:column; align-items:center; justify-content:center; color:var(--heading); }
.credential-large strong { font-size:27px; letter-spacing:.5px; }
.credential-large span { margin-top:5px; color:var(--secondary); font-size:13px; font-weight:700; }
.certification-card h4 { margin-top:12px !important; margin-bottom:5px !important; }
@media(max-width:1100px){ .certifications-section .certification-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; } }
@media(max-width:576px){ .certifications-section .certification-grid { grid-template-columns:1fr !important; } }

/* =========================================================
   CONTACT PAGE FINAL SPACING FIX
   ========================================================= */
.contact-intro-grid {
    display:block !important;
    max-width:920px;
    margin:0 auto;
}
.contact-intro-grid > div {
    width:100%;
}
.contact-intro-grid h3 {
    margin-top:0 !important;
    margin-bottom:10px !important;
}
.contact-intro-grid p {
    margin-bottom:10px !important;
}
.contact-intro-grid .hero-buttons {
    margin-top:16px !important;
}
.contact-grid {
    align-items:start !important;
    gap:28px !important;
}
.contact-grid .glass-card {
    height:auto !important;
}
.contact-grid .section-header {
    margin-bottom:16px !important;
}
.contact-grid .contact-info {
    height:auto !important;
}
.certifications-section {
    padding-top:44px !important;
    padding-bottom:44px !important;
}
.office-location-section {
    padding-top:44px !important;
    padding-bottom:44px !important;
}
@media(max-width:700px){
    .contact-intro-grid { max-width:none; }
    .contact-grid { gap:22px !important; }
}

/* =========================================================
   FINAL REVIEW PASS — 02 SEP 2026
   Fix first-paint hero movement, excessive vertical whitespace,
   footer branding and technical-image presentation.
   ========================================================= */

/* Home hero must render in its final position immediately. */
.hero .fade-up,
.hero-content,
.hero-image { opacity:1 !important; transform:none !important; transition:none !important; }

/* Tighter vertical rhythm across all pages. */
section,
.about-company,
.company-highlights,
.our-story,
.mission,
.values,
.quality,
.industries-preview,
.why-rainbow,
.learning-journey,
.development-process,
.case-studies,
.infrastructure-section,
.additional-specializations,
.selected-experience {
    padding-top:42px !important;
    padding-bottom:42px !important;
}
.section-header { margin-bottom:16px !important; }
.section-header h2 { margin-bottom:7px !important; }
p { margin-top:0 !important; margin-bottom:8px !important; line-height:1.52 !important; }

/* Compact inner-page introductions. */
.page-hero { min-height:250px !important; padding:92px 0 40px !important; }
.capability-hero { padding:92px 0 40px !important; }
.capability-hero p { margin-bottom:14px !important; }

/* Prevent technical screenshots from appearing sliced at the wrong boundary. */
.capability-showcase .showcase-image,
.about-company .about-image,
.about-preview .about-image,
.section-banner,
.case-card .case-image {
    overflow:hidden;
}
.capability-showcase .showcase-image img,
.development-approach-image img {
    object-fit:contain !important;
    object-position:center !important;
    background:#eef3f1;
}

/* Footer: use the complete Rainbow wordmark once, rather than emblem + duplicate text. */
.footer-brand { display:flex; align-items:center; margin-bottom:8px; }
.footer-logo.footer-logo-full {
    width:112px !important;
    height:78px !important;
    padding:6px !important;
    flex:0 0 112px !important;
    border-radius:7px !important;
    background:#fff !important;
}
.footer-logo.footer-logo-full img {
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
}
.footer-brand-copy { display:none !important; }
.footer-certifications { padding:18px 0 14px !important; }
.footer-cert-head { margin-bottom:12px !important; }
.footer-cert-head span { color:#b8ced0 !important; }
.footer-cert-head h4 { color:#fff !important; font-size:19px !important; }

/* Contact page: keep the credentials and office sections compact. */
.contact-intro-grid { margin-bottom:0 !important; }
.contact-grid { gap:26px !important; }
.certifications-section { padding-top:36px !important; padding-bottom:36px !important; }
.office-location-section { padding-top:36px !important; padding-bottom:36px !important; }
.office-map { min-height:260px !important; }

@media (max-width:700px) {
    section,
    .about-company,
    .company-highlights,
    .our-story,
    .mission,
    .values,
    .quality,
    .industries-preview,
    .why-rainbow,
    .learning-journey,
    .development-process,
    .case-studies,
    .infrastructure-section,
    .additional-specializations,
    .selected-experience { padding-top:34px !important; padding-bottom:34px !important; }
    .page-hero,
    .capability-hero { padding:82px 0 34px !important; min-height:220px !important; }
    .footer-logo.footer-logo-full { width:100px !important; height:70px !important; flex-basis:100px !important; }
}

/* =========================================================
   FINAL HEADER / HERO ALIGNMENT FIX — 02 SEP 2026
   Fixed header must reserve its vertical space so hero/page
   content never renders underneath the navigation bar.
   ========================================================= */
:root { --site-header-height: 78px; }
body { padding-top: var(--site-header-height) !important; }

/* Keep the fixed header independent of the page content. */
header { height: var(--site-header-height); }
.navbar { min-height: var(--site-header-height) !important; height: var(--site-header-height); }

@media (max-width: 992px) {
    :root { --site-header-height: 78px; }
    body { padding-top: var(--site-header-height) !important; }
    header { height: var(--site-header-height); }
    .navbar { height: var(--site-header-height); }
}
