
:root{--ink:#10253f;--navy:#0a2748;--blue:#0b5cab;--cyan:#18a7a7;--gold:#e5a93d;--paper:#f5f8fb;--muted:#66788a;--line:#dce5ed;--radius:20px;--shadow:0 18px 50px rgba(10,39,72,.10)}*{box-sizing:border-box}body{font-family:Manrope,sans-serif;color:var(--ink);background:#fff;line-height:1.72}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;z-index:9999;background:#fff;padding:.75rem 1rem}.topbar{background:var(--navy);color:#dbe8f5;font-size:.82rem;padding:.55rem 0}.topbar a{color:#fff;text-decoration:none}.navbar{padding:.85rem 0}.navbar-brand strong{display:block;font-size:1.05rem;color:var(--navy)}.navbar-brand small{display:block;color:var(--muted);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}.brandmark{width:52px;height:52px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff;font-weight:800;font-size:1.15rem;box-shadow:0 10px 25px rgba(11,92,171,.25)}.brandmark span{color:#ffd783}.nav-link{font-size:.86rem;font-weight:700;color:#31465a!important;padding:.7rem .65rem!important;border-radius:10px}.nav-link:hover,.nav-link.active{color:var(--blue)!important;background:#edf5fd}.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 78% 20%,rgba(24,167,167,.28),transparent 30%),linear-gradient(120deg,#071f3a,#0b4776 62%,#0b6872);color:#fff;padding:6.5rem 0 7rem}.hero:after{content:'';position:absolute;inset:auto -8% -110px 35%;height:220px;background:#fff;transform:rotate(-4deg)}.eyebrow{display:inline-flex;gap:.5rem;align-items:center;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#d8f4f4}.hero h1{font-family:'Source Serif 4',serif;font-size:clamp(3rem,6vw,6.4rem);line-height:.94;letter-spacing:-.045em;max-width:900px;margin:1.1rem 0 1.5rem}.hero h1 span{color:#7ce0db}.hero p{font-size:1.08rem;max-width:680px;color:#d9e8f5}.btn-research{background:#fff;color:var(--navy);font-weight:800;border-radius:999px;padding:.85rem 1.25rem}.btn-outline-research{border:1px solid rgba(255,255,255,.45);color:#fff;border-radius:999px;padding:.85rem 1.25rem;font-weight:700}.hero-panel{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(12px);border-radius:24px;padding:1.25rem}.metric{padding:1.2rem;border-bottom:1px solid rgba(255,255,255,.16)}.metric:last-child{border:0}.metric b{display:block;font-family:'Source Serif 4',serif;font-size:2rem}.section{padding:5.5rem 0}.section-soft{background:var(--paper)}.section-title{font-family:'Source Serif 4',serif;font-size:clamp(2.2rem,4vw,3.5rem);line-height:1.05;letter-spacing:-.03em}.section-lead{color:var(--muted);max-width:720px}.feature-card,.research-card,.person-card,.contact-card{height:100%;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;transition:.25s;box-shadow:0 8px 30px rgba(10,39,72,.04)}.feature-card:hover,.research-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:#b9d7ed}.iconbox{width:54px;height:54px;display:grid;place-items:center;border-radius:16px;background:#eaf5fb;color:var(--blue);font-size:1.45rem}.research-card .num{font-size:.72rem;font-weight:800;color:var(--cyan);letter-spacing:.12em}.research-card h3{font-size:1.12rem;margin-top:1.2rem}.link-arrow{font-weight:800;color:var(--blue);text-decoration:none}.impact-strip{background:var(--navy);color:#fff;border-radius:28px;padding:2rem}.impact-strip b{font-family:'Source Serif 4',serif;font-size:2.6rem}.impact-strip small{display:block;color:#bcd0e2}.accordion-button{font-weight:800;color:var(--ink);padding:1.2rem 1.35rem}.accordion-button:not(.collapsed){background:#eaf5fb;color:var(--blue);box-shadow:none}.accordion-item{border:1px solid var(--line)!important;border-radius:14px!important;overflow:hidden;margin-bottom:.75rem}.v-tabs .nav-link{text-align:left;padding:1rem 1.15rem!important;border:1px solid var(--line);margin-bottom:.65rem;background:#fff}.v-tabs .nav-link.active{background:var(--navy)!important;color:#fff!important}.tab-pane{background:#fff;border:1px solid var(--line);border-radius:18px;padding:2rem}.gallery-card{position:relative;min-height:270px;border-radius:20px;overflow:hidden;background:linear-gradient(145deg,#0a2748,#168f96);color:#fff;padding:1.5rem;display:flex;align-items:flex-end}.gallery-card.tall{min-height:570px}.gallery-card:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(255,255,255,.22),transparent 30%)}.gallery-card>*{position:relative}.gallery-card h3{font-family:'Source Serif 4',serif}.page-hero{padding:4.5rem 0;background:linear-gradient(120deg,#071f3a,#0b5b70);color:#fff}.page-hero h1{font-family:'Source Serif 4',serif;font-size:clamp(2.7rem,5vw,5rem)}.table thead th{background:var(--navy);color:#fff;border:0;padding:1rem}.table td{padding:1rem}.contact-card a{text-decoration:none}.form-control,.form-select{padding:.9rem 1rem;border-radius:12px;border-color:var(--line)}.footer{background:#061a2f;color:#b9c9d9;padding:4.5rem 0 2rem}.footer h6{color:#fff}.footer a{display:block;color:#b9c9d9;text-decoration:none;margin:.55rem 0}.footer-brand{font-family:'Source Serif 4',serif;color:#fff;font-size:2rem}.footer-brand span{color:#67d5cf}.social{display:flex;gap:.6rem}.social a{width:40px;height:40px;border:1px solid #29435b;border-radius:50%;display:grid;place-items:center}.backtop{position:fixed;right:20px;bottom:20px;border:0;border-radius:50%;width:46px;height:46px;background:var(--blue);color:#fff;display:none;z-index:1000}.backtop.show{display:block}@media(max-width:991px){.hero{padding:4.5rem 0 5.5rem}.topbar .container-xl{justify-content:center!important}.hero:after{display:none}.gallery-card.tall{min-height:300px}}

/* ==========================================================
   MLRITM RESEARCH PORTAL - HEADER
========================================================== */

:root{
    --mlr-navy:#102d4f;
    --mlr-navy-dark:#09223d;
    --mlr-blue:#155fa0;
    --mlr-blue-light:#eaf3fb;

    --mlr-teal:#138879;
    --mlr-green-light:#e8f7f3;

    --mlr-gold:#d79b25;
    --mlr-gold-light:#fff6e3;

    --mlr-text:#27384b;
    --mlr-muted:#718095;

    --mlr-border:#e4eaf0;
    --mlr-bg:#f7f9fb;

    --mlr-white:#ffffff;
}


/* ==========================================================
   GENERAL
========================================================== */

body{
    font-family: "DaxlinePro" !important;
    color:var(--mlr-text);
    background:#ffffff;
}

.site-container{
    max-width:1500px;
    padding-left:30px;
    padding-right:30px;
}

.site-header{
    position:relative;
    z-index:1000;
}


/* Skip Link */

.skip-link{
    position:absolute;
    top:-60px;
    left:20px;

    background:#ffffff;
    color:#102d4f;

    padding:10px 16px;

    border-radius:0 0 8px 8px;

    font-size:13px;
    font-weight:700;

    z-index:9999;
}

.skip-link:focus{
    top:0;
}


/* ==========================================================
   TOP BAR
========================================================== */

.topbar{
    min-height:38px;

    display:flex;
    align-items:center;

    background:var(--mlr-navy-dark);
    color:#dce8f3;

    font-size:12px;
}

.topbar-inner{
    min-height:38px;

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

    gap:20px;
}

.topbar-left span{
    display:flex;
    align-items:center;
    gap:8px;

    font-weight:600;
}

.topbar-left i{
    color:#f0b43c;
}

.topbar-right{
    display:flex;
    align-items:center;
    gap:15px;
}

.topbar-right a{
    display:flex;
    align-items:center;
    gap:6px;

    color:#dce8f3;

    text-decoration:none;

    transition:.2s ease;
}

.topbar-right a:hover{
    color:#ffffff;
}

.topbar-divider{
    width:1px;
    height:15px;
    background:rgba(255,255,255,.22);
}


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

.main-header{
    position:relative;

    background:#ffffff;

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

    padding:17px 0;
}


/* College Identity */

.college-identity{
    display:flex;
    align-items:center;

    gap:18px;

    color:inherit;
    text-decoration:none;
}

.college-identity:hover{
    color:inherit;
}


/* Logo */

.logo-wrap{
    flex:0 0 auto;

    width:92px;
    height:92px;

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

.college-logo{
    display:block;

    width:100%;
    height:100%;

    object-fit:contain;
}


/* College Text */

.institution-heading{
    min-width:0;
}

.college-title{
    margin:0;

    color:red;

    font-size:32px;
    line-height:1.1;

    font-weight:800;

    letter-spacing:-.6px;
}

.college-subtitle{
    margin-top:5px;

    color:#51647a;

    font-size:13px;
    line-height:1.4;

    font-weight:700;

    letter-spacing:1.35px;
}

.research-unit-title{
    margin-top:9px;

    display:flex;
    align-items:center;
    gap:8px;

    color:var(--mlr-blue);

    font-size:12px;
    font-weight:800;

    text-transform:uppercase;
    letter-spacing:1px;
}

.research-unit-title span{
    display:block;

    width:25px;
    height:2px;

    background:var(--mlr-gold);
}


/* ==========================================================
   ACHIEVEMENT CARDS
========================================================== */

.header-achievements{
    display:grid;

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

    gap:9px;
}

.achievement-card{
    min-height:74px;

    display:flex;
    align-items:center;

    gap:10px;

    padding:11px;

    background:#ffffff;

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

    border-radius:10px;

    box-shadow:
        0 3px 12px rgba(16,45,79,.045);

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

.achievement-card:hover{
    transform:translateY(-2px);

    border-color:#cbd8e5;

    box-shadow:
        0 9px 22px rgba(16,45,79,.09);
}


/* Achievement Icons */

.achievement-icon{
    width:40px;
    height:40px;

    flex:0 0 40px;

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

    border-radius:9px;

    font-size:17px;
}

.icon-blue{
    color:#1763a6;
    background:var(--mlr-blue-light);
}

.icon-green{
    color:#118476;
    background:var(--mlr-green-light);
}

.icon-gold{
    color:#b77a0a;
    background:var(--mlr-gold-light);
}


/* Achievement Content */

.achievement-content{
    min-width:0;
}

.achievement-content strong{
    display:block;

    margin-bottom:3px;

    color:var(--mlr-navy);

    font-size:13px;
    line-height:1.2;

    font-weight:800;

    white-space:nowrap;
}

.achievement-content small{
    display:block;

    color:#778497;

    font-size:9.5px;
    line-height:1.35;

    font-weight:600;
}


/* ==========================================================
   RESEARCH NAVBAR
========================================================== */

.research-navbar{
    position:sticky;
    top:0;

    min-height:60px;

    padding:0;

    background:var(--mlr-navy) !important;

    box-shadow:
        0 5px 15px rgba(9,34,61,.13);

    z-index:1020;
}


/* Desktop menu */

.research-menu{
    min-height:60px;

    display:flex;
    align-items:stretch;
}

.research-menu .nav-item{
    display:flex;
}

.research-menu .nav-link{
    position: relative;
    min-height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 20px !important;
    color: rgba(255, 255, 255, .84) !important;
    font-size: 14px;
    line-height: 1;
    font-weight: 700;
    transition: background .2s ease, color .2s ease;
}

.research-menu .nav-link:hover{
    color:#ffffff !important;

    background:
        rgba(255,255,255,.07);
}


/* Active */

.research-menu .nav-link.active{
    color:#ffffff !important;

    background:
        rgba(255,255,255,.09);
}

.research-menu .nav-link.active::after{
    content:"";

    position:absolute;

    left:16px;
    right:16px;
    bottom:0;

    height:3px;

    border-radius:3px 3px 0 0;

    background:var(--mlr-gold);
}


/* Contact Button */

.nav-contact{
    display:flex;
    align-items:center;
}

.nav-contact a{
    display:inline-flex;
    align-items:center;

    gap:7px;

    padding:9px 14px;

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

    border-radius:7px;

    color:#ffffff;

    font-size:11.5px;
    font-weight:700;

    text-decoration:none;

    transition:.2s ease;
}

.nav-contact a:hover{
    background:#ffffff;
    color:var(--mlr-navy);
}


/* Mobile Brand */

.research-mobile-brand{
    display:none;

    color:#ffffff !important;

    font-size:13px;
    font-weight:800;
}

.research-mobile-brand small{
    display:block;

    margin-top:2px;

    color:rgba(255,255,255,.65);

    font-size:8px;
    font-weight:500;
}

.mobile-brand-icon{
    width:35px;
    height:35px;

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

    margin-right:9px;

    border-radius:7px;

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

    color:#f0b43c;
}


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

@media(max-width:1199.98px){

    .site-container{
        padding-left:22px;
        padding-right:22px;
    }

    .main-header{
        padding:14px 0;
    }

    .college-title{
        font-size:24px;
    }

    .college-subtitle{
        font-size:11px;
    }

    .header-achievements{
        margin-top:5px;
    }

    .research-navbar{
        padding:9px 0;
    }

    .research-mobile-brand{
        display:flex;
        align-items:center;
    }

    .navbar-toggler{
        border:1px solid
            rgba(255,255,255,.35);

        padding:6px 9px;
    }

    .navbar-toggler:focus{
        box-shadow:none;
    }

    .navbar-toggler-icon{
        filter:
            brightness(0)
            invert(1);
    }

    #researchNavbar{
        padding-top:10px;
    }

    .research-menu{
        min-height:auto;

        display:block;

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

    .research-menu .nav-item{
        display:block;
    }

    .research-menu .nav-link{
        min-height:auto;

        display:block;

        padding:12px 5px !important;

        border-bottom:
            1px solid rgba(255,255,255,.07);
    }

    .research-menu .nav-link.active::after{
        display:none;
    }

    .nav-contact{
        padding:12px 0 5px;
    }
}


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

@media(max-width:767.98px){

    .site-container{
        padding-left:16px;
        padding-right:16px;
    }

    .topbar{
        display:none;
    }

    .main-header{
        padding:12px 0;
    }

    .college-identity{
        gap:12px;
    }

    .logo-wrap{
        width:68px;
        height:68px;
    }

    .college-title{
        font-size:19px;
        letter-spacing:-.3px;
    }

    .college-subtitle{
        margin-top:4px;

        font-size:9px;

        letter-spacing:.65px;
    }

    .research-unit-title{
        margin-top:6px;

        font-size:9px;
    }

    .research-unit-title span{
        width:17px;
    }

    .header-achievements{
        margin-top:12px;

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

        gap:6px;
    }

    .achievement-card{
        min-height:58px;

        padding:7px;

        gap:6px;

        border-radius:7px;
    }

    .achievement-icon{
        width:30px;
        height:30px;

        flex-basis:30px;

        font-size:12px;

        border-radius:6px;
    }

    .achievement-content strong{
        font-size:10px;
    }

    .achievement-content small{
        font-size:7.5px;
    }
}


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

@media(max-width:480px){

    .logo-wrap{
        width:58px;
        height:58px;
    }

    .college-title{
        font-size:16px;
    }

    .college-subtitle{
        font-size:7.8px;
        letter-spacing:.4px;
    }

    .research-unit-title{
        font-size:8px;
    }

    .header-achievements{
        grid-template-columns:1fr;
    }

    .achievement-card{
        min-height:52px;
    }

    .achievement-content small br{
        display:none;
    }
}

/* ==========================================================
   PREMIUM HOME PAGE
========================================================== */

.home-section{
    padding:90px 0;
}

.section-light{
    background:#f6f9fc;
}

.section-kicker{
    display:inline-block;
    margin-bottom:12px;
    color:#1763a6;
    font-size:11px;
    font-weight:800;
    letter-spacing:1.7px;
}

.section-heading{
    max-width:790px;
    margin:0 auto 45px;
}

.section-heading h2,
.home-title{
    margin:0;
    color:#102d4f;
    font-size:38px;
    line-height:1.2;
    font-weight:800;
    letter-spacing:-1px;
}

.section-heading h2 span,
.home-title span{
    color:#1763a6;
}

.section-heading p,
.home-description{
    margin:15px 0 0;
    color:#6e7d8e;
    font-size:15px;
    line-height:1.8;
}


/* ==========================================================
   HERO
========================================================== */

.research-hero{
    position:relative;
    overflow:hidden;
    padding:95px 0 125px;
    background:
        radial-gradient(circle at 80% 30%,rgba(32,116,173,.22),transparent 25%),
        linear-gradient(120deg,#09223d 0%,#103a62 60%,#125d75 100%);
}

.hero-pattern{
    position:absolute;
    inset:0;
    opacity:.13;
    background-image:
        linear-gradient(rgba(255,255,255,.18) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px);
    background-size:48px 48px;
    mask-image:linear-gradient(to right,transparent,black);
}

.hero-content{
    position:relative;
    z-index:2;
}

.hero-badge{
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-bottom:22px;
    padding:7px 13px 7px 7px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:30px;
    background:rgba(255,255,255,.07);
    color:#e8f2fb;
    font-size:13px;
    font-weight:700;
    letter-spacing:.5px;
}

.hero-badge-icon{
    width:28px;
    height:28px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#d79b25;
    color:#fff;
}

.research-hero h1{
    max-width:800px;
    margin:0;
    color:#fff;
    font-size:61px;
    line-height:1.07;
    font-weight:800;
    letter-spacing:-2.3px;
}

.research-hero h1 span{
    color:#f0b43c;
}

.hero-description{
    max-width:700px;
    margin:24px 0 0;
    color:rgba(255,255,255,.78);
    font-size:16px;
    line-height:1.8;
}

.hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:30px;
}

.hero-primary-btn,
.hero-secondary-btn{
    min-height:50px;
    display:inline-flex;
    align-items:center;
    gap:9px;
    padding:0 20px;
    border-radius:7px;
    font-size:12px;
    font-weight:800;
}

.hero-primary-btn{
    background:#d79b25;
    border-color:#d79b25;
    color:#fff;
}

.hero-primary-btn:hover{
    background:#e4a832;
    border-color:#e4a832;
    color:#fff;
    transform:translateY(-2px);
}

.hero-secondary-btn{
    border:1px solid rgba(255,255,255,.35);
    color:#fff;
}

.hero-secondary-btn:hover{
    background:#fff;
    color:#102d4f;
}

.hero-tags{
    display:flex;
    flex-wrap:wrap;
    gap:22px;
    margin-top:30px;
}

.hero-tags span{
    color:rgba(255,255,255,.68);
    font-size:13px;
    font-weight:600;
}

.hero-tags i{
    margin-right:5px;
    color:#5ed5b8;
}


/* Hero Graphic */

.hero-visual{
    position:relative;
    width:430px;
    height:390px;
    margin-left:auto;
}

.hero-visual::before{
    content:"";
    position:absolute;
    width:275px;
    height:275px;
    top:55px;
    left:75px;
    border-radius:50%;
    background:rgba(255,255,255,.055);
    border:1px solid rgba(255,255,255,.1);
}

.hero-orbit{
    position:absolute;
    border:1px dashed rgba(255,255,255,.22);
    border-radius:50%;
}

.orbit-one{
    width:340px;
    height:340px;
    left:42px;
    top:23px;
}

.orbit-two{
    width:220px;
    height:220px;
    left:102px;
    top:83px;
}

.hero-center-icon{
    position:absolute;
    left:170px;
    top:150px;
    width:85px;
    height:85px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:24px;
    background:#fff;
    color:#d79b25;
    font-size:36px;
    box-shadow:0 20px 50px rgba(0,0,0,.22);
}

.hero-visual-label{
    position:absolute;
    left:128px;
    top:0;
    color:rgba(255,255,255,.16);
    font-size:24px;
    font-weight:800;
    letter-spacing:3px;
}

.hero-visual-label span{
    display:block;
    font-size:11px;
    letter-spacing:6px;
    text-align:center;
}

.floating-research-card{
    position:absolute;
    min-width:175px;
    display:flex;
    align-items:center;
    gap:10px;
    padding:11px 13px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:10px;
    background:rgba(9,34,61,.72);
    backdrop-filter:blur(10px);
    box-shadow:0 15px 30px rgba(0,0,0,.15);
}

.floating-research-card strong{
    display:block;
    color:#fff;
    font-size:11px;
}

.floating-research-card small{
    color:rgba(255,255,255,.58);
    font-size:8.5px;
}

.float-icon{
    width:35px;
    height:35px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:8px;
}

.float-icon.blue{
    background:#e9f3ff;
    color:#1763a6;
}

.float-icon.green{
    background:#e8f8f4;
    color:#138879;
}

.float-icon.gold{
    background:#fff5dc;
    color:#b97c0d;
}

.card-one{
    left:0;
    top:85px;
}

.card-two{
    right:0;
    top:185px;
}

.card-three{
    left:45px;
    bottom:5px;
}


/* ==========================================================
   IMPACT BAR
========================================================== */

.impact-wrapper{
    position:relative;
    z-index:5;
    margin-top:-47px;
}

.impact-panel{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    min-height:95px;
    background:#fff;
    border:1px solid #e4eaf0;
    border-radius:12px;
    box-shadow:0 18px 45px rgba(16,45,79,.12);
}

.impact-item{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    padding:20px;
}

.impact-item:not(:last-child)::after{
    content:"";
    position:absolute;
    right:0;
    top:25%;
    width:1px;
    height:50%;
    background:#e4eaf0;
}

.impact-icon{
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:9px;
    background:#edf5fc;
    color:#1763a6;
    font-size:18px;
}

.impact-item strong{
    display:block;
    color:#102d4f;
    font-size:25px;
    line-height:1;
    font-weight:800;
}

.impact-item sup{
    color:#d79b25;
    font-size:12px;
}

.impact-item span{
    display:block;
    margin-top:5px;
    color:#7a8797;
    font-size:9.5px;
    font-weight:600;
}


/* ==========================================================
   ECOSYSTEM CARDS
========================================================== */

.ecosystem-card{
    position:relative;
    height:100%;
    min-height:310px;
    display:flex;
    flex-direction:column;
    padding:27px;
    overflow:hidden;
    background:#fff;
    border:1px solid #e2e9ef;
    border-radius:12px;
    color:inherit;
    text-decoration:none;
    transition:.25s ease;
}

.ecosystem-card::after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:0;
    height:3px;
    background:#1763a6;
    transition:.3s ease;
}

.ecosystem-card:hover{
    color:inherit;
    transform:translateY(-7px);
    border-color:#ccd9e5;
    box-shadow:0 18px 38px rgba(16,45,79,.11);
}

.ecosystem-card:hover::after{
    width:100%;
}

.ecosystem-number{
    position:absolute;
    right:20px;
    top:14px;
    color:#edf1f5;
    font-size:42px;
    font-weight:800;
}

.ecosystem-icon{
    width:52px;
    height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:11px;
    font-size:22px;
}

.blue-icon{
    background:#eaf3fb;
    color:#1763a6;
}

.green-icon{
    background:#e8f7f3;
    color:#138879;
}

.purple-icon{
    background:#f1ecfb;
    color:#6c50a3;
}

.gold-icon{
    background:#fff5e1;
    color:#b77a0a;
}

.ecosystem-card h3{
    margin:24px 0 10px;
    color:#102d4f;
    font-size:18px;
    font-weight:800;
}

.ecosystem-card p{
    margin-bottom:22px;
    color:#758293;
    font-size:12px;
    line-height:1.75;
}

.ecosystem-link{
    margin-top:auto;
    color:#1763a6;
    font-size:11px;
    font-weight:800;
}

.ecosystem-link i{
    margin-left:5px;
}


/* ==========================================================
   VERTICAL TABS
========================================================== */

.research-vertical-tabs{
    margin-top:32px;
    gap:7px;
}

.research-vertical-tabs .nav-link{
    width:100%;
    min-height:68px;
    display:flex;
    align-items:center;
    gap:13px;
    padding:10px 14px;
    border:1px solid #e1e8ef;
    border-radius:9px;
    background:#fff;
    color:#405268;
    text-align:left;
}

.research-vertical-tabs .nav-link.active{
    background:#102d4f;
    border-color:#102d4f;
    color:#fff;
    box-shadow:0 10px 25px rgba(16,45,79,.14);
}

.vertical-tab-number{
    width:35px;
    height:35px;
    flex:0 0 35px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:7px;
    background:#edf4fa;
    color:#1763a6;
    font-size:10px;
    font-weight:800;
}

.research-vertical-tabs .active .vertical-tab-number{
    background:rgba(255,255,255,.12);
    color:#f0b43c;
}

.research-vertical-tabs strong{
    display:block;
    font-size:13px;
}

.research-vertical-tabs small{
    display:block;
    margin-top:3px;
    color:#8a96a4;
    font-size:9.5px;
}

.research-vertical-tabs .active small{
    color:rgba(255,255,255,.55);
}

.journey-card{
    min-height:455px;
    position:relative;
    overflow:hidden;
    padding:48px;
    background:#fff;
    border:1px solid #e0e8ef;
    border-radius:16px;
    box-shadow:0 16px 45px rgba(16,45,79,.08);
}

.journey-big-icon{
    position:absolute;
    right:-15px;
    top:-25px;
    color:#f1f5f8;
    font-size:150px;
}

.journey-label{
    position:relative;
    color:#1763a6;
    font-size:10px;
    font-weight:800;
    letter-spacing:1.5px;
}

.journey-card h3{
    position:relative;
    max-width:500px;
    margin:16px 0;
    color:#102d4f;
    font-size:29px;
    font-weight:800;
}

.journey-card > p{
    position:relative;
    max-width:600px;
    color:#6e7d8e;
    font-size:13px;
    line-height:1.8;
}

.journey-point{
    padding:12px;
    background:#f7f9fb;
    border:1px solid #edf0f3;
    border-radius:7px;
    color:#526377;
    font-size:13px;
    font-weight:700;
}

.journey-point i{
    margin-right:6px;
    color:#138879;
}


/* ==========================================================
   HORIZONTAL DOMAIN TABS
========================================================== */

.domain-tabs{
    gap:7px;
    margin-bottom:25px;
}

.domain-tabs .nav-link{
    display:flex;
    align-items:center;
    gap:7px;
    padding:10px 14px;
    border:1px solid #dfe7ee;
    border-radius:7px;
    background:#fff;
    color:#536478;
    font-size:10px;
    font-weight:700;
}

.domain-tabs .nav-link.active{
    background:#102d4f;
    border-color:#102d4f;
    color:#fff;
}

.domain-panel{
    min-height:330px;
    padding:45px 55px;
    border-radius:14px;
    background:linear-gradient(120deg,#f4f8fc,#edf5f8);
    border:1px solid #e0e8ef;
}

.domain-number{
    color:#1763a6;
    font-size:9px;
    font-weight:800;
    letter-spacing:1.4px;
}

.domain-panel h3{
    max-width:650px;
    margin:13px 0;
    color:#102d4f;
    font-size:31px;
    font-weight:800;
}

.domain-panel p{
    max-width:650px;
    color:#6e7d8e;
    font-size:13px;
    line-height:1.8;
}

.domain-tags{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:22px;
}

.domain-tags span{
    padding:6px 10px;
    border-radius:5px;
    background:#fff;
    border:1px solid #dce5ed;
    color:#506278;
    font-size:9px;
    font-weight:700;
}

.domain-art{
    height:210px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:16px;
    background:linear-gradient(145deg,#102d4f,#17658a);
    color:rgba(255,255,255,.9);
    font-size:85px;
    box-shadow:0 20px 40px rgba(16,45,79,.18);
}


/* ==========================================================
   ACCORDION
========================================================== */

.premium-accordion .accordion-item{
    margin-bottom:9px;
    overflow:hidden;
    border:1px solid #dfe7ee;
    border-radius:9px !important;
    background:#fff;
}

.premium-accordion .accordion-button{
    gap:13px;
    padding:14px 17px;
    background:#fff;
    color:#263c55;
    box-shadow:none;
    font-size:11px;
    font-weight:800;
}

.premium-accordion .accordion-button:not(.collapsed){
    background:#102d4f;
    color:#fff;
}

.accordion-icon{
    width:34px;
    height:34px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 34px;
    border-radius:7px;
    background:#edf4fa;
    color:#1763a6;
}

.premium-accordion .accordion-button:not(.collapsed)
.accordion-icon{
    background:rgba(255,255,255,.12);
    color:#f0b43c;
}

.premium-accordion .accordion-body{
    padding:17px 22px 20px 65px;
    color:#728093;
    font-size:11px;
    line-height:1.8;
}


/* ==========================================================
   QUICK ACCESS
========================================================== */

.quick-access-panel{
    height:100%;
    padding:35px;
    border-radius:14px;
    background:linear-gradient(145deg,#0b2947,#124b6b);
    color:#fff;
}

.light-kicker{
    color:#f0b43c;
}

.quick-access-panel h3{
    margin:5px 0 10px;
    font-size:25px;
    font-weight:800;
}

.quick-access-panel > p{
    color:rgba(255,255,255,.62);
    font-size:11px;
    line-height:1.7;
}

.quick-access-link{
    display:flex;
    align-items:center;
    gap:11px;
    margin-top:9px;
    padding:13px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:8px;
    background:rgba(255,255,255,.055);
    color:#fff;
    text-decoration:none;
    transition:.2s;
}

.quick-access-link:hover{
    background:rgba(255,255,255,.11);
    color:#fff;
    transform:translateX(4px);
}

.quick-icon{
    width:36px;
    height:36px;
    flex:0 0 36px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:7px;
    background:rgba(255,255,255,.1);
    color:#f0b43c;
}

.quick-access-link strong{
    display:block;
    font-size:10.5px;
}

.quick-access-link small{
    display:block;
    margin-top:2px;
    color:rgba(255,255,255,.5);
    font-size:8px;
}


/* ==========================================================
   GALLERY
========================================================== */

.section-link{
    color:#1763a6;
    font-size:11px;
    font-weight:800;
    text-decoration:none;
}

.research-gallery-grid{
    display:grid;
    grid-template-columns:1.3fr 1fr 1fr;
    grid-template-rows:220px 220px;
    gap:15px;
}

.gallery-large{
    grid-row:1 / 3;
}

.gallery-wide{
    grid-column:2 / 4;
}

.research-gallery-item{
    overflow:hidden;
    border-radius:12px;
    text-decoration:none;
}

.gallery-placeholder{
    position:relative;
    width:100%;
    height:100%;
    min-height:220px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}

.gallery-placeholder > i{
    color:rgba(255,255,255,.12);
    font-size:90px;
    transition:.3s ease;
}

.research-gallery-item:hover
.gallery-placeholder > i{
    transform:scale(1.12);
}

.gallery-bg-one{
    background:linear-gradient(145deg,#102d4f,#17638b);
}

.gallery-bg-two{
    background:linear-gradient(145deg,#155b68,#148879);
}

.gallery-bg-three{
    background:linear-gradient(145deg,#443d71,#6b57a1);
}

.gallery-bg-four{
    background:linear-gradient(145deg,#704c17,#b77a0a);
}

.gallery-overlay{
    position:absolute;
    inset:auto 0 0 0;
    padding:50px 22px 20px;
    background:linear-gradient(transparent,rgba(0,0,0,.75));
    color:#fff;
}

.gallery-overlay span{
    color:#f0b43c;
    font-size:8px;
    font-weight:800;
    letter-spacing:1.4px;
}

.gallery-overlay h3{
    max-width:400px;
    margin:5px 0 0;
    font-size:16px;
    font-weight:700;
}


/* ==========================================================
   COLLABORATION CTA
========================================================== */

.collaboration-section{
    padding:0 0 90px;
}

.collaboration-panel{
    position:relative;
    overflow:hidden;
    padding:50px 55px;
    border-radius:15px;
    background:linear-gradient(120deg,#102d4f,#125a73);
    color:#fff;
}

.collaboration-decoration{
    position:absolute;
    right:-100px;
    top:-160px;
    width:420px;
    height:420px;
    border:70px solid rgba(255,255,255,.04);
    border-radius:50%;
}

.collaboration-kicker{
    color:#f0b43c;
    font-size:9px;
    font-weight:800;
    letter-spacing:1.7px;
}

.collaboration-panel h2{
    max-width:800px;
    margin:10px 0;
    font-size:31px;
    font-weight:800;
}

.collaboration-panel p{
    max-width:780px;
    margin:0;
    color:rgba(255,255,255,.65);
    font-size:11px;
    line-height:1.7;
}

.collaboration-btn{
    padding:13px 18px;
    background:#fff;
    color:#102d4f;
    border-radius:7px;
    font-size:10.5px;
    font-weight:800;
}

.collaboration-btn:hover{
    background:#f0b43c;
    color:#fff;
}


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

@media(max-width:1199.98px){

    .research-hero h1{
        font-size:50px;
    }

    .hero-visual{
        width:390px;
        transform:scale(.9);
    }

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

    .impact-item:nth-child(2)::after{
        display:none;
    }
}

@media(max-width:991.98px){

    .research-hero{
        padding:75px 0 110px;
    }

    .hero-visual{
        margin:20px auto 0;
    }

    .journey-card{
        margin-top:10px;
    }

    .research-gallery-grid{
        grid-template-columns:1fr 1fr;
    }

    .gallery-large{
        grid-row:auto;
    }

    .gallery-wide{
        grid-column:1 / 3;
    }
}

@media(max-width:767.98px){

    .home-section{
        padding:65px 0;
    }

    .research-hero{
        padding:60px 0 100px;
    }

    .research-hero h1{
        font-size:39px;
        letter-spacing:-1.3px;
    }

    .hero-description{
        font-size:13px;
    }

    .hero-visual{
        display:none;
    }

    .impact-panel{
        grid-template-columns:1fr 1fr;
    }

    .impact-item{
        justify-content:flex-start;
        padding:16px;
    }

    .impact-item::after{
        display:none;
    }

    .section-heading h2,
    .home-title{
        font-size:29px;
    }

    .domain-panel{
        padding:30px 25px;
    }

    .domain-panel h3{
        font-size:25px;
    }

    .journey-card{
        min-height:auto;
        padding:30px 25px;
    }

    .research-gallery-grid{
        display:block;
    }

    .research-gallery-item{
        display:block;
        margin-bottom:13px;
        height:240px;
    }

    .collaboration-panel{
        padding:35px 25px;
    }

    .collaboration-panel h2{
        font-size:25px;
    }
}

@media(max-width:480px){

    .impact-panel{
        grid-template-columns:1fr;
    }

    .impact-wrapper{
        margin-top:-30px;
    }

    .impact-item{
        border-bottom:1px solid #edf0f3;
    }

    .hero-tags{
        gap:10px;
        flex-direction:column;
    }

    .domain-tabs{
        justify-content:flex-start !important;
    }

    .domain-tabs .nav-link{
        padding:8px 9px;
        font-size:8.5px;
    }
}