/* =========================================================================
   GLOBAL EDGE INVESTMENT — MASTER STYLESHEET
   Design system: Ink / Evergreen / Brass / Ivory
   Signature device: clipped corner (one 45° cut corner) on cards & buttons
   Fonts: Fraunces (display) · Inter (body/UI) · IBM Plex Mono (data/labels)
   ========================================================================= */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;0,9..144,700;1,9..144,500&family=Inter:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap');

/* =========================================================================
   TOKENS
   ========================================================================= */

:root{
    /* Core palette */
    --ink:#0B1210;
    --ink-soft:#131F1B;
    --evergreen:#1C3D34;
    --evergreen-light:#2C5449;
    --brass:#B08D57;
    --brass-light:#CBA875;
    --ivory:#F7F5F0;
    --ivory-deep:#EFEBE2;
    --white:#FFFFFF;
    --slate:#4B5148;
    --slate-light:#7A8078;
    --hairline:rgba(11,18,16,.12);
    --hairline-light:rgba(255,255,255,.16);

    /* Type */
    --font-display:'Fraunces', serif;
    --font-body:'Inter', sans-serif;
    --font-mono:'IBM Plex Mono', monospace;

    /* Signature clip */
    --clip-sm:polygon(0 0, 100% 0, 100% calc(100% - 14px), calc(100% - 14px) 100%, 0 100%);
    --clip-md:polygon(0 0, 100% 0, 100% calc(100% - 22px), calc(100% - 22px) 100%, 0 100%);
    --clip-lg:polygon(0 0, 100% 0, 100% calc(100% - 34px), calc(100% - 34px) 100%, 0 100%);
}

/* =========================================================================
   GLOBAL
   ========================================================================= */

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

body{
    font-family:var(--font-body);
    color:var(--slate);
    background:var(--ivory);
    margin:0;
    -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4{
    font-family:var(--font-display);
    color:var(--ink);
    font-weight:600;
    letter-spacing:-.01em;
}

a{ color:inherit; }

.container{
    width:100%;
    max-width:1680px;
    margin:auto;
    padding:0 80px;
}

.main, body, main{
    background:var(--ivory);
}

/* Utility: eyebrow label (mono, tracked out — used as a quiet structural device) */
.eyebrow{
    font-family:var(--font-mono);
    font-size:12px;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:var(--brass);
}

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

.site-header{
    background:var(--ink);
    position:sticky;
    top:0;
    z-index:9999;
    border-bottom:1px solid var(--hairline-light);
}

.navbar{
    max-width:1600px;
    margin:auto;
    height:84px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 80px;
}

.logo{ flex-shrink:0; }

.logo img{
    height:62px;
    width:auto;
    display:block;
    filter:brightness(0) invert(1);
}

/* Menu Area */

.nav-menu{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:48px;
    list-style:none;
    margin:0;
    padding:0;
}

.nav-menu > li{
    position:relative;
    white-space:nowrap;
}

.nav-menu > li > a{
    color:var(--ivory);
    text-decoration:none;
    font-family:var(--font-body);
    font-size:14px;
    font-weight:600;
    letter-spacing:.04em;
    text-transform:uppercase;
    line-height:84px;
    display:block;
    position:relative;
    transition:.25s;
}

.nav-menu > li > a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:28px;
    width:0%;
    height:1px;
    background:var(--brass);
    transition:.3s;
}

.nav-menu > li > a:hover{
    color:var(--brass-light);
}

.nav-menu > li > a:hover::after{
    width:100%;
}

/* Dropdown */

.dropdown-menu{
    position:absolute;
    top:100%;
    left:0;
    min-width:260px;
    background:var(--ink-soft);
    border:1px solid var(--hairline-light);
    list-style:none;
    opacity:0;
    visibility:hidden;
    transform:translateY(8px);
    transition:.25s;
    box-shadow:0 20px 40px rgba(0,0,0,.35);
}

.nav-menu li:hover .dropdown-menu{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

.dropdown-menu li a{
    display:block;
    padding:14px 22px;
    color:var(--ivory);
    text-decoration:none;
    font-size:13px;
    letter-spacing:.03em;
    border-bottom:1px solid var(--hairline-light);
    line-height:normal;
    transition:.2s;
}

.dropdown-menu li a:hover{
    background:rgba(176,141,87,.12);
    color:var(--brass-light);
    padding-left:28px;
}

/* Mobile Toggle */
.mobile-toggle{
    display:none;
    width:44px;
    height:44px;
    border:1px solid rgba(176,141,87,.5);
    border-radius:0;
    clip-path:var(--clip-sm);
    color:var(--ivory);
    font-size:24px;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    transition:.25s;
}

.mobile-toggle:hover{
    background:rgba(176,141,87,.15);
    border-color:var(--brass);
}

.submenu-toggle{
    display:none;
    border:none;
    background:transparent;
    color:var(--ivory);
    font-size:18px;
    cursor:pointer;
    padding:0;
    margin-left:12px;
    transition:.2s ease;
}

.submenu-toggle:hover{ color:var(--brass); }

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

.site-footer{
    background:var(--ink);
    color:var(--ivory);
    padding:6px 0 0;
    border-top:1px solid var(--hairline-light);
}

.footer-grid{
    display:grid;
    grid-template-columns:1.5fr 1fr 1fr 1fr;
    gap:40px;
}

.footer-logo img{
    width:300px;
    margin-bottom:0px;
    filter:brightness(0) invert(1);
}

.footer-grid h3{
    font-family:var(--font-mono);
    font-size:13px;
    font-weight:600;
    letter-spacing:.14em;
    text-transform:uppercase;
    margin-bottom:20px;
    color:var(--brass-light);
}

.footer-grid p{
    margin-bottom:10px;
    line-height:1.7;
    color:rgba(247,245,240,.75);
    font-size:14px;
}

.footer-grid a{
    color:rgba(247,245,240,.75);
    text-decoration:none;
    transition:.25s;
    font-size:14px;
}

.footer-grid a:hover{
    color:var(--brass-light);
    padding-left:2px;
}

.footer-bottom{
    border-top:1px solid var(--hairline-light);
    margin-top:30px;
    padding:22px 0;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:40px;
}

.footer-bottom p{
    margin:0;
    font-size:12px;
    letter-spacing:.03em;
    color:rgba(247,245,240,.55);
    font-family:var(--font-mono);
}

.footer-bottom a{
    color:rgba(247,245,240,.75);
    text-decoration:none;
    font-size:12px;
}

.footer-bottom a:hover{ color:var(--brass-light); }

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

@media(max-width:1200px){
    .container{ padding:0 40px; }
    .nav-menu{ gap:32px; }
    .navbar{ padding:0 40px; }
}

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

@media(max-width:991px){

.container{ padding:0 20px; }

.navbar{
    height:68px;
    position:relative;
    padding:0 20px;
}

.logo img{ height:50px; }

.mobile-toggle{
    display:flex;
    position:absolute;
    right:20px;
    top:50%;
    transform:translateY(-50%);
    z-index:1001;
}

.nav-menu{
    display:flex;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    flex-direction:column;
    align-items:flex-start;
    background:var(--ink);
    padding:8px 0 8px 20px;
    gap:0;
    border-top:1px solid var(--hairline-light);
    box-shadow:0 20px 40px rgba(0,0,0,.35);
    z-index:999;
    max-height:0;
    overflow:hidden;
    opacity:0;
    transition:max-height .35s ease, opacity .35s ease;
}

.nav-menu.show{
    max-height:1200px;
    opacity:1;
}

.nav-menu > li{
    width:100%;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    position:relative;
    border-bottom:1px solid var(--hairline-light);
    padding:0;
}

.nav-menu > li > a{
    color:var(--ivory);
    line-height:1.4;
    padding:14px 16px;
    display:block;
    width:calc(100% - 54px);
    font-size:13px;
}

.nav-menu > li > a::after{ display:none; }

.nav-menu .submenu-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:32px;
    height:32px;
    position:absolute;
    right:16px;
    top:12px;
    background:rgba(176,141,87,.14);
    border:1px solid rgba(176,141,87,.3);
    border-radius:0;
}

.nav-menu .dropdown-menu{
    position:static;
    width:100%;
    max-height:0;
    overflow:hidden;
    opacity:0;
    visibility:hidden;
    transition:max-height .35s ease, opacity .35s ease, padding .35s ease;
    margin:0;
    padding:0;
    background:var(--ink-soft);
    border:none;
    box-shadow:none;
}

.nav-menu li.expanded > .dropdown-menu{
    max-height:500px;
    opacity:1;
    visibility:visible;
    padding:0 0 10px 0;
}

.dropdown-menu li a{
    display:block;
    padding:10px 16px 10px 34px;
    color:var(--ivory);
    border:none;
    background:transparent;
}

.dropdown-menu li a:hover{
    background:rgba(176,141,87,.1);
    padding-left:34px;
}

.footer-grid{
    grid-template-columns:1fr 1fr;
    gap:36px;
}

}

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

@media(max-width:768px){

.footer-grid{
    grid-template-columns:1fr 1fr;
    gap:28px;
    margin:0 auto;
}

.footer-grid > div:first-child{
    grid-column:1 / -1;
}

.footer-bottom{
    flex-direction:column;
    gap:12px;
    text-align:center;
}

}

@media(max-width:768px){
.footer-logo img{
    width:auto;
    height:50px;
}
}

/* ===================================
   FOLDABLE / ULTRA-NARROW DEVICES
   (Z Fold cover screen, Flip cover, etc.)
=================================== */

@media(max-width:344px){

.container{ padding:0 14px; }
.navbar{ padding:0 14px; height:60px; }
.logo img{ height:32px; }
.nav-menu > li > a{ font-size:12px; padding:12px; }
.footer-grid{ grid-template-columns:1fr; gap:24px; }
.mobile-toggle{ width:38px; height:38px; font-size:20px; }

}

/* Foldables unfolded (~717–884px inner screens) sit inside the tablet
   breakpoint above and inherit those rules by design. */


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


.hero-slider{
    position:relative;
    width:100%;
    height:100vh;
    overflow:hidden;
}

.hero-video{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    object-fit:cover;
    z-index:0;
}

.overlay{
    position:absolute;
    top:0; left:0;
    width:100%;
    height:100%;
    background:linear-gradient(
        100deg,
        rgba(11,18,16,.92) 0%,
        rgba(11,18,16,.72) 38%,
        rgba(11,18,16,.25) 75%
    );
}

.content{
    position:absolute;
    top:50%;
    left:9%;
    transform:translateY(-50%);
    max-width:650px;
    color:#fff;
    z-index:2;
}

.content h1,
.cta{
    transition:opacity .5s ease;
}

.content .eyebrow{ display:block; margin-bottom:18px; }

.content h1{
    font-size:52px;
    line-height:1.15;
    margin-bottom:24px;
    font-weight:500;
    color:var(--white);
}

.cta{
    display:inline-flex;
    align-items:center;
    gap:12px;
    padding:16px 30px;
    border-radius:0;
    clip-path:var(--clip-sm);
    background:var(--brass);
    color:var(--ink);
    text-decoration:none;
    font-family:var(--font-mono);
    font-size:13px;
    font-weight:600;
    letter-spacing:.06em;
    text-transform:uppercase;
    transition:.3s;
}

.cta:hover{
    background:var(--brass-light);
}

@media (max-width:768px){
    .hero-slider{ height:60vh; min-height:380px; }
    .slide img{ object-position:center right; }
    .content{ top:50%; left:20px; right:20px; transform:translateY(-50%); }
    .content h1{ font-size:26px; line-height:1.3; }
    .cta{ padding:12px 20px; font-size:12px; }
}

@media (max-width:480px){
    .hero-slider{ height:52vh; margin-left:calc(-50vw + 50%); }
    .content h1{ font-size:20px; }
}

/* =========================================================================
   METRICS
   ========================================================================= */

.metrics-section{
    padding:0px 40px 40px;
    margin-top:0;
}

.metrics-container{ overflow:hidden; width:100%; }

.metrics-track{
    display:flex;
    gap:1px;
    background:var(--hairline); 
}

.metric-card{
    flex:0 0 calc(33.33% - .67px);
    background:var(--white);
    padding:30px 32px;
    border-radius:0;
    display:flex;
    align-items:center;
    gap:22px;
}
.metric-card{
    flex:1;
    display:flex;
    align-items:center;
    gap:22px;
    padding:30px;
}
.icon{
    width:56px;
    height:56px;
    background:var(--evergreen);
    border-radius:0;
    clip-path:var(--clip-sm);
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
}

.icon i{
    font-size:20px;
    color:var(--brass-light);
}

.metric-card h2{
    margin:0;
    font-family:var(--font-mono);
    font-weight:600;
    font-size:30px;
    color:var(--ink);
}

.metric-card p{
    margin:4px 0 0;
    font-size:13px;
    color:var(--slate-light);
    text-transform:uppercase;
    letter-spacing:.05em;
}

@media (max-width:768px){
    .metrics-container{ width:100%; overflow:hidden; }
    .metrics-track{ gap:1px; flex-direction:column; }
    .metric-card{ flex:0 0 100% !important; min-width:100% !important; max-width:100% !important; box-sizing:border-box; }
}

/* =========================================================================
   ABOUT (generic, standalone-page version)
   ========================================================================= */

.about-section{
    max-width:1200px;
    margin:60px auto;
    background:var(--white);
    border:1px solid var(--hairline);
}

.about-title{
    background:var(--ivory-deep);
    padding:32px 20px;
    text-align:center;
    border-bottom:1px solid var(--hairline);
}

.about-title h2{
    color:var(--ink);
    font-size:38px;
    font-weight:600;
    margin:0;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:16px;
}

.about-title h2 i{ font-size:28px; color:var(--brass); }

.about-content{
    background:var(--white);
    padding:50px 70px;
    text-align:center;
}

.about-content p{
    max-width:900px;
    margin:0 auto 24px;
    font-size:17px;
    line-height:1.9;
    color:var(--slate);
}

.expertise-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:1px;
    margin-top:24px;
    background:var(--hairline);
}

.expertise-card{
    background:var(--white);
    padding:36px;
    border-radius:0;
    box-shadow:none;
}

.expertise-card h3{
    color:var(--ink);
    font-size:22px;
    margin-bottom:14px;
    font-weight:600;
}

.expertise-card p{
    margin:0;
    font-size:15px;
    line-height:1.8;
    color:var(--slate);
}

@media(max-width:991px){
    .about-title h2{ font-size:28px; }
    .about-content{ padding:40px; }
}

@media(max-width:768px){
    .about-section{ margin:25px 15px; }
    .about-title{ padding:22px; }
    .about-title h2{ font-size:23px; gap:10px; }
    .about-title h2 i{ font-size:22px; }
    .about-content{ padding:30px 20px; }
    .about-content p{ font-size:15px; line-height:1.8; }
    .expertise-grid{ grid-template-columns:1fr; gap:1px; }
    .expertise-card{ padding:24px; }
    .expertise-card h3{ font-size:19px; }
}

/* =========================================================================
   PAGE BANNER
   ========================================================================= */

.page-banner{
    position:relative;
    height:150px;
    overflow:hidden;
    background:var(--ink);
    margin-bottom:-30px; /* Your requested margin */
}

.banner-image,
.page-banner img{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    object-fit:cover;
    opacity:.55;
    z-index:0;
}

.banner-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(
        100deg,
        rgba(11,18,16,.92) 10%,
        rgba(11,18,16,.5) 80%
    );
    z-index:1;
}

.banner-content{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%, -50%);
    width:100%;
    max-width:1200px;
    padding:0 80px;
    z-index:2;
    box-sizing:border-box;
}

.banner-content h1{
    color:var(--white);
    font-size:46px;
    font-weight:600;
    margin:0;
    line-height:1.15;
}

@media (max-width:768px){

    .page-banner{
        height:180px;
        margin-bottom:-30px;
    }

    .banner-content{
        padding:0 22px;
    }

    .banner-content h1{
        font-size:28px;
    }

}

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

.home-about{
    display:grid;
    grid-template-columns:440px 1fr;
    background:var(--ivory-deep);
    margin:0;
    gap:0;
}

.about-image{
    min-height:540px;
    margin:0;
    padding:0;
}

.about-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    filter:grayscale(20%);
}

.home-about .about-content{
    display:flex;
    flex-direction:column;
    margin:0;
    padding:0;
    text-align:left;
    background:transparent;
}

.home-about .about-title{
    background:var(--ink);
    padding:36px 55px;
    text-align:left;
    border-bottom:none;
}

.home-about .about-title h2{
    margin:0;
    color:var(--white);
    font-size:44px;
    font-weight:600;
    justify-content:flex-start;
}

.home-about .about-title i{ font-size:34px; color:var(--brass); }

.about-inner{
    padding:44px 55px;
    text-align:left;
    background:var(--ivory-deep);
}

.about-inner p{
    line-height:1.9;
    text-align:left;
    margin:0 0 22px;
    font-size:16px;
    color:var(--slate);
    font-weight:400;
}

.mission-box{
    background:var(--evergreen);
    color:var(--ivory);
    padding:20px 26px;
    font-weight:500;
    font-family:var(--font-mono);
    font-size:14px;
    letter-spacing:.02em;
    text-align:left;
    margin:30px 0;
    border-left:3px solid var(--brass);
}

.about-btn{
    display:inline-flex;
    align-items:center;
    gap:12px;
    background:var(--ink);
    color:var(--ivory);
    text-decoration:none;
    padding:15px 30px;
    border-radius:0;
    clip-path:var(--clip-sm);
    font-weight:600;
    font-size:13px;
    letter-spacing:.05em;
    text-transform:uppercase;
    font-family:var(--font-mono);
    width:max-content;
    transition:.3s;
}

.about-btn:hover{ background:var(--brass); color:var(--ink); }

.about-btn i{ font-size:13px; }

@media(max-width:991px){
    .home-about{ grid-template-columns:1fr; }
    .about-image{ min-height:280px; }
    .about-image img{ height:100%; object-fit:cover; }
    .home-about .about-title{ padding:26px 30px; }
    .home-about .about-title h2{ font-size:32px; }
    .home-about .about-title i{ font-size:26px; }
    .about-inner{ padding:30px; }
}

@media(max-width:768px){
    .home-about .about-title{ padding:22px; }
    .home-about .about-title h2{ font-size:22px; gap:10px; }
    .home-about .about-title i{ font-size:22px; }
    .about-inner{ padding:24px; }
    .about-inner p{ font-size:14px; line-height:1.8; }
    .mission-box{ font-size:13px; padding:16px 18px; }
    .about-btn{ width:100%; justify-content:center; }
}

/* ==========================
   PRESENCE SECTION
========================== */

.presence-section{
    padding:30px 0px 0px;
    background:var(--ivory);
}

.presence-header{
    background:var(--ink);
    text-align:center;
    padding:10px 20px;
}

.presence-header h2{
    margin:10px;
    color:var(--white);
    font-size:48px;
    font-weight:600;
}

.presence-header h2 i{ margin-right:12px; color:var(--brass); }

.presence-header h3{
    font-family:var(--font-body);
    font-size:20px;
    color:#15DDA6;
    font-weight:600;
    letter-spacing:.03em;
    margin-bottom:18px;
    text-transform:uppercase;
}

.presence-header p{
    font-size:17px;
    color:var(--brass);
    line-height:1.8;
}

.presence-map-wrapper{
    position:relative;
    max-width:1000px;
    margin:auto;
    border:1px solid var(--hairline);
    padding:20px;
    background:var(--white);
}

.presence-map{ width:100%; display:block; opacity:.9; }

.marker{
    position:absolute;
    width:9px;
    height:9px;
    background:var(--brass);
    transform:translate(-50%,-50%);
}

.marker::before{
    content:"";
    position:absolute;
    top:50%; left:50%;
    width:20px; height:20px;
    border:1px solid rgba(176,141,87,.5);
    border-radius:50%;
    transform:translate(-50%,-50%);
    animation:pulse 2s infinite;
}

@keyframes pulse{
    0%{ transform:translate(-50%,-50%) scale(.8); opacity:1; }
    100%{ transform:translate(-50%,-50%) scale(1.6); opacity:0; }
}

/* Country positions (unchanged geometry) */
.usa{ top:35%; left:20%; }
.uk{ top:26%; left:47%; }
.germany{ top:29%; left:51%; }
.france{ top:33%; left:48%; }
.switzerland{ top:35%; left:52%; }
.uae{ top:44%; left:62%; }
.india{ top:47%; left:69.5%; }
.singapore{ top:59%; left:75.5%; }
.kenya{ top:59%; left:55.8%; }
.southafrica{ top:82%; left:57%; }

@media(max-width:991px){
    .presence-header h2{ font-size:36px; }
    .presence-header h3{ font-size:16px; }
}

@media(max-width:768px){
    .presence-section{ padding:20px 0px 0px; }
    .presence-header{ margin-bottom:30px; }
    .presence-header h2{ font-size:26px; }
    .presence-header h3{ font-size:14px; }
    .presence-header p{ font-size:14px; line-height:1.7; }
    .marker{ width:7px; height:7px; }
    .marker::before{ width:16px; height:16px; }
}

/* ==========================
   EXPERTISE SECTION
========================== */

.expertise-section{
    padding:70px 0px 0px;
    background:var(--ivory);
}

.expertise-header{
    max-width:1000px;
    margin:0 auto -20px;
    text-align:center;
}

.expertise-header h2{
    color:var(--ink);
    font-size:48px;
    font-weight:600;
    margin-bottom:16px;
}

.expertise-header h2 i{ margin-right:12px; color:var(--brass); }

.expertise-header h3{
    color:var(--evergreen);
    font-family:var(--font-body);
    font-size:20px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:.03em;
    margin-bottom:16px;
    margin-top:16px;
}

.expertise-header p{
    max-width:900px;
    margin:auto;
    color:var(--slate);
    font-size:17px;
    line-height:1.8;
    margin-bottom:-20px;
}

.expertise-section .expertise-grid{
    max-width:1400px;
    margin:auto;
    margin-top:35px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:1px;
    background:var(--hairline);
}

.expertise-section .expertise-card{
    background:var(--white);
    border-top:2px solid var(--evergreen);
    padding:32px;
    transition:.3s;
}

.expertise-section .expertise-card:hover{
    border-top-color:var(--brass);
    background:var(--ivory);
}

.expertise-toggle{
    width:100%;
    border:none;
    background:none;
    padding:0;
    display:flex;
    justify-content:space-between;
    align-items:center;
    text-align:left;
    cursor:default;
}

.expertise-toggle span:first-child{
    color:var(--ink);
    font-family:var(--font-display);
    font-size:21px;
    font-weight:600;
}

.toggle-icon{ display:none; }

.expertise-content{ margin-top:16px; }

.expertise-content p{
    color:var(--slate);
    line-height:1.8;
    font-size:15px;
}

@media(max-width:1200px){
    .expertise-section .expertise-grid{ grid-template-columns:repeat(2,1fr); }
}

@media(max-width:768px){
    .expertise-section{ padding:40px 0px 0px; }
    .expertise-header h2{ font-size:26px; }
    .expertise-header h3{ font-size:14px; }
    .expertise-header p{ font-size:14px; margin-bottom:-20px; }
    .expertise-section .expertise-grid{ grid-template-columns:1fr; gap:1px; }
    .expertise-section .expertise-card{ padding:22px; }
    .expertise-toggle{ cursor:pointer; }
    .expertise-toggle span:first-child{ font-size:18px; padding-right:15px; }
    .toggle-icon{ display:block; color:var(--brass); font-size:24px; font-weight:700; }
    .expertise-content{ display:none; margin-top:12px; }
    .expertise-card.active .expertise-content{ display:block; }
}

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

.portfolio-section{
    padding:70px 40px;
    background:var(--ivory);
    text-align:center;
}

.portfolio-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1px;
    background:var(--hairline);
}

.portfolio-card{
    background:var(--white);
    border-radius:0;
    overflow:hidden;
    box-shadow:none;
    transition:.3s;
    text-align:left;
}

.portfolio-card:hover{ transform:translateY(-4px); }

.portfolio-card img{
    width:100%;
    height:440px;
    object-fit:cover;
    filter:grayscale(10%);
}

.card-content{ padding:22px; }

.card-meta{
    display:flex;
    justify-content:space-between;
    font-family:var(--font-mono);
    font-size:12px;
    color:var(--slate-light);
    margin-bottom:8px;
}

.amount{
    font-family:var(--font-mono);
    font-size:13px;
    color:var(--evergreen);
    margin-bottom:10px;
}

.portfolio-card h3{
    font-size:19px;
    margin:10px 0;
    color:var(--ink);
    font-weight:600;
}

.portfolio-card p{
    font-size:14px;
    color:var(--slate);
}

.status{
    padding:4px 12px;
    border-radius:0;
    font-family:var(--font-mono);
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.04em;
}

.status.in{ background:var(--evergreen); color:var(--white); }
.status.out{ background:var(--ivory-deep); color:var(--slate); }

.pagination{
    margin-top:24px;
    margin-bottom:20px;
    text-align:center;
}

.pagination button{
    margin:0 4px;
    padding:9px 16px;
    border:1px solid var(--hairline);
    background:var(--white);
    cursor:pointer;
    border-radius:0;
    font-family:var(--font-mono);
    font-size:13px;
}

.pagination button.active{
    background:var(--ink);
    color:var(--white);
    border-color:var(--ink);
}

@media (max-width:1024px){
    .portfolio-grid{ grid-template-columns:repeat(2,1fr); }
}

@media (max-width:768px){
    .portfolio-section{ padding:36px 20px; }
    .portfolio-grid{ grid-template-columns:1fr; }
    .portfolio-card img{ height:260px; }
}

.page{ display:none; opacity:0; transition:.3s; }
.page.active{ display:block; opacity:1; }

/* ==========================
   PORTFOLIO HEADER (home slider)
========================== */

.portfolio-highlight{ padding:70px 0px 0px; background:var(--ivory); }

.portfolio-header{
    text-align:center;
    max-width:1000px;
    margin:0 auto 40px;
}

.portfolio-header h2{
    color:var(--ink);
    font-size:48px;
    font-weight:600;
    margin-bottom:16px;
}

.portfolio-header h2 i{ margin-right:12px; font-size:36px; color:var(--brass); }

.portfolio-header h3{
    font-size:20px;
    color:var(--evergreen);
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:.03em;
    margin-bottom:14px;
}

.portfolio-header p{
    font-size:17px;
    color:var(--slate);
    line-height:1.8;
}

.home-portfolio{ margin-top:30px; background:var(--ivory); }

.portfolio-header a{
    padding:13px 26px;
    background:var(--ink);
    color:var(--white);
    border-radius:0;
    clip-path:var(--clip-sm);
    text-decoration:none;
    font-family:var(--font-mono);
    font-size:13px;
    letter-spacing:.04em;
    text-transform:uppercase;
    transition:.3s;
}

.portfolio-header a:hover{ background:var(--brass); color:var(--ink); }

.portfolio-slider{ margin-bottom:30px; overflow:hidden; position:relative; }

.slider-track{ display:flex; gap:1px; background:var(--hairline); transition:transform .6s ease-in-out; }

.home-portfolio .portfolio-card{
    min-width:calc(33.33% - .67px);
    background:var(--white);
    border-radius:0;
    overflow:hidden;
    box-shadow:none;
}

.home-portfolio .portfolio-card img{
    width:100%;
    height:440px;
    object-fit:cover;
}

.meta{
    font-family:var(--font-mono);
    font-size:11px;
    color:var(--slate-light);
    text-transform:uppercase;
    letter-spacing:.03em;
}

@media (max-width:768px){
    .portfolio-header{ flex-direction:column; align-items:flex-start; gap:14px; }
    .portfolio-section{ padding:30px 0px 0px; }
    .portfolio-header h2{ font-size:26px; }
    .portfolio-header a{ font-size:12px; padding:10px 18px; }
    .home-portfolio .portfolio-card{ min-width:100%; }
    .slider-track{ gap:0; }
    .home-portfolio .portfolio-card img{ height:240px; }
}

.portfolio-cta{ text-align:center; margin-top:20px; }

.portfolio-btn{
    display:inline-block;
    padding:13px 30px;
    background:var(--evergreen);
    color:var(--white);
    border-radius:0;
    clip-path:var(--clip-sm);
    text-decoration:none;
    font-family:var(--font-mono);
    font-size:13px;
    letter-spacing:.04em;
    text-transform:uppercase;
    transition:.3s;
}

.portfolio-btn:hover{ background:var(--brass); color:var(--ink); }

@media (max-width:768px){
    .portfolio-cta{ margin-top:0px; margin-bottom:15px; }
    .portfolio-btn{ padding:10px 20px; font-size:12px; }
}

/* =========================================================================
   FUNDS SECTION
   ========================================================================= */

.funds-section{ background:var(--ivory-deep); margin-top:0; }

.funds-title{
    background:var(--ink);
    text-align:center;
    padding:44px 20px;
}

.funds-title h2{
    margin:0;
    color:var(--white);
    font-size:48px;
    font-weight:600;
}

.funds-title i{ margin-right:12px; color:var(--brass); }

.funds-content{
    max-width:1100px;
    margin:auto;
    padding:50px 20px 20px;
    text-align:center;
}

.funds-intro{
    font-size:22px;
    line-height:1.7;
    color:var(--ink);
    font-weight:500;
    font-family:var(--font-display);
    max-width:950px;
    margin:0 auto 50px;
}

.funds-icons{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:1px;
    margin-bottom:50px;
    background:var(--hairline);
}

.fund-icon{
    width:180px;
    text-align:center;
    background:var(--white);
    padding:24px 10px;
}

.icon-circle{
    width:64px;
    height:64px;
    margin:0 auto 16px;
    border-radius:0;
    clip-path:var(--clip-sm);
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--evergreen);
    color:var(--brass-light);
    font-size:26px;
}

.fund-icon h4{
    margin:0;
    font-size:15px;
    color:var(--ink);
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:.02em;
}

.funds-description{
    max-width:900px;
    margin:0 auto 40px;
    color:var(--slate);
    font-size:17px;
    line-height:1.9;
}

.funds-btn{
    display:inline-flex;
    align-items:center;
    gap:12px;
    background:var(--ink);
    color:var(--white);
    padding:17px 36px;
    text-decoration:none;
    border-radius:0;
    clip-path:var(--clip-md);
    font-weight:600;
    font-family:var(--font-mono);
    font-size:13px;
    letter-spacing:.05em;
    text-transform:uppercase;
    transition:.3s;
    margin-bottom:20px;
}

.funds-btn:hover{ background:var(--brass); color:var(--ink); }

@media(max-width:991px){
    .funds-title h2{ font-size:36px; }
    .funds-intro{ font-size:18px; }
}

@media(max-width:768px){
    .funds-title{ padding:28px 15px; }
    .funds-title h2{ font-size:26px; }
    .funds-content{ padding:30px 20px 0px; }
    .funds-intro{ font-size:16px; }
    .funds-description{ font-size:14px; }
    .funds-icons{ gap:1px; }
    .fund-icon{ width:calc(50% - 1px); }
    .icon-circle{ width:54px; height:54px; font-size:22px; }
    .fund-icon h4{ font-size:13px; }
    .funds-btn{ width:100%; justify-content:center; }
}

.funds-overview{ padding:60px 20px; background:var(--ivory); }

.funds-overview .funds-intro{
    max-width:1000px;
    margin:0 auto 40px;
    text-align:center;
    font-size:18px;
    color:var(--slate);
    font-family:var(--font-body);
    font-weight:400;
}

.fund-cards{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1px;
    max-width:1300px;
    margin:auto;
    background:var(--hairline);
}

.fund-card{
    background:var(--white);
    padding:36px;
    border-radius:0;
    box-shadow:none;
}

.featured-fund{ border-top:2px solid var(--brass); }

.fund-year{
    color:var(--evergreen);
    font-weight:600;
    font-family:var(--font-mono);
    font-size:13px;
    letter-spacing:.04em;
}

.fund-card h3{
    margin:15px 0;
    font-size:28px;
    color:var(--ink);
    font-weight:600;
}

.fund-stats p{
    margin-bottom:12px;
    font-size:15px;
    color:var(--slate);
}

.fund-btn{
    display:inline-block;
    margin-top:20px;
    background:var(--ink);
    color:var(--white);
    text-decoration:none;
    padding:12px 26px;
    border-radius:0;
    clip-path:var(--clip-sm);
    font-family:var(--font-mono);
    font-size:13px;
    letter-spacing:.03em;
    transition:.3s;
}

.fund-btn:hover{ background:var(--brass); color:var(--ink); }

@media(max-width:991px){
    .fund-cards{ grid-template-columns:1fr; }
}

/* ==========================
   FUND DETAIL PAGE
========================== */

.fund-detail{ padding:40px 20px; background:var(--ivory); }

.fund-container{ max-width:1200px; margin:auto; }

.fund-header{
    background:var(--ink);
    padding:50px 40px;
    text-align:center;
    margin-bottom:40px;
}

.fund-header h1{ font-size:46px; color:var(--white); margin-bottom:10px; }

.fund-header p{ font-size:19px; color:rgba(247,245,240,.75); }

.fund-stats{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:1px;
    margin-bottom:50px;
    background:var(--hairline);
}

.stat-card{
    background:var(--white);
    padding:28px;
    text-align:center;
    border-radius:0;
    box-shadow:none;
}

.stat-card h3{
    color:var(--evergreen);
    font-family:var(--font-mono);
    font-size:32px;
    margin-bottom:10px;
}

.stat-card p{ color:var(--slate-light); font-size:13px; text-transform:uppercase; letter-spacing:.03em; }

.fund-content{
    background:var(--white);
    padding:50px;
    border-radius:0;
    box-shadow:none;
    border:1px solid var(--hairline);
}

.fund-content h2{ color:var(--ink); font-size:30px; margin-bottom:20px; }

.fund-content p{ line-height:1.9; color:var(--slate); margin-bottom:20px; }

.info-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1px;
    margin-top:40px;
    background:var(--hairline);
}

.info-box{
    background:var(--ivory);
    padding:30px;
    border-left:2px solid var(--evergreen);
}

.info-box h3{ color:var(--ink); margin-bottom:20px; }

.info-box ul{ padding-left:20px; }

.info-box li{ margin-bottom:12px; line-height:1.7; color:var(--slate); }

@media(max-width:991px){
    .fund-stats{ grid-template-columns:repeat(2,1fr); }
    .info-grid{ grid-template-columns:1fr; }
}

@media(max-width:768px){
    .fund-header{ padding:30px 20px; }
    .fund-header h1{ font-size:30px; }
    .fund-header p{ font-size:15px; }
    .fund-stats{ grid-template-columns:1fr; }
    .fund-content{ padding:26px; }
    .fund-content h2{ font-size:24px; }
}

/* =========================================================================
   COMMON SECTION TITLES
   ========================================================================= */

.section-title{ margin-bottom:15px; }

.section-title h2{
    color:var(--ink);
    font-size:44px;
    font-weight:600;
    display:flex;
    align-items:center;
    gap:14px;
}

.section-title i{ font-size:34px; color:var(--brass); }

.section-description{
    text-align:center;
    max-width:900px;
    margin:0 auto 15px;
    color:var(--slate);
    font-size:17px;
    line-height:1.8;
}

/* =========================================================================
   PHILOSOPHY INTRO
   ========================================================================= */

.philosophy-intro{ padding:50px 0; background:var(--white); }

.intro-content{ max-width:1100px; }

.intro-content p{
    font-size:17px;
    line-height:1.9;
    color:var(--slate);
    margin-bottom:14px;
}

/* =========================================================================
   STRATEGY
   ========================================================================= */

.strategy-section{ padding:50px 0; background:var(--ivory); }

.strategy-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:1px;
    background:var(--hairline);
}

.strategy-card{
    background:var(--white);
    padding:30px;
    border-top:2px solid var(--evergreen);
    transition:.3s;
}

.strategy-card:hover{
    border-top-color:var(--brass);
    transform:translateY(-4px);
}

.strategy-card i{ font-size:34px; color:var(--brass); margin-bottom:16px; }

.strategy-card h3{ color:var(--ink); margin-bottom:14px; font-size:21px; }

.strategy-card p{ color:var(--slate); line-height:1.8; font-size:15px; }

/* =========================================================================
   MINIMUM INVESTMENT
   ========================================================================= */

.minimum-investment{ padding:50px 0; background:var(--white); }

.content-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    align-items:center;
}

.content-text h2{ color:var(--ink); font-size:40px; margin-bottom:16px; }

.content-text p{ font-size:16px; line-height:1.9; color:var(--slate); margin-bottom:15px; }

.content-image img{ width:100%; display:block; border-radius:0; filter:grayscale(15%); }

/* =========================================================================
   FUNDING STRUCTURE
   ========================================================================= */

.funding-structure{ padding:50px 0; background:var(--ivory); }

.funding-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1px;
    background:var(--hairline);
}

.funding-item{
    background:var(--white);
    padding:32px;
    text-align:center;
    border-radius:0;
    transition:.3s;
}

.funding-item:hover{ background:var(--ivory); }

.funding-item i{ font-size:34px; color:var(--brass); margin-bottom:18px; }

.funding-item h3{ color:var(--ink); font-size:19px; }

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

.investment-process-section{ padding:50px 0; background:var(--white); }

.process-grid{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:60px;
    align-items:center;
}

.process-content p{ font-size:16px; line-height:1.9; color:var(--slate); margin-bottom:15px; }

.process-image img{ width:100%; border-radius:0; display:block; filter:grayscale(15%); }

/* =========================================================================
   INVESTMENT CRITERIA
   ========================================================================= */

.criteria-section{ padding:50px 0; background:var(--ivory); }

.criteria-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:1px;
    background:var(--hairline);
}

.criteria-item{
    background:var(--white);
    padding:26px;
    border-left:2px solid var(--evergreen);
    font-weight:600;
    color:var(--ink);
    font-size:14px;
}

/* =========================================================================
   FOCUS AREAS
   ========================================================================= */

.focus-areas{ padding:50px 0; background:var(--white); }

.focus-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--hairline); }

.focus-box{ background:var(--ivory); padding:32px; }

.focus-box h3{ color:var(--ink); margin-bottom:18px; font-size:26px; }

.focus-box ul{ padding-left:20px; }

.focus-box li{ margin-bottom:12px; color:var(--slate); line-height:1.7; }

/* =========================================================================
   EXIT STRATEGY
   ========================================================================= */

.exit-strategy{ padding:50px 0; background:var(--ivory); }

.exit-strategy p{
    max-width:1000px;
    margin-bottom:40px;
    color:var(--slate);
    line-height:1.9;
    font-size:17px;
}

.exit-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--hairline); }

.exit-grid div{
    background:var(--white);
    padding:26px;
    text-align:center;
    font-weight:600;
    color:var(--evergreen);
    font-family:var(--font-mono);
    font-size:14px;
}

/* =========================================================================
   INVESTMENT CTA
   ========================================================================= */

.investment-cta{ padding:80px 0; background:var(--ink); text-align:center; }

.investment-cta h2{ color:var(--white); font-size:44px; margin-bottom:20px; }

.investment-cta p{
    color:rgba(247,245,240,.78);
    max-width:800px;
    margin:0 auto 35px;
    line-height:1.9;
    font-size:17px;
}

.cta-btn{
    display:inline-block;
    padding:17px 38px;
    background:var(--brass);
    color:var(--ink);
    text-decoration:none;
    border-radius:0;
    clip-path:var(--clip-md);
    font-weight:700;
    font-family:var(--font-mono);
    letter-spacing:.04em;
    text-transform:uppercase;
    font-size:13px;
    transition:.3s;
}

.cta-btn:hover{ background:var(--brass-light); }

/* =========================================================================
   TABLET (shared strategy/funding/criteria/focus/exit)
   ========================================================================= */

@media(max-width:991px){
    .strategy-grid{ grid-template-columns:repeat(2,1fr); }
    .funding-grid{ grid-template-columns:repeat(2,1fr); }
    .criteria-grid{ grid-template-columns:repeat(2,1fr); }
    .content-grid, .process-grid, .focus-grid{ grid-template-columns:1fr; }
    .exit-grid{ grid-template-columns:repeat(2,1fr); }
    .banner-overlay h1{ font-size:38px; }
    .section-title h2{ font-size:36px; }
}

/* =========================================================================
   MOBILE (shared)
   ========================================================================= */

@media(max-width:768px){
    .page-banner{ height:90px; }
    .banner-overlay h1{ font-size:22px; }
    .banner-overlay p{ font-size:13px; }
    .section-title h2{ font-size:24px; }
    .section-title i{ font-size:22px; }
    .strategy-grid, .funding-grid, .criteria-grid, .exit-grid{ grid-template-columns:1fr; }
    .strategy-card, .funding-item, .criteria-item{ padding:22px; }
    .content-text h2{ font-size:24px; }
    .focus-box{ padding:22px; }
    .focus-box h3{ font-size:20px; }
    .investment-cta{ padding:56px 20px; }
    .investment-cta h2{ font-size:28px; }
    .investment-cta p{ font-size:14px; }
    .cta-btn{ width:100%; text-align:center; }
}

/* =========================================================================
   INVESTMENT SOLUTIONS (.inv-*)
   ========================================================================= */

.investment-solutions{
    background:var(--ivory);
    padding:50px 20px;
    font-family:var(--font-body);
}

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

.inv-header h2{ font-size:38px; color:var(--ink); }

.inv-header h3{ font-size:18px; margin:10px 0; color:var(--evergreen); font-weight:600; text-transform:uppercase; letter-spacing:.03em; }

.inv-header p{ color:var(--slate); }

.inv-row, .inv-center{
    background:var(--white);
    max-width:1100px;
    margin:0 auto 30px;
    padding:34px;
    border-radius:0;
    border:1px solid var(--hairline);
    box-shadow:none;
    opacity:0;
    transform:translateY(30px);
    transition:.7s ease;
}

.inv-row.show, .inv-center.show{ opacity:1; transform:translateY(0); }

.inv-row:hover, .inv-center:hover{
    border-color:var(--brass);
    transform:translateY(-4px);
}

.inv-image img{
    width:100%;
    height:350px;
    object-fit:cover;
    border-radius:0;
    margin-bottom:20px;
    filter:grayscale(15%);
}

.inv-content h3, .inv-center h3{
    font-size:23px;
    color:var(--ink);
    margin-bottom:15px;
    display:flex;
    align-items:center;
    gap:12px;
}

.inv-content p, .inv-center p{ color:var(--slate); line-height:1.7; margin-bottom:15px; }

.inv-grid, .inv-features{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:1px;
    margin-top:25px;
    background:var(--hairline);
}

.inv-grid div, .inv-features div{
    background:var(--ivory);
    padding:16px;
    border-radius:0;
    border:none;
    transition:.3s;
    text-align:left;
}

.inv-grid div:hover, .inv-features div:hover{
    background:#EFF3EF;
    transform:translateY(-2px);
}

.inv-features i{
    width:36px;
    height:36px;
    background:var(--evergreen);
    color:var(--brass-light);
    border-radius:0;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 10px;
}

.inv-content ul{ list-style:none; padding:0; margin-top:15px; }

.inv-content li{ display:flex; gap:8px; margin-bottom:8px; color:var(--slate); }

.inv-content li i{ color:var(--brass); }

.inv-content h3 i, .inv-center h3 i{
    background:var(--evergreen);
    color:var(--brass-light);
    width:34px;
    height:34px;
    border-radius:0;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:14px;
}

@media (max-width:768px){
    .inv-header h2{ font-size:26px; }
    .inv-content h3, .inv-center h3{ font-size:19px; }
    .inv-grid, .inv-features{ grid-template-columns:1fr; }
    .inv-image img{ height:250px; }
}

/* =========================================================================
   SUSTAINABILITY (.sus-*)
   ========================================================================= */

.sustainability{ background:var(--ivory); padding:50px 20px; font-family:var(--font-body); }

.sus-hero{ text-align:center; max-width:850px; margin:0 auto 50px; }

.sus-hero h2{
    font-size:38px;
    color:var(--ink);
    display:flex;
    justify-content:center;
    align-items:center;
    gap:12px;
}

.sus-hero h2 i{
    background:var(--evergreen);
    color:var(--brass-light);
    width:38px;
    height:38px;
    border-radius:0;
    display:flex;
    align-items:center;
    justify-content:center;
}

.sus-hero p{ margin-top:12px; color:var(--slate); line-height:1.7; }

.sus-image{ max-width:1100px; margin:30px auto; }

.sus-image img{ width:100%; height:480px; border-radius:0; object-fit:cover; filter:grayscale(15%); }

.sus-stats{
    display:flex;
    justify-content:space-around;
    max-width:800px;
    margin:30px auto 50px;
    text-align:center;
}

.sus-stats h3{ font-family:var(--font-mono); font-size:36px; color:var(--evergreen); }

.sus-stats div{ font-size:13px; color:var(--slate-light); text-transform:uppercase; letter-spacing:.03em; }

.sus-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1px;
    max-width:1100px;
    margin:40px auto 60px;
    background:var(--hairline);
}

.sus-card{
    background:var(--white);
    padding:28px;
    border-radius:0;
    box-shadow:none;
    transition:.3s;
}

.sus-card:hover{ transform:translateY(-4px); }

.sus-card h3{ color:var(--ink); margin-bottom:10px; font-size:20px; }

.sus-card p{ color:var(--slate); line-height:1.6; font-size:15px; }

.sus-card.green{ background:#EEF3EC; border-top:2px solid var(--evergreen); }

.sus-section{ max-width:1100px; margin:60px auto; text-align:center; }

.sus-section h3{ font-size:26px; color:var(--ink); }

.sus-section p{ margin-top:10px; color:#0ECD59; line-height:1.6; }

.sus-features{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:1px;
    margin-top:30px;
    background:var(--hairline);
}

.sus-icon{
    padding:26px;
    border-radius:0;
    color:var(--white);
    text-align:center;
    transition:.3s;
    background:var(--ink);
}

.sus-icon:hover{ transform:translateY(-4px); }

.sus-icon i{ font-size:22px; margin-bottom:10px; color:var(--brass-light); }

/* Muted, on-brand replacements for the old bright RGB tiles */
.red{ background:#5C2E28; }
.blue{ background:#1E3A4F; }
.green{ background:var(--evergreen); }
.yellow{ background:#6E4D1A; color:var(--ink); }
.yellow i{ color:var(--ink); }

.sus-footer{ text-align:center; max-width:900px; margin:60px auto 0; }

.sus-footer p{ font-family:var(--font-display); font-size:20px; font-weight:500; color:var(--ink); line-height:1.6; }

.sus-card, .sus-section, .sus-icon, .sus-stats{
    opacity:0;
    transform:translateY(30px);
    transition:.6s ease;
}

.show{ opacity:1; transform:translateY(0); }

@media (max-width:768px){
    .sus-grid{ grid-template-columns:1fr; }
    .sus-features{ grid-template-columns:1fr; }
    .sus-stats{ flex-direction:column; gap:20px; }
    .sus-hero h2{ font-size:26px; }
}

/* =========================================================================
   SECTOR EXPERTISE (.sector-*)
   ========================================================================= */

.sector-expertise{ background:var(--ivory); padding:60px 20px; }

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

.sector-header h2{ font-size:38px; color:var(--ink); }

.sector-header h2 i{ margin-right:8px; color:var(--brass); }

.sector-header h3{ margin-top:8px; font-size:19px; color:var(--evergreen); text-transform:uppercase; letter-spacing:.03em; }

.sector-header p{ margin-top:10px; color:var(--slate); line-height:1.6; }

.sector-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1px;
    max-width:1100px;
    margin:auto;
    background:var(--hairline);
}

.sector-card{
    background:var(--white);
    padding:24px;
    border-radius:0;
    box-shadow:none;
    transition:.3s;
}

.sector-card:hover{ transform:translateY(-4px); }

.sector-card img{
    width:100%;
    height:270px;
    object-fit:cover;
    border-radius:0;
    margin-bottom:16px;
    filter:grayscale(15%);
    transition:.6s ease;
}

.sector-card:hover img{ transform:scale(1.04); }

.sector-card h3{
    font-size:19px;
    color:var(--ink);
    display:flex;
    align-items:center;
    gap:10px;
}

.sector-card h3 i{
    background:var(--evergreen);
    color:var(--brass-light);
    width:30px;
    height:30px;
    border-radius:0;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:13px;
}

.sector-card p{ margin-top:10px; color:var(--slate); line-height:1.6; font-size:14px; }

.sector-card.special{ background:var(--ink); color:var(--white); }

.sector-card.special h3, .sector-card.special p{ color:var(--white); }

.sector-card.special h3 i{ background:rgba(176,141,87,.25); color:var(--brass-light); }

@media (max-width:768px){
    .sector-grid{ grid-template-columns:1fr; }
    .sector-header h2{ font-size:26px; }
}

.sector-card, .sector-header{ opacity:0; transform:translateY(30px); transition:all .6s ease; }

.sector-card.show, .sector-header.show{ opacity:1; transform:translateY(0); }

.sector-card{ transition-delay:.1s; }
.sector-card:nth-child(2){ transition-delay:.15s; }
.sector-card:nth-child(3){ transition-delay:.2s; }
.sector-card:nth-child(4){ transition-delay:.25s; }
.sector-card:nth-child(5){ transition-delay:.3s; }
.sector-card:nth-child(6){ transition-delay:.35s; }
.sector-card:nth-child(7){ transition-delay:.4s; }
.sector-card:nth-child(8){ transition-delay:.45s; }

/* =========================================================================
   IP / STRATEGY DETAIL (.ip-*)
   ========================================================================= */

.ip-new{ background:var(--ivory); padding:50px 20px; font-family:var(--font-body); }

.ip-hero{ max-width:900px; margin:0 auto 60px; text-align:center; }

.ip-hero h1{
    font-size:36px;
    color:var(--ink);
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
}

.ip-hero i{
    background:var(--evergreen);
    color:var(--brass-light);
    width:32px;
    height:32px;
    border-radius:0;
    display:flex;
    align-items:center;
    justify-content:center;
}

.ip-hero p{ margin-top:12px; color:var(--slate); line-height:1.6; }

.ip-section{
    background:var(--white);
    max-width:1100px;
    margin:0 auto 40px;
    padding:34px;
    border-radius:0;
    border:1px solid var(--hairline);
    box-shadow:none;
}

.ip-title{
    font-size:24px;
    color:var(--ink);
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:20px;
}

.ip-title i{ background:var(--evergreen); color:var(--brass-light); padding:8px; border-radius:0; }

.ip-process{ display:grid; grid-template-columns:1.2fr 1fr; gap:30px; }

.ip-process img{ width:100%; height:100%; object-fit:cover; border-radius:0; filter:grayscale(15%); transition:.6s ease; }

.ip-process img:hover{ transform:scale(1.03); }

.ip-process-content p{ color:var(--slate); line-height:1.7; margin-bottom:12px; }

.ip-cards{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--hairline); }

.ip-card{
    background:var(--ivory);
    padding:20px;
    border-radius:0;
    text-align:left;
    transition:.3s;
    position:relative;
    overflow:hidden;
}

.ip-card:hover{ transform:translateY(-4px); background:#EEF1EC; }

.ip-card i{ font-size:19px; color:var(--brass); margin-bottom:8px; }

.ip-card h3{ font-size:15px; color:var(--ink); margin-bottom:6px; }

.ip-card p{ font-size:13px; color:var(--slate); }

.ip-highlight{
    background:var(--ink);
    color:var(--white);
    max-width:1100px;
    margin:0 auto 40px;
    padding:40px;
    border-radius:0;
    border-left:3px solid var(--brass);
}

.ip-highlight h2{ margin-bottom:10px; color:var(--white); }

.ip-highlight p{ line-height:1.6; margin-bottom:8px; color:rgba(247,245,240,.8); }

.ip-pill-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:20px; background:rgba(255,255,255,.15); }

.ip-pill-grid div{
    background:var(--ink-soft);
    padding:12px;
    border-radius:0;
    text-align:center;
    font-size:13px;
    color:var(--ivory);
    transition:.3s;
}

.ip-pill-grid div:hover{ background:var(--brass); color:var(--ink); }

.ip-check-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--hairline); }

.ip-check-grid div{
    background:var(--ivory);
    padding:12px;
    border-radius:0;
    font-size:14px;
    color:var(--slate);
}

.ip-check-grid div:hover{ background:var(--evergreen); color:var(--white); }

.ip-two-col{
    background:var(--white);
    max-width:1100px;
    margin:0 auto 40px;
    padding:34px;
    border-radius:0;
    border:1px solid var(--hairline);
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:40px;
}

.ip-two-col h3{ color:var(--ink); margin-bottom:10px; }

.ip-two-col ul{ padding-left:18px; }

.ip-two-col li{ margin-bottom:6px; color:var(--slate); }

.ip-center-text{ text-align:center; color:var(--slate); max-width:600px; margin:0 auto; }

@media (max-width:768px){
    .ip-process{ grid-template-columns:1fr; }
    .ip-cards{ grid-template-columns:1fr; }
    .ip-pill-grid{ grid-template-columns:1fr; }
    .ip-check-grid{ grid-template-columns:1fr; }
    .ip-two-col{ grid-template-columns:1fr; }
    .ip-hero h1{ font-size:26px; }
}

.ip-hero, .ip-section, .ip-highlight, .ip-two-col{
    opacity:0;
    transform:translateY(40px);
    transition:all .7s ease;
}

.ip-show{ opacity:1; transform:translateY(0); }

.ip-card{ opacity:0; transform:translateY(24px); transition:.5s ease; }

.ip-card.ip-show{ opacity:1; transform:translateY(0); }

.ip-card:nth-child(1){ transition-delay:.1s; }
.ip-card:nth-child(2){ transition-delay:.2s; }
.ip-card:nth-child(3){ transition-delay:.3s; }
.ip-card:nth-child(4){ transition-delay:.4s; }

.ip-pill-grid div, .ip-check-grid div{ opacity:0; transform:scale(.95); transition:.4s ease; }

.ip-pill-grid div.ip-show, .ip-check-grid div.ip-show{ opacity:1; transform:scale(1); }

.ip-card::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(120deg, transparent, rgba(176,141,87,.15));
    opacity:0;
    transition:.4s;
}

.ip-card:hover::before{ opacity:1; }

.ip-section:hover, .ip-two-col:hover{
    border-color:var(--brass);
    transform:translateY(-2px);
}

/* =========================================================================
   GLOBAL REACH (.gr-*)
   ========================================================================= */

.global-reach{ padding:50px 20px; background:var(--ivory); }

.gr-hero{ text-align:center; margin-bottom:60px; }

.gr-hero h1{ font-size:36px; color:var(--ink); }

.gr-map-section{ max-width:1100px; margin:auto auto 50px; text-align:center; }

.gr-map{ position:relative; max-width:900px; margin:auto; border:1px solid var(--hairline); padding:16px; background:var(--white); }

.gr-map img{ width:100%; opacity:.9; filter:grayscale(20%); }

.dot{
    width:10px;
    height:10px;
    background:var(--brass);
    border-radius:50%;
    position:absolute;
    animation:pulse2 2s infinite;
}

.europe{ top:30%; left:45%; }
.middle-east{ top:45%; left:50%; }
.africa{ top:60%; left:48%; }
.asia{ top:35%; left:70%; }
.usa{ top:35%; left:20%; }

@keyframes pulse2{
    0%{ transform:scale(1); }
    50%{ transform:scale(1.5); }
    100%{ transform:scale(1); }
}

.gr-section{
    background:var(--white);
    max-width:1100px;
    margin:auto auto 40px;
    padding:32px;
    border-radius:0;
    border:1px solid var(--hairline);
}

.gr-section h2{ color:var(--ink); margin-bottom:16px; }

.gr-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--hairline); }

.gr-card{ background:var(--ivory); padding:22px; border-radius:0; }

.gr-bars{ margin-top:20px; }

.bar{ background:var(--ivory-deep); height:6px; border-radius:0; }

.bar div{ height:100%; width:0; background:var(--evergreen); transition:1.2s; }

.gr-steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--hairline); }

.gr-steps div{ background:var(--ivory); padding:20px; font-size:14px; color:var(--slate); }

.gr-highlight{
    background:#63A18F;
    color:var(--white);
    display:flex;
    justify-content:space-around;
    padding:40px;
    border-radius:0;
    border-left:3px solid var(--brass);
}

@media(max-width:768px){
    .gr-grid, .gr-steps{ grid-template-columns:1fr; }
    .gr-highlight{ flex-direction:column; gap:18px; }
}

/* =========================================================================
   CONTACT PAGE
   ========================================================================= */

.contact-page{ background:var(--ivory); padding:50px 20px; font-family:var(--font-body); }

.contact-hero{ text-align:center; margin-bottom:50px; }

.contact-hero h1{ font-size:36px; color:var(--ink); }

.contact-hero p{ color:var(--slate); }

.contact-container{
    display:grid;
    grid-template-columns:1fr 1fr;
    max-width:1100px;
    margin:auto;
    width:100%;
}

.contact-form,
.contact-info{
    width:100%;
    min-width:0;
    box-sizing:border-box;
}

.contact-info{
    background:var(--ink);
    color:var(--ink);
    padding:34px;
    border-radius:0;
}

.contact-info h2{ margin-bottom:20px; color:var(--white); }

.info-box{ display:flex; gap:15px; margin-bottom:20px; }

.info-box i{ font-size:17px; color:var(--brass-light); }

.contact-form{
    background:var(--white);
    padding:34px;
    border-radius:0;
    box-shadow:none;
}

.contact-form h2{ margin-bottom:20px; color:var(--ink); }

.contact-form input, .contact-form textarea{
    width:100%;
    padding:13px;
    margin-bottom:15px;
    border:1px solid var(--hairline);
    border-radius:0;
    font-family:var(--font-body);
    background:var(--ivory);
}

.contact-form input:focus, .contact-form textarea:focus{
    outline:none;
    border-color:var(--brass);
}

.contact-form button{
    background:var(--ink);
    color:var(--white);
    padding:13px;
    width:100%;
    border:none;
    border-radius:0;
    clip-path:var(--clip-sm);
    font-family:var(--font-mono);
    letter-spacing:.04em;
    text-transform:uppercase;
    font-size:13px;
    transition:.3s;
}

.contact-form button:hover{ background:var(--brass); color:var(--ink); }

@media (max-width:768px){

    .contact-page{
        padding:40px 15px;
    }

    .contact-container{
        display:grid;
        grid-template-columns:1fr;
        gap:20px;
    }

    .contact-form,
    .contact-info{
        width:100%;
        padding:24px;
    }

}

@media(max-width:768px){
    .contact-container{ grid-template-columns:1fr; }
}

/* Button loader */
button{ position:relative; overflow:hidden; }

.loader{
    width:18px;
    height:18px;
    border:2px solid var(--white);
    border-top:2px solid transparent;
    border-radius:50%;
    position:absolute;
    top:50%; left:50%;
    transform:translate(-50%,-50%);
    display:none;
    animation:spin 1s linear infinite;
}

@keyframes spin{ 100%{ transform:rotate(360deg); } }

button.loading .loader{ display:block; }
button.loading .btn-text{ visibility:hidden; }

.error{ color:#9C3B33; font-size:12px; display:none; font-family:var(--font-mono); }

.popup{
    position:fixed;
    inset:0;
    background:rgba(11,18,16,.55);
    display:none;
    justify-content:center;
    align-items:center;
}

.popup-box{
    background:var(--white);
    padding:32px;
    border-radius:0;
    border-top:3px solid var(--brass);
    animation:pop .4s ease;
}

@keyframes pop{
    from{ transform:scale(.6); opacity:0; }
    to{ transform:scale(1); opacity:1; }
}

.contact-float{
    position:fixed;
    top:50%;
    right:0;
    transform:translateY(-50%);
    background:var(--ink);
    color:var(--ivory);
    padding:16px 12px;
    border-radius:0;
    text-decoration:none;
    font-weight:600;
    font-family:var(--font-mono);
    font-size:12px;
    letter-spacing:.05em;
    writing-mode:vertical-rl;
    text-orientation:mixed;
    box-shadow:0 10px 24px rgba(0,0,0,.25);
    border-left:2px solid var(--brass);
    z-index:999;
    transition:.3s;
    right:-6px;
}

.contact-float:hover{
    background:var(--brass);
    color:var(--ink);
    transform:translateY(-50%) scale(1.03);
    right:0;
}

.custom-lang{
    position:fixed;
    top:80%;
    right:0;
    transform:translateY(-50%);
    background:var(--ink);
    padding:10px;
    border-radius:0;
    border-left:2px solid var(--brass);
    z-index:999;
}

.custom-lang select{
    background:var(--white);
    padding:6px;
    border-radius:0;
    border:1px solid var(--hairline);
    font-size:12px;
    font-family:var(--font-mono);
    cursor:pointer;
}

/* =========================================================================
   OUR PEOPLE
   ========================================================================= */

.our-people{ padding:60px 20px; background:var(--ivory); }

.section-header{ text-align:center; margin-bottom:40px; }

.section-header h2{ font-size:32px; color:var(--ink); }

.section-header p{ color:var(--slate); }

.people-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--hairline); }

.person-card{
    background:var(--white);
    border-radius:0;
    overflow:hidden;
    text-align:center;
    cursor:pointer;
    transition:.3s;
    position:relative;
}

.person-card:hover{ transform:translateY(-6px); }

.person-card img{
    width:100%;
    height:520px;
    object-fit:cover;
    filter:grayscale(30%);
}

.overlay{
    position:absolute;
    inset:0;
    background:rgba(11,18,16,.88);
    display:flex;
    justify-content:center;
    align-items:center;
    color:var(--ivory);
    opacity:0;
    transition:.3s;
}

.person-card:hover .overlay{ opacity:1; }

.person-card h3{ margin-top:10px; color:var(--ink); }

.person-card span{ color:var(--slate-light); font-size:13px; }

.linkedin i{ color:var(--brass-light); margin:10px 0 15px; }

.profile-modal{
    position:fixed;
    inset:0;
    background:rgba(11,18,16,.7);
    display:none;
    justify-content:center;
    align-items:center;
    z-index:999;
}

.modal-box{
    background:var(--white);
    padding:34px;
    max-width:600px;
    border-radius:0;
    border-top:3px solid var(--brass);
    animation:popup .4s ease;
}

@keyframes popup{
    from{ transform:scale(.7); opacity:0; }
    to{ transform:scale(1); opacity:1; }
}

.close-btn{ float:right; cursor:pointer; font-size:18px; color:var(--slate); }

@media(max-width:1024px){
    .people-grid{ grid-template-columns:repeat(2,1fr); }
}

@media(max-width:768px){
    .people-grid{ grid-template-columns:1fr; }
}

/* =========================================================================
   MAP SECTION (world pins)
   ========================================================================= */

.map-section-new{ padding:40px 10px; background:var(--ivory); }

.map-container-new{ max-width:1000px; margin:auto; position:relative; border:1px solid var(--hairline); padding:16px; background:var(--white); }

.map-image-new{ width:100%; height:auto; display:block; filter:grayscale(20%); }

.map-pin{
    position:absolute;
    width:9px;
    height:9px;
    background:var(--brass);
    border-radius:50%;
    transform:translate(-50%,-50%);
}

.map-pin::before{
    content:"";
    position:absolute;
    width:18px; height:18px;
    border:1px solid rgba(176,141,87,.4);
    border-radius:50%;
    top:50%; left:50%;
    transform:translate(-50%,-50%);
    animation:mapPulse 2s infinite ease-out;
}

@keyframes mapPulse{
    0%{ transform:translate(-50%,-50%) scale(.8); opacity:1; }
    100%{ transform:translate(-50%,-50%) scale(1.8); opacity:0; }
}

.map-pin.usa{ top:38%; left:22%; }
.map-pin.canada{ top:22%; left:22%; }
.map-pin.mexico{ top:48%; left:20%; }
.map-pin.brazil{ top:70%; left:32%; }
.map-pin.argentina{ top:82%; left:30%; }
.map-pin.uk{ top:38%; left:65%; }
.map-pin.ireland{ top:56%; left:43%; }
.map-pin.france{ top:35%; left:46%; }
.map-pin.germany{ top:30%; left:50%; }
.map-pin.netherlands{ top:28%; left:48%; }
.map-pin.switzerland{ top:34%; left:50%; }
.map-pin.italy{ top:38%; left:52%; }
.map-pin.spain{ top:40%; left:44%; }
.map-pin.sweden{ top:20%; left:52%; }
.map-pin.uae{ top:48%; left:60%; }
.map-pin.saudi{ top:50%; left:58%; }
.map-pin.qatar{ top:78%; left:58%; }
.map-pin.egypt{ top:45%; left:54%; }
.map-pin.kenya{ top:58%; left:55%; }
.map-pin.nigeria{ top:52%; left:50%; }
.map-pin.southafrica{ top:82%; left:50%; }
.map-pin.india{ top:50%; left:66%; }
.map-pin.pakistan{ top:48%; left:63%; }
.map-pin.china{ top:45%; left:74%; }
.map-pin.japan{ top:38%; left:85%; }
.map-pin.singapore{ top:66%; left:73%; }
.map-pin.indonesia{ top:70%; left:76%; }
.map-pin.australia{ top:84%; left:82%; }
.map-pin.newzealand{ top:90%; left:88%; }

@media (max-width:991px){
    .map-container-new{ max-width:94%; }
    .map-pin{ width:7px; height:7px; }
    .map-pin::before{ width:14px; height:14px; }
}

@media (max-width:768px){
    .map-section-new{ padding:0px 10px; }
    .map-container-new{ max-width:100%; }
    .map-pin{ width:6px; height:6px; }
    .map-pin::before{ width:12px; height:12px; border-width:1px; }
}

@media (max-width:480px){
    .map-pin{ width:5px; height:5px; }
    .map-pin::before{ width:10px; height:10px; }
}

/* =========================================================================
   CASE STUDIES LIST
   ========================================================================= */

.cs-sec{ padding:50px 20px; background:var(--ivory); }

.cs-wrap{ max-width:1200px; margin:auto; }

.cs-head{ text-align:center; margin-bottom:40px; }

.cs-head h2{ font-size:34px; color:var(--ink); }

.cs-head p{ color:var(--slate); max-width:700px; margin:10px auto; }

.cs-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--hairline); }

.cs-card{ background:var(--white); border-radius:0; overflow:hidden; transition:.3s; }

.cs-card:hover{ transform:translateY(-4px); }

.cs-card img{ width:100%; height:360px; object-fit:cover; filter:grayscale(15%); }

.cs-text{ padding:20px; }

.cs-text h3 a{ text-decoration:none; color:var(--ink); font-size:18px; }

.cs-text p{ font-size:14px; color:var(--slate); margin-top:8px; }

.cs-pg{ text-align:center; margin-top:30px; }

.cs-pg button{
    margin:5px;
    padding:9px 14px;
    border:1px solid var(--hairline);
    background:var(--white);
    cursor:pointer;
    border-radius:0;
    font-family:var(--font-mono);
    font-size:12px;
}

.cs-pg .active{ background:var(--ink); color:var(--white); border-color:var(--ink); }

@media(max-width:768px){
    .cs-grid{ grid-template-columns:1fr; }
}

/* =========================================================================
   CASE STUDY DETAIL
   ========================================================================= */

.cs-detail-sec{
    background:linear-gradient(180deg,#f8f6f2 0%,#f2efe8 100%);
    padding:70px 20px;
}

.cs-detail-wrap{
    max-width:1150px;
    margin:auto;
}


/* TITLE */

.cs-title{
    text-align:center;
    margin-bottom:45px;
}

.cs-title h1{
    font-size:42px;
    color:var(--ink);
    font-weight:600;
    line-height:1.25;
    margin-bottom:12px;
}

.cs-title:after{
    content:"";
    width:90px;
    height:3px;
    background:var(--brass);
    display:block;
    margin:18px auto 0;
}


/* META */

.cs-meta{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
    gap:20px;
    margin-bottom:45px;
}

.cs-meta div{
    background:var(--white);
    padding:22px;
    border-left:4px solid var(--brass);
    box-shadow:0 12px 30px rgba(0,0,0,.05);
    transition:.3s;
    font-size:14px;
    line-height:1.7;
    color:var(--slate);
    font-family:var(--font-mono);
}

.cs-meta div:hover{
    transform:translateY(-5px);
}

.cs-meta strong{
    display:block;
    color:var(--ink);
    margin-bottom:6px;
    font-family:var(--font-body);
    font-size:15px;
}


/* CONTENT BLOCK */

.cs-block{
    background:var(--white);
    padding:38px;
    margin-bottom:28px;
    border-left:5px solid var(--brass);
    box-shadow:0 10px 30px rgba(0,0,0,.05);
    transition:.3s;
}

.cs-block:hover{
    transform:translateY(-3px);
    box-shadow:0 18px 45px rgba(0,0,0,.08);
}

.cs-block:last-child{
    margin-bottom:0;
}


/* HEADINGS */

.cs-block h2{
    font-size:27px;
    color:var(--ink);
    margin-bottom:18px;
    position:relative;
}

.cs-block h2:after{
    content:"";
    width:55px;
    height:2px;
    background:var(--brass);
    display:block;
    margin-top:10px;
}

.cs-block h3{
    font-size:20px;
    color:var(--ink);
    margin:30px 0 15px;
}


/* TEXT */

.cs-block p{
    color:var(--slate);
    font-size:16px;
    line-height:1.9;
    margin-bottom:18px;
}

.cs-block p:last-child{
    margin-bottom:0;
}


/* LISTS */

.cs-block ul{
    margin:20px 0;
    padding-left:0;
    list-style:none;
}

.cs-block li{
    position:relative;
    padding-left:26px;
    margin-bottom:14px;
    color:var(--slate);
    line-height:1.8;
}

.cs-block li:before{
    content:"";
    width:8px;
    height:8px;
    border-radius:50%;
    background:var(--brass);
    position:absolute;
    left:0;
    top:10px;
}

.cs-block li strong{
    color:var(--ink);
}


/* NESTED LIST */

.cs-block li ul{
    margin-top:14px;
    margin-left:10px;
}

.cs-block li ul li:before{
    width:6px;
    height:6px;
}


/* DISCLAIMER */

.cs-block em{
    display:block;
    background:#fbf9f4;
    border-left:4px solid var(--brass);
    padding:18px;
    font-style:italic;
    color:#666;
}


/* MOBILE */

@media(max-width:900px){

.cs-title h1{
    font-size:34px;
}

.cs-meta{
    grid-template-columns:1fr 1fr;
}

}

@media(max-width:768px){

.cs-detail-sec{
    padding:45px 18px;
}

.cs-title{
    margin-bottom:30px;
}

.cs-title h1{
    font-size:28px;
}

.cs-meta{
    grid-template-columns:1fr;
    gap:14px;
}

.cs-meta div{
    padding:18px;
}

.cs-block{
    padding:24px;
    margin-bottom:18px;
}

.cs-block h2{
    font-size:22px;
}

.cs-block h3{
    font-size:18px;
}

.cs-block p,
.cs-block li{
    font-size:15px;
    line-height:1.8;
}

}

/* =========================================================================
   PRIVACY / LEGAL PAGES
   ========================================================================= */

.pp-sec{ padding:50px 20px; background:var(--ivory); font-family:var(--font-body); }

.pp-wrap{ max-width:1000px; margin:auto; }

.pp-head{ text-align:center; margin-bottom:40px; }

.pp-head h1{ font-size:34px; color:var(--ink); }

.pp-head p{ color:var(--slate-light); margin-top:6px; font-family:var(--font-mono); font-size:13px; }

.pp-block{
    background:var(--white);
    padding:28px;
    margin-bottom:1px;
    border-radius:0;
    box-shadow:none;
    border:1px solid var(--hairline);
}

.pp-block h2{ color:var(--ink); margin-bottom:10px; font-size:22px; }

.pp-block p{ color:var(--slate); line-height:1.7; }

.pp-block ul{ padding-left:18px; }

.pp-block li{ margin-bottom:8px; color:var(--slate); }

@media (max-width:768px){
    .pp-head h1{ font-size:26px; }
}

/* =========================================================================
   FOLDABLE / VERY SMALL SCREENS — final safety net for all sections
   ========================================================================= */

@media (max-width:320px){
    .about-title h2,
    .presence-header h2,
    .expertise-header h2,
    .portfolio-header h2,
    .funds-title h2,
    .sector-header h2,
    .sus-hero h2,
    .inv-header h2,
    .gr-hero h1,
    .contact-hero h1,
    .cs-head h2,
    .pp-head h1{
        font-size:20px !important;
    }
    .container{ padding:0 12px; }
    .fund-header h1{ font-size:24px; }
    .investment-cta h2{ font-size:22px; }
}


.solution-slider{

    position:relative;
    overflow:hidden;


}

/* Timeline */
.solution-track::before{
    content:"";
    position:absolute;
    left:0;
    top:28px;
    width:100%;
    height:3px;
    background:linear-gradient(
        90deg,
        var(--evergreen),
        var(--brass),
        var(--evergreen)
    );
}

.solution-track{
    display:flex;
    gap:25px;
    width:max-content;
    position:relative;
    padding-top:0px;
    padding-bottom: 10px;
    animation:solutionScroll 35s linear infinite;
}

.solution-track:hover{

    animation-play-state:paused;

}

.solution-card{

    width:340px;

    background:#fff;

    border-radius:25px;

    padding:35px;

    position:relative;

    margin-top:50px;

    box-shadow:0 20px 45px rgba(0,0,0,.08);

    transition:.4s;

}

.solution-card:hover{

    transform:translateY(-12px);

}

.dot{

    position:absolute;

    top:-63px;

    left:40px;

    width:20px;
    height:20px;

    background:var(--brass);

    border-radius:50%;

    border:5px solid #fff;

}

.solution-card i{

    font-size:32px;
    color:var(--evergreen);

    margin-bottom:20px;

}

.solution-card h4{

    margin-bottom:15px;
    font-size:22px;

}

.solution-card p{

    line-height:1.8;

}

@keyframes solutionScroll{

    from{

        transform:translateX(0);

    }

    to{

        transform:translateX(-50%);

    }

}

.solution-card::after{

    content:"";

    position:absolute;

    left:0;
    bottom:0;

    width:0;
    height:4px;

    background:var(--brass);

    transition:.4s;

}

.solution-card:hover::after{

    width:100%;

}

/*==================================================
CASE STUDIES SLIDER
==================================================*/

.caseflow-section{

    position:relative;
    overflow:hidden;
    padding-bottom:20px;

}

.caseflow-slider{

    overflow:hidden;
    position:relative;

}

.caseflow-track{

    display:flex;
    gap:28px;
    width:max-content;
    padding:0 0 25px;
    position:relative;
    animation:caseFlowScroll 38s linear infinite;

}

.caseflow-track:hover{

    animation-play-state:paused;

}

/* Timeline */

.caseflow-track::before{

    content:"";
    position:absolute;
    left:0;
    top:38px;
    width:100%;
    height:3px;
    background:linear-gradient(
        90deg,
        var(--evergreen),
        var(--brass),
        var(--evergreen)
    );

}

.caseflow-item{

    width:370px;
    margin-top:60px;

    background:#fff;

    border-radius:22px;

    overflow:hidden;

    position:relative;

    box-shadow:0 18px 45px rgba(0,0,0,.08);

    transition:.35s;

    flex-shrink:0;

}

.caseflow-item:hover{

    transform:translateY(-12px);

    box-shadow:0 28px 55px rgba(0,0,0,.14);

}

.caseflow-dot{

    position:absolute;

    top:-32px;

    left:45px;

    width:18px;
    height:18px;

    border-radius:50%;

    background:var(--brass);

    border:5px solid #fff;

    z-index:20;

}

.caseflow-image{

    display:block;
    overflow:hidden;

}

.caseflow-image img{

    width:100%;
    height:420px;
    object-fit:cover;

    transition:.6s;

    display:block;

}

.caseflow-item:hover img{

    transform:scale(1.08);

}

.caseflow-content{

    padding:28px;

}

.caseflow-content h3{

    font-size:23px;

    line-height:1.35;

    margin-bottom:16px;

}

.caseflow-content h3 a{

    color:var(--evergreen);

    text-decoration:none;

    transition:.3s;

}

.caseflow-content h3 a:hover{

    color:var(--brass);

}

.caseflow-content p{

    color:#666;

    line-height:1.8;

    margin-bottom:25px;

}

.caseflow-btn{

    display:inline-block;

    text-decoration:none;

    color:var(--evergreen);

    font-weight:600;

    font-size:14px;

    letter-spacing:.06em;

    text-transform:uppercase;

    transition:.3s;

}

.caseflow-btn:hover{

    color:var(--brass);

    transform:translateX(5px);

}

.caseflow-item::after{

    content:"";

    position:absolute;

    left:0;
    bottom:0;

    width:0;

    height:4px;

    background:var(--brass);

    transition:.45s;

}

.caseflow-item:hover::after{

    width:100%;

}

@keyframes caseFlowScroll{

    from{

        transform:translateX(0);

    }

    to{

        transform:translateX(-50%);

    }

}

/*==========================
Responsive
==========================*/

@media(max-width:768px){

.caseflow-item{

    width:300px;

}

.caseflow-image img{

    height:300px;

}

.caseflow-content{

    padding:22px;

}

.caseflow-content h3{

    font-size:19px;

}

.caseflow-content p{

    font-size:15px;

}

}