/* ===============================
   GLOBAL
==================================*/

body {
    font-family: 'Poppins', sans-serif;
    color: #333;
    background: #fff;
    overflow-x: hidden;
}

section {
    padding: 80px 0;
}

a {
    text-decoration: none;
}

/* ===============================
   ABOUT BANNER
==================================*/

.about-banner {
    min-height: 350px;
    background: linear-gradient(rgba(0,70,160,.75), rgba(0,70,160,.75)), url('/images/banner/about-banner.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
}

    .about-banner h1 {
        font-size: 60px;
        font-weight: 700;
    }

    .about-banner p {
        font-size: 22px;
        color: #fff;
    }

/* ===============================
   ABOUT
==================================*/

.badge {
    padding: 10px 20px;
    font-size: 15px;
}

h2 {
    font-weight: 700;
}

h5 {
    color: #0d6efd;
}

.text-muted {
    font-size: 17px;
    line-height: 1.9;
}

.about-section img {
    border-radius: 20px;
}

/* ===============================
   CARD
==================================*/

.card {
    border: none;
    border-radius: 20px;
    transition: .4s;
}

    .card:hover {
        transform: translateY(-10px);
        box-shadow: 0 20px 40px rgba(0,0,0,.15);
    }

.card-body {
    padding: 35px;
}

.card i {
    margin-bottom: 15px;
}

.card h4 {
    font-weight: 700;
}

/* ===============================
   VISION
==================================*/

.rounded-4 {
    border-radius: 20px !important;
}

.shadow {
    transition: .4s;
}

    .shadow:hover {
        transform: translateY(-10px);
    }

/* ===============================
   BUTTON
==================================*/

.btn-primary {
    border-radius: 30px;
    padding: 12px 30px;
    font-weight: 600;
}

/* ===============================
   IMAGE
==================================*/

img {
    max-width: 100%;
}

/* ===============================
   MOBILE
==================================*/

@media(max-width:991px) {

    .about-banner h1 {
        font-size: 42px;
    }

    .about-banner p {
        font-size: 18px;
    }

    section {
        padding: 60px 0;
    }
}

@media(max-width:768px) {

    .about-banner {
        min-height: 250px;
    }

        .about-banner h1 {
            font-size: 34px;
        }

    .text-muted {
        font-size: 16px;
    }

    .card {
        margin-bottom: 20px;
    }
}
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Poppins', sans-serif;
    background: #f8f9fa;
}

/*==========================
        MAP
===========================*/

.contact-map {
    position: relative;
    width: 100%;
    height: 450px;
    overflow: hidden;
}

    .contact-map iframe {
        width: 100%;
        height: 100%;
        border: none;
    }

/*==========================
      MAP OVERLAY
===========================*/

.map-overlay {
    position: absolute;
    right: 7%;
    bottom: -40px;
    width: 300px;
    height: 220px;
    background: #0d2237;
    border-radius: 160px 160px 0 0;
    color: #fff;
    text-align: center;
    padding: 35px 25px;
    box-shadow: 0 12px 30px rgba(0,0,0,.3);
}

.logo {
    width: 70px;
    margin-bottom: 8px;
}

.map-overlay h3 {
    color: #ff2b2b;
    font-size: 34px;
    font-weight: 700;
    letter-spacing: 2px;
    margin-bottom: 12px;
}

.map-overlay p {
    line-height: 26px;
    font-size: 15px;
    margin-bottom: 12px;
}

.map-overlay h4 {
    color: #fff;
    font-size: 18px;
    font-weight: 600;
}

/*==========================
      CONTACT CARDS
===========================*/

.contact-info {
    max-width: 1300px;
    margin: 90px auto 70px;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 30px;
    padding: 0 20px;
}

.info-card {
    background: #fff;
    padding: 45px 30px;
    text-align: center;
    border-radius: 12px;
    transition: .35s;
    box-shadow: 0 10px 30px rgba(0,0,0,.08);
}

    .info-card:hover {
        transform: translateY(-10px);
        box-shadow: 0 18px 40px rgba(0,0,0,.15);
    }

.icon {
    width: 80px;
    height: 80px;
    border: 1px solid #ddd;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto 25px;
}

    .icon i {
        color: #0d6efd;
        font-size: 30px;
    }

.info-card h4 {
    color: #444;
    letter-spacing: 1px;
    font-weight: 600;
    margin-bottom: 15px;
}

.line {
    width: 45px;
    height: 4px;
    background: #0d6efd;
    margin: 0 auto 25px;
    border-radius: 10px;
}

.info-card p {
    color: #666;
    line-height: 28px;
    font-size: 16px;
}

/*==========================
      RESPONSIVE
===========================*/

@media(max-width:991px) {

    .contact-info {
        grid-template-columns: 1fr;
    }

    .map-overlay {
        position: relative;
        right: auto;
        bottom: auto;
        margin: 20px auto;
        border-radius: 20px;
        height: auto;
        width: 90%;
    }

    .contact-map {
        height: auto;
    }

        .contact-map iframe {
            height: 400px;
        }
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Poppins',sans-serif;
}

/*========================*/

.career-section {
    display: flex;
    min-height: 700px;
}

/*========================*/
/* LEFT */
/*========================*/

.career-left {
    width: 50%;
    background: #071c2d;
    color: #fff;
    padding: 70px;
}

.section-title span {
    font-size: 14px;
    font-style: italic;
    opacity: .8;
}

.section-title h2 {
    font-size: 38px;
    margin-top: 8px;
    font-weight: 700;
    letter-spacing: 1px;
}

.underline {
    width: 45px;
    height: 4px;
    background: #fff;
    margin: 18px 0 50px;
    position: relative;
}

    .underline::after {
        content: "";
        width: 10px;
        height: 10px;
        background: #fff;
        position: absolute;
        top: -3px;
        right: -15px;
    }

.form-control {
    height: 50px;
    border-radius: 3px;
    border: none;
    margin-bottom: 20px;
}

    .form-control:focus {
        box-shadow: 0 0 0 .2rem rgba(255,255,255,.2);
    }

input[type=file] {
    padding: 10px;
}

.btn-send {
    background: #0d6efd;
    color: #fff;
    border: none;
    padding: 13px 40px;
    font-weight: 600;
    transition: .3s;
    border-radius: 4px;
}

    .btn-send:hover {
        background: #fff;
        color: #071c2d;
    }

/*========================*/
/* RIGHT */
/*========================*/

.career-right {
    width: 50%;
    background: url('/images/career-bg.jpg') center center;
    background-size: cover;
    position: relative;
}

.overlay {
    background: rgba(0,0,0,.55);
    height: 100%;
    color: #fff;
    padding: 70px;
}

.opening-content {
    font-size: 16px;
    line-height: 30px;
}

    .opening-content strong {
        display: block;
        margin: 25px 0 10px;
        font-size: 20px;
        color: #fff;
    }

    .opening-content ul {
        margin-left: 20px;
    }

    .opening-content li {
        margin-bottom: 6px;
    }

    .opening-content p {
        margin-top: 20px;
        line-height: 30px;
    }

/*========================*/

@media(max-width:992px) {

    .career-section {
        flex-direction: column;
    }

    .career-left,
    .career-right {
        width: 100%;
        padding: 40px 25px;
    }

    .overlay {
        padding: 40px 25px;
    }

    .section-title h2 {
        font-size: 30px;
    }
}
/*==========================================
            GLOBAL
==========================================*/

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Poppins',sans-serif;
    background: #f4f7fb;
    color: #333;
    line-height: 1.8;
}

a {
    text-decoration: none;
}

ul, ol {
    padding-left: 22px;
}

/*==========================================
            BANNER
==========================================*/

.privacy-banner {
    background: linear-gradient(rgba(0,77,153,.85),rgba(0,77,153,.85)), url('/images/privacy-banner.jpg') center/cover;
    padding: 90px 20px;
    text-align: center;
    color: #fff;
}

    .privacy-banner h1 {
        font-size: 48px;
        font-weight: 700;
        margin-bottom: 10px;
    }

    .privacy-banner p {
        font-size: 18px;
        opacity: .95;
    }

/*==========================================
            MAIN CONTAINER
==========================================*/

.policy-section {
    padding: 70px 15px;
}

.policy-container {
    max-width: 1100px;
    margin: auto;
    background: #fff;
    border-radius: 15px;
    padding: 50px;
    box-shadow: 0 10px 35px rgba(0,0,0,.08);
}

    /*==========================================
            HEADINGS
==========================================*/

    .policy-container h2 {
        font-size: 34px;
        color: #0d6efd;
        margin-bottom: 15px;
        text-align: center;
    }

    .policy-container h4 {
        font-size: 24px;
        color: #0d2237;
        margin-bottom: 18px;
        margin-top: 10px;
    }

    .policy-container p {
        margin-bottom: 18px;
        color: #555;
    }

.section {
    margin-bottom: 35px;
}

/*==========================================
            LISTS
==========================================*/

ol li,
ul li {
    margin-bottom: 10px;
    color: #555;
}

.subpoint {
    margin-bottom: 20px;
}

    .subpoint strong {
        color: #0d6efd;
    }

    .subpoint ul {
        margin-top: 10px;
    }

/*==========================================
            HORIZONTAL LINE
==========================================*/

.sep {
    border: none;
    height: 1px;
    background: #e5e5e5;
    margin: 40px 0;
}

/*==========================================
            CONTACT BOX
==========================================*/

.contact {
    margin-top: 20px;
    background: #f8fbff;
    border-left: 5px solid #0d6efd;
    padding: 25px;
    border-radius: 10px;
}

    .contact p {
        margin-bottom: 12px;
        font-size: 16px;
    }

    .contact strong {
        color: #0d2237;
    }

/*==========================================
            TABLE (Optional)
==========================================*/

table {
    width: 100%;
    border-collapse: collapse;
    margin: 25px 0;
}

    table th {
        background: #0d6efd;
        color: #fff;
        padding: 12px;
    }

    table td {
        border: 1px solid #ddd;
        padding: 12px;
    }

/*==========================================
            LINKS
==========================================*/

.policy-container a {
    color: #0d6efd;
}

    .policy-container a:hover {
        text-decoration: underline;
    }

/*==========================================
            RESPONSIVE
==========================================*/

@media(max-width:992px) {

    .policy-container {
        padding: 35px;
    }

    .privacy-banner h1 {
        font-size: 38px;
    }
}

@media(max-width:768px) {

    .privacy-banner {
        padding: 70px 20px;
    }

        .privacy-banner h1 {
            font-size: 30px;
        }

        .privacy-banner p {
            font-size: 16px;
        }

    .policy-container {
        padding: 25px;
    }

        .policy-container h2 {
            font-size: 28px;
        }

        .policy-container h4 {
            font-size: 20px;
        }
}

@media(max-width:480px) {

    .policy-section {
        padding: 40px 10px;
    }

    .policy-container {
        padding: 20px;
    }

    .privacy-banner h1 {
        font-size: 26px;
    }
}
/*=========================
        NAVBAR
==========================*/

.custom-navbar {
    background: #ffffff;
    padding: 14px 0;
    box-shadow: 0 8px 25px rgba(0,0,0,.06);
    transition: .35s;
    border-bottom: 1px solid #edf2f7;
}

.navbar-brand {
    display: flex;
    align-items: center;
}

.navbar-logo {
    height: 58px;
    width: auto;
    transition: .35s;
}

.navbar-brand:hover .navbar-logo {
    transform: scale(1.05);
}

.navbar-nav {
    gap: 8px;
}

.nav-link {
    color: #253858 !important;
    font-size: 16px;
    font-weight: 600;
    padding: 10px 16px !important;
    border-radius: 8px;
    transition: .3s;
    position: relative;
}

    .nav-link:hover {
        color: #0d6efd !important;
        background: #eef5ff;
    }

    .nav-link.active {
        color: #0d6efd !important;
    }

    .nav-link::after {
        content: "";
        position: absolute;
        left: 50%;
        bottom: 3px;
        width: 0;
        height: 2px;
        background: #0d6efd;
        transition: .3s;
        transform: translateX(-50%);
    }

    .nav-link:hover::after,
    .nav-link.active::after {
        width: 60%;
    }

/*=========================
      MAIL BUTTON
==========================*/

.nav-btn {
    margin-left: 15px;
    padding: 10px 24px;
    border-radius: 30px;
    font-weight: 600;
    box-shadow: 0 10px 20px rgba(13,110,253,.25);
    transition: .3s;
}

    .nav-btn:hover {
        transform: translateY(-2px);
        box-shadow: 0 15px 28px rgba(13,110,253,.35);
    }

/*=========================
      MOBILE
==========================*/

@media(max-width:991px) {

    .navbar-nav {
        gap: 0;
        margin-top: 15px;
    }

    .nav-link {
        padding: 12px 10px !important;
    }

    .nav-btn {
        margin: 15px 0 0;
        display: inline-block;
    }

    .navbar-logo {
        height: 48px;
    }
}
/*==========================
About Section
==========================*/

.about-company {
    padding: 120px 0;
    background: linear-gradient(135deg,#eef6ff,#ffffff);
    overflow: hidden;
}

/*==========================
Image
==========================*/

.about-image-wrapper {
    position: relative;
    text-align: center;
}

.image-bg {
    position: absolute;
    width: 320px;
    height: 320px;
    background: linear-gradient(135deg,#0d6efd,#55b6ff);
    border-radius: 40px;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%) rotate(-8deg);
    z-index: 1;
    opacity: .15;
}

.about-image {
    position: relative;
    z-index: 2;
    border-radius: 25px;
    box-shadow: 0 30px 70px rgba(0,0,0,.18);
    transition: .5s;
}

    .about-image:hover {
        transform: rotateY(8deg) translateY(-10px) scale(1.03);
    }

/*==========================
Glass Card
==========================*/

.about-card {
    background: rgba(255,255,255,.75);
    backdrop-filter: blur(20px);
    border-radius: 30px;
    padding: 50px;
    border: 1px solid rgba(255,255,255,.5);
    box-shadow: 0 20px 50px rgba(0,0,0,.12);
    transition: .4s;
}

    .about-card:hover {
        transform: translateY(-8px);
    }

/*==========================
Typography
==========================*/

.about-subtitle {
    color: #0d6efd;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: 1px;
}

.about-title {
    font-size: 46px;
    font-weight: 700;
    margin: 15px 0 25px;
    color: #1b1b1b;
}

.about-text {
    font-size: 17px;
    line-height: 1.9;
    color: #555;
    margin-bottom: 18px;
}

/*==========================
Features
==========================*/

.about-features {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 18px;
    margin-top: 35px;
}

.feature {
    background: #fff;
    padding: 15px 20px;
    border-radius: 14px;
    font-weight: 600;
    box-shadow: 0 8px 20px rgba(0,0,0,.08);
}

/*==========================
Buttons
==========================*/

.about-buttons {
    margin-top: 40px;
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.btn-about {
    background: #0d6efd;
    color: #fff;
    padding: 14px 34px;
    border-radius: 40px;
    text-decoration: none;
    font-weight: 600;
    transition: .3s;
}

    .btn-about:hover {
        background: #0849b8;
        color: #fff;
        transform: translateY(-3px);
    }

.btn-contact {
    border: 2px solid #0d6efd;
    color: #0d6efd;
    padding: 14px 34px;
    border-radius: 40px;
    text-decoration: none;
    font-weight: 600;
    transition: .3s;
}

    .btn-contact:hover {
        background: #0d6efd;
        color: #fff;
    }

/*==========================
Responsive
==========================*/

@media(max-width:991px) {

    .about-title {
        font-size: 36px;
    }

    .about-card {
        padding: 35px;
    }

    .about-features {
        grid-template-columns: 1fr;
    }
}

@media(max-width:576px) {

    .about-company {
        padding: 70px 0;
    }

    .about-title {
        font-size: 30px;
    }

    .about-card {
        padding: 25px;
    }
}

/*=====================================
        VIDEO POPUP
======================================*/

/* Let Bootstrap handle the backdrop */
.modal-backdrop.show {
    opacity: .75;
    backdrop-filter: blur(8px);
}

/* Transparent modal */
#videoModal {
    background: transparent;
}

    /* Remove Bootstrap default background */
    #videoModal .modal-content {
        background: transparent;
        border: none;
        box-shadow: none;
    }

/* Video Container */
.video-modal {
    background: #000;
    border-radius: 22px;
    overflow: hidden;
    position: relative;
    border: 3px solid rgba(13,110,253,.5);
    box-shadow: 0 15px 40px rgba(0,0,0,.45), 0 0 30px rgba(13,110,253,.35);
    animation: popup .45s ease;
}

    /* Premium glowing border */

    .video-modal::before {
        content: "";
        position: absolute;
        inset: 0;
        padding: 2px;
        border-radius: 22px;
        background: linear-gradient( 135deg, #0d6efd, #00c6ff, #ffcc00, #0d6efd );
        -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
        -webkit-mask-composite: xor;
        mask-composite: exclude;
        pointer-events: none;
    }

/* Video */

.video-player {
    display: block;
    width: 100%;
    height: auto;
    max-height: 82vh;
    background: #000;
}

/* Close Button */

.custom-close {
    position: absolute;
    top: 15px;
    right: 15px;
    width: 45px;
    height: 45px;
    border: none;
    border-radius: 50%;
    background: rgba(255,255,255,.95);
    z-index: 1000;
    transition: .3s;
    opacity: 1;
}

    .custom-close:hover {
        background: #0d6efd;
        filter: invert(1);
        transform: rotate(90deg) scale(1.08);
    }

/* Popup Animation */

@keyframes popup {

    from {
        opacity: 0;
        transform: scale(.85);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* Mobile */

@media (max-width:991px) {

    .video-modal {
        border-radius: 18px;
    }

    .video-player {
        max-height: 60vh;
    }
}

@media (max-width:576px) {

    .video-player {
        max-height: 45vh;
    }

    .custom-close {
        width: 36px;
        height: 36px;
    }
}
/*=========================================
                FOOTER
=========================================*/

.footer {
    background: #071c2d;
    color: #fff;
    padding: 70px 0 30px;
}

.footer-logo {
    height: 65px;
}

.footer-desc {
    color: #d6d6d6;
    line-height: 30px;
    margin-bottom: 25px;
}

.footer h5 {
    color: #fff;
    font-weight: 700;
    margin-bottom: 25px;
}

.footer-links {
    list-style: none;
    padding: 0;
}

    .footer-links li {
        margin-bottom: 14px;
    }

    .footer-links a {
        color: #d9d9d9;
        text-decoration: none;
        transition: .3s;
    }

        .footer-links a:hover {
            color: #0d6efd;
            padding-left: 8px;
        }

.footer-contact {
    list-style: none;
    padding: 0;
}

    .footer-contact li {
        display: flex;
        gap: 12px;
        margin-bottom: 18px;
        color: #d6d6d6;
    }

    .footer-contact i {
        color: #0d6efd;
        font-size: 18px;
        margin-top: 3px;
    }

.footer-social {
    display: flex;
    gap: 15px;
}

    .footer-social a {
        width: 45px;
        height: 45px;
        background: #12304d;
        color: #fff;
        border-radius: 50%;
        display: flex;
        justify-content: center;
        align-items: center;
        transition: .35s;
        font-size: 20px;
    }

        .footer-social a:hover {
            background: #0d6efd;
            transform: translateY(-5px);
        }

.footer-line {
    border-color: rgba(255,255,255,.15);
    margin: 45px 0 25px;
}

.footer-policy {
    color: #fff;
    text-decoration: none;
}

    .footer-policy:hover {
        color: #0d6efd;
    }

.copyright {
    color: #d6d6d6;
}

.top-btn {
    position: fixed;
    right: 25px;
    bottom: 25px;
    width: 50px;
    height: 50px;
    border: none;
    border-radius: 50%;
    background: #0d6efd;
    color: #fff;
    display: none;
    z-index: 999;
    transition: .35s;
}

    .top-btn:hover {
        transform: translateY(-5px);
        background: #0047cc;
    }

@media(max-width:991px) {

    .footer {
        text-align: center;
    }

    .footer-social {
        justify-content: center;
        margin-bottom: 25px;
    }

    .footer-contact li {
        justify-content: center;
    }
}
/*==========================
      FLOATING CATALOGUE
===========================*/

.catalogue-panel {
    position: fixed;
    left: -90px;
    top: 40%;
    display: flex;
    align-items: center;
    z-index: 9999;
    transition: .4s;
}

    .catalogue-panel:hover {
        left: 0;
    }

/* PDF */

.catalogue-pdf {
    width: 90px;
    background: #fff;
    text-align: center;
    text-decoration: none;
    border-radius: 0 0 0 0;
    box-shadow: 0 10px 25px rgba(0,0,0,.25);
    overflow: hidden;
}

    .catalogue-pdf img {
        width: 70px;
        margin: 12px auto;
        display: block;
    }

    .catalogue-pdf span {
        display: block;
        background: #2b89ff;
        color: #fff;
        font-size: 11px;
        padding: 8px;
        font-weight: 600;
    }

/* Vertical Button */

.catalogue-tab {
    width: 30px;
    height: 130px;
    background: #28c94d;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    border-radius: 0 6px 6px 0;
}

    .catalogue-tab span {
        writing-mode: vertical-rl;
        transform: rotate(180deg);
        font-weight: bold;
        color: #000;
        letter-spacing: 2px;
        font-size: 14px;
    }

    /* Hover Effect */

    .catalogue-tab:hover {
        background: #20b341;
    }

@media(max-width:768px) {

    .catalogue-panel {
        top: 45%;
    }

    .catalogue-pdf {
        width: 75px;
    }

        .catalogue-pdf img {
            width: 55px;
        }

    .catalogue-tab {
        height: 110px;
    }
}

/* Floating Tab */

.portfolio-panel {
    position: fixed;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 9999;
}

.portfolio-tab {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    background: #0d6efd;
    color: #fff;
    padding: 18px 10px;
    font-weight: 700;
    border-radius: 12px 0 0 12px;
    cursor: pointer;
    box-shadow: 0 10px 30px rgba(0,0,0,.25);
}

/* Full Screen Overlay */

.portfolio-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    z-index: 99999;
    display: none;
    overflow: auto;
    padding: 40px;
}

.portfolio-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 35px;
}

    .portfolio-header h2 {
        font-size: 40px;
        font-weight: 700;
    }

.close-btn {
    font-size: 45px;
    cursor: pointer;
    color: #444;
}

    .close-btn:hover {
        color: red;
    }

.portfolio-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(320px,1fr));
    gap: 30px;
}

.portfolio-card {
    background: #fff;
    border-radius: 18px;
    overflow: hidden;
    text-decoration: none;
    color: #333;
    box-shadow: 0 10px 30px rgba(0,0,0,.12);
    transition: .35s;
}

    .portfolio-card:hover {
        transform: translateY(-10px);
    }

    .portfolio-card img {
        width: 100%;
        height: 250px;
        object-fit: cover;
    }

    .portfolio-card h4 {
        padding: 20px 20px 5px;
        font-weight: 700;
    }

    .portfolio-card p {
        padding: 0 20px 20px;
        color: #777;
    }

.publication-section {
    padding: 80px 0;
    background: #f8fafc;
}

.section-title .subtitle {
    color: #0d6efd;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 1px;
}

.section-title h2 {
    font-size: 42px;
    font-weight: 700;
    margin: 10px 0;
    color: #222;
}

.section-title p {
    max-width: 650px;
    margin: auto;
    color: #666;
}

.publication-card {
    background: #fff;
    border-radius: 18px;
    overflow: hidden;
    transition: .35s;
    box-shadow: 0 10px 30px rgba(0,0,0,.08);
    height: 100%;
}

    .publication-card:hover {
        transform: translateY(-10px);
        box-shadow: 0 20px 40px rgba(0,0,0,.15);
    }

    .publication-card img {
        width: 100%;
        height: 280px;
        object-fit: cover;
    }

.publication-content {
    padding: 20px;
    text-align: center;
}

    .publication-content h4 {
        font-weight: 700;
        margin-bottom: 15px;
    }

.publication-btn {
    display: inline-block;
    padding: 10px 22px;
    background: #0d6efd;
    color: #fff;
    border-radius: 30px;
    text-decoration: none;
    transition: .3s;
}

    .publication-btn:hover {
        background: #084298;
        color: #fff;
    }

@media(max-width:768px) {

    .section-title h2 {
        font-size: 32px;
    }

    .publication-card img {
        height: 220px;
    }
}
/*======================================
     Youtube Video Section
======================================*/

.video-section {
    padding: 90px 0;
    background: linear-gradient(180deg,#f8fbff,#ffffff);
}

    .video-section .section-title {
        margin-bottom: 50px;
    }

    .video-section .sub-title {
        color: #0d6efd;
        font-size: 18px;
        font-weight: 600;
        letter-spacing: 1px;
    }

    .video-section h2 {
        font-size: 42px;
        font-weight: 700;
        color: #222;
        margin: 10px 0;
    }

    .video-section p {
        color: #666;
        max-width: 700px;
        margin: auto;
    }

.video-card {
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 15px 40px rgba(0,0,0,.08);
    transition: .35s;
    height: 100%;
}

    .video-card:hover {
        transform: translateY(-8px);
        box-shadow: 0 25px 50px rgba(0,0,0,.15);
    }

.video-wrapper {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
}

    .video-wrapper iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border: none;
    }

.video-content {
    padding: 25px;
    text-align: center;
}

    .video-content h4 {
        font-weight: 700;
        margin-bottom: 10px;
    }

    .video-content p {
        color: #666;
        margin-bottom: 25px;
    }

.youtube-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #ff0000;
    color: #fff;
    padding: 12px 28px;
    border-radius: 40px;
    text-decoration: none;
    font-weight: 600;
    transition: .3s;
}

    .youtube-btn:hover {
        background: #cc0000;
        color: #fff;
        transform: scale(1.05);
    }

    .youtube-btn i {
        font-size: 22px;
    }

/* Mobile */

@media(max-width:768px) {

    .video-section {
        padding: 60px 0;
    }

        .video-section h2 {
            font-size: 32px;
        }

    .video-content {
        padding: 20px;
    }
}

/*=================================
        Statistics Section
==================================*/

.stats-section {
    position: relative;
    padding: 100px 0;
    overflow: hidden;
    background: linear-gradient(135deg,#0d47a1,#1976d2,#42a5f5);
}

    /* Decorative circles */

    .stats-section::before {
        content: "";
        position: absolute;
        width: 450px;
        height: 450px;
        background: rgba(255,255,255,.08);
        border-radius: 50%;
        top: -180px;
        left: -120px;
    }

    .stats-section::after {
        content: "";
        position: absolute;
        width: 350px;
        height: 350px;
        background: rgba(255,255,255,.05);
        border-radius: 50%;
        bottom: -120px;
        right: -80px;
    }

.section-heading {
    position: relative;
    z-index: 2;
    margin-bottom: 60px;
}

    .section-heading span {
        color: #FFD54F;
        font-size: 18px;
        font-weight: 600;
        letter-spacing: 1px;
    }

    .section-heading h2 {
        color: #fff;
        font-size: 42px;
        font-weight: 700;
        margin: 15px 0;
    }

    .section-heading p {
        color: rgba(255,255,255,.8);
        max-width: 700px;
        margin: auto;
    }

/*=========================
3D Card
==========================*/

.stats-card {
    position: relative;
    background: rgba(255,255,255,.12);
    backdrop-filter: blur(18px);
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 22px;
    padding: 40px 25px;
    text-align: center;
    overflow: hidden;
    transition: .4s;
    transform-style: preserve-3d;
    box-shadow: 0 15px 40px rgba(0,0,0,.18), inset 0 1px 1px rgba(255,255,255,.25);
}

    .stats-card:hover {
        transform: translateY(-15px) rotateX(8deg) rotateY(-6deg);
        box-shadow: 0 35px 70px rgba(0,0,0,.28);
    }

    /* Floating shine */

    .stats-card::before {
        content: "";
        position: absolute;
        top: -120px;
        left: -120px;
        width: 240px;
        height: 240px;
        background: rgba(255,255,255,.12);
        border-radius: 50%;
    }

/* Icon */

.stats-icon {
    width: 85px;
    height: 85px;
    margin: auto;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 34px;
    color: #fff;
    background: linear-gradient(135deg,#FFC107,#FF9800);
    box-shadow: 0 15px 25px rgba(255,193,7,.45);
    margin-bottom: 25px;
}

.stats-card h2 {
    color: #fff;
    font-size: 46px;
    font-weight: 700;
    margin-bottom: 10px;
}

.stats-card h5 {
    color: #fff;
    font-weight: 500;
    letter-spacing: .5px;
}

/*=========================
Responsive
==========================*/

@media(max-width:768px) {

    .stats-section {
        padding: 70px 0;
    }

    .section-heading h2 {
        font-size: 30px;
    }

    .stats-card {
        margin-bottom: 25px;
    }

        .stats-card h2 {
            font-size: 36px;
        }
}

/* ================================================================
   CORDOVA 2026 — RESPONSIVE 3D DESIGN SYSTEM
   Progressive enhancement: modern browsers receive depth, blur and
   motion while the layout remains usable in older browsers.
================================================================ */
:root {
    --ink: #111936;
    --muted: #66708c;
    --navy: #0b1741;
    --blue: #2856e8;
    --cyan: #37c6ef;
    --violet: #7957f2;
    --coral: #ff6b6b;
    --surface: #ffffff;
    --canvas: #f4f7ff;
    --line: rgba(42, 67, 135, .12);
    --shadow-sm: 0 10px 28px rgba(26, 47, 104, .10);
    --shadow-lg: 0 28px 70px rgba(25, 47, 106, .18), 0 8px 20px rgba(37, 83, 214, .08);
    --radius: 24px;
}

html { scroll-behavior: smooth; }

body {
    color: var(--ink);
    background:
        radial-gradient(circle at 5% 8%, rgba(55,198,239,.14), transparent 28rem),
        radial-gradient(circle at 95% 22%, rgba(121,87,242,.12), transparent 31rem),
        var(--canvas);
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

main { min-height: 60vh; overflow: clip; }
section { position: relative; padding: clamp(4rem, 7vw, 7rem) 0; }
h1, h2, h3, h4, h5, h6 { color: var(--ink); line-height: 1.15; letter-spacing: -.025em; }
h2 { font-size: clamp(2rem, 4vw, 3.5rem); }
p { color: var(--muted); }
img { height: auto; }

::selection { color: #fff; background: var(--violet); }
:focus-visible { outline: 3px solid var(--cyan); outline-offset: 4px; border-radius: 8px; }

#loader {
    position: fixed; inset: 0; z-index: 99999; display: grid; place-items: center;
    background: var(--canvas);
}

.custom-navbar {
    margin: 12px auto 0;
    width: min(1180px, calc(100% - 28px));
    border: 1px solid rgba(255,255,255,.82);
    border-radius: 22px;
    background: rgba(255,255,255,.86);
    box-shadow: var(--shadow-sm);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
}
.custom-navbar .container { max-width: none; }
.navbar-logo { width: clamp(106px, 11vw, 148px); filter: drop-shadow(0 6px 9px rgba(20,37,88,.13)); }
.navbar .nav-link {
    color: #39415f; font-weight: 600; padding: .72rem .9rem !important;
    border-radius: 13px; transition: color .2s ease, background .2s ease, transform .2s ease;
}
.navbar .nav-link:hover, .navbar .nav-link.active { color: var(--blue); background: rgba(40,86,232,.08); transform: translateY(-1px); }
.navbar-toggler { border: 0; border-radius: 12px; padding: .6rem; box-shadow: none !important; }
.nav-btn, .btn-primary, .btn-about, .btn-contact, .youtube-btn, button[type="submit"] {
    display: inline-flex; align-items: center; justify-content: center; gap: .55rem;
    min-height: 48px; padding: .75rem 1.45rem; border: 0; border-radius: 14px;
    font-weight: 700; color: #fff !important;
    background: linear-gradient(135deg, var(--blue), var(--violet));
    box-shadow: 0 12px 24px rgba(40,86,232,.26), inset 0 1px rgba(255,255,255,.28);
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.nav-btn:hover, .btn-primary:hover, .btn-about:hover, .btn-contact:hover, .youtube-btn:hover, button[type="submit"]:hover {
    transform: translateY(-3px); box-shadow: 0 18px 32px rgba(40,86,232,.32); filter: saturate(1.08);
}

.about-company { padding-top: clamp(4rem, 8vw, 8rem); }
.about-image-wrapper { perspective: 1000px; position: relative; }
.about-image-wrapper::before {
    content: ""; position: absolute; inset: 8% -4% -7% 9%; z-index: -1; border-radius: 36px;
    background: linear-gradient(145deg, var(--cyan), var(--violet)); transform: rotate(-5deg) translateZ(-20px);
    box-shadow: var(--shadow-lg);
}
.about-image { border-radius: 32px !important; box-shadow: var(--shadow-lg); transform: rotateY(4deg) rotateX(1deg); }
.about-card, .video-card, .portfolio-card, .card, .career-card, .contact-card, .form-card {
    border: 1px solid rgba(255,255,255,.9) !important; border-radius: var(--radius) !important;
    background: rgba(255,255,255,.88) !important; box-shadow: var(--shadow-sm) !important;
    -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
}
.about-card { padding: clamp(1.5rem, 4vw, 3.25rem); }
.about-subtitle, .sub-title, .badge {
    display: inline-flex; padding: .55rem 1rem; border-radius: 999px; color: var(--blue) !important;
    background: rgba(40,86,232,.09) !important; font-weight: 700; letter-spacing: .02em;
}
.about-title { margin: 1.25rem 0; }
.about-features { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .85rem; margin: 1.6rem 0; }
.feature { padding: 1rem; border: 1px solid var(--line); border-radius: 16px; background: linear-gradient(145deg,#fff,#f3f6ff); box-shadow: 5px 7px 15px rgba(27,50,111,.07); }
.about-buttons { display: flex; flex-wrap: wrap; gap: .9rem; }
.btn-contact { color: var(--blue) !important; background: #fff; border: 1px solid rgba(40,86,232,.2); box-shadow: var(--shadow-sm); }

.section-title { max-width: 760px; margin-inline: auto; }
.section-title p { font-size: 1.05rem; }
.video-card, .portfolio-card, .card { overflow: hidden; transition: transform .28s ease, box-shadow .28s ease; }
.video-card:hover, .portfolio-card:hover, .card:hover { transform: translateY(-8px) rotateX(1deg); box-shadow: var(--shadow-lg) !important; }
.video-wrapper { aspect-ratio: 16/9; overflow: hidden; }
.video-wrapper iframe, .video-player { width: 100%; height: 100%; border: 0; object-fit: cover; }
.video-content, .portfolio-card { padding: clamp(1.25rem, 3vw, 2rem); }

.catalogue-panel, .portfolio-panel { z-index: 1025; filter: drop-shadow(0 12px 18px rgba(11,23,65,.2)); }
.catalogue-pdf, .catalogue-tab, .portfolio-tab { border-radius: 16px 0 0 16px; overflow: hidden; }
.portfolio-overlay { z-index: 9990; background: rgba(7,15,45,.9); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); }
.portfolio-grid { gap: clamp(1rem, 2vw, 1.75rem); }
.portfolio-card img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 16px; }

.about-banner {
    min-height: clamp(270px, 42vw, 480px); border-radius: 0 0 42px 42px;
    box-shadow: inset 0 -80px 100px rgba(5,15,49,.3), var(--shadow-lg);
}
.about-banner h1 { font-size: clamp(2.4rem, 7vw, 5rem); text-shadow: 0 12px 30px rgba(0,0,0,.3); }

input, textarea, select, .form-control, .form-select {
    min-height: 52px; border: 1px solid var(--line) !important; border-radius: 14px !important;
    background: rgba(255,255,255,.92) !important; box-shadow: inset 0 2px 4px rgba(25,47,106,.04) !important;
}
textarea.form-control { min-height: 140px; }
input:focus, textarea:focus, select:focus, .form-control:focus, .form-select:focus { border-color: var(--cyan) !important; box-shadow: 0 0 0 4px rgba(55,198,239,.16) !important; }

.footer {
    position: relative; margin: 3rem 14px 14px !important; padding: clamp(3.5rem,7vw,6rem) 0 2rem;
    border-radius: 38px; overflow: hidden; color: #fff;
    background: radial-gradient(circle at 15% 10%, rgba(55,198,239,.22), transparent 25rem), linear-gradient(145deg,#091536,#151f56);
    box-shadow: var(--shadow-lg);
}
.footer h5, .footer p, .footer a, .footer span { color: rgba(255,255,255,.8); }
.footer h5 { color: #fff; }
.footer-logo { filter: brightness(0) invert(1); max-width: 155px; }
.footer-social a { display:inline-grid; place-items:center; width:44px; height:44px; border-radius:13px; background:rgba(255,255,255,.1); transition:.2s; }
.footer-social a:hover { background: var(--blue); transform: translateY(-3px); }
.top-btn { right: max(18px, env(safe-area-inset-right)); bottom: max(18px, env(safe-area-inset-bottom)); border-radius: 15px; background: linear-gradient(135deg,var(--blue),var(--violet)); box-shadow: var(--shadow-sm); }

@media (max-width: 991.98px) {
    .custom-navbar { border-radius: 18px; }
    .navbar-collapse { margin-top: .75rem; padding: .75rem; border-radius: 16px; background: rgba(244,247,255,.96); }
    .navbar .nav-btn { margin-top: .5rem; width: 100%; }
    .about-image-wrapper { max-width: 620px; margin-inline: auto; }
    .about-image { transform: none; }
}

/* Reference-matched navigation typography */
.custom-navbar .navbar-nav .nav-link,
.custom-navbar .navbar-nav .nav-btn {
    color:#fff !important;
    background:linear-gradient(145deg,#1d2942,#111b31);
    border-color:rgba(255,255,255,.12);
    box-shadow:
        0 7px 0 #0a1122,
        0 12px 22px rgba(10,17,34,.23),
        inset 0 1px 0 rgba(255,255,255,.12);
    font-family:'Montserrat','Segoe UI',Arial,sans-serif;
    font-size:.88rem;
    font-weight:600 !important;
    letter-spacing:.005em;
}
.custom-navbar .navbar-nav .nav-item:nth-child(1) .nav-link { box-shadow:0 7px 0 #9e1b28,0 12px 22px rgba(10,17,34,.23),inset 0 1px rgba(255,255,255,.12); }
.custom-navbar .navbar-nav .nav-item:nth-child(2) .nav-link { box-shadow:0 7px 0 #0c7545,0 12px 22px rgba(10,17,34,.23),inset 0 1px rgba(255,255,255,.12); }
.custom-navbar .navbar-nav .nav-item:nth-child(3) .nav-link { box-shadow:0 7px 0 #a85e08,0 12px 22px rgba(10,17,34,.23),inset 0 1px rgba(255,255,255,.12); }
.custom-navbar .navbar-nav .nav-item:nth-child(4) .nav-link { box-shadow:0 7px 0 #a32e6b,0 12px 22px rgba(10,17,34,.23),inset 0 1px rgba(255,255,255,.12); }
.custom-navbar .navbar-nav .nav-item:nth-child(5) .nav-link { box-shadow:0 7px 0 #5036a5,0 12px 22px rgba(10,17,34,.23),inset 0 1px rgba(255,255,255,.12); }
.custom-navbar .navbar-nav .nav-item:nth-child(6) .nav-link { box-shadow:0 7px 0 #17788f,0 12px 22px rgba(10,17,34,.23),inset 0 1px rgba(255,255,255,.12); }
.custom-navbar .navbar-nav .nav-item:nth-child(7) .nav-btn { box-shadow:0 7px 0 #263baa,0 12px 22px rgba(10,17,34,.23),inset 0 1px rgba(255,255,255,.12); }

@media (max-width: 991.98px) {
    .custom-navbar .navbar-nav .nav-link,
    .custom-navbar .navbar-nav .nav-btn { font-size:.94rem; }
}

/* ================================================================
   TYPOGRAPHY HIERARCHY + PORTFOLIO VISIBILITY
================================================================ */
html { font-size: 17px; }
body { font-size: 1rem; font-weight: 400; line-height: 1.72; }
p, li, .about-text, .text-muted { font-weight: 400; }
strong, b { font-weight: 700; }
h1, h2, h3, h4, h5, h6 { font-weight: 800; }
h1 { font-size: clamp(2.75rem, 6vw, 5.6rem); }
h2 { font-size: clamp(2rem, 4vw, 3.4rem); }
h3 { font-size: clamp(1.4rem, 2.5vw, 2rem); }
h4 { font-size: clamp(1.12rem, 1.8vw, 1.35rem); }
.section-title > p, .page-hero-content p, .hero-lead { font-size: clamp(1rem, 1.6vw, 1.18rem); font-weight: 400; }
.navbar .nav-link { font-size: .88rem; font-weight: 600; }
.btn-about, .btn-contact, .youtube-btn, .nav-btn, .publication-btn, .btn-send { font-size: .9rem; font-weight: 700; }
.card h4, .publication-card h4, .portfolio-card h4, .opening-card h3 { font-weight: 800; }
.feature, .story-points div, .role-list li { font-weight: 600; }
.eyebrow, .sub-title, .subtitle { font-size: .76rem; font-weight: 800; }

.portfolio-overlay {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: clamp(1rem, 3vw, 2.75rem);
    overflow-y: auto;
    z-index: 99999;
    color: #fff;
    background:
        radial-gradient(circle at 7% 10%, rgba(237,36,48,.32), transparent 24rem),
        radial-gradient(circle at 92% 10%, rgba(44,198,223,.30), transparent 25rem),
        radial-gradient(circle at 75% 94%, rgba(245,155,35,.25), transparent 24rem),
        linear-gradient(145deg, #0c153d, #1a255f 58%, #20245b);
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
}
.portfolio-overlay::before {
    content:""; position:fixed; top:0; left:0; right:0; height:6px; z-index:2;
    background:linear-gradient(90deg,var(--brand-red),var(--brand-orange),var(--brand-green),var(--cyan),var(--brand-blue),var(--brand-pink));
}
.portfolio-tab {
    border: 0;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: .76rem;
    letter-spacing: .08em;
}
.portfolio-header {
    position: sticky;
    top: 0;
    z-index: 10;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 2rem;
    width: min(1380px, 100%);
    margin: 0 auto 2rem;
    padding: 1rem 0 1.35rem;
    border-bottom: 1px solid rgba(255,255,255,.16);
    background: rgba(12,21,61,.82);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
}
.portfolio-heading { max-width: 760px; }
.portfolio-heading > span {
    display: inline-block; margin-bottom: .35rem; color: #73e2c2;
    font-family: 'Plus Jakarta Sans',sans-serif; font-size: .75rem; font-weight: 800;
    letter-spacing: .1em; text-transform: uppercase;
}
.portfolio-header .portfolio-heading h2 {
    margin: 0;
    color: #fff !important;
    font-size: clamp(2rem, 4vw, 3.6rem);
    font-weight: 800;
    line-height: 1.05;
    text-shadow: 0 8px 25px rgba(0,0,0,.24);
}
.portfolio-heading p { margin: .65rem 0 0; color: rgba(255,255,255,.72); font-size: 1rem; font-weight: 400; }
.close-btn {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    width: 56px;
    height: 56px;
    padding: 0;
    border: 2px solid rgba(255,255,255,.78);
    border-radius: 17px;
    color: #fff !important;
    background: linear-gradient(145deg, var(--brand-red), #d71935);
    box-shadow: 0 15px 32px rgba(237,36,48,.34), inset 0 1px rgba(255,255,255,.3);
    font-size: 1.35rem;
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.close-btn:hover, .close-btn:focus-visible {
    color: #fff !important;
    background: linear-gradient(145deg, #ff4d59, var(--brand-red));
    transform: rotate(5deg) scale(1.06);
    box-shadow: 0 18px 38px rgba(237,36,48,.46);
}
.portfolio-grid {
    width: min(1380px, 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(1rem, 2vw, 1.6rem);
    padding: 0 0 3rem;
}
.portfolio-grid .portfolio-card {
    display: block;
    padding: 12px 12px 1.3rem;
    border: 1px solid rgba(255,255,255,.85) !important;
    border-top: 5px solid var(--brand-red) !important;
    border-radius: 24px !important;
    color: var(--ink) !important;
    background: rgba(255,255,255,.96) !important;
    box-shadow: 0 20px 45px rgba(0,0,0,.22) !important;
    overflow: hidden;
}
.portfolio-grid .portfolio-card:nth-child(2) { border-top-color: var(--brand-orange) !important; }
.portfolio-grid .portfolio-card:nth-child(3) { border-top-color: var(--brand-green) !important; }
.portfolio-grid .portfolio-card:nth-child(4) { border-top-color: var(--brand-blue) !important; }
.portfolio-grid .portfolio-card:nth-child(5) { border-top-color: var(--brand-pink) !important; }
.portfolio-grid .portfolio-card:nth-child(6) { border-top-color: var(--cyan) !important; }
.portfolio-grid .portfolio-card:nth-child(7) { border-top-color: var(--violet) !important; }
.portfolio-grid .portfolio-card:nth-child(8) { border-top-color: var(--brand-red) !important; }
.portfolio-grid .portfolio-card:nth-child(9) { border-top-color: var(--brand-orange) !important; }
.portfolio-grid .portfolio-card:hover { transform: translateY(-10px) rotateX(1deg); box-shadow: 0 28px 60px rgba(0,0,0,.3) !important; }
.portfolio-grid .portfolio-card img {
    width: 100%;
    height: auto;
    aspect-ratio: 16/10;
    object-fit: cover;
    border-radius: 16px;
}
.portfolio-grid .portfolio-card h4 {
    margin: 1rem .55rem .3rem;
    padding: 0;
    color: var(--ink);
    font-size: clamp(1.05rem, 1.5vw, 1.3rem);
    font-weight: 800;
}
.portfolio-grid .portfolio-card p {
    margin: 0 .55rem;
    padding: 0;
    color: var(--muted);
    font-size: .9rem;
    font-weight: 400;
}

@media (max-width: 991.98px) {
    html { font-size: 16px; }
    .portfolio-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 575.98px) {
    .portfolio-overlay { padding: .8rem; }
    .portfolio-header { gap: .8rem; padding-top: 1.1rem; }
    .portfolio-heading p { display: none; }
    .close-btn { width: 48px; height: 48px; border-radius: 14px; }
    .portfolio-grid { grid-template-columns: 1fr !important; padding-inline: 0; }
}

/* ================================================================
   BOLD 3D NAVIGATION BUTTONS
================================================================ */
.custom-navbar .navbar-nav {
    perspective: 900px;
    gap: .35rem !important;
}
.custom-navbar .navbar-nav .nav-item {
    animation: navButtonIn .55s cubic-bezier(.2,.8,.2,1) both;
}
.custom-navbar .navbar-nav .nav-item:nth-child(2) { animation-delay:.04s; }
.custom-navbar .navbar-nav .nav-item:nth-child(3) { animation-delay:.08s; }
.custom-navbar .navbar-nav .nav-item:nth-child(4) { animation-delay:.12s; }
.custom-navbar .navbar-nav .nav-item:nth-child(5) { animation-delay:.16s; }
.custom-navbar .navbar-nav .nav-item:nth-child(6) { animation-delay:.20s; }
.custom-navbar .navbar-nav .nav-item:nth-child(7) { animation-delay:.24s; }

.custom-navbar .navbar-nav .nav-link,
.custom-navbar .navbar-nav .nav-btn {
    position: relative;
    isolation: isolate;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    margin: 0;
    padding: .68rem .9rem !important;
    border: 1px solid rgba(255,255,255,.95);
    border-radius: 13px;
    overflow: hidden;
    color: #273452 !important;
    background: linear-gradient(145deg,#ffffff,#edf1fb);
    box-shadow:
        0 7px 0 #d9deec,
        0 11px 20px rgba(31,46,91,.13),
        inset 0 1px 0 rgba(255,255,255,1);
    font-family: 'Plus Jakarta Sans','Segoe UI',sans-serif;
    font-size: .78rem;
    font-weight: 800 !important;
    letter-spacing: -.015em;
    line-height: 1;
    transform: translateY(-3px) rotateX(0deg);
    transform-origin: center bottom;
    transition: transform .22s cubic-bezier(.2,.8,.2,1), box-shadow .22s ease, color .22s ease, background .22s ease;
}
.custom-navbar .navbar-nav .nav-link::before,
.custom-navbar .navbar-nav .nav-btn::before {
    content:"";
    position:absolute;
    top:0;
    left:-120%;
    z-index:-1;
    width:75%;
    height:100%;
    background:linear-gradient(105deg,transparent,rgba(255,255,255,.8),transparent);
    transform:skewX(-18deg);
    transition:left .48s ease;
}
.custom-navbar .navbar-nav .nav-link:hover::before,
.custom-navbar .navbar-nav .nav-btn:hover::before { left:145%; }
.custom-navbar .navbar-nav .nav-link:hover,
.custom-navbar .navbar-nav .nav-btn:hover {
    color:#fff !important;
    transform:translateY(-7px) rotateX(7deg) scale(1.035);
    box-shadow:0 10px 0 rgba(20,35,84,.18),0 18px 28px rgba(31,46,91,.22),inset 0 1px rgba(255,255,255,.35);
}
.custom-navbar .navbar-nav .nav-link:active,
.custom-navbar .navbar-nav .nav-btn:active {
    transform:translateY(2px) rotateX(0) scale(.98);
    box-shadow:0 2px 0 rgba(20,35,84,.2),0 5px 10px rgba(31,46,91,.14),inset 0 2px 4px rgba(0,0,0,.08);
}
.custom-navbar .navbar-nav .nav-link.active {
    color:#fff !important;
    transform:translateY(0);
    box-shadow:0 4px 0 rgba(138,20,33,.35),0 9px 18px rgba(237,36,48,.24),inset 0 1px rgba(255,255,255,.35);
}
.custom-navbar .navbar-nav .nav-item:nth-child(1) .nav-link:hover,
.custom-navbar .navbar-nav .nav-item:nth-child(1) .nav-link.active { background:linear-gradient(145deg,#ff4b58,var(--brand-red)); }
.custom-navbar .navbar-nav .nav-item:nth-child(2) .nav-link:hover,
.custom-navbar .navbar-nav .nav-item:nth-child(2) .nav-link.active { background:linear-gradient(145deg,#29c47c,var(--brand-green)); }
.custom-navbar .navbar-nav .nav-item:nth-child(3) .nav-link:hover,
.custom-navbar .navbar-nav .nav-item:nth-child(3) .nav-link.active { background:linear-gradient(145deg,#ffb33d,var(--brand-orange)); }
.custom-navbar .navbar-nav .nav-item:nth-child(4) .nav-link:hover,
.custom-navbar .navbar-nav .nav-item:nth-child(4) .nav-link.active { background:linear-gradient(145deg,#ff75bb,var(--brand-pink)); }
.custom-navbar .navbar-nav .nav-item:nth-child(5) .nav-link:hover,
.custom-navbar .navbar-nav .nav-item:nth-child(5) .nav-link.active { background:linear-gradient(145deg,#9477f3,var(--violet)); }
.custom-navbar .navbar-nav .nav-item:nth-child(6) .nav-link,
.custom-navbar .navbar-nav .nav-item:nth-child(6) .nav-link:hover,
.custom-navbar .navbar-nav .nav-item:nth-child(6) .nav-link.active { color:#fff !important; background:linear-gradient(145deg,#3ed4e8,#239ebf); }
.custom-navbar .navbar-nav .nav-item:nth-child(7) .nav-btn,
.custom-navbar .navbar-nav .nav-item:nth-child(7) .nav-btn:hover { color:#fff !important; background:linear-gradient(145deg,#5874ff,#354fe5 65%,var(--violet)); }

@keyframes navButtonIn {
    from { opacity:0; transform:translateY(-14px) rotateX(-16deg); }
    to { opacity:1; transform:translateY(0) rotateX(0); }
}

@media (max-width: 991.98px) {
    .custom-navbar .navbar-nav { gap:.7rem !important; padding:.3rem; }
    .custom-navbar .navbar-nav .nav-item { width:100%; }
    .custom-navbar .navbar-nav .nav-link,
    .custom-navbar .navbar-nav .nav-btn {
        width:100%;
        min-height:48px;
        font-size:.88rem;
        transform:none;
        box-shadow:0 5px 0 #d9deec,0 9px 16px rgba(31,46,91,.1),inset 0 1px #fff;
    }
    .custom-navbar .navbar-nav .nav-link:hover,
    .custom-navbar .navbar-nav .nav-btn:hover { transform:translateY(-3px) scale(1.01); }
}

@media (max-width: 767.98px) {
    section { padding: 3.5rem 0; }
    .container { --bs-gutter-x: 1.5rem; }
    .about-features { grid-template-columns: 1fr; }
    .about-buttons > * { flex: 1 1 160px; }
    .catalogue-panel, .portfolio-panel { transform: scale(.86); transform-origin: right center; }
    .portfolio-grid { grid-template-columns: 1fr !important; padding-inline: 1rem; }
    .footer { margin-inline: 8px !important; border-radius: 28px; text-align: center; }
    .footer-social { justify-content: center; }
}

@media (max-width: 420px) {
    .custom-navbar { width: calc(100% - 16px); margin-top: 8px; }
    .navbar-logo { width: 108px; }
    .catalogue-panel, .portfolio-panel { display: none; }
    .about-card { padding: 1.25rem; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    .custom-navbar, .about-card, .video-card, .portfolio-card, .card { background: #fff !important; }
}

/* ================================================================
   PAGE-SPECIFIC 3D EXPERIENCES
================================================================ */
.eyebrow {
    display: inline-flex; align-items: center; gap: .55rem; padding: .55rem .9rem;
    border: 1px solid rgba(40,86,232,.12); border-radius: 999px;
    color: var(--blue); background: rgba(255,255,255,.75); font-size: .82rem;
    font-weight: 800; letter-spacing: .06em; text-transform: uppercase;
    box-shadow: 0 8px 20px rgba(26,47,104,.07);
}

/* Home */
.home-hero {
    min-height: min(820px, calc(100vh - 30px)); display: flex; align-items: center;
    padding: clamp(5.5rem, 10vw, 9rem) 0 clamp(4rem, 8vw, 7rem);
    isolation: isolate;
}
.home-hero::before {
    content: ""; position: absolute; inset: 2rem 1.1rem 0; z-index: -2; border-radius: 42px;
    background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(238,244,255,.9));
    border: 1px solid rgba(255,255,255,.95); box-shadow: var(--shadow-lg);
}
.hero-orb { position:absolute; z-index:-1; border-radius:50%; filter:blur(2px); opacity:.85; }
.hero-orb-one { width:320px; height:320px; top:5%; right:7%; background:radial-gradient(circle at 35% 30%,#aeeeff,var(--cyan) 45%,#4169eb); box-shadow: inset -35px -35px 70px rgba(27,47,128,.25), 0 30px 80px rgba(55,198,239,.25); }
.hero-orb-two { width:140px; height:140px; left:4%; bottom:8%; background:radial-gradient(circle at 35% 25%,#ffc7c7,var(--coral) 50%,#d74783); box-shadow:inset -20px -20px 35px rgba(97,25,90,.2),0 20px 55px rgba(255,107,107,.2); }
.hero-copy h1 { max-width: 720px; margin: 1.35rem 0 1.4rem; font-size: clamp(2.75rem, 6.2vw, 5.6rem); font-weight: 800; letter-spacing: -.055em; }
.hero-copy h1 span, .page-hero h1 span { color: transparent; background: linear-gradient(110deg,var(--blue),var(--violet),var(--coral)); -webkit-background-clip:text; background-clip:text; }
.hero-lead { max-width: 650px; font-size: clamp(1.05rem,1.8vw,1.25rem); }
.hero-actions { display:flex; flex-wrap:wrap; gap:1rem; margin:2rem 0; }
.hero-trust { display:flex; flex-wrap:wrap; gap:1.4rem; padding-top:1.8rem; border-top:1px solid var(--line); }
.hero-trust div { display:flex; flex-direction:column; min-width:115px; }
.hero-trust strong { color:var(--ink); font-size:1.3rem; }
.hero-trust span { color:var(--muted); font-size:.8rem; }
.hero-visual { position:relative; min-height:520px; display:grid; place-items:center; perspective:1200px; }
.hero-image-card { width:min(88%,520px); padding:14px; border-radius:38px; background:linear-gradient(145deg,#fff,#e6ecff); box-shadow:25px 30px 80px rgba(26,47,104,.24),inset 0 2px rgba(255,255,255,1); transform:rotateY(-8deg) rotateX(3deg) rotateZ(2deg); }
.hero-image-card img { width:100%; aspect-ratio:4/4.25; object-fit:cover; border-radius:28px; }
.floating-chip { position:absolute; display:flex; align-items:center; gap:.7rem; padding:.9rem 1.15rem; border:1px solid rgba(255,255,255,.9); border-radius:17px; background:rgba(255,255,255,.88); box-shadow:var(--shadow-lg); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); font-weight:700; }
.floating-chip i { display:grid; place-items:center; width:38px; height:38px; border-radius:11px; color:#fff; background:linear-gradient(135deg,var(--coral),#ff9b73); }
.floating-chip.chip-top { top:14%; left:-1%; transform:rotate(-3deg); }
.floating-chip.chip-bottom { right:-2%; bottom:13%; transform:rotate(3deg); }
.floating-chip.chip-bottom i { background:linear-gradient(135deg,var(--blue),var(--violet)); }
.hero-dot-grid { position:absolute; width:130px; height:130px; right:0; top:2%; z-index:-1; opacity:.25; background-image:radial-gradient(var(--blue) 2px,transparent 2px); background-size:15px 15px; }

.publication-section { background:linear-gradient(180deg,transparent,rgba(224,233,255,.65),transparent); }
.publication-card { height:100%; padding:12px; border:1px solid rgba(255,255,255,.9); border-radius:24px; background:#fff; box-shadow:var(--shadow-sm); transform-style:preserve-3d; }
.publication-card:hover { transform:translateY(-10px) rotateX(2deg); box-shadow:var(--shadow-lg); }
.publication-card img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:17px; }
.publication-content { padding:1.25rem .65rem .6rem; }
.publication-btn { display:inline-flex; align-items:center; color:var(--blue); font-weight:700; }
.stats-section { margin-inline:14px; border-radius:38px; color:#fff; background:radial-gradient(circle at 10% 20%,rgba(55,198,239,.25),transparent 25rem),linear-gradient(145deg,var(--navy),#1d2867); }
.stats-section h2,.stats-section h5,.stats-section p,.stats-section span { color:#fff; }
.stats-card { height:100%; padding:2rem; border:1px solid rgba(255,255,255,.14); border-radius:22px; background:rgba(255,255,255,.08); box-shadow:inset 0 1px rgba(255,255,255,.16),0 18px 40px rgba(4,10,34,.22); }

/* Shared inner-page hero */
.page-hero { min-height:470px; display:flex; align-items:center; margin:1.25rem 1.1rem 0; border-radius:42px; overflow:hidden; isolation:isolate; background:linear-gradient(135deg,#eef4ff,#f7f1ff); box-shadow:var(--shadow-lg); }
.page-hero::before,.page-hero::after { content:""; position:absolute; z-index:-1; border-radius:50%; }
.page-hero::before { width:420px; height:420px; right:-70px; top:-150px; background:radial-gradient(circle at 30% 30%,#bff4ff,var(--cyan) 43%,var(--blue)); box-shadow:inset -45px -45px 75px rgba(18,33,105,.25); }
.page-hero::after { width:180px; height:180px; left:8%; bottom:-100px; background:radial-gradient(circle at 30% 25%,#ffc7cd,var(--coral) 55%,#bb4bb0); }
.page-hero-content { position:relative; max-width:760px; padding-block:4rem; }
.page-hero-content h1 { margin:1.25rem 0; font-size:clamp(2.7rem,6vw,5.6rem); font-weight:800; letter-spacing:-.055em; }
.page-hero-content p { max-width:650px; margin:0; font-size:clamp(1.05rem,2vw,1.3rem); color:#55617e; }

/* About */
.story-visual { position:relative; min-height:520px; display:grid; place-items:center; perspective:1000px; }
.story-image { width:min(92%,540px); padding:13px; border-radius:34px; background:#fff; box-shadow:var(--shadow-lg); transform:rotateY(7deg) rotateZ(-2deg); }
.story-image img { width:100%; aspect-ratio:1.05/1; object-fit:cover; border-radius:25px; }
.story-badge { position:absolute; right:0; bottom:4%; display:flex; flex-direction:column; width:190px; padding:1.25rem; border-radius:20px; color:#fff; background:linear-gradient(145deg,var(--blue),var(--violet)); box-shadow:0 24px 50px rgba(40,86,232,.35); transform:rotate(3deg); }
.story-badge strong { font-size:2rem; }.story-badge span { font-size:.78rem; color:rgba(255,255,255,.8); }
.about-story h2 { margin:1.3rem 0; }
.about-story p { font-size:1.03rem; }
.story-points { display:grid; gap:.8rem; margin-top:1.5rem; }
.story-points div { display:flex; align-items:center; gap:.7rem; color:#34405e; font-weight:600; }
.story-points i { color:var(--blue); font-size:1.2rem; }
.impact-section { background:linear-gradient(180deg,transparent,rgba(228,235,255,.72),transparent); }
.impact-card { height:100%; padding:clamp(1.25rem,3vw,2rem); border:1px solid rgba(255,255,255,.95); border-radius:22px; text-align:center; background:#fff; box-shadow:var(--shadow-sm); transition:.25s; }
.impact-card:hover { transform:translateY(-8px) rotateX(2deg); box-shadow:var(--shadow-lg); }
.impact-icon,.purpose-icon { display:grid; place-items:center; width:58px; height:58px; margin:0 auto 1rem; border-radius:17px; color:#fff; font-size:1.4rem; background:linear-gradient(145deg,var(--blue),#4d82ff); box-shadow:0 13px 25px rgba(40,86,232,.25); }
.impact-icon.cyan { background:linear-gradient(145deg,#1fa8cf,var(--cyan)); }.impact-icon.violet { background:linear-gradient(145deg,var(--violet),#a26ff2); }.impact-icon.coral { background:linear-gradient(145deg,var(--coral),#ff9b73); }
.impact-card strong { display:block; color:var(--ink); font-size:clamp(1.55rem,3vw,2.3rem); }.impact-card p { margin:0; }
.purpose-card { position:relative; height:100%; min-height:330px; padding:clamp(2rem,4vw,3.5rem); border-radius:30px; overflow:hidden; color:#fff; box-shadow:var(--shadow-lg); }
.purpose-card::after { content:""; position:absolute; width:230px; height:230px; right:-75px; bottom:-95px; border-radius:50%; background:rgba(255,255,255,.1); box-shadow:0 0 0 35px rgba(255,255,255,.055); }
.purpose-vision { background:linear-gradient(145deg,#153a9e,var(--blue)); }.purpose-mission { background:linear-gradient(145deg,#5737be,var(--violet)); }
.purpose-card .purpose-icon { margin:0 0 1.5rem; background:rgba(255,255,255,.15); box-shadow:inset 0 1px rgba(255,255,255,.2); }
.purpose-card span,.purpose-card h3,.purpose-card p { position:relative; z-index:1; color:#fff; }.purpose-card span { font-size:.8rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; opacity:.75; }.purpose-card h3 { margin:.5rem 0 1rem; font-size:2rem; }.purpose-card p { color:rgba(255,255,255,.82); }

/* Careers */
.career-intro { padding-bottom:3rem; }
.opening-card { height:100%; padding:clamp(1.5rem,3vw,2.25rem); border:1px solid rgba(255,255,255,.95); border-radius:26px; background:#fff; box-shadow:var(--shadow-sm); transition:.25s; }
.opening-card:hover { transform:translateY(-7px); box-shadow:var(--shadow-lg); }
.opening-head { display:flex; align-items:center; gap:1rem; padding-bottom:1.4rem; border-bottom:1px solid var(--line); }
.opening-head > div { flex:1; }.opening-head small { color:var(--muted); }.opening-head h3 { margin:.1rem 0 0; font-size:1.35rem; }
.opening-icon,.contact-method-icon { display:grid; place-items:center; flex:0 0 auto; width:52px; height:52px; border-radius:15px; color:#fff; font-size:1.25rem; background:linear-gradient(145deg,var(--blue),#4e80ff); box-shadow:0 12px 24px rgba(40,86,232,.22); }
.opening-icon.violet { background:linear-gradient(145deg,var(--violet),#a06eff); }
.status-pill { padding:.35rem .65rem; border-radius:999px; color:#14774b; background:#e2f8ed; font-size:.72rem; font-weight:800; }
.role-list { display:grid; gap:.85rem; margin:1.4rem 0 0; padding:0; list-style:none; }
.role-list li { position:relative; padding-left:1.55rem; color:#56617c; }.role-list li::before { content:""; position:absolute; left:0; top:.65rem; width:8px; height:8px; border-radius:50%; background:linear-gradient(145deg,var(--cyan),var(--blue)); box-shadow:0 0 0 5px rgba(55,198,239,.12); }
.application-section { padding-top:3rem; }
.application-shell { display:grid; grid-template-columns:minmax(280px,.8fr) minmax(0,1.35fr); gap:clamp(2rem,5vw,5rem); padding:clamp(1.5rem,4vw,4rem); border:1px solid rgba(255,255,255,.95); border-radius:34px; background:linear-gradient(145deg,#eef4ff,#fff); box-shadow:var(--shadow-lg); }
.application-copy { align-self:center; }.application-copy h2 { margin:1.2rem 0; }.application-note { display:flex; align-items:center; gap:1rem; margin-top:2rem; padding:1.1rem; border-radius:17px; background:#fff; box-shadow:var(--shadow-sm); }.application-note i { color:var(--blue); font-size:1.5rem; }.application-note div { display:flex; flex-direction:column; }.application-note span { color:var(--muted); font-size:.75rem; }.application-note a { color:var(--ink); font-weight:700; }
.application-form { padding:clamp(1.25rem,3vw,2.25rem); border-radius:25px; background:#fff; box-shadow:var(--shadow-sm); }
.application-form label { display:block; margin:0 0 .45rem .2rem; color:#3b4664; font-size:.82rem; font-weight:700; }.application-form small { color:var(--muted); }.btn-send { margin-top:.5rem; }

/* Contact */
.contact-section { padding-bottom:3rem; }
.contact-grid { display:grid; grid-template-columns:minmax(300px,.85fr) minmax(0,1.2fr); align-items:stretch; gap:clamp(2rem,5vw,4rem); }
.contact-details h2 { margin:1.2rem 0; }.contact-details > p { margin-bottom:2rem; }
.contact-method { display:flex; align-items:center; gap:1rem; margin-bottom:1rem; padding:1rem; border:1px solid rgba(255,255,255,.95); border-radius:20px; color:inherit; background:#fff; box-shadow:var(--shadow-sm); transition:.2s; }
a.contact-method:hover { color:inherit; transform:translateX(6px); box-shadow:var(--shadow-lg); }
.contact-method > span:nth-child(2) { display:flex; flex:1; flex-direction:column; min-width:0; }.contact-method small { color:var(--muted); font-size:.72rem; }.contact-method strong { color:var(--ink); word-break:break-word; }.contact-method em { color:var(--muted); font-size:.78rem; font-style:normal; }.contact-method > i { color:var(--blue); }
.contact-method-icon.cyan { background:linear-gradient(145deg,#1eafd7,var(--cyan)); }.contact-method-icon.violet { background:linear-gradient(145deg,var(--violet),#9f6ff3); }.contact-method-icon.coral { background:linear-gradient(145deg,var(--coral),#ff9875); }
.map-card { position:relative; min-height:610px; padding:13px; border-radius:32px; background:#fff; box-shadow:var(--shadow-lg); transform:perspective(1300px) rotateY(-2deg); }
.map-card iframe { width:100%; height:100%; min-height:580px; border:0; border-radius:23px; filter:saturate(.85) contrast(1.04); }
.map-address { position:absolute; left:clamp(1.5rem,4vw,3rem); right:clamp(1.5rem,4vw,3rem); bottom:2rem; display:flex; align-items:center; gap:1rem; padding:1.15rem; border:1px solid rgba(255,255,255,.9); border-radius:20px; background:rgba(255,255,255,.92); box-shadow:var(--shadow-lg); -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px); }
.map-address > div { flex:1; }.map-address small,.map-address strong { display:block; }.map-address small { color:var(--muted); }.map-address p { margin:0; font-size:.8rem; }.map-address > a { display:grid; place-items:center; width:42px; height:42px; border-radius:12px; color:#fff; background:var(--blue); }
.contact-cta { padding-top:2rem; }.contact-cta-card { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:clamp(2rem,5vw,4rem); border-radius:30px; background:radial-gradient(circle at 90% 0,rgba(55,198,239,.3),transparent 20rem),linear-gradient(145deg,var(--navy),#242e72); box-shadow:var(--shadow-lg); }.contact-cta-card span { color:var(--cyan); font-weight:700; }.contact-cta-card h2 { max-width:700px; margin:.55rem 0 0; color:#fff; font-size:clamp(1.8rem,4vw,3rem); }

@media (max-width: 991.98px) {
    .home-hero { min-height:auto; }.hero-visual { min-height:460px; }.hero-image-card { transform:rotateZ(1deg); }
    .page-hero { min-height:390px; }.page-hero::before { opacity:.55; }
    .application-shell,.contact-grid { grid-template-columns:1fr; }
    .map-card { transform:none; min-height:520px; }.map-card iframe { min-height:490px; }
}

@media (max-width: 767.98px) {
    .home-hero::before { inset:1rem .5rem 0; border-radius:28px; }.home-hero { padding-top:4.5rem; }
    .hero-copy { text-align:center; }.hero-copy .eyebrow { margin-inline:auto; }.hero-actions { justify-content:center; }.hero-trust { justify-content:center; }
    .hero-visual { min-height:390px; }.floating-chip { font-size:.78rem; padding:.7rem .8rem; }.floating-chip i { width:32px; height:32px; }.floating-chip.chip-top { left:0; }.floating-chip.chip-bottom { right:0; }
    .page-hero { min-height:340px; margin:1rem .5rem 0; border-radius:28px; text-align:center; }.page-hero-content { margin:auto; }.page-hero::before { right:-210px; }.page-hero::after { left:-70px; }
    .story-visual { min-height:410px; }.story-image { transform:rotateZ(-1deg); }.story-badge { right:1%; }
    .application-shell { padding:1rem; border-radius:25px; }.application-copy { padding:1rem; text-align:center; }.application-note { text-align:left; }
    .contact-details { text-align:center; }.contact-method { text-align:left; }.map-card { min-height:440px; }.map-card iframe { min-height:410px; }.map-address { left:1.1rem; right:1.1rem; bottom:1.1rem; }.contact-cta-card { flex-direction:column; text-align:center; }
    .stats-section { margin-inline:8px; border-radius:28px; }
}

@media (max-width: 479.98px) {
    .hero-copy h1,.page-hero-content h1 { font-size:2.45rem; }.hero-actions > * { width:100%; }.hero-visual { min-height:330px; }.floating-chip span { display:none; }.floating-chip { padding:.55rem; }.floating-chip i { margin:0; }
    .hero-trust { gap:.8rem; }.hero-trust div { min-width:90px; }.hero-trust strong { font-size:1.08rem; }
    .story-visual { min-height:340px; }.story-badge { width:155px; padding:1rem; }.story-badge strong { font-size:1.5rem; }
    .impact-card { padding:1rem .7rem; }.impact-icon { width:48px; height:48px; }.impact-card p { font-size:.78rem; }
    .opening-head { align-items:flex-start; flex-wrap:wrap; }.opening-head > div { min-width:140px; }.status-pill { margin-left:68px; }
    .contact-method { padding:.8rem; gap:.75rem; }.contact-method-icon { width:44px; height:44px; }.map-address .contact-method-icon { display:none; }.map-address { padding:.9rem; }.map-address p { line-height:1.35; }
}

/* ================================================================
   CORDOVA BRAND-COLOR ENHANCEMENT
   Palette inspired by the red, green and orange logo with royal blue
   retained for digital actions. Typography is friendly and modern.
================================================================ */
:root {
    --brand-red: #ed2430;
    --brand-green: #16a765;
    --brand-orange: #f59b23;
    --brand-blue: #3659ee;
    --brand-yellow: #ffd447;
    --brand-pink: #ef5da8;
    --brand-mint: #5ed6b3;
    --ink: #16213f;
    --muted: #5c6885;
    --navy: #101b49;
    --blue: var(--brand-blue);
    --cyan: #2cc6df;
    --violet: #7556e8;
    --coral: #f06467;
    --canvas: #f7f9ff;
}

body {
    font-family: 'Nunito Sans', Arial, sans-serif;
    background:
        radial-gradient(circle at 3% 6%, rgba(237,36,48,.10), transparent 24rem),
        radial-gradient(circle at 97% 16%, rgba(22,167,101,.10), transparent 25rem),
        radial-gradient(circle at 45% 48%, rgba(245,155,35,.07), transparent 34rem),
        radial-gradient(circle at 85% 75%, rgba(54,89,238,.09), transparent 30rem),
        var(--canvas);
}

h1, h2, h3, h4, h5, h6,
.navbar .nav-link, .btn, .eyebrow, .hero-trust strong,
.impact-card strong, .stats-card h2 {
    font-family: 'Plus Jakarta Sans', 'Segoe UI', sans-serif;
}

.custom-navbar {
    position: sticky;
    background:
        linear-gradient(#fff,#fff) padding-box,
        linear-gradient(90deg,var(--brand-red),var(--brand-orange),var(--brand-green),var(--brand-blue)) border-box;
    border: 2px solid transparent;
    box-shadow: 0 12px 35px rgba(37,52,105,.13), 0 3px 9px rgba(54,89,238,.06);
}
.custom-navbar::after {
    content:""; position:absolute; left:22px; right:22px; bottom:-2px; height:3px;
    border-radius:999px; opacity:.65;
    background:linear-gradient(90deg,var(--brand-red),var(--brand-orange),var(--brand-green),var(--brand-blue));
}
.navbar-logo { width: clamp(116px, 11vw, 155px); }
.navbar .nav-link { font-size:.82rem; letter-spacing:-.01em; }
.navbar-nav .nav-item:nth-child(1) .nav-link:hover,
.navbar-nav .nav-item:nth-child(1) .nav-link.active { color:var(--brand-red); background:rgba(237,36,48,.09); }
.navbar-nav .nav-item:nth-child(2) .nav-link:hover,
.navbar-nav .nav-item:nth-child(2) .nav-link.active { color:var(--brand-green); background:rgba(22,167,101,.10); }
.navbar-nav .nav-item:nth-child(3) .nav-link:hover,
.navbar-nav .nav-item:nth-child(3) .nav-link.active { color:#d66e00; background:rgba(245,155,35,.13); }
.navbar-nav .nav-item:nth-child(4) .nav-link:hover,
.navbar-nav .nav-item:nth-child(4) .nav-link.active { color:var(--brand-pink); background:rgba(239,93,168,.10); }
.navbar-nav .nav-item:nth-child(5) .nav-link:hover { color:var(--violet); background:rgba(117,86,232,.10); }
.navbar-nav .nav-item:nth-child(6) .nav-link { color:var(--brand-blue); background:rgba(54,89,238,.07); }
.navbar-nav .nav-item:nth-child(6) .nav-link:hover { background:rgba(54,89,238,.14); }
.nav-btn { background:linear-gradient(135deg,#4867ff,#324ee2 65%,#7556e8); }

.home-hero::before {
    background:
        radial-gradient(circle at 8% 12%,rgba(237,36,48,.13),transparent 24%),
        radial-gradient(circle at 90% 10%,rgba(54,89,238,.15),transparent 30%),
        radial-gradient(circle at 78% 88%,rgba(22,167,101,.12),transparent 25%),
        radial-gradient(circle at 15% 88%,rgba(245,155,35,.13),transparent 23%),
        linear-gradient(135deg,#fff,#f3f7ff);
}
.hero-orb-one {
    background:radial-gradient(circle at 30% 28%,#d8f8ff,#2cc6df 38%,var(--brand-blue) 72%,#7556e8);
}
.hero-orb-two {
    background:radial-gradient(circle at 30% 25%,#fff2a8,var(--brand-orange) 46%,var(--brand-red));
}
.hero-copy h1 span, .page-hero h1 span {
    background:linear-gradient(100deg,var(--brand-red) 0 20%,var(--brand-orange) 33%,var(--brand-green) 56%,var(--brand-blue) 80%,var(--violet));
    -webkit-background-clip:text; background-clip:text;
}
.eyebrow {
    color:#24418f;
    background:
        linear-gradient(white,white) padding-box,
        linear-gradient(90deg,rgba(237,36,48,.45),rgba(245,155,35,.5),rgba(22,167,101,.45),rgba(54,89,238,.5)) border-box;
    border:1px solid transparent;
}
.eyebrow i { color:var(--brand-orange); }
.btn-about, .youtube-btn, button[type="submit"] {
    background:linear-gradient(120deg,var(--brand-blue),var(--violet) 58%,var(--brand-pink));
}
.btn-contact {
    color:#b81f2c !important;
    background:linear-gradient(145deg,#fff,#fff5f3);
    border-color:rgba(237,36,48,.18);
}
.feature:nth-child(1) { border-left:4px solid var(--brand-red); background:linear-gradient(145deg,#fff,#fff1f2); }
.feature:nth-child(2) { border-left:4px solid var(--brand-green); background:linear-gradient(145deg,#fff,#edfff6); }
.feature:nth-child(3) { border-left:4px solid var(--brand-blue); background:linear-gradient(145deg,#fff,#eff2ff); }
.feature:nth-child(4) { border-left:4px solid var(--brand-orange); background:linear-gradient(145deg,#fff,#fff7e9); }

.video-section {
    background:
        radial-gradient(circle at 0 50%,rgba(239,93,168,.09),transparent 25rem),
        radial-gradient(circle at 100% 30%,rgba(44,198,223,.11),transparent 27rem);
}
.video-card { border-top:5px solid var(--brand-red) !important; }
.video-section .col-lg-6:nth-child(2) .video-card { border-top-color:var(--brand-blue) !important; }

.publication-section {
    background:
        radial-gradient(circle at 12% 20%,rgba(245,155,35,.13),transparent 22rem),
        radial-gradient(circle at 90% 80%,rgba(22,167,101,.11),transparent 24rem),
        linear-gradient(180deg,transparent,rgba(235,241,255,.8),transparent);
}
.publication-card { position:relative; border-top:5px solid var(--brand-red); }
.publication-section .col-lg-3:nth-child(2) .publication-card { border-top-color:var(--brand-orange); }
.publication-section .col-lg-3:nth-child(3) .publication-card { border-top-color:var(--brand-green); }
.publication-section .col-lg-3:nth-child(4) .publication-card { border-top-color:var(--brand-blue); }
.publication-section .col-lg-3:nth-child(5) .publication-card { border-top-color:var(--brand-pink); }
.publication-section .col-lg-3:nth-child(6) .publication-card { border-top-color:var(--violet); }
.publication-section .col-lg-3:nth-child(7) .publication-card { border-top-color:#19a9c5; }
.publication-section .col-lg-3:nth-child(8) .publication-card { border-top-color:#e65d36; }
.publication-card::after { content:""; position:absolute; inset:0; z-index:-1; border-radius:24px; opacity:0; transition:.25s; background:linear-gradient(145deg,rgba(54,89,238,.08),rgba(239,93,168,.06)); }
.publication-card:hover::after { opacity:1; }
.publication-content h4 { color:var(--ink); }

.stats-section {
    background:
        radial-gradient(circle at 8% 15%,rgba(237,36,48,.28),transparent 18rem),
        radial-gradient(circle at 88% 12%,rgba(44,198,223,.28),transparent 22rem),
        radial-gradient(circle at 72% 95%,rgba(245,155,35,.24),transparent 20rem),
        linear-gradient(145deg,#111a47,#252d74);
}
.stats-section .col-lg-3:nth-child(1) .stats-card { border-top:4px solid var(--brand-red); }
.stats-section .col-lg-3:nth-child(2) .stats-card { border-top:4px solid var(--brand-orange); }
.stats-section .col-lg-3:nth-child(3) .stats-card { border-top:4px solid var(--brand-green); }
.stats-section .col-lg-3:nth-child(4) .stats-card { border-top:4px solid var(--cyan); }

.page-hero {
    background:
        radial-gradient(circle at 8% 20%,rgba(237,36,48,.12),transparent 25%),
        radial-gradient(circle at 63% 90%,rgba(22,167,101,.10),transparent 25%),
        linear-gradient(135deg,#fff8f8,#fffaf0 34%,#f2fff8 67%,#eef3ff);
}
.page-hero::before { background:radial-gradient(circle at 30% 30%,#d5f8ff,var(--cyan) 38%,var(--brand-blue) 66%,var(--violet)); }
.page-hero::after { background:radial-gradient(circle at 30% 25%,#fff0a9,var(--brand-orange) 45%,var(--brand-red)); }

.impact-section {
    background:linear-gradient(115deg,rgba(255,239,240,.82),rgba(255,248,226,.85),rgba(235,255,246,.8),rgba(237,241,255,.88));
}
.impact-card { border-top:5px solid var(--brand-red); }
.impact-section .col-lg-3:nth-child(2) .impact-card { border-top-color:var(--brand-green); }
.impact-section .col-lg-3:nth-child(3) .impact-card { border-top-color:var(--brand-blue); }
.impact-section .col-lg-3:nth-child(4) .impact-card { border-top-color:var(--brand-orange); }
.purpose-vision { background:linear-gradient(145deg,#1f9b75,var(--brand-green) 45%,#26bca6); }
.purpose-mission { background:linear-gradient(145deg,var(--brand-red),#eb5662 52%,var(--brand-orange)); }

.career-intro {
    background:radial-gradient(circle at 0 50%,rgba(245,155,35,.11),transparent 27rem),radial-gradient(circle at 100% 30%,rgba(117,86,232,.10),transparent 26rem);
}
.opening-card { border-top:5px solid var(--brand-green); }
.career-intro .col-lg-6:nth-child(2) .opening-card { border-top-color:var(--brand-orange); }
.application-shell {
    background:
        radial-gradient(circle at 0 0,rgba(237,36,48,.10),transparent 24%),
        radial-gradient(circle at 100% 100%,rgba(22,167,101,.11),transparent 28%),
        linear-gradient(145deg,#fff9f2,#f0f5ff);
}

.contact-section {
    background:radial-gradient(circle at 5% 60%,rgba(44,198,223,.10),transparent 28rem),radial-gradient(circle at 98% 30%,rgba(239,93,168,.09),transparent 27rem);
}
.contact-phone { border-left:5px solid var(--brand-red); }
.contact-email { border-left:5px solid var(--brand-green); }
.contact-hours { border-left:5px solid var(--brand-orange); }
.contact-cta-card {
    background:
        radial-gradient(circle at 8% 15%,rgba(237,36,48,.3),transparent 20rem),
        radial-gradient(circle at 90% 10%,rgba(44,198,223,.3),transparent 24rem),
        radial-gradient(circle at 76% 100%,rgba(245,155,35,.25),transparent 20rem),
        linear-gradient(145deg,#111a47,#252d74);
}

.footer::before {
    content:""; position:absolute; top:0; left:0; right:0; height:6px;
    background:linear-gradient(90deg,var(--brand-red),var(--brand-orange),var(--brand-green),var(--cyan),var(--brand-blue),var(--brand-pink));
}
.footer-social a:nth-child(1):hover { background:#1877f2; }
.footer-social a:nth-child(2):hover { background:linear-gradient(135deg,#f9ce34,#ee2a7b,#6228d7); }
.footer-social a:nth-child(3):hover { background:#ff0033; }
.footer-social a:nth-child(4):hover { background:#0a66c2; }

@media (max-width: 991.98px) {
    .navbar-collapse { background:linear-gradient(145deg,#fff,#f5f7ff); border:1px solid rgba(54,89,238,.08); }
    .navbar .nav-link { font-size:.92rem; }
}

/* Final navigation face: matched to the supplied typography reference */
.custom-navbar .navbar-nav .nav-link,
.custom-navbar .navbar-nav .nav-btn {
    color:#fff !important;
    background:linear-gradient(145deg,#1d2942,#111b31);
    border-color:rgba(255,255,255,.12);
    font-family:'Montserrat','Segoe UI',Arial,sans-serif !important;
    font-size:.88rem !important;
    font-weight:600 !important;
    letter-spacing:.005em;
}
.custom-navbar .navbar-nav .nav-item:nth-child(1) .nav-link { box-shadow:0 7px 0 #9e1b28,0 12px 22px rgba(10,17,34,.23),inset 0 1px rgba(255,255,255,.12); }
.custom-navbar .navbar-nav .nav-item:nth-child(2) .nav-link { box-shadow:0 7px 0 #0c7545,0 12px 22px rgba(10,17,34,.23),inset 0 1px rgba(255,255,255,.12); }
.custom-navbar .navbar-nav .nav-item:nth-child(3) .nav-link { box-shadow:0 7px 0 #a85e08,0 12px 22px rgba(10,17,34,.23),inset 0 1px rgba(255,255,255,.12); }
.custom-navbar .navbar-nav .nav-item:nth-child(4) .nav-link { box-shadow:0 7px 0 #a32e6b,0 12px 22px rgba(10,17,34,.23),inset 0 1px rgba(255,255,255,.12); }
.custom-navbar .navbar-nav .nav-item:nth-child(5) .nav-link { box-shadow:0 7px 0 #5036a5,0 12px 22px rgba(10,17,34,.23),inset 0 1px rgba(255,255,255,.12); }
.custom-navbar .navbar-nav .nav-item:nth-child(6) .nav-link { box-shadow:0 7px 0 #17788f,0 12px 22px rgba(10,17,34,.23),inset 0 1px rgba(255,255,255,.12); }
.custom-navbar .navbar-nav .nav-item:nth-child(7) .nav-btn { box-shadow:0 7px 0 #263baa,0 12px 22px rgba(10,17,34,.23),inset 0 1px rgba(255,255,255,.12); }
.custom-navbar .navbar-nav .nav-link:hover,
.custom-navbar .navbar-nav .nav-btn:hover {
    box-shadow:0 10px 0 rgba(9,15,31,.52),0 19px 30px rgba(10,17,34,.30),inset 0 1px rgba(255,255,255,.3);
}
@media (max-width: 991.98px) {
    .custom-navbar .navbar-nav .nav-link,
    .custom-navbar .navbar-nav .nav-btn { font-size:.94rem !important; }
}

/* Requested hero refinement: cleaner visual and slightly higher artwork */
.hero-image-card {
    transform: translateY(-38px) rotateY(-8deg) rotateX(3deg) rotateZ(2deg);
}
.floating-chip.chip-bottom { bottom: 19%; }
@media (max-width: 991.98px) {
    .hero-image-card { transform: translateY(-28px) rotateZ(1deg); }
}
@media (max-width: 575.98px) {
    .hero-image-card { transform: translateY(-18px); }
    .floating-chip.chip-bottom { bottom: 17%; }
}

/* Full-width header refinement requested from the supplied reference */
.custom-navbar {
    width: calc(100% - 24px);
    max-width: none;
    margin: 12px 12px 0;
}
.custom-navbar > .container {
    width: 100%;
    max-width: none;
    padding-left: clamp(1.25rem, 3.5vw, 4rem);
    padding-right: clamp(1.25rem, 3.5vw, 4rem);
}
@media (min-width: 1600px) {
    .custom-navbar > .container {
        padding-left: 5rem;
        padding-right: 5rem;
    }
}
@media (max-width: 991.98px) {
    .custom-navbar {
        width: calc(100% - 20px);
        margin: 10px 10px 0;
    }
    .custom-navbar > .container {
        padding-left: 1rem;
        padding-right: 1rem;
    }
}
@media (max-width: 575.98px) {
    .custom-navbar {
        width: calc(100% - 12px);
        margin: 6px 6px 0;
    }
    .custom-navbar > .container {
        padding-left: .75rem;
        padding-right: .75rem;
    }
}
