:root{
  --law-green:#0b5d3b;
  --law-green-2:#0a4a31;
  --law-gold:#c8a64b;
}
html{ scroll-behavior:smooth; }

/* Typography */
body{
  font-family: "IBM Plex Sans Arabic", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  text-rendering: optimizeLegibility;
}
h1,h2,h3,h4,h5,h6,.display-1,.display-2,.display-3,.display-4,.display-5,.display-6{
  font-family: "Playfair Display","IBM Plex Sans Arabic",serif;
  letter-spacing: .2px;
}
.lead{ letter-spacing:.1px; }


#page-progress{
  position:fixed;
  inset:0 auto auto 0;
  height:3px;
  width:0;
  z-index:9999;
  background: linear-gradient(90deg, var(--law-gold), #ffffff);
  box-shadow: 0 0 18px rgba(200,166,75,.55);
}

#page-transition{
  position:fixed;
  inset:0;
  z-index:9998;
  pointer-events:none;
  opacity:0;
}
#page-transition .pt-inner{
  position:absolute;
  inset:-20% -20%;
  background:
      radial-gradient(900px 520px at 15% 20%, rgba(200,166,75,.18), transparent 60%),
      radial-gradient(900px 520px at 85% 80%, rgba(255,255,255,.14), transparent 60%),
      linear-gradient(135deg, rgba(11,93,59,.92), rgba(10,74,49,.92));
  transform: translateY(14px) scale(1.02);
}

.navbar{
  transition: padding .25s ease, background-color .25s ease, box-shadow .25s ease;
}
.navbar.is-scrolled{
  background: rgba(11,93,59,.96) !important;
  box-shadow: 0 10px 30px rgba(0,0,0,.16);
}

.hero{
  background: radial-gradient(1200px 600px at 80% 20%, rgba(255,255,255,.12), transparent 60%),
              linear-gradient(135deg, var(--law-green), var(--law-green-2));
  position:relative;
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(900px 520px at 15% 20%, rgba(200,166,75,.16), transparent 60%),
    radial-gradient(900px 520px at 85% 80%, rgba(255,255,255,.10), transparent 60%);
  opacity:.9;
  pointer-events:none;
}
.hero::after{
  content:"";
  position:absolute;
  inset:auto -20% -60px -20%;
  height:220px;
  background: radial-gradient(closest-side, rgba(0,0,0,.18), transparent 70%);
  filter: blur(10px);
  opacity:.35;
  pointer-events:none;
}
.hero .container{ position:relative; z-index:2; }
.hero-wave{
  position:absolute;
  left:0;right:0;bottom:-2px;
  height:70px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 120"><path fill="%23f8f9fa" d="M0,96L60,90.7C120,85,240,75,360,64C480,53,600,43,720,48C840,53,960,75,1080,74.7C1200,75,1320,53,1380,42.7L1440,32L1440,120L1380,120C1320,120,1200,120,1080,120C960,120,840,120,720,120C600,120,480,120,360,120C240,120,120,120,60,120L0,120Z"></path></svg>') center/cover no-repeat;
}
.glass-card{
  background: rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.18);
  border-radius: 18px;
  box-shadow: 0 20px 60px rgba(0,0,0,.18);
  backdrop-filter: blur(10px);
}
.glass-card .badge{
  background: rgba(200,166,75,.18) !important;
  color:#fff;
  border: 1px solid rgba(255,255,255,.22);
}
.lift{
  transition: transform .25s ease, box-shadow .25s ease;
}
.lift:hover{
  transform: translateY(-6px);
  box-shadow: 0 18px 40px rgba(0,0,0,.12) !important;
}
.icon-bubble{
  width:52px;height:52px;
  border-radius: 16px;
  display:flex;align-items:center;justify-content:center;
  background: rgba(11,93,59,.10);
  color: var(--law-green);
  font-size: 22px;
}
.stats-card{
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(11,93,59,.08), rgba(11,93,59,.02));
  border:1px solid rgba(11,93,59,.12);
}
.section-title{
  letter-spacing: .2px;
}
.legal-divider{
  height:1px;
  background: linear-gradient(90deg, transparent, rgba(11,93,59,.35), transparent);
}

.page-hero{
  background:
    radial-gradient(1000px 520px at 15% 20%, rgba(200,166,75,.14), transparent 60%),
    linear-gradient(135deg, rgba(11,93,59,.10), rgba(10,74,49,.04));
  border-bottom:1px solid rgba(11,93,59,.10);
}

.btn-gold{
  background: var(--law-gold);
  border-color: var(--law-gold);
  color:#1b1b1b;
}
.btn-gold:hover{ filter: brightness(.95); }

.stat-number{
  font-size: 40px;
  font-weight: 800;
  color: var(--law-green);
  line-height:1;
}
.stat-label{ color:#6c757d; }
.content-article img{ max-width:100%; height:auto; border-radius:14px; }

/* Subtle link underline animation */
.nav-link{
  position:relative;
}
.nav-link::after{
  content:"";
  position:absolute;
  inset:auto 12px 6px 12px;
  height:2px;
  background: rgba(255,255,255,.75);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .25s ease;
}
.nav-link:hover::after{ transform: scaleX(1); }


/* ===== Section 3 Enhancements ===== */
body{
  background: radial-gradient(1200px 500px at 80% -10%, rgba(200,166,75,.10), transparent 60%),
              radial-gradient(900px 400px at 10% 10%, rgba(11,93,59,.10), transparent 55%),
              #f7f8fa;
}

.law-nav{
  backdrop-filter: saturate(140%) blur(10px);
}
.law-footer{
  background:
    radial-gradient(1200px 400px at 50% -20%, rgba(11,93,59,.08), transparent 60%),
    #fff;
}

.section-divider{
  height:1px;
  background: linear-gradient(90deg, transparent, rgba(11,93,59,.25), rgba(200,166,75,.35), rgba(11,93,59,.25), transparent);
}

.page-hero, .hero{
  position:relative;
  overflow:hidden;
}
.page-hero:before, .hero:before{
  content:"";
  position:absolute;
  inset:-2px;
  background:
    radial-gradient(700px 320px at 15% 25%, rgba(200,166,75,.18), transparent 60%),
    radial-gradient(900px 420px at 80% 10%, rgba(255,255,255,.10), transparent 60%),
    radial-gradient(700px 360px at 60% 80%, rgba(11,93,59,.16), transparent 65%);
  opacity:.9;
  pointer-events:none;
}
.noise-overlay{
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.06;
  mix-blend-mode: multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E");
  background-size:120px 120px;
}

.reveal-up{ opacity:0; transform: translateY(18px); }
.reveal-scale{ opacity:0; transform: scale(.98); }

.kpi{
  border:1px solid rgba(11,93,59,.12);
  background: linear-gradient(180deg, #fff, rgba(255,255,255,.85));
  border-radius:16px;
  padding:16px;
  box-shadow: 0 10px 30px rgba(0,0,0,.04);
}

.lift{ transition: transform .25s ease, box-shadow .25s ease; }
.lift:hover{ transform: translateY(-6px); box-shadow: 0 18px 40px rgba(0,0,0,.08)!important; }

.btn-magnetic{ position:relative; overflow:hidden; }
.btn-magnetic:after{
  content:"";
  position:absolute;
  inset:-40%;
  background: radial-gradient(circle at var(--mx,50%) var(--my,50%), rgba(255,255,255,.25), transparent 55%);
  opacity:0;
  transition: opacity .2s ease;
  pointer-events:none;
}
.btn-magnetic:hover:after{ opacity:1; }

.service-modal .modal-content{
  border:0;
  border-radius:18px;
  overflow:hidden;
  box-shadow: 0 30px 80px rgba(0,0,0,.18);
}
.service-modal .modal-header{
  background: linear-gradient(135deg, var(--law-green), var(--law-green-2));
  color:#fff;
  border:0;
}
.service-modal .modal-header .btn-close{ filter: invert(1); opacity:.85; }
.service-modal .modal-body{
  background: #fff;
}

.blog-search{
  border:1px solid rgba(11,93,59,.16);
  border-radius:14px;
  padding:12px 14px;
}
.blog-search input{
  border:0;
  outline:0;
  width:100%;
  background:transparent;
}
.blog-tag{
  font-size:.85rem;
  border:1px solid rgba(200,166,75,.35);
  color: var(--law-green-2);
  background: rgba(200,166,75,.10);
  border-radius:999px;
  padding:6px 10px;
}

.parallax-blob{
  position:absolute;
  width:420px;
  height:420px;
  border-radius:50%;
  filter: blur(30px);
  opacity:.18;
  pointer-events:none;
  background: radial-gradient(circle at 30% 30%, var(--law-gold), transparent 65%);
}
.parallax-blob.b1{ top:-180px; right:-140px; }
.parallax-blob.b2{ bottom:-220px; left:-160px; background: radial-gradient(circle at 30% 30%, var(--law-green), transparent 65%); }

@media (max-width: 768px){
  .parallax-blob{ width:300px; height:300px; filter: blur(26px); }
}


/* Stats + testimonials */
.stat-card{ border-radius: 20px; }
.stat-num{
  font-size: 2rem;
  font-weight: 800;
  color: var(--law-green);
  line-height: 1.1;
}
.quote-card{ border-radius: 20px; }


/* Utilities */
.hover-lift{ transition: transform .25s ease, box-shadow .25s ease; }
.hover-lift:hover{ transform: translateY(-6px); box-shadow: 0 16px 40px rgba(0,0,0,.12) !important; }

.line-clamp-2{
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.toc a{ color: var(--law-green); text-decoration: none; }
.toc a:hover{ text-decoration: underline; }
.toc ul{ padding: 0 1rem 0 0; margin: 0; }
.toc li{ margin: .35rem 0; }

/* Floating WhatsApp */
.whatsapp-float{
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 999;
  width: 56px;
  height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
