:root {
  --motion-gold: #d4af37;
  --motion-navy: #0c1a4a;
  --motion-cream: #fffaf0;
  --motion-rx: 0deg;
  --motion-ry: 0deg;
  --motion-lift: 0px;
  --motion-glow-x: 50%;
  --motion-glow-y: 50%;
}

html { scroll-behavior: smooth; }

.fx3d-card,
.law-hub-card,
.best-services-commitment {
  position: relative;
  isolation: isolate;
  transform-style: preserve-3d;
  backface-visibility: hidden;
  will-change: transform;
  transition:
    transform 220ms cubic-bezier(.2,.75,.25,1),
    box-shadow 220ms ease,
    border-color 220ms ease;
}

.fx3d-card::after,
.law-hub-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  border-radius: inherit;
  background: radial-gradient(
    circle at var(--motion-glow-x) var(--motion-glow-y),
    rgba(255,255,255,.32),
    rgba(212,175,55,.10) 25%,
    transparent 56%
  );
  opacity: 0;
  transition: opacity 180ms ease;
}

.fx3d-card[data-motion-active="true"]::after,
.law-hub-card[data-motion-active="true"]::after { opacity: 1; }

@media (hover: hover) and (pointer: fine) {
  .fx3d-card[data-motion-card="true"],
  .law-hub-card[data-motion-card="true"] {
    transform: perspective(950px) rotateX(var(--motion-rx)) rotateY(var(--motion-ry)) translate3d(0,var(--motion-lift),0);
  }

  .fx3d-card[data-motion-active="true"],
  .law-hub-card[data-motion-active="true"] {
    --motion-lift: -5px;
    border-color: rgba(212,175,55,.58) !important;
    box-shadow: 0 24px 55px rgba(7,17,47,.18), 0 9px 22px rgba(212,175,55,.11) !important;
  }
}

.motion-depth-button,
.best-services-commitment a,
#indian-law-knowledge-hub a {
  transition: transform 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}

.motion-depth-button:hover,
.best-services-commitment a:hover,
#indian-law-knowledge-hub a:hover {
  transform: translate3d(0,-2px,0);
}

.motion-depth-button:active,
.best-services-commitment a:active,
#indian-law-knowledge-hub a:active {
  transform: translate3d(0,1px,0) scale(.99);
}

.motion-depth-button:focus-visible,
.best-services-commitment a:focus-visible,
#indian-law-knowledge-hub a:focus-visible {
  outline: 3px solid rgba(212,175,55,.62);
  outline-offset: 3px;
}

.motion-reveal-v34 {
  opacity: 1;
  transform: none;
}

html.motion-observer-ready .motion-reveal-v34:not(.motion-visible-v34) {
  opacity: 0;
  transform: translate3d(0,18px,0) scale(.985);
}

html.motion-observer-ready .motion-reveal-v34 {
  transition: opacity 520ms ease, transform 520ms cubic-bezier(.2,.75,.25,1);
}

html.motion-observer-ready .motion-reveal-v34.motion-visible-v34 {
  opacity: 1;
  transform: none;
}

.best-services-commitment {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 1rem;
  width: min(1160px,calc(100% - 2rem));
  margin: 1.5rem auto;
  padding: 1.1rem 1.25rem;
  border: 1px solid rgba(212,175,55,.42);
  border-radius: 18px;
  background:
    radial-gradient(circle at 12% 10%,rgba(212,175,55,.18),transparent 28rem),
    linear-gradient(135deg,#0b173e,#182c68);
  color: #f7f3e8;
  box-shadow: 0 18px 45px rgba(7,17,47,.20);
}

.best-services-commitment strong {
  display: block;
  color: #f0d06c;
  font: 750 clamp(1.15rem,2.2vw,1.55rem)/1.25 Georgia,serif;
}

.best-services-commitment p { margin: .35rem 0 0; color: rgba(255,255,255,.84); }
.best-services-commitment small { display: block; margin-top: .35rem; color: rgba(255,255,255,.66); }
.best-services-commitment a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: .7rem 1rem;
  border-radius: 12px;
  background: linear-gradient(135deg,#e2bd46,#ad7f13);
  color: #081334;
  font-weight: 850;
  text-decoration: none;
  box-shadow: 0 10px 24px rgba(212,175,55,.25);
}

#indian-law-knowledge-hub {
  position: relative;
  overflow: hidden;
  padding: clamp(3.4rem,7vw,6.3rem) max(1rem,calc((100vw - 1160px)/2));
  background:
    radial-gradient(circle at 8% 10%,rgba(212,175,55,.20),transparent 26rem),
    radial-gradient(circle at 90% 70%,rgba(77,108,205,.20),transparent 30rem),
    linear-gradient(145deg,#07112f,#10245c 56%,#091533);
  color: #fff;
}

#indian-law-knowledge-hub::before {
  content: "";
  position: absolute;
  inset: -40%;
  pointer-events: none;
  background: conic-gradient(from 90deg,transparent,rgba(212,175,55,.08),transparent 22%);
  animation: law-hub-orbit 18s linear infinite;
}

@keyframes law-hub-orbit { to { transform: rotate(1turn); } }

.law-hub-inner { position: relative; z-index: 1; }
.law-hub-kicker { margin: 0 0 .55rem; color: #e7c758; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
#indian-law-knowledge-hub h2 { margin: 0; max-width: 900px; color: #fff; font: 760 clamp(2.2rem,5vw,4rem)/1.05 Georgia,serif; }
.law-hub-lead { max-width: 840px; color: rgba(255,255,255,.82); font-size: clamp(1rem,2vw,1.17rem); }
.law-hub-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .9rem; margin: 2rem 0; perspective: 1000px; }
.law-hub-card {
  display: flex;
  flex-direction: column;
  min-height: 150px;
  padding: 1rem;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 17px;
  background: linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.055));
  color: #fff;
  text-decoration: none;
  box-shadow: inset 0 1px rgba(255,255,255,.18),0 14px 35px rgba(0,0,0,.16);
}
.law-hub-card span { color: #f0cf66; font-size: 1.45rem; }
.law-hub-card strong { margin-top: .55rem; color: #fff; font: 750 1.05rem/1.25 Georgia,serif; }
.law-hub-card small { margin-top: auto; color: rgba(255,255,255,.68); }
.law-hub-actions { display: flex; flex-wrap: wrap; gap: .7rem; }
.law-hub-actions a { display: inline-flex; min-height: 46px; align-items: center; padding: .7rem 1rem; border: 1px solid rgba(212,175,55,.5); border-radius: 12px; background: rgba(255,255,255,.09); color: #fff; font-weight: 800; text-decoration: none; }
.law-hub-actions a:first-child { background: linear-gradient(135deg,#e2bd46,#ad7f13); color: #07112f; }

@media (max-width: 900px) {
  .law-hub-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 600px) {
  #root #mobile-quick-topics {
    position: relative !important;
    inset: auto !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 232px !important;
    margin: 0 !important;
  }
  #root #home { margin-top: 0 !important; }
  .best-services-commitment { grid-template-columns: 1fr; margin: 1rem auto; padding: 1rem; }
  .best-services-commitment a { width: 100%; }
  #indian-law-knowledge-hub { padding-top: 3.4rem; padding-bottom: 6rem; }
  .law-hub-grid { grid-template-columns: 1fr 1fr; gap: .65rem; }
  .law-hub-card { min-height: 138px; padding: .85rem; }
  .law-hub-card strong { font-size: .96rem; }
  .law-hub-card small { font-size: .75rem; }
  .law-hub-actions { display: grid; }
  .law-hub-actions a { justify-content: center; text-align: center; }
}

@media (hover: none), (pointer: coarse) {
  .fx3d-card,
  .law-hub-card { will-change: auto; }
  .law-hub-card:active,
  .fx3d-card:active { transform: perspective(800px) translate3d(0,2px,0) scale(.985); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  #indian-law-knowledge-hub::before { animation: none !important; }
  .fx3d-card,
  .law-hub-card,
  .motion-reveal-v34,
  .motion-depth-button,
  .best-services-commitment,
  .best-services-commitment a,
  #indian-law-knowledge-hub a {
    transform: none !important;
    transition: none !important;
    animation: none !important;
  }
  html.motion-observer-ready .motion-reveal-v34:not(.motion-visible-v34) { opacity: 1; }
}
