/* =====================================================
   NRI Legal Services India — Master Stylesheet
   Palette: Navy (authority) + Gold (trust/premium) + Off-white
   ===================================================== */

:root{
  --navy-950:#050f22;
  --navy-900:#0a1e3c;
  --navy-800:#0f2a52;
  --navy-700:#16396b;
  --navy-600:#1e4a86;
  --navy-500:#2d5fa3;
  --gold-700:#a5760c;
  --gold-600:#c9960f;
  --gold-500:#d4af37;
  --gold-400:#e2c169;
  --gold-300:#eeda9d;
  --slate-900:#131b2b;
  --slate-700:#3d4759;
  --slate-500:#66728a;
  --ink:#131b2b;
  --ink-soft:#3d4759;
  --paper:#ffffff;
  --paper-soft:#f8f9fc;
  --paper-tint:#eef1f7;
  --paper-warm:#faf7f0;
  --border:#e4e8f0;
  --border-soft:#edf0f6;
  --success:#1f7a4d;
  --danger:#a4322a;
  --radius-sm:8px;
  --radius-md:14px;
  --radius-lg:22px;
  --radius-xl:28px;
  --shadow-sm:0 1px 2px rgba(10,25,55,.05), 0 2px 6px rgba(10,25,55,.05);
  --shadow-md:0 4px 10px rgba(10,25,55,.05), 0 14px 32px rgba(10,25,55,.10);
  --shadow-lg:0 10px 24px rgba(10,25,55,.10), 0 28px 64px rgba(10,25,55,.16);
  --shadow-gold:0 10px 28px rgba(197,152,20,.28);
  --ease-premium:cubic-bezier(.22,.61,.36,1);
  --maxw:1180px;
  --font-head:'Playfair Display', Georgia, 'Times New Roman', serif;
  /* --font-body:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif; */
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'DM Sans', sans-serif;
  color:var(--slate-700);
  background:var(--paper);
  line-height:1.7;
  font-size:17px;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
h1,h2,h3,h4{
  color:var(--navy-900);
  line-height:1.2;
  margin:0 0 .6em;
  font-weight:500;
  letter-spacing:-.01em;
}
h1, h2, h3 {
    /* font-family: var(--font-head); */
    font-weight: 500;
}
h4, h5, h6 {
    /* font-family: var(--font-body); */
    font-weight: 700;
}
h1{font-size:clamp(2.15rem,4.2vw,3.4rem); font-weight:500; letter-spacing:-.02em;}
h2{font-size:clamp(1.55rem,2.7vw,2.3rem);}
h3{font-size:1.38rem;}
h4{font-size:1.08rem; letter-spacing:0;}
h1, h2, h3, h4, h5, h6 {
    font-family: 'Open Sans', sans-serif;
}
h2 span {
    color: #cfa527;
}
p {
    margin: 0 0 1.1em;
    color: #000000;
    font-size: 16px;
}
.col, .col-1, .col-10, .col-11, .col-12, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-auto, 
.col-lg, .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, 
.col-lg-7, .col-lg-8, .col-lg-9, .col-lg-auto, .col-md, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, 
.col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-auto, .col-sm, .col-sm-1, 
.col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, 
.col-sm-9, .col-sm-auto, .col-xl, .col-xl-1, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl-2, .col-xl-3, .col-xl-4, 
.col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-auto {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
}

.row {
    display: flex;
    flex-wrap: wrap;
}
.col-lg-4 {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
}
.col-lg-3 {
    max-width: 25%;
}
.col-lg-6 {
    max-width: 50%;
}

.col-lg-12 {
    max-width: 100%;
}

   .col-lg-8 {
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
}
.d-flex{
    display: flex;
}
::placeholder {
    color: #000;
}


@media(max-width:991px){
        .col-md-6 {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
    }
}
@media(max-width:768px){
        .col-sm-12 {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }
}

a{color:var(--navy-700); text-decoration:none;}
a:hover{color:var(--gold-600);}
ul, ol {
    margin: 0 0 1.1em;
    padding-left: 1.4em;
    color: #000000;
    list-style-type: none;
}
li{margin-bottom:.45em;}
img{max-width:100%; display:block;}
.container{max-width:var(--maxw); margin:0 auto; padding:0 24px;}
section{padding:64px 0;}
section.tight{padding:40px 0;}
.section-tint{background:var(--paper-tint);}
.section-navy{background:linear-gradient(135deg,var(--navy-900),var(--navy-700)); color:#fff;}
.section-navy h2, .section-navy h3, .section-navy p{color:#fff;}
.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .5em;
    text-transform: uppercase;
    letter-spacing: .14em;
    font-size: 13px;
    font-weight: 700;
    font-family: var(--font-body);
    color: var(--gold-700);
    background: rgba(212,175,55,.10);
    border: 1px solid rgba(212,175,55,.28);
    padding: 6px 14px 6px 12px;
    border-radius: 999px;
    margin-bottom: 1.9em;
}
.eyebrow::before{content:""; width:6px; height:6px; border-radius:50%; background:var(--gold-600); flex-shrink:0;}
.section-navy .eyebrow{color:var(--gold-300); background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.18);}
.section-navy .eyebrow::before{background:var(--gold-400);}
.section-navy .eyebrow{color:var(--gold-400);}
.lead{font-size:1.18rem; color:var(--ink-soft);}
.center{
    text-align:center;
}

.mt-0{margin-top:0;} 
.mb-0{margin-bottom:0;}

/* ---------- Buttons ---------- */
.btn{
  position:relative; overflow:hidden; isolation:isolate;
  display:inline-flex; align-items:center; gap:.55em; justify-content:center;
  padding:15px 30px; border-radius:var(--radius-sm); font-weight:700;
  font-size:.98rem; letter-spacing:.01em; text-decoration:none; cursor:pointer; border:2px solid transparent;
  transition:transform .25s var(--ease-premium), box-shadow .25s var(--ease-premium), background-color .25s ease, color .2s ease;
}
.btn::after{
  content:""; position:absolute; inset:0; z-index:-1; opacity:0;
  background:linear-gradient(115deg, transparent 30%, rgba(255,255,255,.55) 48%, rgba(255,255,255,.55) 52%, transparent 70%);
  transform:translateX(-120%); transition:transform .7s var(--ease-premium), opacity .1s ease;
}
.btn:hover::after{opacity:1; transform:translateX(120%);}
.btn-primary{background:linear-gradient(135deg,var(--gold-500),var(--gold-600)); color:var(--navy-950); box-shadow:0 1px 2px rgba(10,25,55,.06), 0 8px 18px rgba(197,150,15,.22);}
.btn-primary:hover{background:linear-gradient(135deg,var(--gold-400),var(--gold-500)); color:var(--navy-950); transform:translateY(-2px); box-shadow:var(--shadow-gold);}
.btn-primary:active{transform:translateY(0);}
.btn-outline{border-color:rgba(255,255,255,.55); color:#fff; background:rgba(255,255,255,.04); backdrop-filter:blur(2px);}
.btn-outline:hover{background:#fff; color:var(--navy-900); border-color:#fff; transform:translateY(-2px); box-shadow:var(--shadow-md);}
.btn-navy{background:linear-gradient(135deg,var(--navy-800),var(--navy-900)); color:#fff;}
.btn-navy:hover{background:linear-gradient(135deg,var(--navy-700),var(--navy-800)); color:#fff; transform:translateY(-2px); box-shadow:var(--shadow-md);}
.btn-block{width:100%;}
.btn-sm{padding:10px 18px; font-size:.88rem;}
.btn:focus-visible{outline:2px solid var(--gold-500); outline-offset:3px;}
.btn-secondary {
    border-color: rgba(255,255,255,.55);
    color: #fff;
    background: rgba(255,255,255,.04);
    backdrop-filter: blur(2px);
}
.btn-secondary:hover {
    background: #fff;
    color: var(--navy-900);
    border-color: #fff;
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}
/* ---------- Top utility bar ---------- */
.topbar{
  background:var(--navy-900); color:#cfd8e6; font-size:.85rem; padding:8px 0;
}
.topbar .container-fluid{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px;}
.topbar a{color:#e8edf6;}
.topbar .topbar-links{display:flex; gap:18px; flex-wrap:wrap;}
.topbar .topbar-links span, .topbar .topbar-links a{display:inline-flex; align-items:center; gap:6px;}

/* ---------- Header / Nav ---------- */
*{
margin:0;
padding:0;
box-sizing:border-box;

}

body{
background:#f7f9fc;
}

.container{
width:92%;
max-width:1400px;
margin:auto;
}

.container-fluid {
    padding: 0px 60px;
}

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

.topbar{

background:#0b2f63;

padding:9px 0;

font-size:14px;

color:#fff;

}

.topbar-flex{

display:flex;

justify-content:space-between;

align-items:center;

flex-wrap:wrap;

}

.top-left,
.top-right{

display:flex;

gap:22px;

align-items:center;

}

.topbar a{

color:#fff;

text-decoration:none;

transition:.3s;

}

.topbar a:hover{

color:#FFD700;

}

/******** HEADER ********/
.header {
    background: #fff;
    backdrop-filter: saturate(160%) blur(10px);
    -webkit-backdrop-filter: saturate(160%) blur(10px);
    position: sticky;
    top: 0;
    z-index: 9999;
    padding: 15px 0px;
    transition: box-shadow .3s ease, padding .3s ease;
    border-bottom: 1px solid transparent;
}
.header.is-scrolled {
    padding: 15px 0px;
    box-shadow: 0 6px 24px rgba(10,25,55,.08);
    border-bottom-color: var(--border-soft);
}
.header.is-scrolled .logo img{max-width:200px; transition:max-width .3s ease;}

.dropdown-menu a {
    display: block;
    padding: 11px 18px;
    border-radius: 8px;
    margin: 2px 6px;
    font-weight: 500 !important;
    transition: background-color .18s ease, color .18s ease, padding-left .18s ease;
}
.dropdown-menu a:hover {
    background: linear-gradient(90deg, #d0a72a, #cfa323);
    color: #fff !important;
    padding-left: 22px;
}
.nav-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0px 60px;
}

.menu {
    display: flex;
    list-style: none;
    gap: 21px;
    margin: 0;
    padding: 0;
    align-items: center;
}
ul.menu a {
    color: var(--slate-900) !important;
    font-weight: 600;
    font-size: .96rem;
    position: relative;
    padding: 6px 2px;
    transition: color .2s ease;
}
ul.menu > li > a::after{
    content:""; position:absolute; left:2px; right:2px; bottom:0; height:2px;
    background:linear-gradient(90deg,var(--gold-600),var(--gold-400));
    transform:scaleX(0); transform-origin:left; transition:transform .3s var(--ease-premium);
}
ul.menu > li > a:hover{color:var(--gold-700) !important;}
ul.menu > li > a:hover::after{transform:scaleX(1);}
.dropdown-menu a::after{display:none;}
.logo img {
    width: 100%;
    max-width: 200px;
    margin-right: 5px;
}
.logo h2 {
    font-size: 20px;
    margin: 0px;
    color: #0c2242;
}

.menu li{
    position:relative;
}

.dropdown-menu{
    display:none;
    position:absolute;
    left:0;
    top:100%;
    min-width:260px;
    background:#fff;
    box-shadow:0 5px 20px rgba(0,0,0,.15);
}

.dropdown:hover .dropdown-menu{
    display:block;
}

.menu-toggle{
    display:none;
    border:none;
    background:none;
    font-size:28px;
    cursor:pointer;
    padding:8px;
    border-radius:8px;
    transition:background .2s ease;
}
.menu-toggle:hover{background:rgba(10,30,60,.06);}
.menu-toggle-bars{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    width:24px;
    height:18px;
}
.menu-toggle-bars span{
    display:block;
    height:2px;
    width:100%;
    background:var(--navy-900,#0a1e3c);
    border-radius:2px;
    transition:transform .25s var(--ease-premium,ease), opacity .2s ease;
}
.menu-toggle.is-open .menu-toggle-bars span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.menu-toggle.is-open .menu-toggle-bars span:nth-child(2){opacity:0;}
.menu-toggle.is-open .menu-toggle-bars span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
/* --- */
/* Desktop */

.menu-toggle{
    display:none;
}

.main-nav{
    display:block;
}

.dropdown{
    position:relative;
}

.dropdown-menu{
    display:none;
    position:absolute;
    top:calc(100% + 10px);
    left:0;
    background:#fff;
    min-width:300px;
    padding:8px;
    border-radius:var(--radius-md);
    box-shadow:var(--shadow-lg);
    border:1px solid var(--border-soft);
    animation:dropdown-in .22s var(--ease-premium);
}
@keyframes dropdown-in{from{opacity:0; transform:translateY(-6px);} to{opacity:1; transform:translateY(0);}}

.dropdown:hover>.dropdown-menu{
    display:block;
}

/* Mega-menu: categorized "Other Legal Services" dropdown */
.dropdown-mega{ position:static; }
.dropdown-menu.mega-menu{
    left:50%;
    transform:translateX(-50%);
    min-width:unset;
    width:min(1080px, 92vw);
    padding:22px 26px;
    display:none;
    grid-template-columns:repeat(3, 1fr);
    gap:6px 28px;
}
.dropdown-mega:hover>.dropdown-menu.mega-menu{
    display:grid;
}
.mega-col{ min-width:0; }
.mega-col h4{
    font-family:var(--font-body, inherit);
    font-size:.74rem;
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:var(--gold-700, #9a7317);
    margin:0 0 8px;
    padding:0 12px;
    border-bottom:1px solid var(--border-soft, #e7e2d8);
    padding-bottom:8px;
}
.mega-col a{ font-size:.9rem; padding:8px 12px; }

.nav-right {
    display: none;
}

/* Mobile */
@media(max-width:991px){

.nav-wrapper{
    flex-wrap:wrap;
}
.nav-right {
    display: block;
}

/* .menu{
    width:100%;
    flex-direction:column;
    gap:0;
} */

.menu li{
    width:100%;
}

.dropdown-menu{
    position:static;
    width:100%;
    display:none;
    box-shadow:none;
    padding-left:20px;
}

.dropdown.active .dropdown-menu{
    display:block !important;
}

.dropdown-menu.mega-menu{
    left:0;
    transform:none;
    width:100%;
    grid-template-columns:1fr;
    padding:6px 0 6px 14px;
    gap:0;
}
.dropdown.active .dropdown-menu.mega-menu{
    display:block !important;
}
.mega-col{ margin-bottom:10px; }
.mega-col h4{ padding-left:0; }

.menu-toggle{
    display:block;
    cursor:pointer;
}
/* -- */
.main-nav{
    position:absolute;
    top:100%;
    left:0;
    width:100%;
    background:#fff;
    display:none;
    z-index:99999;
}

.main-nav.active{
    display:block !important;
}

.menu{
    flex-direction:column;
    gap:0;
}

.menu li{
    width:100%;
}

.menu li {
    display: block;
    padding: 8px 20px;
    border-bottom: 1px solid #eee;
}

.Contact-section ul {
    justify-content: start !important;
    flex-wrap: wrap;
}

}


@keyframes fadeIn{

from{
opacity:0;
transform:translateY(-10px);
}

to{
opacity:1;
transform:translateY(0);
}

}

/* ================popup================ */
#popup-container{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,.7);
    display:none;
    justify-content:center;
    align-items:center;
    z-index:999999;
}

#popup-box {
    background: #fff;
    width: 600px;
    max-width: 90%;
    padding: 30px;
    border-radius: 10px;
    text-align: justify;
}
/* ---------------- */
/* ---------- Hero ---------- */
.hero {
    background: linear-gradient(135deg,var(--navy-900) 0%, var(--navy-700) 60%, var(--navy-600) 100%);
    color: #fff;
    position: relative;
    overflow: hidden;
    padding: 0px 60px;
}
.hero::after {
    content: "";
    position: absolute;
    inset: 0;
    /* background: radial-gradient(circle at 82% 20%, rgba(201,162,75,.22), transparent 45%); */
    pointer-events: none;
}
.hero .container-fluid {
    position: relative;
    padding: 78px 0px 70px;
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 35px;
    align-items: center;
}
.hero h1 {
    color: #fff;
    margin-bottom: .45em;
    font-size: 45px;
    line-height: 1.4;
}
.hero h1 span {
    color: #d4a017;
}
.hero p.lead{color:#dde5f2;}
.hero-badges{display:flex; gap:0; flex-wrap:wrap; margin-top:30px;}
.hero-badge{display:flex; flex-direction:column; padding:4px 28px 4px 0; margin-right:28px; border-right:1px solid rgba(255,255,255,.14);}
.hero-badge:last-child{border-right:none; margin-right:0;}
.hero-badge .num {
    /* font-family: var(--font-head); */
    font-size: 2.2rem;
    font-weight: 800;
    letter-spacing: -.01em;
    background: linear-gradient(135deg, #d1a82b, #d1aa2f);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.hero-badge .label {
    font-size: 15px;
    color: #c7d2e4;
    max-width:180px;
}
@media(max-width:640px){ .hero-badge{border-right:none; padding-right:0; margin-right:22px;} }
.hero-cta{display:flex; gap:14px; margin-top:30px; flex-wrap:wrap;}
.hero-art{
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.18); border-radius:var(--radius-lg);
  padding:28px; backdrop-filter:blur(4px);
}
.hero-art h4{color:#fff; margin-bottom:14px;}
.hero-art ul{color:#dde5f2; padding-left:1.2em;}
.hero-art li{margin-bottom:10px;}

.ve-contact-form-wrap {
    background: #fff;
    border-radius: 16px;
    padding: 30px 30px;
}
.ve-form-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.ve-form-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0px;
    color: #000;
    font-size: 14px;
}
.ve-hero-right h2 span {
    color: #d4a017;
}
.ve-hero-right h2 {
    font-size: 26px !important;
    text-align: center;
}
section.hero p {
    color: #fff;
}
.ve-hero-right p {
    color: #000 !important;
}
.ve-form-group input, .ve-form-group select, .ve-form-group textarea {
    border: 1px solid #ced4da;
    border-radius: 8px;
    font-size: 14px;
    color: #000000;
    background: #fff;
    outline: none;
    padding: 10px;
    width: 100%;
    margin-bottom: 20px;
}
.ve-form-group label {
    font-size: 15px;
    font-weight: 500;
    color: #000000;
    text-transform: capitalize;
}
.form-control {
    border: 1px solid #ced4da;
    border-radius: 8px;
    font-size: 14px;
    color: #000000;
    background: #fff;
    outline: none;
    padding: 10px;
    width: 100%;
}
.form-group label {
    font-size: 15px;
    font-weight: 500;
    color: #000000;
    text-transform: capitalize;
}

@media (max-width:900px){ .hero .container-fluid{grid-template-columns:1fr;} }

/* Simple inner-page hero (no art panel) */
.hero-simple .container{grid-template-columns:1fr; padding:56px 24px;}
.hero-simple .hero-cta{margin-top:22px;}
section.hero-simple {
    background: linear-gradient(135deg,var(--navy-900) 0%, var(--navy-700) 60%, var(--navy-600) 100%);
}
section.hero-simple h1 {
    color: #fff;
    line-height: 1.4;
    margin-bottom: 20px;
}
section.hero-simple p {
    color: #fff;
    margin-bottom: 30px;
}
section.hero-simple .lead a {
    color: #cea221;
}

/* ---------- Breadcrumb ---------- */
.breadcrumb{background:var(--paper-tint); padding:14px 0; border-bottom:1px solid var(--border);}
.breadcrumb ol{list-style:none; display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; font-size:.85rem; color:var(--ink-soft);}
.breadcrumb li::after{content:"/"; margin-left:8px; color:#b7c0cf;}
.breadcrumb li:last-child::after{content:"";}
.breadcrumb a{color:var(--navy-700);}
.breadcrumb li[aria-current]{color:var(--ink-soft);}

/* ---------- Cards / Grids ---------- */
.grid{display:grid; gap:26px;}
.grid-2{grid-template-columns:repeat(2,1fr);}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}
@media (max-width:900px){ .grid-3,.grid-4{grid-template-columns:repeat(2,1fr);} }
@media (max-width:620px){ .grid-2,.grid-3,.grid-4{grid-template-columns:1fr;} }

.card{
  background:#fff; border:1px solid var(--border); border-radius:var(--radius-md); padding:30px 28px;
  box-shadow:var(--shadow-sm); transition:transform .32s var(--ease-premium), box-shadow .32s var(--ease-premium), border-color .32s ease; height:100%;
}
.card:hover{transform:translateY(-6px); box-shadow:var(--shadow-lg); border-color:rgba(212,175,55,.35);}
.card .icon {
    width: 56px;
    height: 56px;
    border-radius: 16px;
    margin-bottom: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg,var(--navy-900),var(--navy-700));
    box-shadow: 0 6px 16px rgba(10,25,55,.18);
    transition: transform .35s var(--ease-premium), box-shadow .35s var(--ease-premium);
}
.card:hover .icon{transform:translateY(-2px) rotate(-4deg); box-shadow:0 10px 22px rgba(10,25,55,.24);}
.card .icon i{color:var(--gold-400);}
/* Cards using a pre-built custom icon image (already a self-contained navy circle badge)
   should not get the generic icon-font badge background/box; icon-font (<i>) cards do. */
.card .icon:has(img){background:none; box-shadow:none; width:auto; height:auto; border-radius:0; padding:0;}
.card:hover .icon:has(img){box-shadow:none;}
.card.service-card .icon:has(img), .icon:has(img) img{margin-bottom:0;}
.card.service-card img {
    width: 100%;
    max-width: 120px;
    margin-bottom: 20px;
}
.icon img {
    width: 100%;
    max-width: 80px;
}
.icon i {
    font-size: 30px;
}
.card h3{font-size:1.12rem; margin-bottom:.5em;}
.card p{margin-bottom:.6em; font-size:.96rem;}
.card a.card-link{font-weight:700; font-size:.9rem;}

.service-card{border-top:4px solid var(--gold-500);}

.card.service-card.reveal.in-view .icon {
    justify-content: center;
}

.card.service-card img {
    width: 100%;
    max-width: 120px;
    margin-bottom: 20px;
}

.card.sidebar-contact p a {
    color: #d4a017;
}

.card.reveal.in-view .icon {
    justify-content: center;
}
.card.service-card .icon {
    justify-content: center;
}
section.section.section-tint.reveal.in-view .card.service-card .icon {
    justify-content: start;
}
section.section.reveal.in-view .card .icon {
    justify-content: start;
}
section.section.reveal.in-view .card.service-card .icon {
    justify-content: center;
}
.stat-row{display:flex; flex-wrap:wrap; gap:0; border:1px solid var(--border); border-radius:var(--radius-md); overflow:hidden; box-shadow:var(--shadow-sm);}
.stat {
    flex: 1 1 160px;
    text-align: center;
    padding: 30px 16px;
    border-right: 1px solid var(--border);
    background: #fff;
    color: var(--slate-700);
    transition:background .25s ease;
}
.stat:hover{background:var(--paper-warm);}
.stat:last-child{border-right:none;}
.stat .num, .stat > strong{
     display:block; margin-bottom:4px;
     /* font-family:var(--font-head); */
     font-size:2.3rem; font-weight:800; color:var(--navy-800); letter-spacing:-.01em;}
.stat .label, .stat > span{display:block; font-size:.85rem; color:var(--slate-500); font-weight:500;}

/* ---------- FAQ ---------- */
.faq-item{border:1px solid var(--border); border-radius:var(--radius-md); margin-bottom:14px; overflow:hidden; background:#fff; transition:border-color .25s ease, box-shadow .25s ease;}
.faq-item.open{border-color:rgba(212,175,55,.4); box-shadow:var(--shadow-sm);}
.faq-q{
  display:flex; justify-content:space-between; align-items:center; gap:16px; padding:19px 24px;
  cursor:pointer; font-weight:700; color:var(--navy-900); background:#fff; transition:background .2s ease;
}
.faq-item.open .faq-q, .faq-q:hover{background:var(--paper-warm);}
.faq-q .plus{
  font-size:1.05rem; color:var(--gold-600); transition:transform .3s var(--ease-premium); flex-shrink:0;
  width:28px; height:28px; border-radius:50%; border:1.5px solid var(--gold-500);
  display:flex; align-items:center; justify-content:center;
}
.faq-item.open .faq-q .plus{transform:rotate(135deg); background:var(--gold-500); color:var(--navy-950); border-color:var(--gold-500);}
.faq-a{max-height:0; overflow:hidden; transition:max-height .35s var(--ease-premium);}
.faq-a-inner{padding:2px 24px 22px; color:var(--slate-700);}
.faq-item.open .faq-a{max-height:600px;}

/* ---------- CTA banner ---------- */
.cta-banner{
  position:relative; overflow:hidden; isolation:isolate;
  background:linear-gradient(120deg,var(--gold-600),var(--gold-400)); color:var(--navy-950);
  border-radius:var(--radius-lg); padding:46px 48px; display:flex; justify-content:space-between; align-items:center;
  gap:26px; flex-wrap:wrap; box-shadow:var(--shadow-gold);
}
.cta-banner::before{
  content:""; position:absolute; z-index:-1; inset:0;
  background:radial-gradient(circle at 88% 120%, rgba(255,255,255,.35), transparent 55%);
}
.cta-banner h3{color:var(--navy-950); margin-bottom:.3em; font-family:var(--font-head);}
.cta-banner p{color:#4a3a12; margin-bottom:0;}
.cta-banner .btn-primary{background:var(--navy-950); color:#fff; box-shadow:0 8px 18px rgba(5,15,34,.28);}
.cta-banner .btn-primary:hover{background:var(--navy-800); color:#fff;}
.cta-banner .btn-outline{border-color:rgba(10,15,34,.55); color:var(--navy-950); background:rgba(255,255,255,.25);}
.cta-banner .btn-outline:hover{background:var(--navy-950); color:#fff; border-color:var(--navy-950);}

/* ---------- Testimonial ---------- */
.testimonial{background:#fff; border:1px solid var(--border); border-radius:var(--radius-md); padding:30px; box-shadow:var(--shadow-sm);}
.testimonial .stars{color:var(--gold-500); margin-bottom:10px; letter-spacing:2px;}
.testimonial .name{font-weight:700; color:var(--navy-900); margin-top:14px;}
.testimonial .loc{font-size:.85rem; color:var(--ink-soft);}

/* ---------- Table ---------- */
table.info-table{width:100%; border-collapse:collapse; margin:1.4em 0; font-size:.95rem;}
table.info-table th, table.info-table td {
    border: 1px solid var(--border);
    padding: 12px 14px;
    text-align: left;
    color: #293240;
}
table.info-table th{background:var(--navy-900); color:#fff; }
table.info-table tr:nth-child(even) td{background:var(--paper-tint);}

/* ---------- Process steps ---------- */
.steps{list-style:none; margin:0; padding:0; counter-reset:step;}
.steps li{counter-increment:step; position:relative; padding:0 0 30px 56px; border-left:2px solid var(--border); margin-left:20px;}
.steps li:last-child{border-color:transparent; padding-bottom:0;}
.steps li::before{
  content:counter(step); position:absolute; left:-21px; top:0; width:40px; height:40px; border-radius:50%;
  background:var(--navy-900); color:var(--gold-400); font-weight:700;
  display:flex; align-items:center; justify-content:center; font-size:1.05rem;
}
.steps h4{margin-bottom:.3em;}

/* ---------- Sidebar layout (service pages) ---------- */
.layout-side{display:grid; grid-template-columns:2.1fr .9fr; gap:44px; align-items:start;}
@media (max-width:900px){ .layout-side{grid-template-columns:1fr;} }
.sidebar{position:sticky; top:96px; display:flex; flex-direction:column; gap:20px;}
.sidebar .card{padding:24px;}
.sidebar h4{font-size:1.02rem;}
.sidebar ul{padding-left:0; list-style:none;}
.sidebar ul li{border-bottom:1px solid var(--border); padding:10px 0;}
.sidebar ul li a{font-weight:600; font-size:.92rem;}
.sidebar-contact{background:var(--navy-900); color:#fff; border-radius:var(--radius-md); padding:26px;}
.sidebar-contact h4{color:#fff;}
.sidebar-contact p{color:#cfd8e6; font-size:.9rem;}
.sidebar-contact .btn{margin-top:12px;}

/* ---------- Footer ---------- */
footer.site-footer{
  background:linear-gradient(180deg,var(--navy-900),var(--navy-950)); color:#c7d2e4; padding-top:64px;
  position:relative; border-top:3px solid transparent;
  border-image:linear-gradient(90deg,var(--gold-600),var(--gold-300),var(--gold-600)) 1;
}
footer a{transition:color .2s ease;}
footer .footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:36px;}
.footer-grid p strong {
    color: #d4a017;
}
@media (max-width:900px){ footer .footer-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ footer .footer-grid{grid-template-columns:1fr;} }
footer h4{color:#fff; font-size:1rem; margin-bottom:1.1em;}
footer p, footer li, footer a{color:#a9b6cc; font-size:.92rem;}
footer a:hover{color:var(--gold-400);}
footer ul{list-style:none; padding:0; margin:0;}
footer ul li{margin-bottom:10px;}
.footer-brand{display:flex; align-items:center; gap:10px; margin-bottom:14px;}
.footer-brand .name{ font-weight:700; color:#fff; font-size:1.2rem;}
.social-row{display:flex; gap:10px; margin-top:16px;}
.social-row a{width:38px; height:38px; border-radius:50%; border:1px solid rgba(255,255,255,.22); display:flex; align-items:center; justify-content:center; transition:transform .25s var(--ease-premium), background .25s ease, border-color .25s ease;}
.social-row a:hover{background:linear-gradient(135deg,var(--gold-400),var(--gold-600)); border-color:var(--gold-500); color:var(--navy-950); transform:translateY(-3px); box-shadow:var(--shadow-gold);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12); margin-top:44px; padding:22px 0; font-size:.82rem; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;}
.footer-bottom a{color:#a9b6cc;}

.india-addres {
    border: 1px solid #d4a017;
    padding: 18px 10px 10px 10px;
    border-radius: 5px;
    margin-bottom: 41px;
    height: 160px;
}
.india-addres ul li {
    margin-bottom: 13px;
}
.top-footer ul {
    list-style-type: none;
    padding: 0px;
    text-align: center;
    color: #a9b6cc;
    margin: 0px;
    font-size: .92rem;
}
ul.ve-footer-contact span {
    color: #d4a017;
    font-weight: 700;
}
.foreign-addres {
    border: 1px solid #d4a017;
    padding: 18px 10px 10px 10px;
    border-radius: 5px;
    margin-bottom: 30px;
    height: 200px;
}
section.top-footer h2 span {
    color: #d4a017;
}
.top-footer {
    text-align: center;
}
.footer-contact {
    display: flex;
}
.footer-contact span {
    color: #d4a017;
    margin-right: 10px;
    font-size: .92rem;
}
/* ---footer cdn-- */
.popular-btn {
    text-align: start;
    display: flex;
    flex-wrap: wrap;
}
.popular-btn a {
    color: #a9b6cc;
    font-weight: 400;
    font-size: 15px;
    padding: 3px 0px;
}
.popular-btn span {
    margin: 0px 7px;
    padding: 3px 0px;
    color: #a9b6cc;
}
.popular-btn div {
    margin-right: 4px;
}
.popular-btn .d-flex {
    align-items: center;
}
.popular-btn a:hover {
    color: #d4a017;
}
/* ---------- WhatsApp floating button ---------- */
.whatsapp-float{
  position:fixed; bottom:26px; right:26px; width:60px; height:60px; border-radius:50%;
  background:#25D366; display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-lg);
  z-index:200; transition:transform .25s var(--ease-premium);
}
.whatsapp-float::before{
  content:""; position:absolute; inset:-6px; border-radius:50%; border:2px solid #25D366;
  opacity:.55; animation:wa-pulse 2.4s ease-out infinite;
}
.whatsapp-float:hover{transform:scale(1.08);}
.whatsapp-float svg{width:30px; height:30px;}
@keyframes wa-pulse{0%{transform:scale(1); opacity:.55;} 100%{transform:scale(1.5); opacity:0;}}
@media(prefers-reduced-motion: reduce){ .whatsapp-float::before{animation:none;} }

/* ======== */
.whatsapp button {
    width: 100%;
    padding: 10px 0px;
    font-size: 23px;
    background-color: #183e73;
    border: 2px solid #d4a017;
    border-radius: 5px;
    color: #d4a017;
    margin-top: 20px;
}
.whatsapp {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
}

/* ---------- Misc utility ---------- */
.badge {
    display: inline-block;
    background: var(--paper-tint);
    color: var(--navy-800);
    border: 1px solid var(--border);
    border-radius: 20px;
    padding: 5px 14px;
    font-size: .78rem;
    font-weight: 700;
    margin: 0 6px 20px 0;
}
.divider{height:1px; background:var(--border); margin:44px 0;}
.two-col{display:grid; grid-template-columns:1fr 1fr; gap:40px;}
@media (max-width:800px)
{ .two-col{grid-template-columns:1fr;} 
}
.note-box {
    background: #fff8e8;
    border: 1px solid var(--gold-400);
    border-radius: var(--radius-md);
    padding: 20px 22px;
    margin: 1.4em 0;
}
.note-box strong{color:var(--gold-600);}
.skip-link{position:absolute; left:-999px; top:auto;}
.skip-link:focus{left:16px; top:16px; background:#fff; padding:10px 16px; z-index:999; border-radius:6px;}

/* ----------What NRI Clients Say css------------ */
  .reviews-section{
    padding:72px 24px 88px;
    max-width:1200px;
    margin:0 auto;
  }
  .reviews-header{
    text-align:center;
    max-width:680px;
    margin:0 auto 12px;
  }
  .reviews-eyebrow{
    display:inline-block;
    letter-spacing:.14em;
    text-transform:uppercase;
    font-size:12.5px;
    font-weight:700;
    color:var(--gold);
    background:rgba(200,162,74,0.12);
    padding:6px 14px;
    border-radius:20px;
    margin-bottom:16px;
  }
  .reviews-header h2{
    font-size:clamp(26px,3.4vw,38px);
    line-height:1.2;
    margin:0 0 14px;
    color:var(--navy-dark);
  }
  .reviews-header p{
    color:var(--muted);
    font-size:15.5px;
    line-height:1.6;
    margin:0;
  }
  .reviews-summary{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    margin:26px 0 6px;
    flex-wrap:wrap;
  }
  .reviews-summary .stars {
    color: #f79a0a;
    font-size: 22px;
    letter-spacing: 2px;
    }
  .reviews-summary .score {
    font-weight: 700;
    color: #0b2f63;
    font-size: 17px;
  }
  .reviews-summary .count {
    font-size: 17px;
    color: #000;
  }
  .reviews-note {
    text-align: center;
    font-size: 17px;
    max-width: 70%;
    margin: 6px auto 44px;
    line-height: 1.6;
    }
  .reviews-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
  }
  @media (max-width:980px){
    .reviews-grid{grid-template-columns:repeat(2,1fr);}
  }
  @media (max-width:660px){
    .reviews-grid{grid-template-columns:1fr;}
  }
  .review-card{
    background:var(--card-bg);
    border:1px solid var(--border);
    border-radius:14px;
    padding:26px 24px 22px;
    display:flex;
    flex-direction:column;
    gap:14px;
    position:relative;
    box-shadow:0 1px 2px rgba(15,37,64,0.04);
    transition:box-shadow .2s ease, transform .2s ease;
  }
  .review-card:hover{
    box-shadow:0 10px 24px rgba(15,37,64,0.08);
    transform:translateY(-2px);
  }
  .review-quote-mark{
    position:absolute;
    top:18px;
    right:22px;
    font-size:42px;
    line-height:1;
    color:var(--gold-light);
    font-family:Georgia, serif;
    font-weight:700;
    user-select:none;
  }
  .review-stars {
    color: #f79a0a;
    font-size: 17px;
    letter-spacing: 2px;
    }
  .review-service-tag{
    display:inline-block;
    align-self:flex-start;
    font-size:11.5px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.05em;
    color:var(--navy);
    background:#eef2f7;
    padding:4px 10px;
    border-radius:6px;
  }
  .review-text {
    font-size: 17px;
    line-height: 1.65;
    color: var(--text);
    margin: 0;
    flex-grow: 1;
  }
  .review-footer{
    display:flex;
    align-items:center;
    gap:12px;
    margin-top:6px;
    padding-top:14px;
    border-top:1px solid var(--border);
  }
  .review-avatar {
    width: 75px;
    height: 75px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    /* font-weight: 700; */
    /* font-size: 15px; */
    /* color: #fff; */
    flex-shrink: 0;
    /* margin-top: 5px; */
    }
    .review-avatar img {
    border-radius: 100%;
    border: 1px solid #d1d1d1;
    padding: 2px;
    width: 100%;
    height: 100%;
    }
  .review-person{
    display:flex;
    flex-direction:column;
    gap:1px;
  }
  .review-name {
    font-weight: 700;
    font-size: 17px;
    color: #0a1e3c;
    }
  .review-location {
        font-size: 14.5px;
        display: flex;
        align-items: center;
        gap: 5px;
    }
  .reviews-cta{
    text-align:center;
    margin-top:52px;
  }
  .reviews-cta a {
    display: inline-block;
    background: #102c54;
    color: rgb(255, 255, 255);
    text-decoration: none;
    font-weight: 700;
    font-size: 14.5px;
    padding: 14px 32px;
    border-radius: 8px;
    transition: background 0.2s;
 }
  .reviews-cta a:hover{
    background:#d4a017;
  }
  /* ------silder---------- */
  .testimonial-slider{
    width:100%;
    overflow:hidden;
    position:relative;
}

.testimonial-track{
    display:flex;
    transition:.5s ease;
}

.testimonial{
    min-width:33.333%;
    box-sizing:border-box;
    padding:20px;
}

.testimonial img {
    margin-bottom: 20px;
}

@media(max-width:991px){

.testimonial{
    min-width:50%;
}

}

@media(max-width:767px){

.testimonial{
    min-width:100%;
}

}

.slider-dots{
    text-align:center;
    margin-top:20px;
}

.slider-dots span{
    width:12px;
    height:12px;
    display:inline-block;
    background:#ccc;
    border-radius:50%;
    margin:5px;
    cursor:pointer;
}

.slider-dots span.active{
    background:#0a4289;
}
/* ------------What NRI Clients Say end------------------ */
/* -----------Contact-section css-------------- */
.Contact-section {
    background-color: #0b2f63;
    padding: 50px 0px;
    margin: 60px 0px;
    text-align: center;
}
.Contact-section h2 {
    font-size: 38px;
    font-weight: 500;
    margin-bottom: 15px;
    text-transform: capitalize;
    color: #fff;
}
.Contact-section p {
    color: #fff;
}
.Contact-section ul {
    display: flex;
    justify-content: center;
    margin-top: 20px;
}
section.Contact-section ul i {
    color: #fff;
    background-color: #d4a017;
    margin: 2px 5px 2px 2px;
    font-size: 16px;
    border-radius: 100%;
    height: 31px;
    width: 31px;
    text-align: center;
    align-items: center;
    display: flex;
    justify-content: center;
}
.Contact-section ul li {
    display: flex;
    align-items: center;
    margin: 0px 20px 10px 0px;
}
.Contact-section h2 span {
    color: #d4a017;
}
.Contact-section a {
    font-size: 16px;
}
section.Contact-section ul a {
    color: #fff;
}
/* -----------Contact-section css end-------------- */

/* ----------Legal Corporate Team css start----------- */
.ve-insights-section {
    background: #fff;
    padding: 100px 50px;
}
.ve-insight-card {
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    transition: all 0.3s ease;
    background: #fff;
    margin: 20px 0px;
}
.ve-insight-card a img {
    width: 100%;
}
section.ve-section h2 {
    text-align: center;
    margin-bottom: 20px;
}
b, strong {
    color: #0d1b2a;
}
.ve-testi-grid strong {
    display: block;
    font-size: 18px;
    font-weight: 500;
    color: var(--ve-dark);
    margin-bottom: 5px;
}
.team-data h2 {
    font-weight: 500;
}
.team-data span {
    font-size: 20px;
    font-weight: 400;
    color: #d4a017;
}
.team-data p {
    margin: 0px;
}
section.team-data ul {
    font-size: 16px;
    line-height: 2;
    margin-top: 15px;
}
section.team-data i {
    color: #d4a017;
    padding: 7px 7px 7px 0px;
}
section.team-data ul a {
    font-weight: 500;
    color: #000000;
}

.ve-insight-card:hover { transform:translateY(-5px); box-shadow:var(--ve-shadow); }
.ve-insight-img { height:220px; background-size:cover; background-position:center; }
.ve-insight-body { padding:26px; }
.ve-insight-cat {
    display: inline-block;
    background: var(--gold-500);
    color: #ffffff;
    font-size: 15px !important;
    font-weight: 450 !important;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    padding: 6px 10px;
    margin-bottom: 12px;
    border-radius: 50px;
}
.ve-insight-body h5 a {
    font-size: 18px;
    font-weight: 500;
    color: var(--ve-dark);
    text-decoration: none;
    line-height: 1.4;
    display: block;
    margin-bottom: 10px;
}
.ve-insight-body h5 a:hover {
    color: #d4a017;
}
.ve-insight-body > p { 
    font-size:14px; 
    line-height:1.7; 
    margin-bottom:16px; 
}
.ve-insight-meta { display:flex; justify-content:space-between; align-items:center; }
.ve-insight-meta span { font-size:13px; color:#aaa; display:inline-flex; align-items:center; gap:6px; }
.ve-insight-meta a { font-size:13px; font-weight:700; color:var(--ve-gold); text-decoration:none; display:inline-flex; align-items:center; gap:5px; transition:var(--ve-trans); }
.ve-insight-meta a:hover { gap:10px; }

.ve-testi-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 28px;
}
.ve-testi-card {
    min-width: 30%;
    background: #fff;
    border-radius: 15px;
    padding: 30px;
    margin: 10px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.08);
}
.ve-testi-grid strong {
    display: block;
    font-size: 18px;
    font-weight: 600;
    color: #0d1b2a;
    margin-bottom: 5px;
}
/* -------------Legal Corporate Team css end------------ */
.Privacy-Policy h2 {
    margin: 40px 0px 10px 0px;
    font-weight: 500;
}

@media(max-width:1880px){

    .hero .container-fluid {
        padding: 78px 30px 70px;
    }
    
}

@media(min-width:1880px){
 body {
        font-size: 19px;
    }
    .card p {
        font-size: 19px;
    }
    .ve-hero-img-main.bg-img {
        width: 100%;
        max-width: 60%;
        margin: 0 auto;
    }
    .whatsapp {
        max-width: 60%;
    }
}

@media(max-width:991px){
.foreign-addres {
    height: 175px;
}
}

@media(max-width:767px){
    .logo img {
        max-width: 90px;
    }
    .hero {
        padding: 0px 40px;
    }
    .nav-wrapper {
        padding: 0px 40px;
    }
    .container-fluid {
        padding: 0px 40px;
    }
    .hero .container-fluid {
        padding: 78px 0px 70px;
    }
    .india-addres {
        height: max-content;
    }
    .foreign-addres {
        height: max-content;
    }
}

@media(max-width:540px){
    .topbar .topbar-links {
        display: flex;
        gap: 0px;
        flex-wrap: wrap;
    }
    .topbar .topbar-links span, .topbar .topbar-links a {
        margin: 0px 4px;
    }
    .hero .container-fluid {
        padding: 78px 0px 70px;
    }
    .ve-form-row {
        grid-template-columns: 1fr;
    }
    .form-group-btn input {
        width: 100%;
    }
    .logo img {
        max-width: 240px;
    }
}

/* =====================================================
   Design system v2 — scroll reveal, process diagrams,
   comparison graphics, trust bar, richer hero treatment
   ===================================================== */

/* --- Scroll-reveal (progressive disclosure as the user scrolls) --- */
.reveal{opacity:0; transform:translateY(22px); transition:opacity .6s cubic-bezier(.22,.61,.36,1), transform .6s cubic-bezier(.22,.61,.36,1);}
.reveal.in-view {
    opacity: 1;
    transform: translateY(0);
    margin-bottom: 35px;
}
.reveal-stagger > *{opacity:0; transform:translateY(18px); transition:opacity .55s ease, transform .55s ease;}
.reveal-stagger.in-view > *{opacity:1; transform:translateY(0);}
.reveal-stagger.in-view > *:nth-child(1){transition-delay:.02s;}
.reveal-stagger.in-view > *:nth-child(2){transition-delay:.09s;}
.reveal-stagger.in-view > *:nth-child(3){transition-delay:.16s;}
.reveal-stagger.in-view > *:nth-child(4){transition-delay:.23s;}
.reveal-stagger.in-view > *:nth-child(5){transition-delay:.30s;}
.reveal-stagger.in-view > *:nth-child(6){transition-delay:.37s;}
@media(prefers-reduced-motion: reduce){
  .reveal,.reveal-stagger > *{opacity:1 !important; transform:none !important; transition:none !important;}
}

/* --- Animated counters (used on stat-row / hero-badges) --- */
.count-up{font-variant-numeric:tabular-nums;}

/* --- Hero decorative background: layered glow orbs + fine grid + slow drift motion --- */
.hero-simple, .hero{position:relative; overflow:hidden;}
.hero-simple::before, .hero::before{
  content:"";
  position:absolute; inset:0;
  /* background-image:
    radial-gradient(circle at 88% 8%, rgba(212,175,55,.16), transparent 42%),
    radial-gradient(circle at -4% 96%, rgba(45,95,163,.20), transparent 40%),
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px); */
  background-size:auto, auto, 46px 46px, 46px 46px;
  background-position:0 0, 0 0, -1px -1px, -1px -1px;
  pointer-events:none;
  z-index:0;
}
.hero-simple::after, .hero::after{
  content:""; position:absolute; z-index:0; pointer-events:none;
  width:520px; height:520px; border-radius:50%; right:-160px; top:-220px;
  background:radial-gradient(circle, rgba(212,175,55,.20), transparent 68%);
  animation:orbit-drift 16s ease-in-out infinite alternate;
}
.hero .container-fluid, .hero-simple .container, .hero-simple .container-fluid{position:relative; z-index:1;}
@keyframes orbit-drift{
  0%{transform:translate(0,0) scale(1);}
  100%{transform:translate(-36px,28px) scale(1.08);}
}
@media(prefers-reduced-motion: reduce){ .hero-simple::after, .hero::after{animation:none;} }

/* --- Process diagram: numbered vertical/horizontal step flow with connecting line --- */
.process-diagram{display:flex; flex-wrap:wrap; gap:0; margin:28px 0 8px; counter-reset:step;}
.process-diagram .step{
  flex:1 1 200px; position:relative; padding:28px 20px 20px; text-align:center;
}
.process-diagram .step::before{
  counter-increment:step; content:counter(step);
  display:flex; align-items:center; justify-content:center;
  width:44px; height:44px; margin:0 auto 14px;
  border-radius:50%; background:var(--navy-900); color:var(--gold-500);
  font-weight:700; font-size:1.05rem; box-shadow:var(--shadow-sm);
  position:relative; z-index:2;
}
.process-diagram .step::after{
  content:""; position:absolute; top:42px; left:calc(-50% + 22px); width:100%; height:2px;
  background:repeating-linear-gradient(90deg, var(--border) 0 8px, transparent 8px 14px);
  z-index:1;
}
.process-diagram .step:first-child::after{display:none;}
.process-diagram .step h4{font-size:.98rem; margin:0 0 6px; color:var(--navy-900);}
.process-diagram .step p{font-size:.86rem; color:var(--ink-soft); margin:0;}
@media(max-width:860px){
  .process-diagram{flex-direction:column;}
  .process-diagram .step{text-align:left; padding-left:64px;}
  .process-diagram .step::before{position:absolute; left:0; top:24px; margin:0;}
  .process-diagram .step::after{display:none;}
}

/* --- Comparison graphic: two-column "vs" card, for NRE/NRO, POA types, probate/succession etc. --- */
.compare-grid{display:grid; grid-template-columns:1fr auto 1fr; gap:0; align-items:stretch; margin:28px 0; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-sm); border:1px solid var(--border);}
.compare-col{background:#fff; padding:26px 24px;}
.compare-col:first-child{border-right:1px solid var(--border);}
.compare-col h4{color:var(--navy-900); font-size:1.05rem; margin:0 0 12px; display:flex; align-items:center; gap:8px;}
.compare-col ul{margin:0; padding-left:1.1em;}
.compare-col li{margin-bottom:8px; font-size:.94rem;}
.compare-vs{display:flex; align-items:center; justify-content:center; background:var(--navy-900); color:var(--gold-500); font-weight:800; font-size:.82rem; letter-spacing:.06em; padding:0 14px; text-transform:uppercase;}
@media(max-width:720px){
  .compare-grid{grid-template-columns:1fr;}
  .compare-col:first-child{border-right:none; border-bottom:1px solid var(--border);}
  .compare-vs{padding:10px;}
}

/* --- Trust bar: compact row of real, non-inflated credential chips --- */
.trust-bar{display:flex; flex-wrap:wrap; gap:12px; margin:22px 0;}
.trust-chip{display:flex; align-items:center; gap:8px; background:var(--paper-tint); border:1px solid var(--border); border-radius:999px; padding:8px 16px; font-size:.86rem; color:var(--navy-900); font-weight:600;}
.trust-chip svg{width:16px; height:16px; flex-shrink:0; color:var(--gold-600);}

/* --- Timeline graphic: horizontal duration bar, for "how long does this take" content --- */
.timeline-bar{margin:26px 0;}
.timeline-bar .track{position:relative; height:10px; border-radius:999px; background:var(--paper-tint); overflow:hidden; margin-bottom:10px;}
.timeline-bar .fill{position:absolute; top:0; left:0; height:100%; border-radius:999px; background:linear-gradient(90deg, var(--gold-600), var(--navy-700));}
.timeline-bar .labels{display:flex; justify-content:space-between; font-size:.82rem; color:var(--ink-soft);}

/* --- Icon badge for section headers (used before an <h2> to add visual anchor) --- */
.section-icon{display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:var(--radius-md); background:var(--navy-900); color:var(--gold-500); margin-bottom:10px;}
.section-icon svg{width:20px; height:20px;}

/* --- Card hover polish (icon lift + shadow depth) --- */
.card .icon svg, .card .icon i{transition:transform .35s cubic-bezier(.22,.61,.36,1);}
.card:hover .icon svg, .card:hover .icon i{transform:translateY(-3px) scale(1.06);}
.service-card{transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;}
.service-card:hover{border-top-color:var(--navy-800);}