
    :root {
      --navy: #1e3251;
      --navy-2: #22354e;
      --navy-3: #2b4260;
      --navy-4: #2c4460;
      --soft: #eaeff6;
      --amber: #eaa73a;
      --gold: #f5a623;
      --footer-bg: #0f0f0f;
      --footer-text: rgba(255, 255, 255, .75);
    }

    html { scroll-behavior: smooth; }
    html, body { overflow-x: clip; }
    @media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

    .font-jost { font-family: 'Jost', sans-serif; }
    .bg-soft { background: var(--soft); }
    .bg-navy-2 { background: var(--navy-2); }
    .bg-navy-4 { background: var(--navy-4); }
    .text-navy { color: var(--navy); }
    .text-amber { color: var(--amber); }
    .btn-navy { background: var(--navy); color: #fff; }
    .btn-navy:hover { background: var(--navy-2); color: #fff; }
    .btn-amber { background: var(--amber); color: #fff; }
    .btn-amber:hover { background: #d99a30; color: #fff; }
    .circle-btn { width: 40px; height: 40px; }

    /* ---------- Top bar ---------- */
    .top-bar { background: linear-gradient(90deg, #0f1650, #0b3d8a 50%, #0b78c4); }

    /* ---------- Hero ---------- */
    .hero { min-height: 862px; }
    .hero-bg { object-position: top; will-change: transform; }
    .avatar-stack img + img { margin-left: -12px; }

    /* ---------- Parallax images (image stays, content moves) ---------- */
    .parallax-img { top: -50%; height: 200%; will-change: transform; }

    /* ---------- About ---------- */
    .about-media { height: 410px; }
    .glass-card { backdrop-filter: blur(10px); }
    .tabs-custom {
      --bs-nav-pills-link-active-bg: var(--navy);
      --bs-nav-pills-link-active-color: #fff;
      --bs-nav-pills-border-radius: 0;
      --bs-nav-link-color: #6c757d;
      --bs-nav-link-hover-color: var(--navy);
      --bs-nav-link-padding-y: .8rem;
    }
    .tabs-custom.tabs-wide { --bs-nav-link-padding-x: 1.25rem; }

    /* ---------- Testimonials ---------- */
    .testimonial-col { background: var(--navy-3); min-height: 618px; }
    .testimonial-inner { max-width: 660px; padding-top: 6rem; padding-bottom: 9rem; }
    .testimonial-image { min-height: 618px; }
    .quote-icon { color: var(--gold); }
    .dot { width: 8px; height: 8px; }

    /* ---------- Single Advocate ---------- */
    .social-sq { width: 32px; height: 32px; }
    .advocate-photo { aspect-ratio: 4 / 5; max-height: 640px; }
    .advocate-photo img { transition: transform .8s ease; }
    .advocate-photo:hover img { transform: scale(1.04); }
    .advocate-exp { backdrop-filter: blur(10px); }
    .advocate-stat + .advocate-stat { border-left: 1px solid #c5cedb; padding-left: 1.5rem; }
    @media (max-width: 575.98px) {
      .advocate-stat + .advocate-stat { padding-left: .75rem; }
    }

    /* ---------- Practice area ---------- */
    .practice-icon { width: 80px; height: 80px; }

    /* ---------- Case slider (hover effects, CSS only) ---------- */
    .case-track { height: 630px; transition: transform .7s ease; }
    .case-card { width: min(943px, 85vw); }
    .case-img { transition: transform .8s ease; }
    .case-shade { background: linear-gradient(180deg, rgba(0, 0, 0, 0) 45%, rgba(0, 0, 0, .85)); }
    .case-tint { background: rgba(34, 53, 78, .7); opacity: 0; transition: opacity .5s ease; }
    .case-cat { max-height: 0; opacity: 0; overflow: hidden; transition: max-height .4s ease, opacity .4s ease; }
    .case-card:hover .case-img,
    .case-card:focus-within .case-img { transform: scale(1.1); }
    .case-card:hover .case-tint,
    .case-card:focus-within .case-tint { opacity: 1; }
    .case-card:hover .case-cat,
    .case-card:focus-within .case-cat { max-height: 3rem; opacity: 1; }

    /* ---------- Work process ---------- */
    .process-media { height: 600px; }
    .play-btn { width: 120px; height: 120px; background: var(--navy-2); opacity: .95; }
    .play-btn:hover { background: var(--navy); }
    .play-btn i { font-size: 3.5rem; margin-left: 6px; }
    .step-line { left: 19px; top: 20px; bottom: 20px; width: 1px; background: #c5cedb; }
    .step-num { width: 40px; height: 40px; background: var(--navy); }

    /* ---------- Footer ---------- */
    .site-footer { background: var(--footer-bg); color: var(--footer-text); }
    .site-footer a { color: var(--footer-text); text-decoration: none; }
    .site-footer a:hover { color: #fff; }
    .footer-bottom { border-top: 1px solid rgba(255, 255, 255, .12); }
    .back-top { width: 40px; height: 40px; background: var(--navy); }

    /* ---------- Scroll reveal (content slides in from top / left / right / bottom) ---------- */
    [data-reveal] {
      opacity: 0;
      transition: opacity .8s ease, transform .8s cubic-bezier(.22, .61, .36, 1);
      will-change: opacity, transform;
    }
    [data-reveal="from-top"]    { transform: translate3d(0, -40px, 0); }
    [data-reveal="from-bottom"] { transform: translate3d(0, 40px, 0); }
    [data-reveal="from-left"]   { transform: translate3d(-50px, 0, 0); }
    [data-reveal="from-right"]  { transform: translate3d(50px, 0, 0); }
    [data-reveal].is-visible    { opacity: 1; transform: none; }
    @media (prefers-reduced-motion: reduce) {
      [data-reveal] { opacity: 1; transform: none; transition: none; }
    }
  

  /*about extra css*/
  /* ===== About page: paste at the END of asset/css/style.css ===== */

/* ---------- Page hero + breadcrumb ---------- */
.page-hero { min-height: 384px; }
.page-hero-shade { background: linear-gradient(180deg, rgba(30, 50, 81, .55) 0%, rgba(30, 50, 81, .88) 100%); }
.breadcrumb-custom {
  --bs-breadcrumb-divider: '\203A';
  --bs-breadcrumb-divider-color: rgba(255, 255, 255, .7);
  --bs-breadcrumb-item-padding-x: .6rem;
}
.breadcrumb-custom a:hover { color: #fff !important; }

/* ---------- About section: taller image (same look as .about-media) ---------- */
.about-media-lg { height: 600px; }
@media (max-width: 991.98px) {
  .about-media-lg { height: 420px; }
}

/* ---------- How It Works ---------- */
.how-icon { font-size: 2.75rem; line-height: 1; }
.how-arrow {
  top: 4.4rem;
  right: calc(var(--bs-gutter-x) * -.5);
  transform: translateX(50%);
  font-size: 1.5rem;
  line-height: 1;
}


/* ---------- Advocate profile page ---------- */
.profile-fade {
  -webkit-mask-image: linear-gradient(180deg, #000 60%, transparent 100%);
  mask-image: linear-gradient(180deg, #000 60%, transparent 100%);
}

/* ===== Services page (6 tabs + cards + flip button) ===== */
/* Paste at the END of asset/css/style.css */

/* ---------- Pill tabs (white bar, gold active) ---------- */
.svc-tabs {
  --bs-nav-link-color: #6c757d;
  --bs-nav-link-hover-color: #3b2a08;
  max-width: 100%;
  gap: .25rem;
  padding: .6rem;
  overflow-x: auto;
  background: #fff;
  border-radius: 50rem;
  box-shadow: 0 10px 30px rgba(30, 50, 81, .08);
  scrollbar-width: none;
}
.svc-tabs::-webkit-scrollbar { display: none; }
.svc-tabs .nav-link {
  white-space: nowrap;
  padding: .8rem 1.5rem;
  font-size: .95rem;
  font-weight: 500;
  border-radius: 50rem;
  transition: color .3s ease;
}
.svc-tabs .nav-link.active {
  color: #3b2a08;
  background: linear-gradient(135deg, #b8892f 0%, #e9cd7c 100%);
  box-shadow: 0 8px 18px rgba(184, 137, 47, .35);
}

/* ---------- Cards ---------- */
.svc-card {
  border: 1px solid #dfe6f0;
  padding: 2rem 1.5rem !important;
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.svc-card:hover,
.svc-card:focus-within {
  transform: translateY(-4px);
  border-color: var(--navy);
  box-shadow: 0 16px 36px rgba(30, 50, 81, .12);
}
.svc-icon { font-size: 2.6rem; line-height: 1; }

/* ---------- Read More flip button ---------- */
.btn-flip {
  display: block;
  height: 42px;
  perspective: 600px;
  text-decoration: none;
}
.btn-flip-inner {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  transition: transform .6s cubic-bezier(.4, .2, .2, 1);
}
.btn-flip:hover .btn-flip-inner,
.btn-flip:focus-visible .btn-flip-inner { transform: rotateX(180deg); }
.btn-flip:focus-visible { outline: 2px solid var(--amber); outline-offset: 3px; }

.btn-flip-face {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: .25rem;
  color: #fff;
  font-weight: 500;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.btn-flip-front { background: var(--navy); }
.btn-flip-back  { background: var(--amber); transform: rotateX(180deg); }

@media (max-width: 575.98px) {
  .svc-tabs .nav-link { padding: .7rem 1.1rem; font-size: .9rem; }
}
@media (prefers-reduced-motion: reduce) {
  .svc-card, .btn-flip-inner { transition: none; }
  .svc-card:hover, .svc-card:focus-within { transform: none; }
}
/* ---------- Why Choose Us ---------- */
.why-icon { width: 88px; height: 88px; }
.why-icon i { font-size: 2.6rem; line-height: 1; -webkit-text-stroke: 1px currentColor; }
@media (max-width: 575.98px) {
  .why-icon { width: 64px; height: 64px; }
  .why-icon i { font-size: 2rem; }
}


/* ===== Header: paste at the END of asset/css/style.css ===== */

/* ---------- Two-line menu button (opens info panel) ---------- */
.menu-lines {
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 7px;
  width: 34px;
  height: 34px;
  padding: 0;
  background: none;
  border: 0;
  cursor: pointer;
}
.menu-lines span {
  display: block;
  width: 26px;
  height: 2px;
  background: #fff;
  transition: width .3s ease;
}
.menu-lines:hover span:first-child,
.menu-lines:focus-visible span:first-child { width: 16px; }
.menu-lines:focus-visible { outline: 2px solid var(--amber); outline-offset: 4px; }

/* ---------- Dropdown caret button (mobile only) ---------- */
.nav-caret {
  padding: .5rem .75rem;
  color: rgba(255, 255, 255, .75);
  background: none;
  border: 0;
}
.nav-caret[aria-expanded="true"] i { transform: rotate(180deg); }
.nav-caret i { display: inline-block; transition: transform .3s ease; }

/* ---------- Services mega menu ---------- */
.mega-menu { padding: 1.5rem; border: 0; border-radius: 1rem; }
.mega-grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem 2rem; }
.mega-title {
  margin: 0 0 .75rem;
  padding-bottom: .5rem;
  font-size: 1rem;
  font-weight: 500;
  color: var(--navy);
  border-bottom: 2px solid var(--amber);
}
.mega-menu .dropdown-item {
  padding: .35rem 0;
  font-size: .92rem;
  color: #495057;
  white-space: normal;
  background: none;
  transition: padding-left .25s ease, color .25s ease;
}
.mega-menu .dropdown-item:hover,
.mega-menu .dropdown-item:focus { padding-left: .35rem; color: var(--navy); }

/* ---------- Mobile: dropdown next to its link ---------- */
@media (max-width: 991.98px) {
  .site-nav .nav-item.dropdown { display: flex; flex-wrap: wrap; align-items: center; }
  .site-nav .nav-item.dropdown .dropdown-menu { flex: 0 0 100%; }
  .mega-menu { max-height: 60vh; overflow-y: auto; }
}

/* ---------- Desktop: open on hover / keyboard focus ---------- */
@media (min-width: 992px) {
  .site-nav .nav-item.dropdown { position: relative; }
  .site-nav .nav-item.dropdown.mega { position: static; }
  .site-nav .dropdown-menu { top: 100%; margin-top: 0; }
  .site-nav .dropdown-menu::before {      /* keeps hover alive across the gap */
    content: "";
    position: absolute;
    top: -1.5rem;
    left: 0;
    right: 0;
    height: 1.5rem;
  }
  .site-nav .dropdown:hover > .dropdown-menu,
  .site-nav .dropdown:focus-within > .dropdown-menu { display: block; }
  .site-nav .mega-menu {
    left: 50%;
    width: min(940px, calc(100vw - 2rem));
    transform: translateX(-50%);
    box-shadow: 0 20px 50px rgba(15, 22, 40, .25);
  }
  .mega-grid { grid-template-columns: repeat(3, 1fr); }
}

/* ---------- Information panel ---------- */
.site-panel { --bs-offcanvas-width: 420px; background: var(--footer-bg); border-left: 0; }
.site-panel a:not(.btn) { color: var(--footer-text); text-decoration: none; }
.site-panel a:not(.btn):hover { color: #fff; }
.site-panel .panel-block { padding-block: 1.75rem; border-top: 1px solid rgba(255, 255, 255, .12); }
.site-panel .panel-block:first-child { border-top: 0; padding-top: 0; }
.site-panel .offcanvas-header { border-bottom: 0; }

@media (prefers-reduced-motion: reduce) {
  .menu-lines span, .nav-caret i, .mega-menu .dropdown-item { transition: none; }
}



/*services*/
/* ===== Service detail page: paste at the END of asset/css/style.css ===== */

/* ---------- Sidebar service list ---------- */
.svc-side-wrap { position: sticky; top: 1.5rem; }
.svc-side a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.1rem 1.5rem;
  font-family: 'Jost', sans-serif;
  font-size: 1.25rem;
  line-height: 1.3;
  color: #111;
  text-decoration: none;
  background: #f1f1f1;
  border-radius: .5rem;
  transition: background .3s ease, color .3s ease, padding-left .3s ease;
}
.svc-side a i { opacity: 0; transition: opacity .3s ease; }
.svc-side a:hover { background: #e6e9ef; color: var(--navy); padding-left: 1.85rem; }
.svc-side a:hover i { opacity: 1; }
.svc-side a.active { background: var(--amber); color: #fff; padding-left: 1.5rem; }
.svc-side a.active i { opacity: 1; }
@media (max-width: 991.98px) {
  .svc-side-wrap { position: static; }
}

/* ---------- Why Choose Us icons (skip if already added earlier) ---------- */
.why-icon { width: 88px; height: 88px; }
.why-icon i { font-size: 2.6rem; line-height: 1; -webkit-text-stroke: 1px currentColor; }
@media (max-width: 575.98px) {
  .why-icon { width: 64px; height: 64px; }
  .why-icon i { font-size: 2rem; }
}

/* ---------- Enquiry form ---------- */
.enq-card { background: var(--navy-2); box-shadow: 0 16px 36px rgba(30, 50, 81, .18); }
.enq-card .form-control,
.enq-card .form-select { border: 0; font-size: .95rem; }
.enq-card .form-control:focus,
.enq-card .form-select:focus { box-shadow: 0 0 0 .2rem rgba(234, 167, 58, .45); }
.enq-card textarea { resize: vertical; }

/* Under 2040px: form sits below the content, inside the container */
.enq-aside { margin-top: 3rem; }

/* 2040px and wider: form moves OUTSIDE the container, into the right gutter.
   Container is 1320px wide, so its right edge is at 50% + 660px. */
@media (min-width: 2040px) {
  .enq-aside {
    position: absolute;
    top: 6rem;
    bottom: 6rem;
    left: calc(50% + 660px + 2rem);
    width: 340px;
    max-width: none;
    flex: none;
    margin: 0 !important;
    padding: 0;
  }
  .enq-aside .enq-wrap { position: sticky; top: 1.5rem; }
}

/* ---------- Header: hide on scroll down, show on scroll up ---------- */
.site-header.is-fixed {
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 1030;
  background: var(--navy);
  box-shadow: 0 6px 24px rgba(15, 22, 40, .25);
  transition: transform .4s ease;
}
.site-header.is-hidden { transform: translateY(-100%); }
.site-header.no-anim { transition: none !important; }

@media (prefers-reduced-motion: reduce) {
  .site-header.is-fixed { transition: none; }
}

/* ---------- Smooth scroll (Lenis): paste at the END of asset/css/style.css ---------- */
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-stopped { overflow: hidden; }


