/* =====================================================
   SONU KUMAR LAW CHAMBERS — shared stylesheet
   Palette: charcoal (advocate's coat) + deep maroon (the band)
             + muted brass + warm ivory paper
   Type: Manrope (headings) / Archivo (body) — sans-serif throughout
          Noto Sans Devanagari (Hindi)
   ===================================================== */

:root{
  --dark:#1B1A18;
  --dark-2:#262421;
  --dark-3:#111110;
  --maroon:#7A1B2B;
  --maroon-deep:#5A1220;
  --gold:#A9863F;
  --gold-light:#D2B06B;
  --stone:#F7F6F3;
  --stone-2:#F7F6F3;
  --text:#221F1A;
  --text-soft:#5B564A;
  --paper:#F7F6F3;
  --line:rgba(27,26,24,0.16);
  --line-light:rgba(247,246,243,0.2);
  --shadow:6px 6px 0 rgba(27,26,24,0.9);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth; overflow-x:hidden; max-width:100%;}

body{
  font-family:'Archivo', sans-serif;
  color:var(--text);
  background:var(--paper);
  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='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.025'/%3E%3C/svg%3E");
  font-weight:400;
  line-height:1.7;
  font-size:1rem;
  overflow-x:hidden;
  max-width:100%;
}

h1,h2,h3,h4,.display-font{
  font-family:'Manrope', sans-serif;
  color:var(--dark);
  letter-spacing:-0.005em;
  line-height:1.22;
}

/* ---- Hindi mode: swap typefaces for Devanagari legibility ---- */
body.lang-hi{ font-family:'Noto Sans Devanagari', sans-serif; }
body.lang-hi h1, body.lang-hi h2, body.lang-hi h3, body.lang-hi h4, body.lang-hi .display-font{
  font-family:'Noto Sans Devanagari', sans-serif;
}
body.lang-hi .navbar-brand-custom{ font-family:'Noto Sans Devanagari', sans-serif; }

/* ---- decorative seal / stamp motif (grounded in the "chamber seal" idea) ---- */
.seal-badge{
  width:118px; height:118px; border-radius:50%;
  border:1px solid rgba(201,146,87,0.55);
  display:flex; align-items:center; justify-content:center;
  text-align:center; flex-direction:column;
  position:relative; flex:0 0 auto;
}
.seal-badge::before{
  content:''; position:absolute; inset:8px;
  border:1px dashed rgba(201,146,87,0.4); border-radius:50%;
}
.seal-badge .seal-line1{ font-family:'Manrope', sans-serif; color:var(--gold-light); font-size:0.72rem; letter-spacing:0.04em; }
.seal-badge .seal-year{ font-family:'Manrope', sans-serif; color:#fff; font-size:1.3rem; font-weight:600; }
.seal-badge .seal-line2{ font-family:'Archivo', sans-serif; color:rgba(239,236,222,0.65); font-size:0.6rem; letter-spacing:0.1em; }

a{text-decoration:none;}
img{max-width:100%;}

::selection{background:var(--gold-light); color:var(--dark-3);}

/* focus visibility */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible{
  outline:2px solid var(--maroon);
  outline-offset:2px;
}

.section-pad{padding: clamp(3rem, 2.3rem + 3vw, 6.5rem) 0;}
.container-narrow{max-width:1140px;}
/* extra-wide viewport support up to 1920px */
.container-wide{max-width:1140px; margin:0 auto; padding:0 1rem;}
@media (min-width:1400px){ .container-narrow{max-width:1260px;} }
@media (min-width:1600px){ .container-narrow{max-width:1360px;} }
@media (min-width:1920px){ .container-narrow{max-width:1480px;} }

/* =============== SECTION MARK (replaces all-caps eyebrow) =============== */
.kicker{
  display:flex; align-items:center; gap:0.6rem;
  color:var(--dark);
  font-weight:600;
  font-size:0.98rem;
  margin-bottom:0.7rem;
}
.kicker::before{
  content:'';
  width:24px; height:2px;
  background:var(--maroon);
  display:inline-block;
}
.kicker{
  text-transform:uppercase;
  font-size:0.8rem;
  letter-spacing:0.13em;
}
.process-band .kicker, .contact-band .kicker{ color:var(--gold-light); }
.process-band .kicker::before, .contact-band .kicker::before{ background:var(--gold-light); }

.section-title{
  font-size: clamp(1.6rem, 1.2rem + 1.6vw, 2.35rem);
  font-weight:600;
  margin-bottom:1.1rem;
  padding-bottom:0.9rem;
  position:relative;
}
.section-title::after{
  content:'';
  position:absolute; left:0; bottom:0;
  width:54px; height:3px;
  background:var(--maroon);
}
.process-band .section-title::after, .contact-band .section-title::after{ background:var(--gold-light); }
.section-sub{
  color:var(--text-soft);
  max-width:640px;
  font-size:1.03rem;
}

/* =============== TOPBAR (desktop utility strip) =============== */
.topbar{
  position:fixed; top:0; left:0; right:0; z-index:1029;
  background:var(--dark-3); color:rgba(247,246,243,0.72);
  font-size:0.78rem; height:38px; align-items:center;
}
.topbar i{ color:var(--gold-light); margin-right:0.4rem; }
.topbar a{ color:rgba(247,246,243,0.72); }
.topbar a:hover{ color:var(--gold-light); }

/* =============== NAVBAR =============== */
.navbar-custom{
  background:var(--paper);
  border-bottom:3px solid var(--dark);
  padding:0.8rem 0;
  transition:box-shadow .3s ease, padding .3s ease, top .2s ease;
}
/* Bootstrap makes the nav's inner .container a flex row that inherits
   flex-wrap:wrap from .navbar. We need that wrap to stay ON so the mobile
   dropdown (.navbar-collapse, flex-basis:100%) still drops to its own full
   row when opened — forcing nowrap here (an earlier attempt) squeezed the
   whole open menu onto the logo's row instead. Fix the real problem
   (EN/hamburger dropping below the logo on narrow phones) by giving the
   brand a flex-basis of 0 instead: that makes the wrapping algorithm treat
   it as contributing no width of its own, so it always shares the first
   line with the EN/hamburger group and only grows/shrinks after. */
.navbar-brand-custom{ flex-basis:0; flex-grow:1; }
@media (min-width:992px){ .navbar-custom.fixed-top{ top:38px; } }
.navbar-custom.scrolled{ box-shadow:0 4px 0 rgba(27,26,24,0.08); padding:0.5rem 0; }
.navbar-brand-custom{
  font-family:'Manrope', sans-serif;
  font-size:1.32rem;
  font-weight:600;
  color:var(--dark)!important;
  line-height:1.1;
  display:flex!important;
  align-items:center;
  gap:0.65rem;
  /* Bootstrap's default .navbar-brand sets white-space:nowrap, which forced this
     whole block onto one unbreakable line and pushed the toggler/lang switch off
     the edge of the screen on narrow phones. Allow it to wrap/shrink instead. */
  white-space:normal;
  min-width:0;
  flex-shrink:1;
}
.navbar-brand-custom > span:last-child{ min-width:0; }
.brand-mark{
  width:40px; height:40px; flex:0 0 auto;
  background:var(--maroon);
  color:var(--paper);
  display:flex; align-items:center; justify-content:center;
  font-family:'Manrope', sans-serif; font-weight:700; font-size:1.05rem;
  clip-path:polygon(0 0, 100% 0, 100% 100%, 12px 100%, 0 calc(100% - 12px));
}
.navbar-brand-custom small{
  display:block;
  font-family:'Archivo', sans-serif;
  font-size:0.64rem;
  font-weight:600;
  color:var(--maroon);
  letter-spacing:0.08em;
  margin-top:3px;
  white-space:normal;
}
/* keep the hamburger + language switch from ever being squeezed off-screen */
.navbar-custom .navbar-toggler{ flex-shrink:0; }
.navbar-custom .order-lg-2{ flex-shrink:0; }

/* the default Bootstrap toggler (grey border, generic dark stripes) looked
   completely off-brand against the maroon/gold palette — restyle it to match.
   Scoped to <992px only: Bootstrap itself hides the toggler at lg+ via
   ".navbar-expand-lg .navbar-toggler{display:none}" inside a min-width:992px
   media query, and an earlier unscoped "display:flex" here was overriding
   that and forcing the icon to show on desktop too. */
@media (max-width:991px){
  .navbar-custom .navbar-toggler{
    width:42px; height:42px; padding:0;
    display:flex; align-items:center; justify-content:center;
    background:var(--dark);
    border:none; border-radius:2px;
    box-shadow:none;
  }
  .navbar-custom .navbar-toggler:focus{ box-shadow:0 0 0 3px rgba(122,27,43,0.25); }
  .navbar-custom .navbar-toggler-icon{
    width:20px; height:16px;
    background-image:none;
    position:relative;
  }
  .navbar-custom .navbar-toggler-icon,
  .navbar-custom .navbar-toggler-icon::before,
  .navbar-custom .navbar-toggler-icon::after{
    background:var(--gold-light);
  }
  .navbar-custom .navbar-toggler-icon{ height:2px; top:7px; }
  .navbar-custom .navbar-toggler-icon::before,
  .navbar-custom .navbar-toggler-icon::after{
    content:''; position:absolute; left:0; width:100%; height:2px;
  }
  .navbar-custom .navbar-toggler-icon::before{ top:-7px; }
  .navbar-custom .navbar-toggler-icon::after{ top:7px; }
}

/* mobile dropdown panel: give it the same paper background as the bar,
   a divider under each link, and breathing room instead of Bootstrap's
   plain flush-left stacked list */
@media (max-width:991px){
  .navbar-collapse{
    margin-top:0.9rem;
    padding-top:0.9rem;
    border-top:1px solid var(--line);
  }
  .navbar-nav .nav-item{ border-bottom:1px solid var(--line); }
  .navbar-nav .nav-item:last-child{ border-bottom:none; }
  .nav-link-custom{
    display:block; padding:0.85rem 0.1rem!important;
    margin:0;
  }
  .nav-link-custom::after{ display:none; }
  .nav-link-custom.page-active{ color:var(--maroon)!important; }
  .navbar-nav li.ms-lg-2{ margin:1rem 0 0!important; }
  .navbar-nav .btn-ochre{ display:block; text-align:center; }
}
@media (max-width:400px){
  .navbar-brand-custom{ font-size:1.05rem; gap:0.5rem; }
  .navbar-brand-custom small{ font-size:0.56rem; letter-spacing:0.04em; }
  .brand-mark{ width:34px; height:34px; font-size:0.9rem; }
  .navbar-custom .order-lg-2{ gap:0.35rem!important; }
}
@media (max-width:360px){
  .navbar-brand-custom small{ display:none; }
}
.nav-link-custom{
  color:var(--text)!important;
  font-weight:700;
  font-size:0.82rem;
  text-transform:uppercase;
  letter-spacing:0.05em;
  margin:0 0.6rem;
  position:relative;
  padding:0.4rem 0!important;
}
.nav-link-custom::after{
  content:'';
  position:absolute; left:0; bottom:0;
  width:0; height:2px;
  background:var(--maroon);
  transition:width .25s ease;
}
.nav-link-custom:hover::after, .nav-link-custom.page-active::after{width:100%;}
.nav-link-custom.page-active{color:var(--maroon)!important; font-weight:700;}

.lang-switch{
  display:inline-flex;
  flex-shrink:0;
  border:1px solid var(--dark);
  padding:2px;
  margin:0 0.5rem;
  background:var(--stone);
}
.lang-btn{
  border:none; background:transparent;
  padding:0.28rem 0.7rem;
  font-size:0.78rem; font-weight:700;
  color:var(--text-soft);
  cursor:pointer;
  transition:all .2s ease;
}
.lang-btn.active{ background:var(--dark); color:var(--paper); }
.lang-btn[data-lang="hi"]{ font-family:'Noto Sans Devanagari','Nirmala UI',sans-serif; }
@media (max-width:400px){
  .lang-switch{ margin:0 0.25rem; }
  .lang-btn{ padding:0.24rem 0.5rem; font-size:0.72rem; }
}

/* ---- cut-corner buttons (deliberately not a rounded bootstrap button) ---- */
.btn-ochre,
.btn-outline-ochre{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  padding:0.75rem 1.7rem 0.75rem 1.45rem;
  font-weight:700;
  font-size:0.9rem;
  letter-spacing:0.015em;
  clip-path:polygon(0 0, 100% 0, 100% calc(100% - 14px), calc(100% - 14px) 100%, 0 100%);
  transition:transform .25s ease, box-shadow .25s ease, color .25s ease, background-color .25s ease, border-color .25s ease;
  display:inline-block;
}
.btn-ochre{
  background:var(--maroon);
  color:#fff;
  border:none;
  box-shadow:0 8px 20px -8px rgba(122,27,43,0.55);
}
.btn-ochre::before{
  content:''; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(120deg, transparent, rgba(255,255,255,0.28), transparent);
  transform:translateX(-120%) skewX(-20deg);
  transition:transform .6s ease;
}
.btn-ochre:hover{
  background:var(--gold); color:var(--dark-3);
  transform:translateY(-3px);
  box-shadow:0 14px 26px -10px rgba(169,134,63,0.55);
}
.btn-ochre:hover::before{ transform:translateX(120%) skewX(-20deg); }
.btn-ochre:active{ transform:translateY(-1px); }

.btn-outline-ochre{
  background:rgba(247,246,243,0.04);
  color:var(--paper);
  border:1px solid rgba(247,246,243,0.5);
  backdrop-filter:blur(2px);
}
.btn-outline-ochre:hover{
  border-color:var(--gold-light); color:var(--gold-light);
  background:rgba(210,176,107,0.08);
  transform:translateY(-3px);
}
.btn-outline-ochre:active{ transform:translateY(-1px); }

/* =============== HERO (split slider: content one side, image other side) =============== */
.hero{ position:relative; overflow:hidden; padding-top:0; background:var(--dark); }
.hero::before{
  content:'';
  position:absolute; top:-140px; right:-140px;
  width:460px; height:460px;
  border:1px solid rgba(210,176,107,0.18);
  border-radius:50%;
  z-index:1; pointer-events:none;
}
.hero-slider{ position:relative; min-height:640px; }
.hero-slide{
  position:absolute; inset:0;
  display:flex; align-items:center; flex-wrap:wrap;
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .7s ease;
}
.hero-slide.active{ position:relative; opacity:1; visibility:visible; pointer-events:auto; z-index:2; }
.hero-content-col{
  flex:1 1 54%; min-width:0;
  display:flex; align-items:center;
  padding:7.8rem 0 2.5rem;
  position:relative; z-index:2;
}
@media (min-width:992px){ .hero-content-col{ padding:8.6rem 0 3.5rem; min-height:620px; } }
.hero-content-col .container{ padding-left:1.6rem; padding-right:1.6rem; }
.hero-media-col{
  flex:1 1 46%; min-width:0; position:relative;
  display:flex; align-items:center; justify-content:center;
  padding:0 1.6rem 2rem;
}
.hero-media-frame{
  position:relative; width:100%; max-width:400px;
  aspect-ratio:6/5;
  padding:9px;
  border-radius:18px;
  background:linear-gradient(155deg, rgba(210,176,107,0.65), rgba(210,176,107,0.12) 45%, rgba(210,176,107,0.45));
  box-shadow:0 25px 55px -12px rgba(0,0,0,0.55);
}
.hero-media-frame-inner{
  position:relative; width:100%; height:100%;
  border-radius:11px; overflow:hidden;
  background:var(--dark-3);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.08);
}
.hero-media-frame-inner img{ width:100%; height:100%; object-fit:cover; display:block; }
.hero-media-frame-inner::after{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(180deg, rgba(0,0,0,0) 65%, rgba(0,0,0,0.35) 100%);
}
@media (min-width:992px){ .hero-media-frame{ max-width:430px; } }
@media (max-width:991px){
  .hero-slide{ flex-direction:column; }
  .hero-content-col{ flex:1 1 auto; padding:8.6rem 0 1.5rem; order:1; }
  .hero-media-col{ flex:1 1 auto; order:2; padding:0 1.6rem 2.5rem; }
  .hero-media-frame{ max-width:320px; }
}
.hero-tag{
  display:inline-flex; align-items:center; gap:0.5rem;
  color:var(--gold-light);
  font-size:0.8rem; font-weight:600;
  padding-bottom:0.3rem;
  border-bottom:1px solid rgba(210,176,107,0.5);
}
.hero h1{
  color:#fff;
  font-size: clamp(1.9rem, 1.25rem + 2.8vw, 2.85rem);
  font-weight:700;
  line-height:1.2;
  max-width:560px;
}
.hero p.lead-text{
  color:rgba(247,246,243,0.85);
  font-size:1.08rem;
  max-width:500px;
}
@media (max-width:767px){ .hero p.lead-text{ font-size:1rem; } }

/* nav arrows overlay the split point */
.hero-nav{
  position:absolute; top:50%; transform:translateY(-50%); z-index:5;
  width:46px; height:46px; border-radius:50%;
  border:1px solid rgba(247,246,243,0.4); background:rgba(17,17,16,0.35);
  color:#fff; display:flex; align-items:center; justify-content:center;
  backdrop-filter:blur(4px);
  transition:all .25s ease;
}
.hero-nav:hover{ background:var(--maroon); border-color:var(--maroon); }
.hero-nav-prev{ left:14px; }
.hero-nav-next{ right:14px; }
@media (max-width:767px){ .hero-nav{ display:none; } }

.hero-dots{
  position:absolute; left:50%; bottom:22px; transform:translateX(-50%); z-index:5;
  display:flex; gap:0.5rem;
}
@media (max-width:991px){ .hero-dots{ bottom:14px; top:auto; left:50%; transform:translateX(-50%); } }
.hero-dot{
  width:30px; height:3px; border-radius:0; border:none;
  background:rgba(247,246,243,0.4); padding:0; cursor:pointer;
  transition:background .25s ease;
}
.hero-dot.active{ background:var(--maroon); }

.trust-strip{ background:var(--dark-3); border-top:1px solid var(--line-light); position:relative; z-index:3; }
.trust-item{ padding:1.6rem 1rem; text-align:center; border-right:1px solid var(--line-light); }
.trust-item:last-child{ border-right:none; }
/* on the 2-column mobile grid, the 2nd/4th item shouldn't keep a right border
   that used to only make sense in the 4-column desktop row */
@media (max-width:767px){
  .trust-item:nth-child(2n){ border-right:none; }
  .trust-item:nth-child(n+3){ border-top:1px solid var(--line-light); }
}
.trust-icon{ display:block; font-size:1.4rem; color:var(--gold-light); margin-bottom:0.6rem; opacity:0.85; }
.trust-number{ font-family:'Manrope', sans-serif; font-size: clamp(1.7rem, 1.4rem + 1vw, 2.2rem); color:var(--gold-light); font-weight:600; }
.trust-label{ color:rgba(247,246,243,0.78); font-size:0.85rem; }

/* =============== ABOUT =============== */
.about-frame{
  width:100%; aspect-ratio:1374/1145; border:1px solid var(--line); position:relative; overflow:hidden;
  background:var(--stone);
  display:flex; align-items:center; justify-content:center;
}
.about-frame img{ width:100%; height:100%; object-fit:contain; filter:grayscale(10%) sepia(6%); }
.about-frame::after{ content:''; position:absolute; inset:14px; border:1px solid var(--maroon); pointer-events:none; }

/* ---- animated scales-of-justice illustration (replaces a stock photo) ---- */
.justice-illustration{
  width:74%; height:74%;
  animation:justiceFloat 5s ease-in-out infinite;
}
.justice-illustration .ij-ring{ fill:none; stroke:var(--gold); stroke-width:1.5; stroke-dasharray:6 7; opacity:0.5; }
.justice-illustration .ij-pole,
.justice-illustration .ij-base,
.justice-illustration .ij-beam{ fill:var(--dark); }
.justice-illustration .ij-fulcrum{ fill:var(--maroon); }
.justice-illustration .ij-chain{ stroke:var(--dark); stroke-width:2; fill:none; }
.justice-illustration .ij-pan{ fill:var(--gold-light); stroke:var(--dark); stroke-width:2.5; }
.justice-illustration .book-1{ fill:var(--maroon); }
.justice-illustration .book-2{ fill:var(--gold); }
.justice-illustration .book-3{ fill:var(--dark-2); }
.justice-illustration .beam-group{
  transform-box:fill-box; transform-origin:50% 0%;
  animation:beamSwing 4.5s ease-in-out infinite;
}
@keyframes beamSwing{ 0%,100%{ transform:rotate(-5deg); } 50%{ transform:rotate(5deg); } }
@keyframes justiceFloat{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-8px); } }

.credential-list li{ display:flex; gap:0.7rem; align-items:flex-start; padding:0.6rem 0; border-bottom:1px dashed var(--line); }
.credential-list li:last-child{ border-bottom:none; }
.credential-list i{ color:var(--maroon); margin-top:0.25rem; }

.stat-band{ background:var(--stone-2); }
.stat-card{ padding:1.8rem 1.2rem; text-align:center; }
.stat-icon{ display:block; font-size:1.3rem; color:var(--maroon); margin-bottom:0.6rem; opacity:0.85; }
.stat-card .num{ font-family:'Manrope', sans-serif; color:var(--dark); font-size:2rem; font-weight:600; }
.stat-card .lbl{ color:var(--text-soft); font-size:0.88rem; }

/* =============== PRACTICE AREAS =============== */
.practice-row{
  display:flex; align-items:center; gap:2.5rem;
  padding:2.4rem 0; border-bottom:1px solid var(--line);
}
.practice-row:first-of-type{ border-top:1px solid var(--line); }
.practice-row.reverse{ flex-direction:row-reverse; }
@media (max-width:768px){
  .practice-row, .practice-row.reverse{ flex-direction:column; text-align:left; gap:1.2rem; }
}
.practice-photo{ flex:0 0 auto; width:220px; aspect-ratio:4/3; position:relative; overflow:hidden; background:var(--paper); }
.practice-photo img{ width:100%; height:100%; object-fit:contain; transition:transform .5s ease; }
.practice-row:hover .practice-photo img{ transform:scale(1.06); }
.practice-icon{
  position:absolute; bottom:-18px; left:-18px;
  width:62px; height:62px; border-radius:50%;
  background:var(--dark);
  display:flex; align-items:center; justify-content:center; z-index:2;
  box-shadow:var(--shadow);
}
.practice-row.reverse .practice-icon{ left:auto; right:-18px; }
.practice-icon i{ font-size:1.3rem; color:var(--gold-light); }
@media (max-width:768px){
  .practice-photo{ width:100%; max-width:320px; }
  .practice-row.reverse .practice-icon{ left:-18px; right:auto; }
}
.practice-index{ font-family:'Manrope', sans-serif; font-size:0.9rem; color:var(--maroon); letter-spacing:0.03em; }
.practice-title{ font-size:1.3rem; font-weight:600; margin:0.25rem 0 0.5rem; }
.practice-text{ color:var(--text-soft); margin-bottom:0; max-width:640px; }

/* ---- practice-areas.html: professional card-grid layout ---- */
.practice-card{
  background:var(--paper); border:1px solid var(--line);
  box-shadow:0 2px 6px rgba(27,26,24,0.06);
  height:100%; display:flex; flex-direction:column; overflow:hidden;
  position:relative;
  transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease, border-color .35s ease;
}
.practice-card:hover{
  transform:translateY(-8px);
  box-shadow:0 26px 40px -18px rgba(27,26,24,0.35), 0 6px 14px -6px rgba(27,26,24,0.12);
  border-color:var(--dark);
}
.practice-card-img{ position:relative; aspect-ratio:16/10; overflow:hidden; background:var(--paper); }
.practice-card-img::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 50%, rgba(27,26,24,0.55) 100%);
  opacity:0; transition:opacity .35s ease;
}
.practice-card:hover .practice-card-img::after{ opacity:1; }
.practice-card-img img{ width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.2,.8,.2,1); }
.practice-card:hover .practice-card-img img{ transform:scale(1.08); }
.practice-card-icon{
  position:absolute; bottom:-22px; left:22px;
  width:58px; height:58px; border-radius:16px;
  background:linear-gradient(145deg, var(--maroon), var(--maroon-deep));
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 22px -6px rgba(122,27,43,0.5);
  transition:transform .35s cubic-bezier(.34,1.56,.64,1);
  z-index:2;
}
.practice-card:hover .practice-card-icon{ transform:rotate(-8deg) scale(1.06); }
.practice-card-icon i{ color:#fff; font-size:1.2rem; }
.practice-card-body{ padding:2.2rem 1.7rem 1.8rem; flex:1; display:flex; flex-direction:column; }
.practice-card-index{
  font-family:'Manrope', sans-serif; font-size:0.8rem; color:var(--maroon);
  letter-spacing:0.08em; text-transform:uppercase; margin-bottom:0.4rem; font-weight:700;
}
.practice-card-title{ font-family:'Manrope', sans-serif; font-size:1.24rem; font-weight:700; color:var(--dark); margin-bottom:0.6rem; }
body.lang-hi .practice-card-title{ font-family:'Noto Sans Devanagari', sans-serif; }
.practice-card-text{ color:var(--text-soft); font-size:0.94rem; flex:1; }
.practice-card-footer{
  margin-top:1.2rem; padding-top:1rem; border-top:1px dashed var(--line);
  font-weight:700; font-size:0.8rem; color:var(--maroon);
  display:flex; align-items:center; gap:0.45rem;
  text-transform:uppercase; letter-spacing:0.04em;
}

/* =============== PROCESS =============== */
.process-band{ background:var(--dark); color:var(--paper); }
.process-band .section-title{ color:#fff; }
.process-step{ padding:1.6rem 0; border-bottom:1px solid var(--line-light); display:flex; gap:1.3rem; align-items:flex-start; }
.process-step:last-child{ border-bottom:none; }
.process-num{ font-family:'Manrope', sans-serif; font-size:1.55rem; color:var(--gold-light); flex:0 0 50px; }
.process-step h4{ color:#fff; font-size:1.08rem; margin-bottom:0.3rem; }
.process-step p{ color:rgba(247,246,243,0.75); margin:0; font-size:0.96rem; }

/* =============== WHY CHOOSE =============== */
.why-item{ padding:1.6rem 0; border-bottom:1px solid var(--line); }
.why-icon{
  display:inline-flex; align-items:center; justify-content:center;
  width:38px; height:38px; border-radius:50%;
  background:var(--stone-2); color:var(--maroon);
  margin-right:0.8rem; font-size:1rem;
}
.why-item h5{ display:inline; font-weight:600; font-size:1.05rem; vertical-align:middle;}
.why-item p{ margin:0.6rem 0 0 2.9rem; color:var(--text-soft); font-size:0.95rem; }

/* =============== TESTIMONIALS =============== */
.testimonial-band{ background:var(--stone); }
.testimonial-card{
  background:var(--paper); border:1px solid var(--dark);
  padding: clamp(1.6rem, 1.2rem + 1.5vw, 2.6rem);
  max-width:740px; margin:0 auto; text-align:center;
  border-radius:0;
  box-shadow:var(--shadow);
}
.testimonial-card i.fa-quote-left{ color:var(--maroon); font-size:1.5rem; margin-bottom:1rem; }
.testimonial-quote{ font-size:1.12rem; font-style:italic; color:var(--dark); margin-bottom:1.2rem; font-family:'Manrope', sans-serif; }
.testimonial-name{ font-weight:600; color:var(--dark); font-family:'Archivo',sans-serif; font-style: normal;}
.testimonial-role{ font-size:0.85rem; color:var(--text-soft); }
.carousel-indicators [data-bs-target]{ background-color:var(--maroon); }
.testimonial-nav{ gap:1rem; }
.testimonial-arrow{
  width:40px; height:40px; border-radius:50%;
  border:1px solid var(--dark); background:transparent;
  color:var(--dark); font-size:0.9rem;
  display:inline-flex; align-items:center; justify-content:center;
  transition:all .2s ease; flex:0 0 auto;
}
.testimonial-arrow:hover{ background:var(--maroon); border-color:var(--maroon); color:#fff; }
/* Default Bootstrap arrow icons are white — fine as-is on the dark hero.
   Only the (light-background) testimonial slider needs them darkened. */
#testimonialCarousel .carousel-control-prev-icon,
#testimonialCarousel .carousel-control-next-icon{ filter:invert(14%) sepia(20%) saturate(1200%) hue-rotate(120deg); }

/* =============== HOME TESTIMONIAL SLIDER =============== */
.testimonial-home-band{
  background:var(--stone-2);
  padding-top:calc(clamp(3rem, 2.3rem + 3vw, 6.5rem) + 22px);
  padding-bottom:calc(clamp(3rem, 2.3rem + 3vw, 6.5rem) + 22px);
  clip-path:polygon(0 22px, 100% 0, 100% calc(100% - 22px), 0 100%);
  overflow:hidden;
}
@media (max-width:576px){ .testimonial-home-band{ clip-path:none; } }

.testi-slider-wrap{ display:flex; align-items:center; gap:0.9rem; max-width:100%; }
.testi-slider{
  display:flex; gap:1.4rem; overflow-x:auto; scroll-snap-type:x mandatory;
  scroll-behavior:smooth; padding:0.4rem 0.2rem 1rem; flex:1 1 auto; min-width:0;
  -ms-overflow-style:none; scrollbar-width:none;
}
.testi-slider::-webkit-scrollbar{ display:none; }
.testi-card{
  flex:0 0 100%; max-width:100%; scroll-snap-align:start; box-sizing:border-box;
  background:var(--paper); border:1px solid var(--line);
  box-shadow:0 4px 12px rgba(27,26,24,0.07);
  padding: clamp(1.8rem, 1.4rem + 1.2vw, 2.3rem) 1.6rem 1.9rem;
  text-align:center; position:relative; overflow:hidden;
  transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease, border-color .35s ease;
}
.testi-card::before{
  content:'\201C'; position:absolute; top:-8px; right:18px;
  font-family:Georgia, serif; font-size:5.5rem; line-height:1;
  color:rgba(122,27,43,0.07); font-weight:700; pointer-events:none;
}
.testi-card:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 38px -18px rgba(27,26,24,0.3);
  border-color:var(--gold-light);
}
@media (min-width:768px){ .testi-card{ flex:0 0 calc(50% - 0.7rem); max-width:calc(50% - 0.7rem); } }
@media (min-width:1100px){ .testi-card{ flex:0 0 calc(33.333% - 0.94rem); max-width:calc(33.333% - 0.94rem); } }

.testi-google-badge{
  width:46px; height:46px; border-radius:50%; background:#fff; border:1px solid var(--line);
  display:flex; align-items:center; justify-content:center; margin:0 auto 1rem;
  box-shadow:0 6px 14px rgba(0,0,0,0.12); padding:9px; position:relative; z-index:1;
}
.testi-google-badge img{ width:100%; height:100%; object-fit:contain; }
.testi-stars{ color:#F2A93B; font-size:0.78rem; margin-bottom:0.9rem; letter-spacing:0.15em; position:relative; z-index:1; }
.testi-quote{ font-size:0.98rem; font-style:italic; color:var(--dark); font-family:'Archivo', sans-serif; margin-bottom:1.1rem; position:relative; z-index:1; }
body.lang-hi .testi-quote{ font-family:'Noto Sans Devanagari', sans-serif; }
.testi-name{ font-weight:700; color:var(--dark); position:relative; z-index:1; }
.testi-role{ font-size:0.82rem; color:var(--text-soft); position:relative; z-index:1; }

.testi-arrow{
  width:44px; height:44px; border-radius:50%; flex:0 0 auto;
  border:1px solid var(--dark); background:var(--paper); color:var(--dark);
  display:flex; align-items:center; justify-content:center; font-size:0.9rem;
  transition:all .25s ease;
}
.testi-arrow:hover{ background:var(--maroon); border-color:var(--maroon); color:#fff; transform:scale(1.08); }
@media (max-width:576px){ .testi-arrow{ display:none; } }

/* dot indicators beneath the slider */
.testi-dots{ display:flex; justify-content:center; gap:0.5rem; margin-top:0.4rem; }
.testi-dot{
  width:9px; height:9px; border-radius:50%; border:none;
  background:rgba(27,26,24,0.2); padding:0; cursor:pointer;
  transition:all .25s ease;
}
.testi-dot.active{ background:var(--maroon); width:26px; border-radius:5px; }

/* ---- premium animated "View More Reviews on Google" button ---- */
.btn-google-reviews{
  position:relative; overflow:hidden;
  display:inline-flex; align-items:center; gap:0.65rem;
  background:var(--paper); border:1px solid var(--dark); color:var(--dark);
  padding:0.75rem 1.8rem; font-weight:700; font-size:0.9rem;
  clip-path:polygon(0 0, 100% 0, 100% calc(100% - 14px), calc(100% - 14px) 100%, 0 100%);
  box-shadow:var(--shadow); transition:transform .2s ease, box-shadow .2s ease;
}
.btn-google-reviews i{ color:#4285F4; font-size:1.05rem; }
.btn-google-reviews:hover{ transform:translate(-4px,-4px); box-shadow:10px 10px 0 rgba(27,26,24,0.9); color:var(--dark); }
.btn-google-reviews::after{
  content:''; position:absolute; top:0; left:-60%; width:35%; height:100%;
  background:linear-gradient(120deg, transparent, rgba(122,27,43,0.14), transparent);
  transform:skewX(-20deg); animation:btnShine 3s ease-in-out infinite;
}
@keyframes btnShine{
  0%{ left:-60%; }
  55%{ left:130%; }
  100%{ left:130%; }
}
@media (prefers-reduced-motion: reduce){ .btn-google-reviews::after{ animation:none; } }

/* =============== CONTACT =============== */
.contact-band{ background:var(--dark); color:var(--paper); }
.contact-band .section-title{ color:#fff; }
.contact-info-item{ display:flex; gap:1rem; align-items:flex-start; margin-bottom:1.6rem; }
.contact-info-item i{ color:var(--gold-light); font-size:1.1rem; width:26px; margin-top:0.2rem; }
.contact-info-item h6{ color:#fff; margin-bottom:0.2rem; font-weight:600; }
.contact-info-item p{ color:rgba(247,246,243,0.75); margin:0; font-size:0.92rem; }
.contact-info-item p a{ color:rgba(247,246,243,0.9); text-decoration:underline; text-decoration-color:rgba(210,176,107,0.5); }
.contact-info-item p a:hover{ color:var(--gold-light); }

.form-control-custom{
  background:rgba(247,246,243,0.06);
  border:1px solid rgba(247,246,243,0.28);
  color:#fff; padding:0.7rem 0.9rem; border-radius:3px;
}
.form-control-custom:focus{ background:rgba(247,246,243,0.11); border-color:var(--maroon); color:#fff; box-shadow:none; }
.form-control-custom::placeholder{ color:rgba(247,246,243,0.48); }
select.form-control-custom option{ background:var(--dark); color:#fff; }

.map-frame{ border:1px solid var(--line); filter:grayscale(35%) sepia(8%); width:100%; height:100%; min-height:280px; }

/* =============== FOOTER =============== */
footer{ background:var(--dark-3); color:rgba(247,246,243,0.68); padding:3.8rem 0 1.5rem; border-top:3px solid var(--maroon); }
footer h6{
  color:#fff; font-weight:700; margin-bottom:1.2rem; font-size:0.82rem;
  text-transform:uppercase; letter-spacing:0.1em;
  padding-bottom:0.6rem; position:relative;
}
footer h6::after{ content:''; position:absolute; left:0; bottom:0; width:28px; height:2px; background:var(--gold-light); }
footer ul{ list-style:none; padding:0; margin:0; }
footer ul li{ margin-bottom:0.7rem; font-size:0.9rem; }
footer ul li a{ color:rgba(247,246,243,0.68); transition:color .2s; }
footer ul li a:hover{ color:var(--gold-light); }
.footer-contact-item{ display:flex; gap:0.6rem; align-items:flex-start; margin-bottom:0.85rem; font-size:0.88rem; }
.footer-contact-item i{ color:var(--gold-light); width:16px; margin-top:0.2rem; font-size:0.9rem; }
.footer-contact-item a, .footer-contact-item span{ color:rgba(247,246,243,0.72); }
.footer-contact-item a:hover{ color:var(--gold-light); }
.footer-brand-row{ display:flex; align-items:center; gap:0.6rem; margin-bottom:0.9rem; }
.footer-brand{ font-family:'Manrope', sans-serif; color:#fff; font-size:1.3rem; font-weight:600; }
body.lang-hi .footer-brand{ font-family:'Noto Sans Devanagari', sans-serif; }
.social-icon{
  width:38px; height:38px; border:1px solid rgba(247,246,243,0.25); border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  color:rgba(247,246,243,0.82); margin-right:0.5rem; font-size:0.95rem;
  background:rgba(247,246,243,0.04);
  transition:transform .22s ease, background-color .22s ease, border-color .22s ease, color .22s ease, box-shadow .22s ease;
}
.social-icon:hover{
  color:#fff;
  border-color:transparent;
  transform:translateY(-3px);
  box-shadow:0 6px 14px rgba(0,0,0,0.35);
}
.social-icon[aria-label="Facebook"]:hover{ background:#1877F2; }
.social-icon[aria-label="LinkedIn"]:hover{ background:#0A66C2; }
.social-icon[aria-label="WhatsApp"]:hover{ background:#25D366; }
.social-icon[aria-label="Instagram"]:hover{ background:radial-gradient(circle at 30% 110%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%); }
.footer-bottom{ border-top:1px solid rgba(247,246,243,0.12); margin-top:2.5rem; padding-top:1.3rem; font-size:0.82rem; }
.footer-credit{
  text-align:center; font-size:0.78rem; color:rgba(247,246,243,0.5);
  margin-top:1rem; padding-top:1rem; border-top:1px solid rgba(247,246,243,0.08);
}
.footer-credit a{ color:var(--gold-light); font-weight:600; text-decoration:underline; text-decoration-color:rgba(210,176,107,0.4); }
.footer-credit a:hover{ color:#fff; }

/* floating action buttons: WhatsApp + Call */
.float-actions{
  position:fixed; bottom:22px; left:22px; z-index:1050;
  display:flex; flex-direction:column; gap:0.8rem; align-items:flex-start;
}
.float-btn{
  position:relative;
  width:54px; height:54px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-size:1.25rem;
  color:#fff; box-shadow:0 6px 18px rgba(0,0,0,0.32);
  transition:transform .25s cubic-bezier(.34,1.56,.64,1), box-shadow .25s ease;
  opacity:0; transform:translateX(-40px) scale(0.7);
  animation:floatIn .6s cubic-bezier(.34,1.56,.64,1) forwards;
}
.float-btn.whatsapp{ background:#25D366; animation-delay:.3s; }
.float-btn.call{ background:var(--maroon); animation-delay:.55s; }
.float-btn:hover{ transform:scale(1.12) translateX(4px); color:#fff; box-shadow:0 10px 22px rgba(0,0,0,0.38); }
.float-btn.call::before{
  content:''; position:absolute; inset:0; border-radius:50%;
  border:2px solid var(--maroon); animation:pulse 2.4s infinite;
  pointer-events:none;
}
/* small text hint that slides out on hover, reinforcing the premium feel */
.float-btn .float-label{
  position:absolute; left:calc(100% + 12px); top:50%; transform:translateY(-50%) translateX(-8px);
  background:var(--dark-3); color:#fff; font-size:0.76rem; font-weight:600;
  padding:0.4rem 0.75rem; border-radius:4px; white-space:nowrap;
  opacity:0; visibility:hidden; transition:opacity .2s ease, transform .2s ease;
  pointer-events:none;
}
.float-btn .float-label::before{
  content:''; position:absolute; right:100%; top:50%; transform:translateY(-50%);
  border:5px solid transparent; border-right-color:var(--dark-3);
}
.float-btn:hover .float-label{ opacity:1; visibility:visible; transform:translateY(-50%) translateX(0); }
@media (max-width:576px){ .float-btn .float-label{ display:none; } }
@keyframes floatIn{ to{ opacity:1; transform:translateX(0) scale(1); } }
@keyframes pulse{
  0%{ box-shadow:0 0 0 0 rgba(122,27,43,0.5); }
  70%{ box-shadow:0 0 0 14px rgba(122,27,43,0); }
  100%{ box-shadow:0 0 0 0 rgba(122,27,43,0); }
}

/* =============== PAGE HEADER (inner pages) =============== */
.page-header{
  background:var(--dark);
  padding: clamp(6.5rem, 5.5rem + 3vw, 9rem) 0 3rem;
  position:relative; overflow:hidden;
}
@media (min-width:992px){ .page-header{ padding-top:calc(clamp(6.5rem, 5.5rem + 3vw, 9rem) + 38px); } }
.page-header::before{
  content:''; position:absolute; top:-100px; left:-100px;
  width:340px; height:340px; border:1px solid rgba(210,176,107,0.16); border-radius:50%;
}
.page-header h1{ color:#fff; font-size: clamp(1.8rem, 1.4rem + 2vw, 2.6rem); position:relative; z-index:1; }
.page-header p{ color:rgba(247,246,243,0.78); max-width:640px; position:relative; z-index:1; }
.crumb{ color:var(--gold-light); font-size:0.85rem; font-weight:600; position:relative; z-index:1; }
.crumb a{ color:rgba(247,246,243,0.75); }
.crumb a:hover{ color:var(--gold-light); }

@media (prefers-reduced-motion: reduce){
  *{ animation:none!important; transition:none!important; }
}

/* extra-large screens: give breathing room to hero/typography up to 1920px */
@media (min-width:1600px){
  .hero-slide{ min-height:640px; }
}

/* =============== HOME: feature cards + CTA band =============== */
.feature-card{
  background:var(--paper);
  border:1px solid var(--line);
  height:100%;
  overflow:hidden;
  position:relative;
  display:flex; flex-direction:column;
  box-shadow:0 2px 6px rgba(27,26,24,0.06);
  transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease, border-color .35s ease;
}
.feature-card::after{
  content:''; position:absolute; inset:0; z-index:1; pointer-events:none;
  border:1px solid transparent; transition:border-color .35s ease;
}
.feature-card:hover{
  transform:translateY(-8px);
  box-shadow:0 26px 40px -18px rgba(27,26,24,0.35), 0 6px 14px -6px rgba(27,26,24,0.12);
  border-color:var(--dark);
}
.feature-card:hover::after{ border-color:rgba(210,176,107,0.5); }
.feature-img{ position:relative; aspect-ratio:4/3; overflow:hidden; background:var(--paper); }
.feature-img::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 55%, rgba(27,26,24,0.5) 100%);
  opacity:0; transition:opacity .35s ease;
}
.feature-card:hover .feature-img::after{ opacity:1; }
.feature-img img{ width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.2,.8,.2,1); }
.feature-card:hover .feature-img img{ transform:scale(1.09); }
.feature-body{ padding:1.7rem 1.5rem 1.8rem; position:relative; flex:1; }
.feature-icon{
  width:54px; height:54px; border-radius:16px;
  background:linear-gradient(145deg, var(--dark), var(--dark-2));
  display:flex; align-items:center; justify-content:center;
  position:absolute; top:-27px; left:1.5rem;
  box-shadow:0 10px 22px -6px rgba(27,26,24,0.55);
  transition:transform .35s cubic-bezier(.34,1.56,.64,1), background .35s ease;
  z-index:2;
}
.feature-card:hover .feature-icon{ transform:rotate(-8deg) scale(1.06); background:linear-gradient(145deg, var(--maroon), var(--maroon-deep)); }
.feature-icon i{ color:var(--gold-light); font-size:1.2rem; }
.feature-card h5{ font-family:'Manrope', sans-serif; color:var(--dark); font-weight:700; font-size:1.1rem; margin:1.15rem 0 0.6rem; }
body.lang-hi .feature-card h5{ font-family:'Noto Sans Devanagari', sans-serif; }
.feature-card p{ color:var(--text-soft); font-size:0.93rem; margin-bottom:0.9rem; }
.feature-link{ color:var(--maroon); font-weight:700; font-size:0.86rem; text-transform:uppercase; letter-spacing:0.03em; }
.feature-link i{ font-size:0.78rem; margin-left:0.3rem; transition:margin .2s ease; }
.feature-link:hover i{ margin-left:0.55rem; }
.feature-link:hover{ color:var(--dark); }

/* =============== GALLERY / GLIMPSE ================= */
.gallery-grid{
  display:grid; gap:1rem;
  grid-template-columns:repeat(4, 1fr);
  grid-auto-rows:210px;
}
.gallery-item{
  position:relative; overflow:hidden; border-radius:6px;
  border:1px solid var(--line);
}
/* Each photo gets an explicit cell shaped to match its own orientation —
   the tall portrait shots (team photo, quote poster) get a tall cell so their
   full height (faces / text) stays in frame, instead of every photo being
   squeezed into the same short 150px strip, which was cropping heads and
   the quote text off. Order here is independent of the HTML markup order. */
.gallery-item:nth-child(1){ grid-column:3; grid-row:1; }             /* chamber portrait */
.gallery-item:nth-child(2){ grid-column:4; grid-row:1 / span 2; }    /* courtroom */
.gallery-item:nth-child(3){ grid-column:3; grid-row:2; }             /* desk consultation */
.gallery-item:nth-child(4){ grid-column:2; grid-row:1 / span 2; }    /* with fellow advocates (tall) */
.gallery-item:nth-child(5){ grid-column:1; grid-row:1 / span 2; }    /* quote poster (tall) */
.gallery-item img{
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .6s cubic-bezier(.2,.8,.2,1);
}
.gallery-item::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 40%, rgba(17,17,16,0.78) 100%);
  opacity:0; transition:opacity .35s ease;
}
.gallery-item:hover img{ transform:scale(1.09); }
.gallery-item:hover::after{ opacity:1; }
.gallery-caption{
  position:absolute; left:0; right:0; bottom:0; padding:0.9rem 1.1rem;
  color:#fff; font-weight:600; font-size:0.88rem; z-index:2;
  opacity:0; transform:translateY(8px);
  transition:opacity .35s ease, transform .35s ease;
}
.gallery-item:hover .gallery-caption{ opacity:1; transform:translateY(0); }
@media (max-width:767px){
  /* narrow screens: the two tall portrait/text photos get their own
     full-width row each (so nothing about the team or the quote poster
     text gets cropped away), the 3 landscape photos share a compact
     2-column row below */
  .gallery-grid{ grid-template-columns:repeat(2, 1fr); grid-auto-rows:190px; }
  .gallery-item:nth-child(4){ grid-column:1 / span 2; grid-row:1 / span 3; }  /* with fellow advocates */
  .gallery-item:nth-child(5){ grid-column:1 / span 2; grid-row:4 / span 3; }  /* quote poster */
  .gallery-item:nth-child(1){ grid-column:1; grid-row:7; }                    /* chamber portrait */
  .gallery-item:nth-child(2){ grid-column:2; grid-row:7; }                    /* courtroom */
  .gallery-item:nth-child(3){ grid-column:1 / span 2; grid-row:8; }           /* desk consultation */
}

.cta-band{
  background:var(--dark-3);
  color:var(--paper);
  padding: clamp(2.5rem, 2rem + 2vw, 4rem) 0;
  text-align:center;
}
.cta-band h2{ color:#fff; margin-bottom:0.6rem; }
.cta-band p{ color:rgba(247,246,243,0.78); max-width:560px; margin:0 auto 1.6rem; }

.quote-mini{
  border-left:3px solid var(--maroon);
  padding-left:1.4rem;
  font-family:'Manrope', sans-serif;
  font-style:italic;
  font-size:1.2rem;
  color:var(--dark);
  max-width:760px;
}
body.lang-hi .quote-mini{ font-family:'Noto Sans Devanagari', sans-serif; }

/* =============== DIAGONAL "SASH" BANDS =============== */
/* deliberately not flat stacked bootstrap-style sections */
.stat-band{
  padding:2.4rem 0;
  clip-path:polygon(0 24px, 100% 0, 100% calc(100% - 24px), 0 100%);
}
.process-band{
  padding-top:calc(clamp(3rem, 2.3rem + 3vw, 6.5rem) + 24px);
  padding-bottom:calc(clamp(3rem, 2.3rem + 3vw, 6.5rem) + 24px);
  clip-path:polygon(0 24px, 100% 0, 100% calc(100% - 24px), 0 100%);
}
.testimonial-band{
  padding-top:calc(clamp(3rem, 2.3rem + 3vw, 6.5rem) + 22px);
  padding-bottom:calc(clamp(3rem, 2.3rem + 3vw, 6.5rem) + 22px);
  clip-path:polygon(0 22px, 100% 0, 100% calc(100% - 22px), 0 100%);
}
.contact-band{
  padding-top:calc(clamp(3rem, 2.3rem + 3vw, 6.5rem) + 24px);
  padding-bottom:calc(clamp(3rem, 2.3rem + 3vw, 6.5rem) + 24px);
  clip-path:polygon(0 24px, 100% 0, 100% 100%, 0 100%);
}
.cta-band{
  padding-top:calc(clamp(2.5rem, 2rem + 2vw, 4rem) + 22px);
  padding-bottom:calc(clamp(2.5rem, 2rem + 2vw, 4rem) + 22px);
  clip-path:polygon(0 22px, 100% 0, 100% 100%, 0 100%);
}
@media (max-width:576px){
  .stat-band, .process-band, .testimonial-band, .contact-band, .cta-band{ clip-path:none; }
}

/* =============== Consultation form: premium result popup =============== */
.consult-popup-overlay{
  position:fixed; inset:0; z-index:2000;
  background:rgba(17,17,16,0.72);
  backdrop-filter:blur(4px);
  display:flex; align-items:center; justify-content:center;
  padding:1.2rem;
  opacity:0; visibility:hidden;
  transition:opacity .28s ease, visibility .28s ease;
}
.consult-popup-overlay.open{ opacity:1; visibility:visible; }
.consult-popup-card{
  position:relative; width:100%; max-width:420px;
  background:var(--stone);
  border-radius:16px;
  padding:2.6rem 2.2rem 2.2rem;
  text-align:center;
  box-shadow:0 30px 70px -12px rgba(0,0,0,0.55);
  border-top:4px solid var(--maroon);
  transform:translateY(18px) scale(0.97);
  transition:transform .32s cubic-bezier(.2,.8,.2,1);
}
.consult-popup-overlay.open .consult-popup-card{ transform:translateY(0) scale(1); }
.consult-popup-close{
  position:absolute; top:0.8rem; right:0.9rem;
  background:none; border:none; font-size:1.6rem; line-height:1;
  color:var(--text-soft); cursor:pointer; padding:0.2rem 0.4rem;
  transition:color .2s ease;
}
.consult-popup-close:hover{ color:var(--maroon); }
.consult-popup-icon{
  width:64px; height:64px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  margin:0 auto 1.2rem; font-size:1.6rem;
}
.consult-popup-icon.success{ background:rgba(122,27,43,0.1); color:var(--maroon); }
.consult-popup-icon.error{ background:rgba(169,134,63,0.15); color:var(--gold); }
.consult-popup-card h3{
  font-family:'Manrope',sans-serif; font-weight:800; font-size:1.35rem;
  color:var(--text); margin-bottom:0.7rem;
}
.consult-popup-card p{
  color:var(--text-soft); font-size:0.95rem; line-height:1.6;
  margin-bottom:1.6rem;
}
.consult-popup-card .btn-ochre{ text-decoration:none; }

/* =============== Chamber Address: visible "Open in Google Maps" button =============== */
.btn-maps{
  display:inline-flex; align-items:center; gap:0.55rem;
  padding:0.7rem 1.4rem;
  border:1.5px solid var(--gold-light);
  border-radius:999px;
  color:var(--gold-light) !important;
  font-weight:700; font-size:0.82rem;
  letter-spacing:0.03em; text-transform:uppercase;
  background:rgba(210,176,107,0.08);
  transition:all .25s ease;
  text-decoration:none;
}
.btn-maps i{ font-size:0.9rem; }
.btn-maps:hover{
  background:var(--gold-light); color:var(--dark-3) !important;
  transform:translateY(-2px);
  box-shadow:0 12px 24px -10px rgba(210,176,107,0.6);
}
