﻿
/*:root{
    --vtitle-color: #09347a;
  --title-color: #09347a;
  --vline-color: #8b92be;
  --main-color: #09347a;
  --line-color: blue;
  --title-grey: #2f3f4b;
}
 */

:root {
    --vtitle-color: #2f3f4b;
    --title-color: #7030a0;
    --vline-color: #2f3f4b;
    --main-color: #2f3f4b;
    --line-color: #2f3f4b;
    --title-grey: #2f3f4b;
    --title-blue:#7030a0;
    --title-new:#2f3f4b;
    --hr-color:#7030a0;
}


        hr {
              border: none;             /* Remove default 3D border */
              height: 8px;              /* Set line thickness */
              background-color: #7030a0; /* Replace with your Hex code */
            }



h1{font-family :goblin-one-regular;color:#686161;}

h3{font-family :goblin-one-regular;}
body {   font-family: 'carlito-regular',  sans-serif; background-color :white;  }

.container { max-width:1300px; }
/* Vertical title */
.vertical-title { width:140px; text-align:center; top:0; }
.vertical-title .main-title { writing-mode: vertical-rl; transform: rotate(180deg); color: var(--title-color); font-weight:700; font-size:38px; font-family :'rammetto-one-regular'  }
.vertical-title .vline { width:2px; height:60px; background: var(--vline-color); margin:8px auto; }
.vertical-title .subtitle { color: var(--title-color); margin-top:8px; text-transform:lowercase; font-size:14px;   }
/* Footer */
.footer-title { color: var(--title-color); font-weight:900; }
.footer-f{ color: var(--title-color);}
.site-footer { border-top: 1px solid var(--line-color); }
/* video */
.video-wrapper { position: relative; min-height:300px; background:#000; overflow:hidden; }
.video-wrapper img { width:100%; height:100%; object-fit:cover; display:block; }
.video-play { position:absolute; left:75%; top:60%; transform:translate(-50%,-50%); width:90px; height:90px; border-radius:50%; background: rgba(112,48,160,0.95); border:none; cursor:pointer; box-shadow:0 6px 20px rgba(0,0,0,0.3); }
.video-play:after { content:''; position:absolute; left:40%; top:40%; width:0; height:0; border-left:18px solid #f8f5fa; border-top:10px solid transparent; border-bottom:10px solid transparent; }
.vsmall-line { width:3px; height:20px; background: var(--line-color); margin-right:6px; }
.firm-logo {
            max-width: 100%;
            height: auto;
            display: block;
            margin: 2rem auto;
            width: 100%;
            object-fit: contain;
        }
        .nav-link {
              position: relative;
              padding-top: 12px;   /* gives space for the top line */
              font-size: 20px;          /* bigger text */
              font-weight: 400;         /* wider / thicker font */
              letter-spacing: 1px;      /* spacing between letters → wider look */
              padding :30PX;
             /* text-transform: uppercase;  OPTIONAL: makes it look more premium */
              color: var(--main-color);

            }
.navbar-nav {
  margin-right: 150px !important;


}
.nav-link{
    margin-right : 30px;
}
.nav-link::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0%;
  height: 5px;               /* thickness of the top line */
  background-color: #7030a0; /*  #8b92be;your brand color */
  transition: width 0.3s ease;
}

.nav-link:hover::before {
  width: 100%;
}

.nav-link.active::before {
 /* width: 100%; */
}
.nav-link.active {
    font-weight: 700 !important;      /* bold text */
    color: #7030a0;
}

.nav-link.active::before {
    /* width: 100% !important;           show the top line */
}


h2{
    font-family:goblin-one-regular;
}

.capabilities-list .list-group-item {
    font-family: 'Carrois Gothic', sans-serif;
    font-size: 22px;
    color: #333;
    border: none;
    padding: 16px 10px;
    cursor: pointer;
    transition: background-color 0.25s ease;
    background-color: white;
}

.capabilities-list .list-group-item:hover {
    background-color: #f1f3f5;
}

.capabilities-list .arrow {
    font-size: 26px;
    color: #8b92be;
    font-weight: 300;
    transition: transform 0.25s ease;
}

.capabilities-list .list-group-item:hover .arrow {
    transform: translateX(5px);
}

    .title-line {
    color: var(--title-color);
    /* or use: border-color: var(--title-color); */
}
@media (max-width:767px){ 
    .vertical-title { display:none; } 

    
}
            .contact-info {
                text-align: center;
            }

            .firm-logo {
                padding: 0 1rem;
                box-sizing: border-box;
            }
        }



/* Mobile-specific navbar adjustments */
@media (max-width: 991.98px) {
     .vertical-title { display:none; } 
    /* Ensure toggle button stays on right */
    .navbar-toggler.ms-auto {
        margin-left: auto !important;
        margin-right: 0;
    }
    
    /* Center-align mobile menu items */
    .navbar-collapse {
        text-align: center;
    }
    
    /* Add spacing for mobile menu items */
    .navbar-nav .nav-item {
        padding: 10px 0;

    }
    
    /* Hide desktop logo on mobile if using alternative */
    .navbar-brand.d-block.d-lg-none {
        display: block !important;
    }
    
    .navbar-brand:not(.d-block.d-lg-none) {
        display: none !important;
    }

}