.container{
    max-width:1500px;
    margin:auto;
    padding:0 60px;
}

/* logo css*/
.custom-logo{
    max-height:60px;
    width:auto;
}
.site-logo img{
    max-height:60px;
    width:auto;
    display:block;
}
/* ===================================
   TOP BAR
=================================== */

.top-bar{

    height:42px;

    background:
    rgba(5,13,24,.92);

    backdrop-filter:blur(12px);

    border-bottom:
    1px solid rgba(255,255,255,.06);

    position:fixed;

    top:0;
    left:0;

    width:100%;

    z-index:10000;
}

.top-bar-inner{

    display:flex;

    justify-content:space-between;

    align-items:center;

    height:42px;
}

.top-left{

    color:#d8e0ea;

    font-size:14px;
}

.top-left i{

    color:var(--accent);

    margin-right:8px;
}

.top-right{

    display:flex;

    align-items:center;

    gap:20px;
}

.top-right a{

    color:#d8e0ea;

    font-size:14px;
}

.top-right i{

    margin-right:6px;

    color:var(--accent);
}

.top-social{

    display:flex;

    align-items:center;

    gap:12px;
}

.top-social a{

    color:#fff;

    transition:.3s;
}

.top-social a:hover{

    color:var(--accent);
}
/* header css */
.site-header{
    position:fixed;
    top: 42px;
    left:0;
    width:100%;
    z-index:99999;

    background:rgba(7,20,37,.60);

    backdrop-filter:none;

    border:none;

    transition:all .4s ease;
}

.site-header.scrolled{
    background:rgba(7,20,37,.60);
    backdrop-filter:blur(20px);
    border-bottom:1px solid rgba(255,255,255,.08);
}
.header-wrapper{
    display:grid;
    grid-template-columns:250px 1fr 200px;
    align-items:center;
    height:var(--header-height);
}

.site-logo img{
    max-height:50px;
    width:auto;
}
/* ===================================
   DESKTOP MENU
=================================== */

.main-menu{
    display:flex;
    align-items:center;
    gap:45px;
    margin:0;
    padding:0;
    list-style:none;
}

.main-menu > li{
    position:relative;
}

.main-menu > li > a{
    position:relative;
    display:flex;
    align-items:center;
    color:#fff;
    font-size:15px;
    font-weight:600;
    letter-spacing:.4px;
    padding:12px 0;
    transition:.3s ease;
}

/* Top Menu Hover */

.main-menu > li > a:hover{
    color:var(--accent);
}

.main-menu > li > a::after{
    content:'';
    position:absolute;
    left:0;
    bottom:-6px;
    width:0;
    height:2px;
    background:var(--accent);
    transition:.3s ease;
}

.main-menu > li:hover > a::after,
.current-menu-item > a::after,
.current_page_item > a::after{
    width:100%;
}

.current-menu-item > a,
.current_page_item > a{
    color:var(--accent);
}

/* ===================================
   PARENT ARROW
=================================== */

.menu-item-has-children > a{
    padding-right:18px;
}

.main-menu > .menu-item-has-children > a::before{
    content:'';
    display:none;
}

.main-menu > .menu-item-has-children > a::after{
    content:'';
}

.main-menu > .menu-item-has-children > a span{
    position:relative;
}

.main-menu > .menu-item-has-children > a{
    position:relative;
}

.main-menu > .menu-item-has-children > a::before{
    content:"▾";
    position:absolute;
    right:0;
    top:50%;
    transform:translateY(-50%);
    font-size:10px;
    color:#999;
}

/* ===================================
   FIRST LEVEL DROPDOWN
=================================== */

.main-menu .sub-menu{

    position:absolute;

    top:100%;
    left:0;

    min-width:280px;

    background:#08111f;

    border:1px solid rgba(255,255,255,.08);

    box-shadow:
    0 20px 50px rgba(0,0,0,.45);

    list-style:none;

    margin:0;
    padding:12px 0;

    opacity:0;
    visibility:hidden;

    transform:translateY(15px);

    transition:.3s ease;

    z-index:99999;
}

/* Open Dropdown */

.main-menu li:hover > .sub-menu{

    opacity:1;
    visibility:visible;

    transform:translateY(0);
}

/* Dropdown Links */

.sub-menu li{
    position:relative;
    width:100%;
}

.sub-menu li a{

    display:block;

    padding:14px 22px;

    color:#d8d8d8;

    font-size:14px;

    font-weight:400;

    border-left:3px solid transparent;

    transition:.25s ease;
}

/* Dropdown Hover */

.sub-menu li a:hover{

    background:rgba(255,255,255,.04);

    color:#fff;

    border-left:3px solid var(--accent);

    padding-left:28px;
}

/* ===================================
   SECOND LEVEL MENU
=================================== */

.sub-menu .sub-menu{

    top:-12px;
    left:100%;

    margin-left:-1px;
}

/* Second Level Arrow */

.sub-menu .menu-item-has-children > a::after{

    content:'›';

    position:absolute;

    right:18px;

    top:50%;

    transform:translateY(-50%);

    font-size:16px;

    color:#999;
}

/* ===================================
   SMOOTH DROPDOWN AREA
=================================== */

.main-menu li{
    position:relative;
}

.main-menu li:hover > a{
    color:var(--accent);
}

/* ===================================
   HEADER FIX
=================================== */

.site-header{
    overflow:visible;
}

.header-wrapper{
    overflow:visible;
}

/* ===================================
   ACTIVE MENU
=================================== */

.current-menu-ancestor > a,
.current-menu-parent > a{
    color:var(--accent);
}

/* ===================================
   TATA STYLE EFFECT
=================================== */

.sub-menu{
    backdrop-filter:blur(14px);
    background:rgba(8,17,31,.97);
}
.header-right{
    display:flex;
    align-items:center;
    gap:20px;
}

.header-btn{
    padding:12px 26px;
    border-radius:30px;
    font-size:14px;
    font-weight:600;
}

.menu-toggle{
    display:none;
    background:none;
    border:none;
    cursor:pointer;
}

.menu-toggle span{
    display:block;
    width:28px;
    height:2px;
    background:#fff;
    margin:6px 0;
}
.desktop-menu{
    display:flex;
    justify-content:center;
}
/*Mobile Menu CSS*/
.mobile-menu{
    position:fixed;
    top:0;
    right:-100%;
    width:320px;
    height:100vh;
    background:#08111f;
    z-index:99999;
    transition:.4s ease;
    padding:120px 30px;
}

.mobile-menu.active{
    right:0;
}

.mobile-nav{
    list-style:none;
}

.mobile-nav li{
    margin-bottom:20px;
}

.mobile-nav a{
    color:#fff;
    font-size:18px;
    display:block;
}


/* ==========================
   HERO SECTION
========================== *//* ==================================
   HERO SLIDER
================================== */
.hero-slider{

    width:100%;

    height:120vh;

    min-height:700px;

    position:relative;

    overflow:hidden;

    margin-top:calc(var(--header-height) * -1);
        padding:0 !important;

}

.heroSwiper,
.heroSwiper .swiper-wrapper,
.heroSwiper .swiper-slide{

    width:100%;
    height:100%;
}

.heroSwiper .swiper-slide img{

    width:100%;
    height:100%;

    object-fit:cover;

    display:block;
}

/* Dark Overlay */

.heroSwiper .swiper-slide::after{

    content:'';

    position:absolute;

    inset:0;

    background:
    linear-gradient(
    rgba(0,0,0,.15),
    rgba(0,0,0,.15)
    );
}

/* Pagination */

.swiper-pagination-bullet{

    background:#fff !important;

    opacity:.6;
}

.swiper-pagination-bullet-active{

    opacity:1;

    background:#00B4D8 !important;
}

/* Arrows */

.swiper-button-next,
.swiper-button-prev{

    color:#fff !important;
}

.heroSwiper .swiper-slide img{
    transform:scale(1);
    transition:transform 8s linear;
}

.heroSwiper .swiper-slide-active img{
    transform:scale(1.08);
}
.heroSwiper .swiper-slide::after{

    content:'';

    position:absolute;

    inset:0;

    background:
    linear-gradient(
    rgba(0,0,0,.20),
    rgba(0,0,0,.20)
    );

    z-index:1;
}

/* ===================================
   OUR COMPANIES
=================================== */

.companies-section{

    padding:120px 0;

    background:#061224;
}

.section-heading{

    text-align:center;

    max-width:900px;

    margin:0 auto 70px;
}

.section-heading span{

    color:var(--accent);

    font-size:14px;

    letter-spacing:4px;

    font-weight:600;
}

.section-heading h2{

    color:#fff;

    font-size:60px;

    line-height:1.2;

    margin-top:20px;
}

.companies-grid{

    display:grid;

    grid-template-columns:repeat(12,1fr);

    gap:25px;
}

/* Card Sizes */

.companies-grid{

    display:grid;

    grid-template-columns:repeat(12,1fr);

    grid-auto-rows:120px;

    gap:25px;
}
/* Row 1 */

.company-card:nth-child(1){
    grid-column:1 / span 4;
    grid-row:1 / span 4;
}

.company-card:nth-child(2){
    grid-column:5 / span 4;
    grid-row:1 / span 4;
}

.company-card:nth-child(3){
    grid-column:9 / span 4;
    grid-row:1 / span 4;
}

/* Row 2 */

.company-card:nth-child(4){
    grid-column:1 / span 4;
    grid-row:5 / span 3;
}

.company-card:nth-child(5){
    grid-column:5 / span 8;
    grid-row:5 / span 3;
}

/* Row 3 */

.company-card:nth-child(6){
    grid-column:1 / span 4;
    grid-row:8 / span 3;
}

.company-card:nth-child(7){
    grid-column:5 / span 4;
    grid-row:8 / span 3;
}

.company-card:nth-child(8){
    grid-column:9 / span 4;
    grid-row:8 / span 3;
}

/* Row 4 */

.company-card:nth-child(9){
    grid-column:1 / span 4;
    grid-row:11 / span 3;
}

.company-card:nth-child(10){
    grid-column:5 / span 8;
    grid-row:11 / span 3;
}

/* Card Design */

.company-card{

    position:relative;

    overflow:hidden;

    border:1px solid rgba(255,255,255,.08);

    transition:.4s ease;

    background:#08111f;

    min-height:auto;
}
.company-image{

    position:absolute;

    inset:0;
}

.company-image img{

    width:100%;
    height:100%;

    object-fit:cover;

    transition:1s ease;
}

.company-card::before{

    content:'';

    position:absolute;

    inset:0;

    background:
    linear-gradient(
        to top,
        rgba(0,0,0,.92),
        rgba(0,0,0,.15)
    );

    z-index:1;
}

.company-content{

    position:absolute;

    left:30px;
    right:30px;
    bottom:30px;

    z-index:2;
}

.company-content h3{

    color:#fff;

    font-size:30px;

    margin-bottom:15px;
}

.company-content p{

    color:#d1d7e0;

    line-height:1.8;

    margin-bottom:20px;
}

.company-content a{

    color:var(--accent);

    font-weight:600;

    text-decoration:none;
}

.company-card:hover{

    transform:translateY(-8px);
}

.company-card:hover img{

    transform:scale(1.08);
}

/* ===================================
   ABOUT COMPANY
=================================== */

.about-company{

    padding:60px 0;

    background:#071425;
}

.about-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:80px;

    align-items:center;
}

/* Images */

.about-top{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:20px;

    margin-bottom:20px;
}

.about-top img{

    width:100%;

    height:320px;

    object-fit:cover;
}

.about-bottom{

    position:relative;
}

.about-bottom img{

    width:100%;

    height:350px;

    object-fit:cover;
}

/* Experience Box */

.experience-box{

    position:absolute;

    left:30px;

    bottom:30px;

    background:#fff;

    color:#111;

    padding:30px;

    min-width:220px;
}

.exp-number{

    display:block;

    font-size:52px;

    font-weight:700;

    line-height:1;
}

.experience-box p{

    margin-top:10px;
}

/* Content */

.section-tag{

    color:var(--accent);

    letter-spacing:4px;

    font-size:14px;

    font-weight:600;
}

.about-content h2{

    font-size:56px;

    line-height:1.2;

    color:#fff;

    margin:20px 0 25px;
}

.about-content p{

    color:#c7d0db;

    line-height:1.9;

    margin-bottom:25px;
}

.about-readmore{

    color:var(--accent);

    font-weight:600;
}

/* Features */

.about-features{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:18px;

    margin-top:40px;

    color:#fff;
}

/* Footer */

.about-footer{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:30px;

    margin-top:50px;

    padding-top:30px;

    border-top:
    1px solid rgba(255,255,255,.08);
}

.founder-box h4{

    color:#fff;

    margin-bottom:8px;
}

.founder-box span,
.contact-box span{

    color:#9fb0c3;
}

.contact-box strong{

    display:block;

    color:#fff;

    font-size:24px;

    margin-bottom:8px;
}

/* ===================================
   WHY CHOOSE US
=================================== */

.why-us-section{

    padding:120px 0;

    background:#08111f;
}

.why-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

    margin-top:70px;
}

.why-card{

    background:
    rgba(255,255,255,.03);

    border:
    1px solid rgba(255,255,255,.08);

    padding:40px 30px;

    transition:.35s ease;

    position:relative;
}

.why-card:hover{

    transform:translateY(-8px);

    border-color:var(--accent);
}

.why-number{

    font-size:60px;

    font-weight:800;

    color:rgba(255,255,255,.08);

    margin-bottom:20px;

    line-height:1;
}

.why-card h3{

    color:#fff;

    font-size:28px;

    margin-bottom:20px;
}

.why-card p{

    color:#c8d0db;

    line-height:1.9;
}
/* ===================================
   STATS SECTION
=================================== */

.stats-section{

    padding:60px 0;

    background:#08111f;
}

.stats-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    margin-top:60px;

    border:1px solid rgba(255,255,255,.08);
}

.stat-box{

    text-align:center;

    padding:50px 30px;

    border-right:
    1px solid rgba(255,255,255,.08);

    transition:.3s ease;
}

.stat-box:last-child{
    border-right:none;
}

.stat-box:hover{

    background:
    rgba(255,255,255,.03);
}

.stat-icon{

    font-size:42px;

    margin-bottom:20px;
}

.stat-box h3{

    color:#fff;

    font-size:56px;

    margin-bottom:15px;
}

.stat-box p{

    color:#bfc9d6;

    font-size:17px;
}

/* ===================================
   TESTIMONIALS
=================================== */

.testimonials-section{

    padding:60px 0;

    background:#061224;
}

.testimonials-grid{

    display:grid;

    grid-template-columns:
    repeat(3,1fr);

    gap:30px;

    margin-top:70px;
}

.testimonial-card{

    background:
    rgba(255,255,255,.03);

    border:
    1px solid rgba(255,255,255,.08);

    padding:40px;

    transition:.35s ease;
}

.testimonial-card:hover{

    transform:translateY(-8px);

    border-color:var(--accent);
}

.quote-icon{

    font-size:70px;

    color:var(--accent);

    line-height:1;

    margin-bottom:20px;
}

.testimonial-card p{

    color:#c9d2dd;

    line-height:1.9;

    margin-bottom:35px;
}

.testimonial-author{

    display:flex;

    align-items:center;

    gap:15px;
}

.testimonial-author img{

    width:60px;

    height:60px;

    border-radius:50%;

    object-fit:cover;
}

.testimonial-author h4{

    color:#fff;

    margin-bottom:4px;
}

.testimonial-author span{

    color:#9aaaba;

    font-size:14px;
}
/* ===================================
   news section
=================================== */
/* ===================================
   NEWS SECTION
=================================== */

.news-section{

    padding:60px 0;

    background:#08111f;
}

.news-grid{

    display:grid;

    grid-template-columns:2fr 1fr;

    gap:35px;

    margin-top:70px;
}

/* Featured */

.featured-news{

    background:
    rgba(255,255,255,.03);

    border:
    1px solid rgba(255,255,255,.08);

    overflow:hidden;
}

.news-image img{

    width:100%;

    height:450px;

    object-fit:cover;

    display:block;
}

.news-content{

    padding:35px;
}

.news-date{

    color:var(--accent);

    font-size:14px;
}

.news-content h3{

    color:#fff;

    font-size:34px;

    margin:15px 0;
}

.news-content p{

    color:#bfc9d6;

    line-height:1.9;

    margin-bottom:20px;
}

.news-content a{

    color:var(--accent);

    font-weight:600;
}

/* Side News */

.news-list{

    display:flex;

    flex-direction:column;

    gap:20px;
}

.small-news{

    display:flex;

    gap:15px;

    padding:18px;

    background:
    rgba(255,255,255,.03);

    border:
    1px solid rgba(255,255,255,.08);

    transition:.3s;
}

.small-news:hover{

    border-color:var(--accent);
}

.small-news img{

    width:120px;

    min-width:120px;

    height:90px;

    display:block;

    object-fit:cover;

    object-position:center;
}

.small-news span{

    color:var(--accent);

    font-size:13px;
}

.small-news h4{

    color:#fff;

    margin-top:8px;

    line-height:1.5;
}

/* ===================================
   FOOTER
=================================== */

.site-footer{

    background:#050d18;

    border-top:
    1px solid rgba(255,255,255,.08);

    padding-top:80px;
}

.footer-top{

    display:grid;

    grid-template-columns:
    2fr 1fr 1fr 1fr;

    gap:50px;
}

.footer-about p{

    color:#aeb8c5;

    line-height:1.9;

    margin-top:20px;
}

.footer-column h3{

    color:#fff;

    margin-bottom:25px;

    font-size:20px;
}

.footer-column ul{

    list-style:none;

    padding:0;

    margin:0;
}

.footer-column li{

    margin-bottom:12px;
}

.footer-column a{

    color:#aeb8c5;

    transition:.3s;
}

.footer-column a:hover{

    color:var(--accent);
}

.footer-social{

    display:flex;

    justify-content:center;

    gap:15px;

    margin:60px 0 40px;
}

.footer-social a{

    width:45px;

    height:45px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:
    rgba(255,255,255,.05);

    color:#fff;

    transition:.3s;
}

.footer-social a:hover{

    background:var(--accent);
}

.footer-bottom{

    border-top:
    1px solid rgba(255,255,255,.08);

    text-align:center;

    padding:25px 0;
}

.footer-bottom p{

    color:#9aaaba;
}

/* ===================================
   FOOTER CTA
=================================== */

.footer-cta{

    padding:60px 0;

    position:relative;

    overflow:hidden;

    background:
    linear-gradient(
        135deg,
        #061224,
        #08111f,
        #0b2039
    );
}

/* Background Glow */

.footer-cta::before{

    content:'';

    position:absolute;

    width:500px;
    height:500px;

    border-radius:50%;

    background:
    rgba(0,180,216,.12);

    filter:blur(120px);

    top:-200px;
    right:-150px;
}

.footer-cta::after{

    content:'';

    position:absolute;

    width:400px;
    height:400px;

    border-radius:50%;

    background:
    rgba(0,180,216,.08);

    filter:blur(100px);

    bottom:-150px;
    left:-150px;
}

.footer-cta-inner{

    position:relative;

    z-index:2;

    text-align:center;

    max-width:900px;

    margin:auto;
}

.cta-tag{

    color:var(--accent);

    letter-spacing:4px;

    font-size:14px;

    font-weight:600;
}

.footer-cta h2{

    color:#fff;

    font-size:64px;

    line-height:1.2;

    margin:25px 0;
}

.footer-cta p{

    color:#c6d0dc;

    font-size:18px;

    line-height:1.9;

    max-width:750px;

    margin:0 auto 40px;
}

.cta-buttons{

    display:flex;

    justify-content:center;

    gap:20px;

    flex-wrap:wrap;
}

.cta-btn{

    padding:16px 34px;

    border-radius:50px;

    font-weight:600;

    transition:.3s ease;

    display:inline-flex;

    align-items:center;

    justify-content:center;
}

.cta-btn.primary{

    background:var(--accent);

    color:#fff;
}

.cta-btn.primary:hover{

    transform:translateY(-3px);

    box-shadow:
    0 10px 30px rgba(0,180,216,.35);
}

.cta-btn.secondary{

    border:
    1px solid rgba(255,255,255,.15);

    color:#fff;

    background:transparent;
}

.cta-btn.secondary:hover{

    background:
    rgba(255,255,255,.05);

    transform:translateY(-3px);
}

/* ===================================
   SINGLE POST
=================================== */

.single-post-hero{
    top:calc(var(--header-height) * -1);

    position:relative;

    height:120vh;

    min-height:500px;

    overflow:hidden;
}

.single-post-hero img{

    width:100%;
    height:100%;

    object-fit:cover;
    
}

.single-overlay{

    position:absolute;

    inset:0;

    background:
    linear-gradient(
        rgba(0,0,0,.4),
        rgba(0,0,0,.75)
    );
}

.single-hero-content{


    position:absolute;
    

    left:0;
    right:0;
    bottom:80px;

    z-index:2;
    
}

.post-date{

    color:var(--accent);
    background:var(--secondary);

    letter-spacing:2px;

    text-transform:uppercase;
}

.single-hero-content h1{

    color:#fff;

    font-size:64px;

    max-width:900px;

    margin-top:15px;
    margin-bottom:20px;
}

.single-post-content{


    padding:10px 0;
    

}

.content-wrapper{

    max-width:900px;

    margin:auto;
}

.post-meta{

    display:flex;

    gap:30px;

    margin-bottom:40px;

    color:#9fb0c3;

    border-bottom:
    1px solid rgba(255,255,255,.08);

    padding-bottom:20px;
}

.entry-content{

    color:#d1d8e2;

    line-height:2;
}

.entry-content h2,
.entry-content h3,
.entry-content h4{

    color:#fff;

    margin:40px 0 20px;
}

.entry-content img{

    max-width:100%;

    height:auto;

    margin:30px 0;
}

.entry-content p{

    margin-bottom:25px;
}

/* ===================================
   PAGE HERO
=================================== */

.page-hero{

    position:relative;
    top:calc(var(--header-height) * -1);

    height:120vh;

    min-height:700px;

    overflow:hidden;

}

.page-hero-image,
.page-hero-image img{

    width:100%;
    height:100%;
}

.page-hero-image img{

    object-fit:cover;

    display:block;
}

.page-hero-overlay{

    position:absolute;
inset:0;
    background:
    linear-gradient(
        rgba(0,0,0,.4),
        rgba(0,0,0,.75)
    );
}

.page-hero-content{


    position:absolute;

    left:0;
    right:0;
    bottom:100px;

    z-index:2;
}

.page-hero-content h1{

    color:#fff;

    font-size:34px;

    line-height:1.2;

    margin:0;
}

/* ===================================
   PAGE CONTENT
=================================== */

.page-content-section{

        margin-top:-140px;

    padding:100px 0;

}

.page-content-wrap{

    max-width:1000px;

    margin:auto;

    color:#d1d8e2;

    line-height:2;
}

.page-content-wrap h2,
.page-content-wrap h3,
.page-content-wrap h4{

    color:#fff;

    margin:40px 0 20px;
}

.page-content-wrap p{

    margin-bottom:25px;
}

.page-content-wrap img{

    max-width:100%;

    height:auto;

    border-radius:6px;

    margin:30px 0;
}

.page-content-wrap ul,
.page-content-wrap ol{

    margin:20px 0 20px 30px;
}

.page-content-wrap li{

    margin-bottom:10px;
}
/* ===================================
   ARCHIVE HERO
=================================== */

.archive-hero{

    position:relative;

    padding:220px 0 120px;

    background:#08111f;
}

.archive-overlay{

    position:absolute;

    inset:0;

    background:
    radial-gradient(
        circle at top right,
        rgba(0,180,216,.15),
        transparent 40%
    );
}

.archive-hero-content{

    position:relative;

    z-index:2;

    max-width:900px;
}

.archive-hero-content span{

    color:var(--accent);

    letter-spacing:3px;

    font-size:14px;
}

.archive-hero-content h1{

    color:#fff;

    font-size:72px;

    margin:15px 0;
}

.archive-hero-content p{

    color:#bfc9d6;
}

/* ===================================
   ARCHIVE POSTS
=================================== */

.archive-posts{

    padding:100px 0;

    background:#071425;
}

.archive-grid{

    display:grid;

    grid-template-columns:
    repeat(3,1fr);

    gap:30px;
}

.archive-card{

    background:
    rgba(255,255,255,.03);

    border:
    1px solid rgba(255,255,255,.08);

    overflow:hidden;

    transition:.35s ease;
}

.archive-card:hover{

    transform:translateY(-8px);

    border-color:var(--accent);
}

.archive-image{

    height:260px;

    overflow:hidden;
}

.archive-image img{

    width:100%;
    height:100%;

    object-fit:cover;

    transition:.5s;
}

.archive-card:hover img{

    transform:scale(1.08);
}

.archive-content{

    padding:25px;
}

.archive-date{

    color:var(--accent);

    font-size:13px;
}

.archive-content h2{

    margin:15px 0;
}

.archive-content h2 a{

    color:#fff;

    font-size:24px;
}

.archive-content p{

    color:#c8d0db;

    line-height:1.8;

    margin-bottom:20px;
}

.read-more{

    color:var(--accent);

    font-weight:600;
}

/* Pagination */

.archive-pagination{

    margin-top:60px;

    text-align:center;
}

.archive-pagination .page-numbers{

    display:inline-block;

    padding:12px 18px;

    margin:0 5px;

    color:#fff;

    border:
    1px solid rgba(255,255,255,.08);
}

.archive-pagination .current{

    background:var(--accent);

    border-color:var(--accent);
}

/* ===================================
   404 PAGE
=================================== */

.error-page{

    min-height:100vh;

    display:flex;

    align-items:center;

    justify-content:center;

    text-align:center;

    padding:180px 0 120px;

    position:relative;

    overflow:hidden;

    background:
    linear-gradient(
        135deg,
        #061224,
        #08111f
    );
}

/* Glow */

.error-page::before{

    content:'';

    position:absolute;

    width:500px;

    height:500px;

    border-radius:50%;

    background:
    rgba(0,180,216,.10);

    filter:blur(140px);

    top:-200px;

    right:-150px;
}

.error-content{

    position:relative;

    z-index:2;

    max-width:800px;

    margin:auto;
}

.error-code{

    display:block;

    font-size:180px;

    line-height:1;

    font-weight:800;

    color:
    rgba(255,255,255,.08);
}

.error-content h1{

    color:#fff;

    font-size:64px;

    margin:20px 0;
}

.error-content p{

    color:#bfc9d6;

    font-size:18px;

    line-height:1.9;

    margin-bottom:40px;
}

.error-buttons{

    display:flex;

    justify-content:center;

    gap:20px;

    flex-wrap:wrap;

    margin-bottom:40px;
}

/* Buttons */

.error-btn{

    padding:16px 32px;

    border-radius:50px;

    font-weight:600;

    transition:.3s ease;
}

.error-btn.primary{

    background:var(--accent);

    color:#fff;
}

.error-btn.primary:hover{

    transform:translateY(-3px);
}

.error-btn.secondary{

    border:
    1px solid rgba(255,255,255,.15);

    color:#fff;
}

.error-btn.secondary:hover{

    background:
    rgba(255,255,255,.05);
}

/* Search */

.error-search{

    max-width:500px;

    margin:auto;
}
/* ===================================
   SEARCH FORM
=================================== */

.site-search-form{

    display:flex;

    gap:10px;
}

.site-search-form input{

    flex:1;

    height:55px;

    border:none;

    padding:0 20px;

    background:
    rgba(255,255,255,.05);

    color:#fff;
}

.site-search-form button{

    height:55px;

    padding:0 25px;

    border:none;

    background:var(--accent);

    color:#fff;

    cursor:pointer;
}
/* ===================================
   SEARCH EMPTY
=================================== */

.search-empty{

    max-width:700px;

    margin:auto;

    text-align:center;

    padding:60px 0;
}

.search-empty h2{

    color:#fff;

    font-size:48px;

    margin-bottom:20px;
}

.search-empty p{

    color:#bfc9d6;

    margin-bottom:30px;

    line-height:1.8;
}

/* ===================================
   SINGLE COMPANY
=================================== */

.company-hero{

    position:relative;

    height:70vh;

    min-height:600px;

    overflow:hidden;
}

.company-hero-image,
.company-hero-image img{

    width:100%;
    height:100%;
}

.company-hero-image img{

    object-fit:cover;
}

.company-overlay{

    position:absolute;

    inset:0;

    background:
    linear-gradient(
        rgba(0,0,0,.35),
        rgba(0,0,0,.80)
    );
}

.company-hero-content{

    position:absolute;

    left:0;
    right:0;

    bottom:80px;

    z-index:2;
}

.company-tag{

    color:var(--accent);

    letter-spacing:3px;

    font-size:14px;
}

.company-hero-content h1{

    color:#fff;

    font-size:72px;

    margin:20px 0;
}

.company-hero-content p{

    color:#d0d8e2;

    max-width:700px;
}

/* Content */

.company-content-section{

    padding:120px 0;

    background:#071425;
}

.company-content-wrap{

    max-width:1000px;

    margin:auto;

    color:#d1d8e2;

    line-height:2;
}

.company-content-wrap h2,
.company-content-wrap h3{

    color:#fff;

    margin:40px 0 20px;
}

.company-content-wrap p{

	margin:0 0 28px;

    color:#d6dce5;

    line-height:1.9;
	
	text-align:justify;
}

.company-content-wrap ul,
.company-content-wrap ol {

    margin:25px 0 25px 25px;

}
.company-content-wrap li{

    margin-bottom:12px;

    line-height:1.8;
}

/* Links */

.company-content-wrap a{

    color:var(--accent);

    text-decoration:none;
}

.company-content-wrap a:hover{

    text-decoration:underline;
}

/* Images */

.company-content-wrap img{

    max-width:100%;

    height:auto;

    display:block;

    border-radius:12px;

    margin:30px auto;

}
/* Blockquote */

.company-content-wrap blockquote{

    border-left:4px solid var(--accent);

    padding:20px 25px;

    margin:35px 0;

    background:rgba(255,255,255,.03);

    font-style:italic;
}

/* Tables */

.company-content-wrap table{

    width:100%;

    border-collapse:collapse;

    margin:30px 0;
}

.company-content-wrap table th,
.company-content-wrap table td{

    border:1px solid rgba(255,255,255,.1);

    padding:12px;
}


/* CTA */

.company-cta{

    padding:100px 0;

    text-align:center;

    background:#08111f;
}

.company-cta h2{

    color:#fff;

    font-size:48px;

    margin-bottom:20px;
}

.company-cta p{

    color:#bfc9d6;

    margin-bottom:30px;
}

/* Related */

.related-companies{

    padding:120px 0;

    background:#071425;
}

.related-grid{

    display:grid;

    grid-template-columns:
    repeat(3,1fr);

    gap:30px;

    margin-top:60px;
}

.related-card{

    background:
    rgba(255,255,255,.03);

    border:
    1px solid rgba(255,255,255,.08);

    overflow:hidden;
}

.related-card img{

    width:100%;

    height:250px;

    object-fit:cover;
}

.related-content{

    padding:25px;
}

.related-content h3 a{

    color:#fff;
}
.news-button{

    text-align:center;

    margin-top:60px;
}
/* ===================================
   CONTACT PAGE
=================================== */

.contact-section{

    padding:60px 0;

    background:#071425;
}
.contact-page-hero{

    position:relative;
    

    height:120vh;

    min-height:700px;

    overflow:hidden;

}

.contact-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:70px;

    align-items:start;
}

.contact-info h2{

    color:#fff;

    font-size:56px;

    margin:20px 0;
}

.contact-info p{

    color:#c9d2dd;

    line-height:1.9;
}

.contact-item{

    margin-top:35px;
}

.contact-item h4{

    color:#fff;

    margin-bottom:10px;
}

.contact-form-wrap{

    background:
    rgba(255,255,255,.03);

    border:
    1px solid rgba(255,255,255,.08);

    padding:40px;
}
.contact-form-wrap input,
.contact-form-wrap textarea{

    width:100%;

    background:
    rgba(255,255,255,.04);

    border:
    1px solid rgba(255,255,255,.08);

    padding:15px;

    color:#fff;

    margin-bottom:20px;
}

.contact-form-wrap textarea{

    height:180px;

    resize:none;
}

.contact-form-wrap input[type="submit"]{

    background:var(--accent);

    border:none;

    color:#fff;

    cursor:pointer;

    font-weight:600;
}
.contact-map iframe{

    width:100%;

    height:500px;

    border:none;
}

/* ===================================
   PORTFOLIO SHOWCASE
=================================== */

.portfolio-showcase{

    padding:60px 0;

    background:#08111f;

    overflow:hidden;

    position:relative;

}

.portfolio-showcase .section-heading{

    text-align:center;

    margin-bottom:60px;
}

/* Swiper */

.portfolioSwiper{

    overflow:visible;
}

/* Slide */

.portfolioSwiper .swiper-slide{

    position:relative;

    height:350px;

    border-radius:18px;

    overflow:hidden;

    background:#111;

    cursor:pointer;

    transition:.4s ease;
}

/* Image */

.portfolioSwiper .swiper-slide img{

    width:100%;

    height:100%;

    object-fit:cover;

    display:block;

    transition:
    transform .8s ease;
}

/* Dark Overlay */

.portfolioSwiper .swiper-slide::before{

    content:'';

    position:absolute;

    inset:0;

    background:
    linear-gradient(
        to top,
        rgba(0,0,0,.55),
        rgba(0,0,0,.10)
    );

    z-index:2;
}

/* Hover */

.portfolioSwiper .swiper-slide:hover{

    transform:translateY(-8px);
}

.portfolioSwiper .swiper-slide:hover img{

    transform:scale(1.08);
}

/* Shadow */

.portfolioSwiper .swiper-slide{

    box-shadow:
    0 15px 40px rgba(0,0,0,.35);
}

/* Active Slide */

.portfolioSwiper .swiper-slide-active{

    box-shadow:
    0 20px 50px rgba(0,0,0,.45);
}

/* Link */

.portfolioSwiper a{

    display:block;

    width:100%;

    height:100%;
}

/* Swiper spacing fix */

.portfolioSwiper .swiper-wrapper{

    align-items:center;
}
/* ===================================
   COMPANY ARCHIVE
=================================== */

.companies-archive{

    padding:100px 0;

    background:#071425;
}

.companies-archive .company-card h3 a{

    color:#fff;
}

.companies-archive .company-card h3 a:hover{

    color:var(--accent);
}

.portfolioSwiper .swiper-slide a{
    display:block;
    width:100%;
    height:100%;
    position:relative;
    z-index:10;
}