/* =========================================================
   PRACTICE AREAS PAGE - Lau-Tam Abogados
   File: css/practices.css
   Loads after css/about.css.
   ========================================================= */

.practices-page{
  background:#f4f1ec;
  color:#07192f;
}

.practices-hero .about-hero-side-video video{
  filter:saturate(.88) contrast(1.16) brightness(.76);
}

.practices-title-split{
  display:flex;
  flex-direction:column;
  gap:.06em;
  max-width:1050px;
}

.practices-title-small{
  display:block;
  font-size:clamp(2.2rem,4.1vw,4.5rem);
  line-height:.92;
  letter-spacing:-.052em;
  color:rgba(255,255,255,.90);
}

.practices-title-strong{
  display:block;
  font-size:clamp(3.1rem,6vw,6.6rem);
  line-height:.88;
  letter-spacing:-.058em;
  color:#fff;
}

.practices-scroll-explore{
  position:absolute;
  left:50%;
  bottom:28px;
  z-index:8;
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  color:rgba(255,255,255,.78);
  text-decoration:none;
  transform:translateX(-50%);
  transition:color .22s ease, transform .22s ease;
}

.practices-scroll-explore:hover,
.practices-scroll-explore:focus-visible{
  color:#fff;
  transform:translateX(-50%) translateY(2px);
  outline:none;
}

.practices-scroll-explore span{
  font-family:var(--fg, "Georama", sans-serif);
  font-size:.72rem;
  font-weight:700;
  line-height:1;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.practices-scroll-explore svg{
  width:24px;
  height:24px;
  stroke:currentColor;
  stroke-width:2.2;
  fill:none;
  animation:practicesScrollArrow 1.45s ease-in-out infinite;
}

.practices-scroll-explore path{
  fill:none;
  stroke:currentColor;
  stroke-linecap:round;
  stroke-linejoin:round;
}

@keyframes practicesScrollArrow{
  0%,100%{transform:translateY(0);opacity:.7;}
  50%{transform:translateY(5px);opacity:1;}
}

.practices-gateway{
  position:relative;
  background:#f4f1ec;
  padding:92px 0 124px;
  color:#07192f;
}

.practices-gateway-inner{
  width:min(1120px, calc(100% - 48px));
  margin:0 auto;
}

.practices-filter-section{
  display:grid;
  grid-template-columns:minmax(250px, .42fr) minmax(0, 1fr);
  gap:clamp(3.2rem,6vw,5.8rem);
  align-items:start;
}

.practices-filter-panel{
  position:sticky;
  top:96px;
}

.practices-filter-label-row{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:18px;
  align-items:center;
  margin:0 0 30px;
  color:#07192f;
  font-family:var(--fg, "Georama", sans-serif);
  font-size:.9rem;
  font-weight:400;
  letter-spacing:.02em;
}

.practices-filter-label-row::after{
  content:"";
  display:block;
  height:1px;
  background:rgba(7,25,47,.28);
}

.practices-filter-buttons{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:10px;
}

.practice-filter-button{
  min-height:62px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px 16px;
  background:#07111f;
  border:1px solid #07111f;
  color:#fff;
  font-family:var(--fg, "Georama", sans-serif);
  font-size:.78rem;
  font-weight:800;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
  transition:background .18s ease, color .18s ease, border-color .18s ease;
}

.practice-filter-button:first-child{
  grid-column:1 / -1;
}

.practice-filter-button:hover,
.practice-filter-button:focus-visible{
  background:#0c1d34;
  border-color:#0c1d34;
  outline:none;
}

.practice-filter-button.is-active{
  background:#fff;
  color:#07192f;
  border-color:rgba(7,25,47,.18);
  box-shadow:none;
}

.practices-results-panel{
  min-width:0;
}

.practice-result-group{
  display:none;
}

.practice-result-group.is-active{
  display:block;
}


.practices-results-kicker{
  margin:0 0 1.1rem;
  color:#07192f;
  font-family:var(--fg, "Georama", sans-serif);
  font-size:.76rem;
  font-weight:900;
  line-height:1;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.practice-result-group h2{
  margin:0 0 34px;
  color:#07192f;
  font-family:var(--fd, "Playfair Display", serif);
  font-size:clamp(2.6rem,4vw,4.65rem);
  line-height:.96;
  font-weight:600;
  letter-spacing:-.055em;
}

.practices-results-columns{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:36px;
}

.practices-results-columns h3{
  margin:0 0 18px;
  color:#c99d55;
  font-family:var(--fg, "Georama", sans-serif);
  font-size:.72rem;
  font-weight:900;
  line-height:1;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.practices-results-columns ul,
.practices-results-list{
  list-style:none;
  margin:0;
  padding:0;
}

.practices-results-columns li,
.practices-results-list li{
  margin:0;
  padding:14px 0;
  border-bottom:1px solid rgba(7,25,47,.14);
  color:rgba(7,25,47,.74);
  font-family:var(--fg, "Georama", sans-serif);
  font-size:1.02rem;
  font-weight:400;
  line-height:1.32;
  transition:color .18s ease, border-color .18s ease;
}

.practices-results-list{
  columns:2;
  column-gap:56px;
}

.practices-results-list li{
  break-inside:avoid;
}

.practices-results-columns li:hover,
.practices-results-list li:hover{
  color:#07192f;
  border-bottom-color:rgba(201,157,85,.34);
}

@media(max-width:1040px){
  .practices-filter-section{
    grid-template-columns:1fr;
    gap:3rem;
  }

  .practices-filter-panel{
    position:relative;
    top:auto;
  }

  .practices-filter-buttons{
    grid-template-columns:repeat(4, minmax(0,1fr));
  }

  .practice-filter-button:first-child{
    grid-column:auto;
  }
}

@media(max-width:780px){
  .practices-gateway{
    padding:64px 0 84px;
  }

  .practices-gateway-inner{
    width:calc(100% - 28px);
  }

  .practices-filter-buttons{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }

  .practice-filter-button:first-child{
    grid-column:1 / -1;
  }

  .practices-results-columns{
    grid-template-columns:1fr;
    gap:28px;
  }

  .practices-results-list{
    columns:1;
  }

  .practice-result-group h2{
    font-size:clamp(2.15rem,10vw,3.4rem);
    margin-bottom:26px;
  }
}

@media(max-width:640px){
  .practices-title-split{
    gap:.08em;
  }

  .practices-title-small{
    font-size:clamp(2rem,9vw,3.05rem);
    line-height:.96;
  }

  .practices-title-strong{
    font-size:clamp(2.75rem,12.4vw,4.45rem);
    line-height:.93;
  }

  .practices-page .about-hero-subtitle{
    max-width:100%;
    margin-top:22px;
    font-size:1rem;
    line-height:1.65;
  }

  .practices-scroll-explore{
    bottom:22px;
  }
}

/* Removed all-view heading: tighten first visible row */
.practice-result-group[data-practice-group="all"] .practices-results-columns{
  margin-top:0;
}

.practice-result-group[data-practice-group="all"].is-active{
  padding-top:0;
}

/* All practices are alphabetized by visible language */
.practices-results-list-all{
  columns:3;
  column-gap:42px;
}

@media(max-width:1040px){
  .practices-results-list-all{
    columns:2;
  }
}

@media(max-width:780px){
  .practices-results-list-all{
    columns:1;
  }
}

/* Sober interaction override */
.practices-results-columns li,
.practices-results-list li{
  padding-left:0 !important;
}

.practices-results-columns li:hover,
.practices-results-list li:hover{
  padding-left:0 !important;
}

/* Final practice list behavior: no static lines; arrow only for internal pages */
.practices-results-columns li,
.practices-results-list li{
  position:relative;
  border-bottom:0 !important;
  padding:13px 0 !important;
}

.practices-results-columns li::after,
.practices-results-list li::after{
  content:none !important;
}

.practices-results-columns li:hover,
.practices-results-list li:hover{
  color:#07192f;
  border-bottom:0 !important;
  padding-left:0 !important;
}

.practices-results-columns li.has-internal-page,
.practices-results-list li.has-internal-page{
  cursor:pointer;
  padding-right:22px !important;
}

.practices-results-columns li.has-internal-page::after,
.practices-results-list li.has-internal-page::after{
  content:"↗" !important;
  position:absolute;
  right:0;
  top:50%;
  width:auto;
  height:auto;
  background:transparent;
  color:#c99d55;
  font-family:var(--fg, "Georama", sans-serif);
  font-size:.88rem;
  font-weight:800;
  line-height:1;
  opacity:0;
  transform:translateY(-50%) translateX(-3px);
  transition:opacity .18s ease, transform .18s ease;
}

.practices-results-columns li.has-internal-page:hover::after,
.practices-results-list li.has-internal-page:hover::after{
  opacity:1;
  transform:translateY(-50%) translateX(0);
}

.practices-results-columns li.has-internal-page a,
.practices-results-list li.has-internal-page a{
  color:inherit;
  text-decoration:none;
}

/* Horizontal expertise tabs, aligned with About-style navigation */
.practices-filter-section{
  display:block !important;
}

.practices-filter-tabs{
  display:flex;
  align-items:center;
  gap:2.05rem;
  margin:0 0 54px;
  padding:0;
  border:0;
}

.practice-filter-tab{
  position:relative;
  appearance:none;
  border:0;
  background:transparent;
  padding:0 0 10px;
  color:#07192f;
  font-family:var(--fg, "Georama", sans-serif);
  font-size:.95rem;
  font-weight:800;
  line-height:1;
  letter-spacing:-.015em;
  cursor:pointer;
  opacity:.72;
  transition:opacity .18s ease, color .18s ease;
}

.practice-filter-tab::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1px;
  background:#c99d55;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .18s ease;
}

.practice-filter-tab:hover,
.practice-filter-tab:focus-visible{
  opacity:1;
  color:#07192f;
  outline:none;
}

.practice-filter-tab.is-active{
  opacity:1;
  color:#c99d55;
}

.practice-filter-tab.is-active::after{
  transform:scaleX(1);
}

.practices-results-panel{
  width:100%;
}

.practices-results-list{
  columns:3;
  column-gap:42px;
}

.practice-result-group h2{
  margin-top:0;
}

/* Disable old button grid styles after moving filters to tabs */
.practices-filter-panel,
.practices-filter-label-row,
.practices-filter-buttons,
.practice-filter-button{
  display:none !important;
}

@media(max-width:780px){
  .practices-filter-tabs{
    gap:1.25rem;
    margin-bottom:38px;
    overflow-x:auto;
    padding-bottom:4px;
    scrollbar-width:none;
  }

  .practices-filter-tabs::-webkit-scrollbar{
    display:none;
  }

  .practice-filter-tab{
    flex:0 0 auto;
    font-size:.88rem;
  }

  .practices-results-list{
    columns:1;
  }
}

/* Center the three-column practice list block */
.practice-result-group[data-practice-group="all"]{
  max-width:1060px;
  margin:0 auto;
}

.practice-result-group[data-practice-group="all"] .practices-results-list-all{
  width:100%;
  margin:0 auto;
  column-gap:64px;
}

.practices-filter-tabs{
  justify-content:center;
}

@media(max-width:1040px){
  .practice-result-group[data-practice-group="all"]{
    max-width:760px;
  }

  .practice-result-group[data-practice-group="all"] .practices-results-list-all{
    column-gap:48px;
  }
}

@media(max-width:780px){
  .practice-result-group[data-practice-group="all"]{
    max-width:100%;
  }

  .practices-filter-tabs{
    justify-content:flex-start;
  }
}

/* Center top practice tabs */
.practices-filter-tabs{
  justify-content:center !important;
  width:100%;
  margin-left:auto;
  margin-right:auto;
}

@media(max-width:780px){
  .practices-filter-tabs{
    justify-content:flex-start !important;
  }
}


/* Longer category names */
.practices-filter-tabs{
  gap:clamp(1.4rem, 3vw, 2.35rem);
  flex-wrap:wrap;
}

.practice-filter-tab{
  white-space:nowrap;
}

@media(max-width:780px){
  .practices-filter-tabs{
    flex-wrap:nowrap;
  }
}


/* Final tabs and result list behavior */
.practices-filter-section{
  display:block !important;
}

.practices-filter-tabs{
  display:flex;
  justify-content:center !important;
  align-items:center;
  gap:clamp(1.4rem, 3vw, 2.35rem);
  flex-wrap:wrap;
  width:100%;
  margin:0 auto 54px;
  padding:0;
  border:0;
}

.practice-filter-tab{
  position:relative;
  appearance:none;
  border:0;
  background:transparent;
  padding:0 0 10px;
  color:#07192f;
  font-family:var(--fg, "Georama", sans-serif);
  font-size:.95rem;
  font-weight:800;
  line-height:1;
  letter-spacing:-.015em;
  white-space:nowrap;
  cursor:pointer;
  opacity:.72;
  transition:opacity .18s ease, color .18s ease;
}

.practice-filter-tab::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1px;
  background:#c99d55;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .18s ease;
}

.practice-filter-tab:hover,
.practice-filter-tab:focus-visible{
  opacity:1;
  color:#07192f;
  outline:none;
}

.practice-filter-tab.is-active{
  opacity:1;
  color:#c99d55;
}

.practice-filter-tab.is-active::after{
  transform:scaleX(1);
}

.practices-filter-panel,
.practices-filter-label-row,
.practices-filter-buttons,
.practice-filter-button{
  display:none !important;
}

.practice-result-group{
  display:none;
}

.practice-result-group.is-active{
  display:block;
}

.practices-results-overview{
  margin:0 0 30px;
  color:#07192f;
  font-family:var(--fg, "Georama", sans-serif);
  font-size:1.02rem;
  font-weight:900;
  line-height:1;
  letter-spacing:-.01em;
}

.practices-results-list{
  list-style:none;
  margin:0;
  padding:0;
  columns:3;
  column-gap:64px;
}

.practice-result-group[data-practice-group="all"]{
  max-width:1060px;
  margin:0 auto;
}

.practice-result-group[data-practice-group="all"] .practices-results-list-all{
  width:100%;
  margin:0 auto;
}

.practices-results-list li{
  position:relative;
  break-inside:avoid;
  margin:0;
  padding:13px 0 !important;
  border-bottom:0 !important;
  color:rgba(7,25,47,.74);
  font-family:var(--fg, "Georama", sans-serif);
  font-size:1.02rem;
  font-weight:400;
  line-height:1.32;
  transition:color .18s ease;
}

.practices-results-list li::after{
  content:none !important;
}

.practices-results-list li:hover{
  color:#07192f;
  padding-left:0 !important;
  border-bottom:0 !important;
}

@media(max-width:1040px){
  .practice-result-group[data-practice-group="all"]{
    max-width:760px;
  }

  .practices-results-list{
    columns:2;
    column-gap:48px;
  }
}

@media(max-width:780px){
  .practices-filter-tabs{
    justify-content:flex-start !important;
    flex-wrap:nowrap;
    gap:1.25rem;
    margin-bottom:38px;
    overflow-x:auto;
    padding-bottom:4px;
    scrollbar-width:none;
  }

  .practices-filter-tabs::-webkit-scrollbar{
    display:none;
  }

  .practice-filter-tab{
    flex:0 0 auto;
    font-size:.88rem;
  }

  .practices-results-list{
    columns:1;
  }

  .practice-result-group[data-practice-group="all"]{
    max-width:100%;
  }
}


/* Final category naming: Securities tab */
.practice-filter-tab{
  white-space:nowrap;
}


/* Practice lists are alphabetized by JS according to the visible language. */


/* Category-first practice selector */
.practices-category-controls{
  width:min(1040px, 100%);
  margin:0 auto 46px;
}

.practices-category-label,
.practices-expertise-heading p{
  margin:0 0 14px;
  color:#07192f;
  font-family:var(--fg, "Georama", sans-serif);
  font-size:.78rem;
  font-weight:500;
  line-height:1;
  letter-spacing:.02em;
}

.practices-filter-tabs{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:14px;
  justify-content:stretch;
  align-items:stretch;
  margin:0 !important;
  padding:0;
  border:0;
  overflow:visible;
}

.practice-filter-tab{
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px 18px;
  border:1px solid rgba(7,25,47,.30);
  background:transparent;
  color:#07192f;
  font-family:var(--fg, "Georama", sans-serif);
  font-size:.82rem;
  font-weight:850;
  line-height:1.05;
  letter-spacing:.04em;
  text-transform:uppercase;
  opacity:1;
  cursor:pointer;
  transition:background .18s ease, color .18s ease, border-color .18s ease;
}

.practice-filter-tab::after{
  display:none !important;
}

.practice-filter-tab:hover,
.practice-filter-tab:focus-visible{
  border-color:#c99d55;
  color:#07192f;
  outline:none;
}

.practice-filter-tab.is-active{
  background:#07111f;
  border-color:#07111f;
  color:#fff;
}

.practices-expertise-heading{
  width:min(1040px, 100%);
  margin:0 auto 28px;
  padding-top:4px;
}

.practices-results-panel{
  width:min(1040px, 100%);
  margin:0 auto;
}

.practice-result-group[data-practice-group="all"]{
  max-width:1040px;
}

.practice-result-group[data-practice-group="all"] .practices-results-list-all{
  column-gap:64px;
}

.practices-results-overview{
  margin:0 0 28px;
  color:#07192f;
  font-family:var(--fg, "Georama", sans-serif);
  font-size:.98rem;
  font-weight:900;
  line-height:1.15;
  letter-spacing:-.02em;
}

@media(max-width:1040px){
  .practices-filter-tabs{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

@media(max-width:640px){
  .practices-category-controls,
  .practices-expertise-heading,
  .practices-results-panel{
    width:100%;
  }

  .practices-filter-tabs{
    grid-template-columns:1fr;
    gap:10px;
    overflow:visible;
  }

  .practice-filter-tab{
    min-height:54px;
    font-size:.78rem;
  }
}


/* Refined category selector: four primary categories + secondary all-practices action */
.practices-category-row{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:22px;
  align-items:center;
}

.practices-category-row .practices-filter-tabs{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:14px;
  justify-content:stretch;
  align-items:stretch;
  margin:0 !important;
  padding:0;
  overflow:visible;
}

.practice-filter-all-link{
  position:relative;
  appearance:none;
  border:0;
  background:transparent;
  padding:0 0 7px;
  color:#07192f;
  font-family:var(--fg, "Georama", sans-serif);
  font-size:.78rem;
  font-weight:850;
  line-height:1;
  letter-spacing:.055em;
  text-transform:uppercase;
  cursor:pointer;
  opacity:.72;
  transition:opacity .18s ease, color .18s ease;
  white-space:nowrap;
}

.practice-filter-all-link::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1px;
  background:#c99d55;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .18s ease;
}

.practice-filter-all-link:hover,
.practice-filter-all-link:focus-visible{
  color:#07192f;
  opacity:1;
  outline:none;
}

.practice-filter-all-link.is-active{
  color:#c99d55;
  opacity:1;
}

.practice-filter-all-link.is-active::after{
  transform:scaleX(1);
}

/* Keep the primary category boxes visually distinct from the secondary all-practices action */
.practices-category-row .practice-filter-tab{
  min-height:58px;
}

@media(max-width:1040px){
  .practices-category-row{
    grid-template-columns:1fr;
    gap:18px;
  }

  .practice-filter-all-link{
    justify-self:start;
  }
}

@media(max-width:760px){
  .practices-category-row .practices-filter-tabs{
    grid-template-columns:1fr;
    gap:10px;
  }
}


/* Refine secondary all-practices action: quieter and shorter */
.practice-filter-all-link{
  color:rgba(7,25,47,.68) !important;
  font-size:.68rem !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
  opacity:1 !important;
  padding-bottom:6px !important;
}

.practice-filter-all-link::after{
  background:rgba(7,25,47,.42) !important;
}

.practice-filter-all-link:hover,
.practice-filter-all-link:focus-visible{
  color:#07192f !important;
}

.practice-filter-all-link.is-active{
  color:#07192f !important;
}

.practice-filter-all-link.is-active::after{
  background:rgba(7,25,47,.55) !important;
}


/* =========================================================
   PRACTICES HERO - ATTORNEYS STYLE
   Single title treatment aligned with attorneys.html.
   ========================================================= */

.practices-hero{
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:center;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 78% 24%, rgba(201,157,85,.11), transparent 30%),
    linear-gradient(135deg, #06111f 0%, #07182d 48%, #020913 100%);
  color:#fff;
}

.practices-hero .about-hero-pattern{
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  opacity:.18;
  background:
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,.032) 1px, transparent 1px);
  background-size:78px 78px;
  mask-image:linear-gradient(to bottom, rgba(0,0,0,.92), rgba(0,0,0,.18));
}

.practices-hero .about-hero-inner{
  position:relative;
  z-index:3;
  width:100%;
  max-width:1540px;
  margin-left:auto;
  margin-right:auto;
  padding-left:86px;
  padding-right:var(--page-pad, 48px);
  padding-bottom:76px;
  transform:translateY(.6vh);
}

.practices-kicker{
  margin:0 0 1.25rem;
  font-family:var(--fg, "Georama", sans-serif);
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:#c99d55;
}

.practices-title{
  max-width:1060px;
  margin:0;
  font-family:var(--fd, "Playfair Display", serif);
  font-size:clamp(4.2rem, 9vw, 9.5rem);
  line-height:.88;
  font-weight:500;
  letter-spacing:-.06em;
  color:#fff;
}

.practices-hero-subtitle{
  max-width:760px;
  margin:2.25rem 0 0;
  font-family:var(--fg, "Georama", sans-serif);
  font-size:clamp(1rem, 1.35vw, 1.18rem);
  line-height:1.72;
  font-weight:300;
  color:rgba(255,255,255,.80);
}

.practices-hero .about-hero-side-video{
  position:absolute;
  z-index:1;
  top:0;
  right:0;
  width:58vw;
  height:100%;
  overflow:hidden;
  pointer-events:none;
  opacity:.62;
  mix-blend-mode:screen;
  mask-image:linear-gradient(
    90deg,
    rgba(0,0,0,0) 0%,
    rgba(0,0,0,.10) 13%,
    rgba(0,0,0,.66) 43%,
    rgba(0,0,0,.98) 100%
  );
}

.practices-hero .about-hero-side-video::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(6,17,31,.92) 0%, rgba(6,17,31,.66) 38%, rgba(6,17,31,.22) 100%),
    linear-gradient(180deg, rgba(6,17,31,.10) 0%, rgba(6,17,31,.10) 42%, rgba(2,9,19,.42) 100%);
}

.practices-hero .about-hero-side-video video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  filter:saturate(1.18) contrast(1.28) brightness(1.14);
  transform:scale(1.06);
}

.practices-scroll-explore{
  position:absolute;
  left:50%;
  bottom:34px;
  z-index:5;
  transform:translateX(-50%);
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  color:rgba(255,255,255,.74);
  text-decoration:none;
  font-family:var(--fg, "Georama", sans-serif);
  font-size:.68rem;
  line-height:1;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
  transition:color .22s ease, transform .22s ease;
}

.practices-scroll-explore::before{
  content:"";
  width:1px;
  height:34px;
  margin-bottom:2px;
  background:linear-gradient(to bottom, rgba(201,157,85,0), rgba(201,157,85,.85));
  opacity:.72;
}

.practices-scroll-explore span{
  font:inherit;
  letter-spacing:inherit;
}

.practices-scroll-explore svg{
  width:26px;
  height:26px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  animation:practicesScrollArrow 1.65s ease-in-out infinite;
}

.practices-scroll-explore:hover,
.practices-scroll-explore:focus-visible{
  color:#c99d55;
  transform:translateX(-50%) translateY(3px);
  outline:none;
}

@keyframes practicesScrollArrow{
  0%,100%{
    transform:translateY(0);
    opacity:.72;
  }

  50%{
    transform:translateY(7px);
    opacity:1;
  }
}

html[lang="es"] [data-i18n]:not([data-i18n="es"]),
html[lang="en"] [data-i18n]:not([data-i18n="en"]),
html[lang="zh"] [data-i18n]:not([data-i18n="zh"]){
  display:none!important;
}

@media(max-width:1180px){
  .practices-hero .about-hero-inner{
    width:min(100% - 34px, 760px);
    max-width:760px;
    padding-left:0;
    padding-right:0;
    transform:translateY(.8vh);
  }

  .practices-title{
    max-width:760px;
    font-size:clamp(4rem, 12vw, 7rem);
    line-height:.92;
  }

  .practices-hero .about-hero-side-video{
    width:48vw;
    opacity:.50;
  }
}

@media(max-width:760px){
  .practices-hero .about-hero-side-video{
    display:none;
  }

  .practices-scroll-explore{
    bottom:24px;
    font-size:.62rem;
    letter-spacing:.16em;
  }

  .practices-scroll-explore::before{
    height:26px;
  }

  .practices-scroll-explore svg{
    width:23px;
    height:23px;
  }
}

@media(max-width:640px){
  .practices-hero{
    min-height:100svh;
  }

  .practices-hero .about-hero-inner{
    width:calc(100% - 28px);
    padding-left:0;
    padding-right:0;
    padding-bottom:72px;
    transform:translateY(0);
  }

  .practices-title{
    font-size:clamp(3.65rem, 16.2vw, 6rem);
    line-height:.93;
    letter-spacing:-.052em;
  }

  .practices-hero-subtitle{
    max-width:100%;
    margin-top:34px;
    font-size:1rem;
    line-height:1.65;
  }
}


/* Final See All / Financings refinements */
.practices-category-row .practices-filter-tabs{
  grid-template-columns:repeat(5, minmax(0,1fr)) !important;
}

.practice-filter-all-link{
  padding:0 !important;
  text-decoration:none !important;
}

.practice-filter-all-link::after,
.practice-filter-all-link.is-active::after,
.practice-filter-all-link:hover::after,
.practice-filter-all-link:focus-visible::after{
  content:none !important;
  display:none !important;
}

@media(max-width:1040px){
  .practices-category-row .practices-filter-tabs{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  }
}

@media(max-width:760px){
  .practices-category-row .practices-filter-tabs{
    grid-template-columns:1fr !important;
  }
}


/* Corporate Advisory category: five primary category boxes */
.practices-category-row .practices-filter-tabs{
  grid-template-columns:repeat(5, minmax(0,1fr)) !important;
  gap:12px !important;
}

.practices-category-row .practice-filter-tab{
  padding-left:14px;
  padding-right:14px;
  font-size:.78rem;
}

@media(max-width:1180px){
  .practices-category-row .practices-filter-tabs{
    grid-template-columns:repeat(3, minmax(0,1fr)) !important;
  }
}

@media(max-width:860px){
  .practices-category-row .practices-filter-tabs{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  }
}

@media(max-width:760px){
  .practices-category-row .practices-filter-tabs{
    grid-template-columns:1fr !important;
  }
}


/* =========================================================
   FINAL CATEGORY ORDER / DESKTOP GRID
   Corporate Advisory opens first; five primary boxes stay on one line.
   ========================================================= */

.practices-category-row{
  grid-template-columns:minmax(0, 1fr) auto !important;
  gap:18px !important;
  align-items:center !important;
}

.practices-category-row .practices-filter-tabs{
  display:grid !important;
  grid-template-columns:repeat(5, minmax(0,1fr)) !important;
  gap:12px !important;
  width:100% !important;
  margin:0 !important;
}

.practices-category-row .practice-filter-tab{
  min-height:56px !important;
  padding:14px 12px !important;
  font-size:.74rem !important;
  line-height:1.05 !important;
  letter-spacing:.035em !important;
}

.practice-filter-all-link{
  padding:0 !important;
  text-decoration:none !important;
  align-self:center !important;
}

.practice-filter-all-link::after,
.practice-filter-all-link.is-active::after,
.practice-filter-all-link:hover::after,
.practice-filter-all-link:focus-visible::after{
  content:none !important;
  display:none !important;
}

@media(max-width:1040px){
  .practices-category-row{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  .practices-category-row .practices-filter-tabs{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    gap:12px !important;
  }

  .practice-filter-all-link{
    justify-self:start !important;
  }
}

@media(max-width:760px){
  .practices-category-row .practices-filter-tabs{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  .practices-category-row .practice-filter-tab{
    min-height:54px !important;
    font-size:.78rem !important;
  }
}


/* =========================================================
   FINANCIAL REGULATION CATEGORY - SIX PRIMARY BOXES
   ========================================================= */

.practices-category-row .practices-filter-tabs{
  grid-template-columns:repeat(6, minmax(0,1fr)) !important;
  gap:10px !important;
}

.practices-category-row .practice-filter-tab{
  min-height:56px !important;
  padding:13px 9px !important;
  font-size:.66rem !important;
  line-height:1.08 !important;
  letter-spacing:.028em !important;
}

@media(max-width:1280px){
  .practices-category-row .practices-filter-tabs{
    grid-template-columns:repeat(3, minmax(0,1fr)) !important;
    gap:12px !important;
  }

  .practices-category-row .practice-filter-tab{
    font-size:.74rem !important;
    padding:14px 12px !important;
  }
}

@media(max-width:860px){
  .practices-category-row .practices-filter-tabs{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  }
}

@media(max-width:760px){
  .practices-category-row .practices-filter-tabs{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  .practices-category-row .practice-filter-tab{
    min-height:54px !important;
    font-size:.78rem !important;
  }
}

/* =========================================================
   FINAL CATEGORY GRID - TWO ROWS OF THREE
   Six primary categories. See All remains secondary.
   ========================================================= */

.practices-category-row{
  display:block !important;
}

.practices-category-row .practices-filter-tabs{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:14px !important;
  width:100% !important;
}

.practices-category-row .practice-filter-tab{
  min-height:58px !important;
  padding:15px 14px !important;
  font-size:.74rem !important;
  line-height:1.08 !important;
  letter-spacing:.035em !important;
}

.practice-filter-all-link{
  display:inline-flex !important;
  justify-self:start !important;
  margin-top:18px !important;
  padding:0 !important;
}

.practice-filter-all-link::after,
.practice-filter-all-link.is-active::after,
.practice-filter-all-link:hover::after,
.practice-filter-all-link:focus-visible::after{
  content:none !important;
  display:none !important;
}

@media(max-width:860px){
  .practices-category-row .practices-filter-tabs{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:12px !important;
  }
}

@media(max-width:640px){
  .practices-category-row .practices-filter-tabs{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  .practices-category-row .practice-filter-tab{
    min-height:54px !important;
    font-size:.78rem !important;
  }
}

/* =========================================================
   FINAL CATEGORY ORDER
   Desktop: two rows of three.
   1) Transactions 2) Capital Markets 3) Financings
   4) Financial Regulation 5) Technology & Innovation 6) Corporate Advisory
   ========================================================= */

.practices-category-row{
  display:block !important;
}

.practices-category-row .practices-filter-tabs{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:14px !important;
  width:100% !important;
}

.practice-filter-all-link,
.practice-filter-all-link:hover,
.practice-filter-all-link:focus-visible,
.practice-filter-all-link.is-active{
  text-decoration:none !important;
}

.practice-filter-all-link::after,
.practice-filter-all-link.is-active::after,
.practice-filter-all-link:hover::after,
.practice-filter-all-link:focus-visible::after{
  content:none !important;
  display:none !important;
}

@media(max-width:860px){
  .practices-category-row .practices-filter-tabs{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:12px !important;
  }
}

@media(max-width:640px){
  .practices-category-row .practices-filter-tabs{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
}


/* =========================================================
   NATURAL RESOURCES CATEGORY GRID
   Seven primary categories: desktop 4 + 3, tablet 2 columns, mobile 1.
   ========================================================= */

.practices-category-row .practices-filter-tabs{
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
}

@media(max-width:980px){
  .practices-category-row .practices-filter-tabs{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

@media(max-width:640px){
  .practices-category-row .practices-filter-tabs{
    grid-template-columns:1fr !important;
  }
}


/* =========================================================
   FINAL CATEGORY GRID - 7 CATEGORIES + SEE ALL
   Desktop: 4 + 4.
   Tablet: 2 columns.
   Mobile: 1 column.
   ========================================================= */

.practices-category-row{
  display:block !important;
}

.practices-category-row .practices-filter-tabs{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:14px !important;
  width:100% !important;
  margin:0 !important;
  overflow:visible !important;
}

.practices-category-row .practice-filter-tab,
.practices-category-row .practice-filter-all-link{
  min-height:58px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  padding:15px 14px !important;
  border:1px solid rgba(7,25,47,.30) !important;
  background:transparent !important;
  color:#07192f !important;
  font-family:var(--fg, "Georama", sans-serif) !important;
  font-size:.72rem !important;
  font-weight:850 !important;
  line-height:1.08 !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
  text-align:center !important;
  white-space:normal !important;
  opacity:1 !important;
  cursor:pointer !important;
  text-decoration:none !important;
  transition:background .18s ease, color .18s ease, border-color .18s ease !important;
}

.practices-category-row .practice-filter-all-link{
  border-color:rgba(7,25,47,.18) !important;
  color:rgba(7,25,47,.62) !important;
}

.practices-category-row .practice-filter-tab::after,
.practices-category-row .practice-filter-all-link::after,
.practices-category-row .practice-filter-all-link.is-active::after,
.practices-category-row .practice-filter-all-link:hover::after,
.practices-category-row .practice-filter-all-link:focus-visible::after{
  content:none !important;
  display:none !important;
}

.practices-category-row .practice-filter-tab:hover,
.practices-category-row .practice-filter-tab:focus-visible,
.practices-category-row .practice-filter-all-link:hover,
.practices-category-row .practice-filter-all-link:focus-visible{
  border-color:#c99d55 !important;
  color:#07192f !important;
  outline:none !important;
}

.practices-category-row .practice-filter-tab.is-active,
.practices-category-row .practice-filter-all-link.is-active{
  background:#07111f !important;
  border-color:#07111f !important;
  color:#fff !important;
}

@media(max-width:980px){
  .practices-category-row .practices-filter-tabs{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:12px !important;
  }
}

@media(max-width:640px){
  .practices-category-row .practices-filter-tabs{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  .practices-category-row .practice-filter-tab,
  .practices-category-row .practice-filter-all-link{
    min-height:54px !important;
    font-size:.78rem !important;
  }
}

/* Practice overview headings in Playfair Display */
.practices-results-overview{
  font-family:var(--fd, "Playfair Display", serif) !important;
  font-size:clamp(1.18rem, 1.55vw, 1.42rem) !important;
  font-weight:600 !important;
  line-height:1.12 !important;
  letter-spacing:-.035em !important;
}

/* Final See All treatment: text action, no box */
.practices-category-row .practice-filter-all-link,
.practices-category-row .practice-filter-all-link:hover,
.practices-category-row .practice-filter-all-link:focus-visible,
.practices-category-row .practice-filter-all-link.is-active{
  min-height:auto !important;
  justify-self:center !important;
  align-self:center !important;
  width:fit-content !important;
  margin:0 auto !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  color:rgba(7,25,47,.62) !important;
  box-shadow:none !important;
  text-decoration:none !important;
}

.practices-category-row .practice-filter-all-link:hover,
.practices-category-row .practice-filter-all-link:focus-visible{
  color:#07192f !important;
}

.practices-category-row .practice-filter-all-link.is-active{
  color:#c99d55 !important;
}

.practices-category-row .practice-filter-all-link::after,
.practices-category-row .practice-filter-all-link.is-active::after,
.practices-category-row .practice-filter-all-link:hover::after,
.practices-category-row .practice-filter-all-link:focus-visible::after{
  content:none !important;
  display:none !important;
}

/* =========================================================
   FINAL RESPONSIVE / MOBILE PERFORMANCE HARDENING
   Loaded last on purpose.
   ========================================================= */

.practices-category-row{
  display:block !important;
}

.practices-category-row .practices-filter-tabs{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:14px !important;
  width:100% !important;
  margin:0 !important;
  overflow:visible !important;
}

.practices-category-row .practice-filter-tab{
  min-height:58px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:15px 14px !important;
  border:1px solid rgba(7,25,47,.30) !important;
  background:transparent !important;
  color:#07192f !important;
  font-size:.72rem !important;
  line-height:1.08 !important;
  letter-spacing:.04em !important;
  text-align:center !important;
  white-space:normal !important;
}

.practices-category-row .practice-filter-tab:hover,
.practices-category-row .practice-filter-tab:focus-visible{
  border-color:#c99d55 !important;
  color:#07192f !important;
  outline:none !important;
}

.practices-category-row .practice-filter-tab.is-active{
  background:#07111f !important;
  border-color:#07111f !important;
  color:#fff !important;
}

.practices-category-row .practice-filter-all-link,
.practices-category-row .practice-filter-all-link:hover,
.practices-category-row .practice-filter-all-link:focus-visible,
.practices-category-row .practice-filter-all-link.is-active{
  min-height:auto !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  width:fit-content !important;
  margin:20px auto 0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  color:rgba(7,25,47,.62) !important;
  box-shadow:none !important;
  text-decoration:none !important;
}

.practices-category-row .practice-filter-all-link:hover,
.practices-category-row .practice-filter-all-link:focus-visible{
  color:#07192f !important;
}

.practices-category-row .practice-filter-all-link.is-active{
  color:#c99d55 !important;
}

.practices-category-row .practice-filter-tab::after,
.practices-category-row .practice-filter-all-link::after{
  content:none !important;
  display:none !important;
}

.practices-results-overview{
  font-family:var(--fd, "Playfair Display", serif) !important;
  font-size:clamp(1.18rem, 1.55vw, 1.42rem) !important;
  font-weight:600 !important;
  line-height:1.12 !important;
  letter-spacing:-.035em !important;
}

@media(max-width:980px){
  .practices-category-row .practices-filter-tabs{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:12px !important;
  }

  .practices-results-list,
  .practices-results-list-all{
    columns:2 !important;
    column-gap:42px !important;
  }
}

@media(max-width:760px){
  .practices-hero .about-hero-side-video{
    display:none !important;
  }
}

@media(max-width:640px){
  .practices-gateway{
    padding:62px 0 78px !important;
  }

  .practices-gateway-inner{
    width:calc(100% - 28px) !important;
  }

  .practices-category-controls,
  .practices-expertise-heading,
  .practices-results-panel{
    width:100% !important;
  }

  .practices-category-row .practices-filter-tabs{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  .practices-category-row .practice-filter-tab{
    min-height:54px !important;
    font-size:.78rem !important;
    padding:14px 12px !important;
  }

  .practices-results-list,
  .practices-results-list-all{
    columns:1 !important;
  }

  .practices-results-list li{
    font-size:1rem !important;
    padding:11px 0 !important;
  }
}
