*,
*::before,
*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --bg:#fff;
  --bg-tint:#F4F6F8;
  --bg-blue-soft:#0B1220;
  --bg-team:#F3F0EA;
  --bg-news:#F7F8FA;
  --navy:#06296C;
  --navy-dark:#00050E;
  --blue:#0E5BEB;
  --teal:#06696B;
  --text:#00050E;
  --muted:#70747C;
  --line:#D9DEE8;
  --white:#fff;
  --gold:#C8A45D;
  --fd:"Playfair Display",Georgia,serif;
  --fb:"Georama",Arial,sans-serif;
  
  --ease:cubic-bezier(.77,0,.18,1);
}

html{scroll-behavior:smooth;background:#05070D}

body{background:var(--bg);color:var(--text);font-family:var(--fb);font-size:16px;line-height:1.6;overflow-x:hidden;}


a{color:inherit;text-decoration:none}

img{display:block;max-width:100%}

button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* SIDEBAR */


/* MENU OVERLAY */


/* HERO */
@keyframes heroReveal{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}

@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}

#hero{position:relative;min-height:100svh;background:var(--navy-dark);display:flex;align-items:flex-end;padding:6rem 5vw 5.5rem;overflow:hidden;clip-path:inset(0 100% 0 0);animation:heroReveal .9s var(--ease) .05s forwards;margin-bottom:-1px}

.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;z-index:0;opacity:1;transform:scale(1.01);pointer-events:none}

.hero-video-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(0,5,14,.72) 0%,rgba(0,5,14,.42) 44%,rgba(0,5,14,.12) 100%),linear-gradient(180deg,rgba(0,5,14,.10) 0%,rgba(0,5,14,.04) 42%,rgba(0,5,14,.58) 100%);pointer-events:none}

#hero::before{content:"";position:absolute;inset:0;z-index:2;background-image:radial-gradient(rgba(255,255,255,.055) 1px,transparent 1px);background-size:28px 28px;pointer-events:none;mix-blend-mode:screen;opacity:.42}

#hero::after{content:"";position:absolute;right:-14vw;bottom:-24vw;z-index:2;width:58vw;height:58vw;border-radius:50%;background:rgba(255,255,255,.04);filter:blur(2px);pointer-events:none}

.hero-body{position:relative;z-index:3;width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4rem;align-items:end}

.hero-kicker{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.62);font-weight:700;margin-bottom:1.2rem;opacity:0;animation:fadeUp .7s ease 1s forwards}

.hero-firm-name{font-family:var(--fd);font-size:clamp(3.2rem,7.4vw,8.2rem);font-weight:600;color:var(--white);line-height:.98;letter-spacing:-.02em;opacity:0;animation:fadeUp .7s ease 1.08s forwards}

.hero-tagline{font-family:var(--fd);font-style:italic;font-size:clamp(1.05rem,1.7vw,1.55rem);color:rgba(255,255,255,.68);margin-top:1.25rem;letter-spacing:.08em;opacity:0;animation:fadeUp .7s ease 1.2s forwards}

.hero-badges{
  align-self:start;
  display:grid;
  grid-template-columns:repeat(2,150px);
  gap:12px;
  justify-content:end;
}

.hero-credentials-title{
  grid-column:1 / -1;
  position:relative;
  display:inline-flex;
  width:max-content;
  max-width:100%;
  margin:0 0 .38rem;
  padding-bottom:.62rem;
  font-family:var(--fd);
  font-size:clamp(1.02rem,1.18vw,1.28rem);
  font-weight:700;
  line-height:1.05;
  letter-spacing:-.012em;
  color:rgba(255,255,255,.92);
  text-shadow:0 10px 28px rgba(0,5,14,.28);
  opacity:0;
  transform:translateY(6px);
  animation:credentialTitleReveal .9s var(--ease) 1.1s forwards;
}

.hero-credentials-title::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:72%;
  height:1px;
  background:linear-gradient(
    90deg,
    var(--gold),
    rgba(200,164,93,.42),
    transparent
  );
  opacity:.82;
}

.hero-badge{
  position:relative;
  height:150px;
  overflow:hidden;
  background:rgba(255,255,255,.92);
  color:var(--text);
  border:1px solid rgba(255,255,255,.72);
  box-shadow:
    0 18px 46px rgba(0,5,14,.22),
    inset 0 0 0 1px rgba(6,41,108,.08);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:1.2rem;
  opacity:0;
  transform:translateY(8px);
  animation:credentialReveal 1.15s var(--ease) calc(1.22s + (var(--badge-i,0) * .16s)) forwards;
}

.hero-badge::before{
  content:"";
  position:absolute;
  left:1.2rem;
  right:1.2rem;
  top:1rem;
  height:2px;
  background:linear-gradient(
    90deg,
    var(--gold),
    rgba(200,164,93,.38),
    transparent
  );
  opacity:.9;
}

.hero-badge::after{
  content:"";
  position:absolute;
  inset:-40% -90%;
  background:linear-gradient(
    115deg,
    transparent 42%,
    rgba(255,255,255,.42) 50%,
    transparent 58%
  );
  transform:translateX(-55%);
  opacity:0;
  pointer-events:none;
}

.hero-badge:hover::after,
.hero-badge:focus-within::after{
  animation:credentialSheen 1.15s var(--ease);
}

.hero-badge-source{
  position:relative;
  z-index:1;
  margin-top:.55rem;
  font-size:.62rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--navy);
  font-weight:800;
  line-height:1.35;
}

.hero-badge-rank{
  position:relative;
  z-index:1;
  font-family:var(--fd);
  font-size:1.02rem;
  font-weight:700;
  line-height:1.14;
  color:var(--text);
}

.hero-badge-year{
  position:relative;
  z-index:1;
  font-family:var(--fd);
  font-size:1.42rem;
  font-weight:700;
  letter-spacing:-.02em;
  color:var(--navy);
}

@keyframes credentialTitleReveal{
  0%{
    opacity:0;
    transform:translateY(6px);
    filter:blur(2px);
  }

  100%{
    opacity:1;
    transform:translateY(0);
    filter:blur(0);
  }
}

@keyframes credentialReveal{
  0%{
    opacity:0;
    transform:translateY(8px);
    filter:blur(3px);
  }

  100%{
    opacity:1;
    transform:translateY(0);
    filter:blur(0);
  }
}

@keyframes credentialSheen{
  0%{
    opacity:0;
    transform:translateX(-55%);
  }

  18%{
    opacity:.52;
  }

  100%{
    opacity:0;
    transform:translateX(55%);
  }
}

.hero-intro{
  position:relative;
  z-index:1;
  background:#00050E!important;
  color:var(--white);
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);
  grid-template-rows:auto auto;
  column-gap:clamp(4.5rem,6.5vw,7.5rem);
  row-gap:5.25rem;
  padding:7.6rem 5vw 8.6rem;
  min-height:660px;
}

.hero-intro strong{display:block;font-family:var(--fd);font-size:clamp(1.7rem,3vw,3rem);line-height:1.12;font-weight:600;letter-spacing:-.01em;margin-top:0}

.hero-intro p{max-width:720px;color:rgba(255,255,255,.72);font-size:1.03rem;line-height:1.75;margin-bottom:1.25rem}

.about-kicker{
  grid-column:1;
  grid-row:1;
  margin-bottom:1.35rem;
}

.about-headline{
  grid-column:1;
  grid-row:2;
}

.about-copy{
  grid-column:2;
  grid-row:2;
}

/* SHARED */
section{scroll-margin-top:0}

.section{padding:7rem 5vw}

.section-header{display:flex;justify-content:space-between;align-items:baseline;gap:2rem;margin-bottom:4rem}

.section-label{font-size:.76rem;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:var(--text)}

.section-link,
.text-link{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;display:inline-flex;align-items:center;gap:.65rem;transition:color .25s ease}

.section-link:hover,
.text-link:hover{color:var(--navy)}

.icon-plus{width:18px;height:18px;border-radius:50%;border:1.5px solid currentColor;display:inline-flex;align-items:center;justify-content:center;font-size:.9rem;line-height:0;font-weight:400}

.icon-squares{display:inline-grid;grid-template-columns:1fr 1fr;gap:2px;width:14px;height:14px}

.icon-squares span{display:block;background:currentColor;width:100%;height:100%}

.reveal{opacity:0;transform:translateY(34px);transition:opacity .75s ease,transform .75s ease}

.reveal.visible{opacity:1;transform:translateY(0)}

/* PRACTICE */
#practice{
  background:var(--bg);
  min-height:82vh;
  padding-top:8.5rem;
  padding-bottom:8.5rem;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.practice-top{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:6rem;align-items:start}

.practice-name{font-family:var(--fd);font-size:clamp(2.7rem,5.7vw,5.5rem);font-weight:700;line-height:.98;letter-spacing:-.018em;margin-bottom:2rem}

.practice-desc{font-size:1.03rem;line-height:1.75;max-width:600px;color:#232731}

.ranking-card{background:transparent;border:0;padding:0;align-self:start;min-height:auto;display:block;max-width:390px;margin-left:auto}

.ranking-card-label{display:none}

.practice-quote{font-family:var(--fd);font-size:clamp(1.45rem,2.1vw,2.05rem);font-weight:700;line-height:1.16;letter-spacing:-.01em;max-width:390px}

.practice-quote-source{font-size:.95rem;margin-top:1.75rem;color:var(--text)}

.practice-list{margin-top:5rem;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}

.practice-item{min-height:104px;padding:1.5rem 1.25rem;border-bottom:1px solid var(--line);border-right:1px solid var(--line);font-family:var(--fd);font-size:1.12rem;font-weight:600;line-height:1.18;display:flex;align-items:center;transition:color .25s ease,padding-left .25s ease;background:linear-gradient(90deg,rgba(6,41,108,.06),transparent);background-size:0 100%;background-repeat:no-repeat}

.practice-item:hover{color:var(--navy);padding-left:1.65rem;background-size:100% 100%}

.practice-item:nth-child(4n){border-right:0}

/* OTHER PRACTICES OVERLAY */
.practices-overlay{position:fixed;inset:0 0 0 var(--sb-w);z-index:240;background:rgba(0,5,14,.72);backdrop-filter:blur(8px);display:flex;justify-content:flex-end;opacity:0;pointer-events:none;transition:opacity .35s ease}

.practices-overlay.open{opacity:1;pointer-events:auto}

.practices-panel{width:min(760px,100%);height:100%;background:var(--bg);padding:5rem 4rem;transform:translateX(100%);transition:transform .45s var(--ease);overflow:auto}

.practices-overlay.open .practices-panel{transform:translateX(0)}

.practices-panel-head{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-bottom:4rem}

.practices-close{font-family:var(--fd);font-size:3rem;line-height:1;color:var(--text);transition:color .25s ease,transform .25s ease}

.practices-close:hover{color:var(--navy);transform:rotate(90deg)}

.all-practices-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}

.all-practice-card{min-height:132px;padding:1.5rem 1.25rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-family:var(--fd);font-size:1.18rem;font-weight:700;line-height:1.15;display:flex;align-items:flex-end;transition:color .25s ease,background .25s ease,padding-left .25s ease}

.all-practice-card:hover{color:var(--navy);background:rgba(6,41,108,.055);padding-left:1.65rem}

.all-practice-card:nth-child(2n){border-right:0}

.experience-panel{width:min(860px,100%)}

.experience-list{display:flex;flex-direction:column;border-top:1px solid var(--line)}

.experience-card{display:grid;grid-template-columns:180px 1fr;gap:2rem;padding:1.6rem 0;border-bottom:1px solid var(--line);transition:color .25s ease,padding-left .25s ease}

.experience-card:hover{color:var(--navy);padding-left:.75rem}

.experience-card span{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:700;padding-top:.35rem}

.experience-card strong{font-family:var(--fd);font-size:clamp(1.35rem,2vw,2rem);line-height:1.14;font-weight:700}

/* EXPERIENCE */
#experience{background:var(--bg-tint)}

.experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem 5rem}

.deal{border-top:1px solid var(--line);padding-top:2rem;min-height:230px;display:flex;flex-direction:column;justify-content:space-between}

.deal-client{font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:1.25rem}

.deal-title{font-family:var(--fd);font-size:clamp(1.7rem,3vw,3rem);font-weight:700;line-height:1.08;letter-spacing:-.012em}

.deal-amount{font-family:var(--fd);font-size:clamp(3.2rem,7vw,6.5rem);font-weight:700;line-height:1;letter-spacing:-.03em;color:var(--navy);margin-top:2rem}

.deal-amount span{font-size:.34em;font-style:italic;font-weight:500;margin-left:.25rem;color:var(--text)}

/* ABOUT */
#about.hero-intro{
  background:
    linear-gradient(
      135deg,
      #060A12 0%,
      #0B1220 48%,
      #02050A 100%
    )!important;
  color:var(--white);
}

#about.hero-intro strong{
  color:var(--white);
}

#about .about-firm-headline{
  position:relative;
  align-self:start;
  justify-self:start;
  transform:translateX(clamp(.45rem,1.1vw,1.25rem));
}

#about .about-firm-lockup{
  position:relative;
  display:inline-flex;
  flex-direction:column;
  align-items:flex-start;
  max-width:min(720px,100%);
  cursor:default;
}

#about .about-firm-main{
  display:block;
  font-family:var(--fd);
  font-size:clamp(3.7rem,6.4vw,6.95rem);
  font-weight:700;
  line-height:.88;
  letter-spacing:-.055em;
  color:var(--white);
  max-width:100%;
  white-space:normal;
}

#about .about-firm-sub{
  position:relative;
  display:inline-flex;
  margin-top:1.35rem;
  margin-left:clamp(.18rem,.42vw,.48rem);
  padding:.76rem 0 0;
  font-family:var(--fb);
  font-size:clamp(.72rem,.9vw,.92rem);
  font-weight:700;
  line-height:1;
  letter-spacing:.34em;
  text-transform:uppercase;
  color:rgba(255,255,255,.86);
  transition:color .35s ease;
}

#about .about-firm-sub::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:1px;
  background:linear-gradient(
    90deg,
    var(--gold),
    rgba(200,164,93,.42),
    transparent
  );
  opacity:0;
  transform:scaleX(0);
  transform-origin:left;
  transition:
    opacity .28s ease,
    transform .55s var(--ease);
}

#about .about-firm-sub::after{
  display:none;
}

#about .about-firm-lockup:hover .about-firm-sub,
#about .about-firm-lockup:focus-within .about-firm-sub{
  color:var(--gold);
}

#about .about-firm-lockup:hover .about-firm-sub::before,
#about .about-firm-lockup:focus-within .about-firm-sub::before{
  opacity:.88;
  transform:scaleX(1);
}

html[lang="zh"] #about .about-firm-sub{
  letter-spacing:.18em;
}

@media (max-width:640px){
#about .about-firm-headline{
    transform:translateX(0);
  }

#about .about-firm-main{
    font-size:clamp(3rem,15vw,4.25rem);
    letter-spacing:-.045em;
  }

#about .about-firm-sub{
    margin-left:.12rem;
  }
}

#about.hero-intro p{
  color:rgba(255,255,255,.74);
}

#about .light-label{
  color:var(--gold);
}

#about .about-connector{
  color:rgba(255,255,255,.84);
}

#about .about-connector:hover,
#about .about-connector:focus-visible{
  color:var(--gold);
}

.about-grid{
  display:grid;
  grid-template-columns:1fr 1.35fr;
  gap:5rem;
  align-items:start;
}

.about-title{
  font-family:var(--fd);
  font-size:clamp(2.7rem,5.2vw,5rem);
  font-weight:700;
  line-height:.98;
  letter-spacing:-.018em;
}

.about-since{
  font-family:var(--fd);
  font-style:italic;
  font-size:clamp(1.5rem,2.5vw,2.4rem);
  margin-top:1rem;
  color:var(--navy);
}

.about-body{
  font-size:1.05rem;
  line-height:1.78;
  color:#222833;
}

.about-body p{
  margin-bottom:1.5rem;
}

/* PUBLICATIONS */
#publications{
  background:#F3F5F8;
  color:var(--text);
  margin-top:-1px;
}

#publications .section-label{
  color:var(--text);
}

.pub-row{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:2rem;
  margin-bottom:4.5rem;
}

.pub-item{
  border-top:1px solid var(--line);
  padding-top:1.5rem;
  min-height:300px;
  display:flex;
  flex-direction:column;
}

.pub-date{
  font-size:.84rem;
  color:var(--navy);
  font-weight:700;
  margin-bottom:1.2rem;
}

.pub-title{
  font-family:var(--fd);
  font-size:clamp(1.15rem,1.45vw,1.55rem);
  font-weight:700;
  line-height:1.15;
  letter-spacing:-.006em;
  margin-bottom:1.25rem;
  color:var(--text);
}

.pub-summary{
  font-size:.9rem;
  line-height:1.65;
  margin-bottom:1.35rem;
  color:#4D535D;
}

.pub-authors{
  margin-top:auto;
  font-size:.66rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--muted);
  font-weight:700;
}

.pub-banner{
  background:#061733;
  color:var(--white);
  padding:3rem 4rem;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:3rem;
  margin-bottom:5rem;
  border-radius:2px;
}

.pub-banner-title{
  font-family:var(--fd);
  font-style:normal;
  font-weight:700;
  font-size:clamp(1.9rem,3vw,2.65rem);
  line-height:1.08;
  letter-spacing:-.015em;
  color:var(--white);
  max-width:560px;
}

.pub-banner-title span{
  display:block;
}

.pub-banner-right{
  text-align:right;
}

.pub-banner-sub{
  font-family:var(--fd);
  font-size:1.18rem;
  font-weight:700;
  margin-bottom:.35rem;
  color:var(--white);
}

.pub-banner-authors{
  font-size:.84rem;
  color:rgba(255,255,255,.62);
  margin-bottom:1.1rem;
}

.pub-banner .text-link{
  color:var(--white);
}

.more-wrap{
  display:flex;
  justify-content:flex-end;
  margin-top:2.75rem;
}

#experience .experience-more-wrap{
  display:flex;
  justify-content:flex-end;
  margin-top:5.25rem;
}

/* TEAM */
#team{padding:0;background:var(--bg-team);position:relative;}

.team-stage{position:relative;display:grid;grid-template-columns:minmax(0,1.36fr) minmax(380px,.9fr);column-gap:2.25rem;height:calc(100vh - 5rem);min-height:720px;max-height:none;overflow:hidden;background:var(--bg-team);padding-left:0;}

.team-photo-area{position:relative;height:100%;min-height:720px;background:#D7DBE1;overflow:hidden;}

.team-photo{position:absolute;inset:0;height:100%;background:linear-gradient(145deg,rgba(255,255,255,.18),rgba(0,5,14,.08)),linear-gradient(145deg,#E1E4E8,#AEB4BE);display:flex;align-items:flex-end;justify-content:center;padding-bottom:9%;opacity:0;transform:scale(1.012);transition:opacity .55s ease,transform .75s var(--ease);}

.team-photo.active{opacity:1;transform:scale(1);}

.team-photo-initials{font-family:var(--fd);font-size:clamp(6rem,10vw,10rem);font-weight:600;color:rgba(255,255,255,.42);letter-spacing:.04em;}

.team-info-area{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:flex-start;background:var(--bg-team);padding:3.35rem 4.4vw 15rem;}

.team-info-area>.section-label{transform:translateY(-1.75rem);margin-bottom:.75rem;}

.team-card{display:none;flex-direction:column;max-width:460px;}

.team-card.active{display:flex;}

.team-name{
  font-family:var(--fd);
  font-size:clamp(2.35rem,3.45vw,3.55rem);
  font-weight:700;
  line-height:.96;
  letter-spacing:-.022em;
  margin:0 0 1rem;
}

.team-role{font-size:1rem;margin-bottom:1.45rem;color:#252A34;line-height:1.5;}

.team-practices{font-family:var(--fd);font-size:clamp(1.05rem,1.32vw,1.32rem);font-weight:700;line-height:1.35;margin-bottom:1.35rem;color:var(--text);}

.team-vcard{margin-top:0;}

.team-thumbs{position:absolute;right:0;bottom:5.6rem;z-index:5;display:grid;grid-template-columns:1fr 1fr;gap:1.35rem;width:min(42vw,640px);height:225px;background:transparent;}

.team-thumb{width:100%;height:100%;min-width:0;background:linear-gradient(145deg,rgba(255,255,255,.18),rgba(0,5,14,.1)),linear-gradient(145deg,#D9DCE1,#AEB4BE);display:flex;align-items:flex-end;justify-content:center;padding-bottom:1.6rem;border:0;filter:brightness(.9);transition:filter .25s ease,transform .35s var(--ease),background .25s ease;}

.team-thumb:hover,
.team-thumb:focus-visible{filter:brightness(1);outline:none;}

.team-thumb.active{display:none;}

.team-thumb-initials{font-family:var(--fd);font-size:2.15rem;font-weight:700;color:rgba(255,255,255,.62);}

.team-bottom{
  position:absolute;
  left:0;
  bottom:0;
  width:auto;
  z-index:20;
  display:block;
  background:transparent;
}

.team-email-btn{width:clamp(340px,27vw,460px);height:6.4rem;max-width:none;min-width:0;padding:0 3.5rem;display:flex;align-items:center;justify-content:center;background:var(--navy);color:var(--white);font-size:.78rem;letter-spacing:.25em;text-transform:uppercase;font-weight:700;transition:background .25s ease;}

.team-email-btn:hover{background:var(--blue);}

.team-nav{
  position:absolute;
  right:0;
  bottom:1.85rem;
  z-index:30;
  width:min(42vw,640px);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.72rem;
  padding:0;
  transform:translateX(2.75rem);
}

.team-dot{
  position:relative;
  width:9px;
  height:9px;
  border-radius:50%;
  background:rgba(0,5,14,.28);
  border:0;
  opacity:.72;
  transition:
    background .25s ease,
    opacity .25s ease,
    transform .32s var(--ease);
}

.team-dot::before{
  content:"";
  position:absolute;
  inset:-8px;
  border-radius:50%;
}

.team-dot:hover,
.team-dot:focus-visible{
  background:var(--navy);
  opacity:1;
  transform:scale(1.28);
  outline:none;
}

.team-dot.active{
  background:var(--navy);
  opacity:1;
  transform:scale(1.18);
}

.team-photo-img,
.team-thumb-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
}

.team-photo.has-img .team-photo-initials,
.team-thumb.has-img .team-thumb-initials{
  display:none;
}

.team-thumb{
  position:relative;
  overflow:hidden;
}

.team-photo{
  overflow:hidden;
}

/* NEWS */
#news{
  background:var(--white);
}

.news-row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:4.5rem 5rem;
  margin-bottom:4.5rem;
}

.news-item{
  border-top:1px solid var(--line);
  padding-top:1.5rem;
  min-height:260px;
  display:flex;
  flex-direction:column;
}

.news-date{
  font-size:.84rem;
  color:var(--navy);
  font-weight:700;
  margin-bottom:1.2rem;
}

.news-title{
  font-family:var(--fd);
  font-size:clamp(1.45rem,2.3vw,2.2rem);
  font-weight:700;
  line-height:1.16;
  letter-spacing:-.006em;
}

#news .news-link{
  position:relative;
  color:var(--text);
  transition:color .25s ease;
}

#news .news-link::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-.45rem;
  width:100%;
  height:1px;
  background:var(--gold);
  transform:scaleX(0);
  transform-origin:right;
  transition:transform .35s var(--ease);
}

#news .news-link svg{
  transition:transform .3s var(--ease);
}

#news .news-link:hover,
#news .news-link:focus-visible{
  color:var(--gold);
  outline:none;
}

#news .news-link:hover::after,
#news .news-link:focus-visible::after{
  transform:scaleX(1);
  transform-origin:left;
}

#news .news-link:hover svg,
#news .news-link:focus-visible svg{
  transform:translate(3px,-3px);
}

/* LANGUAGE VISIBILITY */
[data-i18n]{display:none!important}

html[lang="es"] [data-i18n="es"],
html[lang="en"] [data-i18n="en"],
html[lang="zh"] [data-i18n="zh"]{display:revert!important}

html[lang="es"] .section-link [data-i18n="es"],
html[lang="en"] .section-link [data-i18n="en"],
html[lang="zh"] .section-link [data-i18n="zh"],
html[lang="es"] .text-link [data-i18n="es"],
html[lang="en"] .text-link [data-i18n="en"],
html[lang="zh"] .text-link [data-i18n="zh"]{display:inline!important}


#team .team-email-btn{display:none!important}

html[lang="es"] #team .team-email-btn[data-i18n="es"],
html[lang="en"] #team .team-email-btn[data-i18n="en"],
html[lang="zh"] #team .team-email-btn[data-i18n="zh"]{display:flex!important}

#publications .publications-link{
  position:relative;
  color:var(--text);
  transition:color .25s ease;
}

#publications .publications-link::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-.45rem;
  width:100%;
  height:1px;
  background:var(--gold);
  transform:scaleX(0);
  transform-origin:right;
  transition:transform .35s var(--ease);
}

#publications .publications-link svg{
  transition:transform .3s var(--ease);
}

#publications .publications-link:hover,
#publications .publications-link:focus-visible{
  color:var(--gold);
  outline:none;
}

#publications .publications-link:hover::after,
#publications .publications-link:focus-visible::after{
  transform:scaleX(1);
  transform-origin:left;
}

#publications .publications-link:hover svg,
#publications .publications-link:focus-visible svg{
  transform:translate(3px,-3px);
}

#practice .practices-page-link{
  position:relative;
  color:var(--text);
  transition:color .25s ease;
}

#practice .practices-page-link::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-.45rem;
  width:100%;
  height:1px;
  background:var(--gold);
  transform:scaleX(0);
  transform-origin:right;
  transition:transform .35s var(--ease);
}

#practice .practices-page-link svg{
  transition:transform .3s var(--ease);
}

#practice .practices-page-link:hover,
#practice .practices-page-link:focus-visible{
  color:var(--gold);
  outline:none;
}

#practice .practices-page-link:hover::after,
#practice .practices-page-link:focus-visible::after{
  transform:scaleX(1);
  transform-origin:left;
}

#practice .practices-page-link:hover svg,
#practice .practices-page-link:focus-visible svg{
  transform:translate(3px,-3px);
}

#experience #experienceBtn{
  position:relative;
  color:var(--text);
  transition:color .25s ease;
}

#experience #experienceBtn::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-.45rem;
  width:100%;
  height:1px;
  background:var(--gold);
  transform:scaleX(0);
  transform-origin:right;
  transition:transform .35s var(--ease);
}

#experience #experienceBtn svg{
  transition:transform .3s var(--ease);
}

#experience #experienceBtn:hover,
#experience #experienceBtn:focus-visible{
  color:var(--gold);
  outline:none;
}

#experience #experienceBtn:hover::after,
#experience #experienceBtn:focus-visible::after{
  transform:scaleX(1);
  transform-origin:left;
}

#experience #experienceBtn:hover svg,
#experience #experienceBtn:focus-visible svg{
  transform:translate(3px,-3px);
}

#about .about-connector{
  position:relative;
  color:rgba(255,255,255,.84);
  transition:color .25s ease;
}

#about .about-connector::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-.45rem;
  width:100%;
  height:1px;
  background:var(--gold);
  transform:scaleX(0);
  transform-origin:right;
  transition:transform .35s var(--ease);
}

#about .about-connector svg{
  transition:transform .3s var(--ease);
}

#about .about-connector:hover,
#about .about-connector:focus-visible{
  color:var(--gold);
  outline:none;
}

#about .about-connector:hover::after,
#about .about-connector:focus-visible::after{
  transform:scaleX(1);
  transform-origin:left;
}

#about .about-connector:hover svg,
#about .about-connector:focus-visible svg{
  transform:translate(3px,-3px);
}

#team .team-vcard{
  position:relative;
  color:var(--text);
  transition:color .25s ease;
}

#team .team-vcard svg{
  transition:transform .3s var(--ease);
}

#team .team-vcard:hover,
#team .team-vcard:focus-visible{
  color:var(--gold);
  outline:none;
}

#team .team-vcard:hover svg,
#team .team-vcard:focus-visible svg{
  transform:translate(3px,-3px);
}

#publications .pub-banner .banner-read-more{
  position:relative;
  color:var(--white);
  transition:color .25s ease;
}

#publications .pub-banner .banner-read-more svg{
  transition:transform .3s var(--ease);
}

#publications .pub-banner .banner-read-more:hover,
#publications .pub-banner .banner-read-more:focus-visible{
  color:var(--gold);
  outline:none;
}

#publications .pub-banner .banner-read-more:hover svg,
#publications .pub-banner .banner-read-more:focus-visible svg{
  transform:translate(3px,-3px);
}

/* PRACTICE ROTATION TRANSITION */
#practice .practice-top{
  transition:
    opacity .34s ease,
    transform .34s var(--ease),
    filter .34s ease;
  will-change:opacity,transform,filter;
}

#practice .practice-top.practice-switching{
  opacity:0;
  transform:translateY(18px);
  filter:blur(2px);
}

#publications .pub-row.reveal{
  opacity:1;
  transform:none;
  transition:none;
}

#publications .pub-row .pub-item{
  opacity:0;
  transform:translateY(24px);
  transition:
    opacity .62s ease,
    transform .62s var(--ease);
  transition-delay:calc(var(--pub-i,0) * .16s);
}

#publications .pub-row.visible .pub-item{
  opacity:1;
  transform:translateY(0);
}

#news .news-row.reveal{
  opacity:1;
  transform:none;
  transition:none;
}

#news .news-row .news-item{
  opacity:0;
  transform:translateY(24px);
  transition:
    opacity .62s ease,
    transform .62s var(--ease);
  transition-delay:calc(var(--news-i,0) * .16s);
}

#news .news-row.visible .news-item{
  opacity:1;
  transform:translateY(0);
}

/* =========================================================
   RESPONSIVE STABILIZATION - DESKTOP / LARGE DESKTOP
   Evita que el layout calibrado para laptop se deforme en 21", 27", 29"+
   ========================================================= */
:root{
  --content-max:1440px;
  --content-wide:1680px;
  --page-pad:clamp(3rem,5vw,6rem);
}

#hero,
.hero-intro,
.section{
  padding-left:var(--page-pad);
  padding-right:var(--page-pad);
}

.hero-body,
.hero-intro,
.section-header,
.practice-top,
.experience-grid,
.pub-row,
.pub-banner,
.news-row{
  width:100%;
  max-width:var(--content-max);
  margin-left:auto;
  margin-right:auto;
}

.hero-body{
  grid-template-columns:minmax(0,1fr) minmax(320px,360px);
  gap:clamp(3rem,5vw,6rem);
}

.hero-firm-name{
  font-size:clamp(4.8rem,6.8vw,8rem);
}

.hero-badges{
  grid-template-columns:repeat(2,minmax(135px,150px));
  justify-content:end;
}

.hero-intro{
  grid-template-columns:minmax(0,1.08fr) minmax(430px,.88fr);
  column-gap:clamp(4.75rem,6.5vw,7.75rem);
}

.practice-top{
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.65fr);
  gap:clamp(4rem,6vw,7rem);
}

.practice-name{
  font-size:clamp(3.4rem,5vw,5.5rem);
}

.pub-row{
  gap:clamp(2rem,2.6vw,3rem);
}

.news-row{
  gap:clamp(3rem,4vw,5rem);
}

/* TEAM: version estable para desktop grande */
#team{
  overflow:hidden;
}

.team-stage{
  width:100%;
  max-width:var(--content-wide);
  margin-left:auto;
  margin-right:auto;
  grid-template-columns:minmax(620px,1.15fr) minmax(420px,.75fr);
  column-gap:clamp(2rem,3vw,4rem);
  height:min(880px,calc(100vh - 5rem));
  min-height:720px;
}

.team-photo-area{
  min-height:720px;
}

.team-info-area{
  padding-left:clamp(2.5rem,3.4vw,4.5rem);
  padding-right:clamp(3rem,4.2vw,5.25rem);
}

.team-card{
  max-width:480px;
}

.team-thumbs{
  width:min(36vw,560px);
  height:clamp(190px,15vw,235px);
  right:clamp(0rem,2vw,2.5rem);
  bottom:5.6rem;
}

.team-nav{
  width:min(36vw,560px);
  right:clamp(0rem,2vw,2.5rem);
  transform:none;
}

.team-email-btn{
  width:clamp(340px,24vw,430px);
}

.team-photo img,
.team-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
}

@media (min-width:1700px){
:root{
    --page-pad:6rem;
  }

.hero-firm-name{
    font-size:8rem;
  }

.team-stage{
    height:840px;
  }

.team-thumbs{
    width:540px;
    height:230px;
  }

.team-nav{
    width:540px;
  }
}

@media (max-width:1100px){
:root{}


.hero-body,
.hero-intro,
.practice-top,
.experience-grid,
.about-grid,
.pub-row,
.news-row{grid-template-columns:1fr;gap:3rem}

.pub-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}

.news-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:3.5rem 3rem}

.hero-badges{align-self:end;grid-template-columns:repeat(2,minmax(130px,150px));justify-content:start}

.hero-credentials-title{font-size:1rem;margin-bottom:.25rem;padding-bottom:.55rem}

.hero-badge{height:148px;padding:1.15rem}

.team-stage{grid-template-columns:1fr;height:auto;min-height:auto;padding-left:0;column-gap:0}

.team-photo-area{height:42vh;min-height:360px}

.team-info-area{padding:3.5rem 2rem 8.5rem}

.team-thumbs{right:1.25rem;left:1.25rem;bottom:5.25rem;width:auto;height:160px;gap:.85rem}

.team-bottom{position:relative;left:0;bottom:auto;width:100%}

.team-email-btn{width:100%;height:4.75rem}

.team-nav{right:50%;transform:translateX(50%);bottom:1.15rem;width:auto}
}

@media (max-width:640px){
:root{}

body{}


.practices-overlay{inset:72px 0 0 0}


#hero{
    min-height:96svh;
    padding:5rem 1.25rem 4.25rem;
  }

.hero-video{
    object-position:center center;
  }

.hero-video-overlay{
    background:linear-gradient(90deg,rgba(0,5,14,.76) 0%,rgba(0,5,14,.46) 100%),linear-gradient(180deg,rgba(0,5,14,.12) 0%,rgba(0,5,14,.64) 100%);
  }

#practice{
    min-height:auto;
    padding-top:6.5rem;
    padding-bottom:6.5rem;
    justify-content:flex-start;
  }

.pub-row{grid-template-columns:1fr}

.news-row{grid-template-columns:1fr}

.pub-banner{padding:2.25rem 1.5rem;flex-direction:column;align-items:flex-start;text-align:left}

.pub-banner-right{text-align:left}

.hero-intro,
.section{padding-left:1.25rem;padding-right:1.25rem}

.team-photo-area{height:38vh;min-height:300px}

.team-info-area{padding:3.25rem 1.25rem 8rem}

.team-name{font-size:clamp(2.15rem,11vw,3.05rem)}

.team-thumbs{height:132px;gap:.7rem}

.team-thumb-initials{font-size:1.35rem}

.team-email-btn{height:4.5rem;padding:0 1.25rem}
}

/* HERO REBALANCE - V30 */
.hero-body{
  grid-template-columns:minmax(0,1fr) minmax(390px,460px);
  gap:clamp(3.5rem,6vw,7.5rem);
  align-items:end;
}

.hero-brand-block{
  align-self:end;
}

.hero-firm-name{
  color:var(--white);
  opacity:0;
  animation:fadeUp .7s ease 1.08s forwards;
}

.hero-firm-main{
  display:block;
  font-family:var(--fd);
  font-size:clamp(4.7rem,7.05vw,8rem);
  font-weight:600;
  line-height:.86;
  letter-spacing:-.05em;
  text-shadow:0 20px 60px rgba(0,5,14,.4);
}

.hero-firm-sub{
  display:block;
  margin-top:1.18rem;
  font-family:var(--fb);
  font-size:clamp(.72rem,.92vw,.95rem);
  font-weight:700;
  line-height:1;
  letter-spacing:.34em;
  text-transform:uppercase;
  color:rgba(255,255,255,.76);
  text-shadow:0 8px 26px rgba(0,5,14,.45);
}

html[lang="zh"] .hero-firm-sub{
  letter-spacing:.18em;
}

.hero-credentials{
  align-self:end;
  justify-self:end;
  width:max-content;
  padding:1.45rem;
  background:rgba(0,5,14,.48);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:
    0 26px 76px rgba(0,5,14,.46),
    inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  opacity:0;
  transform:translateY(10px);
  animation:credentialGroupReveal .9s var(--ease) 1.16s forwards;
}

.hero-credentials-title{
  position:relative;
  display:block;
  width:max-content;
  max-width:100%;
  margin:0 0 1.05rem;
  padding-bottom:.74rem;
  font-family:var(--fd);
  font-size:clamp(1.04rem,1.25vw,1.32rem);
  font-weight:700;
  line-height:1.05;
  letter-spacing:-.012em;
  color:rgba(255,255,255,.96);
  text-shadow:0 12px 34px rgba(0,5,14,.65);
  opacity:1;
  transform:none;
  animation:none;
}

.hero-credentials-title::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:76%;
  height:1px;
  background:linear-gradient(
    90deg,
    var(--gold),
    rgba(200,164,93,.45),
    transparent
  );
  opacity:.9;
}

.hero-badges{
  display:grid;
  grid-template-columns:repeat(2,158px);
  gap:14px;
  justify-content:end;
  align-self:auto;
}

.hero-badge{
  position:relative;
  height:158px;
  overflow:hidden;
  background:rgba(255,255,255,.97);
  color:var(--text);
  border:1px solid rgba(255,255,255,.78);
  box-shadow:
    0 16px 40px rgba(0,5,14,.26),
    inset 0 0 0 1px rgba(6,41,108,.08);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:1.22rem;
  opacity:0;
  transform:translateY(6px);
  animation:credentialReveal .95s var(--ease) calc(1.36s + (var(--badge-i,0) * .12s)) forwards;
}

.hero-badge::before{
  content:"";
  position:absolute;
  left:1.22rem;
  right:1.22rem;
  top:1rem;
  height:2px;
  background:linear-gradient(
    90deg,
    var(--gold),
    rgba(200,164,93,.42),
    transparent
  );
  opacity:.95;
}

.hero-badge-source{
  position:relative;
  z-index:1;
  margin-top:.55rem;
  font-size:.6rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--navy);
  font-weight:800;
  line-height:1.35;
}

.hero-badge-rank{
  position:relative;
  z-index:1;
  font-family:var(--fd);
  font-size:1.05rem;
  font-weight:700;
  line-height:1.12;
  color:var(--text);
}

.hero-badge-year{
  position:relative;
  z-index:1;
  font-family:var(--fd);
  font-size:1.45rem;
  font-weight:700;
  letter-spacing:-.02em;
  color:var(--navy);
}

@keyframes credentialGroupReveal{
  from{
    opacity:0;
    transform:translateY(10px);
  }

  to{
    opacity:1;
    transform:translateY(0);
  }
}

@media (max-width:1100px){
.hero-body{
    grid-template-columns:1fr;
    gap:3rem;
  }

.hero-credentials{
    justify-self:start;
  }
}

@media (max-width:640px){
.hero-body{
    grid-template-columns:1fr;
    gap:2.75rem;
  }

.hero-firm-main{
    font-size:clamp(4rem,18vw,5.45rem);
    letter-spacing:-.048em;
  }

.hero-firm-sub{
    margin-top:1rem;
    font-size:.7rem;
    letter-spacing:.26em;
  }

.hero-credentials{
    justify-self:start;
    width:100%;
    padding:1.15rem;
  }

.hero-credentials-title{
    font-size:1.02rem;
    margin-bottom:.95rem;
  }

.hero-badges{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.85rem;
  }

.hero-badge{
    height:145px;
    padding:1.08rem;
  }

.hero-badge-source{
    font-size:.56rem;
    letter-spacing:.14em;
  }

.hero-badge-rank{
    font-size:.96rem;
  }

.hero-badge-year{
    font-size:1.32rem;
  }
}

/* HERO LOGO + SIDEBAR VISIBILITY - V31 */


.hero-logo-lockup{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:flex-start;
  opacity:0;
  animation:fadeUp .7s ease 1.08s forwards;
}

.hero-logo-img{
  display:block;
  width:clamp(260px,31vw,520px);
  height:auto;
  max-width:100%;
  filter:drop-shadow(0 18px 42px rgba(0,5,14,.45));
}

@media (max-width:640px){
.hero-logo-img{
    width:clamp(220px,68vw,340px);
  }


}

@media (prefers-reduced-motion:reduce){
html{scroll-behavior:auto}

*,
*::before,
*::after{animation:none!important;transition:none!important}

#hero{clip-path:none}

.reveal{opacity:1;transform:none}
}

/* =========================================================
   V32 CORRECTIONS
   - Sidebar visible from the hero
   - Hero logo positioned with more intention
   - Credentials without amateur background panel
   - About background changed from black to smoke gray
   ========================================================= */


#hero{
  position:relative;
  min-height:100svh;
  background:var(--navy-dark);
  display:flex;
  align-items:center;
  padding:6rem 5vw 5.5rem;
  overflow:hidden;
  clip-path:inset(0 100% 0 0);
  animation:heroReveal .9s var(--ease) .05s forwards;
  margin-bottom:-1px;
  margin-left:0!important;
  width:auto!important;
}

.hero-body{
  position:relative;
  z-index:3;
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(340px,390px);
  gap:clamp(4rem,6vw,7rem);
  align-items:center;
}

.hero-logo-lockup{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:flex-start;
  opacity:0;
  transform:translateY(10px);
  animation:fadeUp .8s ease 1.08s forwards;
}

.hero-logo-img{
  display:block;
  width:clamp(320px,34vw,560px);
  height:auto;
  max-width:100%;
  filter:drop-shadow(0 20px 46px rgba(0,5,14,.48));
}

.hero-credentials{
  align-self:center;
  justify-self:end;
  width:max-content;
  max-width:390px;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  opacity:0;
  transform:translateY(8px);
  animation:credentialGroupReveal .95s var(--ease) 1.18s forwards;
}

.hero-credentials-title{
  position:relative;
  display:block;
  width:max-content;
  max-width:100%;
  margin:0 0 1rem;
  padding:0 0 0 1rem;
  font-family:var(--fd);
  font-size:clamp(1rem,1.18vw,1.22rem);
  font-weight:700;
  line-height:1.08;
  letter-spacing:-.012em;
  color:rgba(255,255,255,.92);
  text-shadow:0 8px 26px rgba(0,5,14,.72);
  opacity:1;
  transform:none;
  animation:none;
}

.hero-credentials-title::before{
  content:"";
  position:absolute;
  left:0;
  top:.05em;
  bottom:.05em;
  width:2px;
  background:var(--gold);
  opacity:.9;
}

.hero-credentials-title::after{
  display:none!important;
}

.hero-badges{
  display:grid;
  grid-template-columns:repeat(2,158px);
  gap:14px;
  justify-content:end;
  align-self:auto;
}

.hero-badge{
  position:relative;
  height:158px;
  overflow:hidden;
  background:rgba(255,255,255,.96);
  color:var(--text);
  border:1px solid rgba(255,255,255,.78);
  box-shadow:
    0 18px 44px rgba(0,5,14,.34),
    inset 0 0 0 1px rgba(6,41,108,.08);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:1.22rem;
  opacity:0;
  transform:translateY(6px);
  animation:credentialReveal .95s var(--ease) calc(1.36s + (var(--badge-i,0) * .12s)) forwards;
}

.hero-badge::before{
  content:"";
  position:absolute;
  left:1.22rem;
  right:1.22rem;
  top:1rem;
  height:2px;
  background:linear-gradient(
    90deg,
    var(--gold),
    rgba(200,164,93,.4),
    transparent
  );
}

.hero-badge::after{
  content:"";
  position:absolute;
  inset:-45% -90%;
  background:linear-gradient(
    115deg,
    transparent 43%,
    rgba(255,255,255,.44) 50%,
    transparent 57%
  );
  transform:translateX(-58%);
  opacity:0;
  pointer-events:none;
}

.hero-badge:hover::after{
  animation:credentialSheen 1.1s var(--ease);
}

.hero-badge-source{
  position:relative;
  z-index:1;
  margin-top:.55rem;
  font-size:.6rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--navy);
  font-weight:800;
  line-height:1.35;
}

.hero-badge-rank{
  position:relative;
  z-index:1;
  font-family:var(--fd);
  font-size:1.05rem;
  font-weight:700;
  line-height:1.12;
  color:var(--text);
}

.hero-badge-year{
  position:relative;
  z-index:1;
  font-family:var(--fd);
  font-size:1.45rem;
  font-weight:700;
  letter-spacing:-.02em;
  color:var(--navy);
}

#about.hero-intro{
  background:
    linear-gradient(
      135deg,
      #E7EAEE 0%,
      #F6F7F8 48%,
      #DDE2E8 100%
    )!important;
  color:var(--text);
}

#about.hero-intro strong,
#about .about-firm-main,
#about .about-firm-sub{
  color:var(--text);
}

#about.hero-intro p{
  color:#202631;
}

#about .light-label{
  color:var(--navy);
}

#about .about-connector{
  color:var(--navy);
}

#about .about-connector:hover,
#about .about-connector:focus-visible{
  color:var(--gold);
}

#about .about-connector::after{
  background:var(--gold);
}

#about .about-firm-sub::before{
  background:linear-gradient(
    90deg,
    var(--navy),
    rgba(6,41,108,.38),
    transparent
  );
}

#about .about-firm-lockup:hover .about-firm-sub,
#about .about-firm-lockup:focus-within .about-firm-sub{
  color:var(--navy);
}

@media (max-width:640px){
#hero{
    min-height:96svh;
    padding:5rem 1.25rem 4.25rem;
    margin-left:0!important;
    width:100%!important;
    align-items:flex-end;
  }

.hero-body{
    grid-template-columns:1fr;
    gap:3rem;
    align-items:end;
  }

.hero-logo-img{
    width:clamp(220px,70vw,340px);
  }

.hero-credentials{
    justify-self:start;
    width:100%;
    max-width:none;
  }

.hero-credentials-title{
    font-size:1rem;
    margin-bottom:.95rem;
  }

.hero-badges{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.85rem;
  }

.hero-badge{
    height:145px;
    padding:1.08rem;
  }
}

/* =========================================================
   FINAL OVERRIDES V33 - hero logo, credentials, full-bleed About
   ========================================================= */
#hero{
  position:relative!important;
  min-height:100svh!important;
  background:var(--navy-dark)!important;
  display:flex!important;
  align-items:flex-end!important;
  padding:6rem var(--page-pad) clamp(4.75rem,8vh,7rem)!important;
  overflow:hidden!important;
  margin-left:0!important;
  width:auto!important;
  margin-bottom:-1px!important;
}

.hero-body{
  position:relative!important;
  z-index:3!important;
  width:100%!important;
  max-width:1540px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(360px,430px)!important;
  gap:clamp(4.5rem,7vw,8.5rem)!important;
  align-items:end!important;
  padding-top:0!important;
}

.hero-brand-block{
  align-self:end!important;
  justify-self:start!important;
  padding-left:clamp(1.25rem,3.4vw,4.75rem)!important;
  margin-bottom:clamp(3.8rem,8.4vh,7.4rem)!important;
}

.hero-logo-lockup{
  position:relative!important;
  z-index:1!important;
  display:inline-flex!important;
  align-items:flex-start!important;
  opacity:0;
  transform:translateY(10px);
  animation:fadeUp .8s ease 1.08s forwards!important;
}

.hero-logo-img{
  display:block!important;
  width:clamp(360px,32vw,610px)!important;
  height:auto!important;
  max-width:100%!important;
  filter:drop-shadow(0 20px 46px rgba(0,5,14,.48))!important;
}

.hero-credentials{
  align-self:end!important;
  justify-self:end!important;
  width:max-content!important;
  max-width:430px!important;
  margin-bottom:clamp(3.1rem,7.6vh,6.7rem)!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  opacity:0;
  transform:translateY(8px);
  animation:credentialGroupReveal .95s var(--ease) 1.18s forwards!important;
}

.hero-credentials-title{
  position:relative!important;
  display:block!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0 0 1rem!important;
  padding:0 0 0 1rem!important;
  font-family:var(--fd)!important;
  font-size:clamp(1rem,1.18vw,1.22rem)!important;
  font-weight:700!important;
  line-height:1.08!important;
  letter-spacing:-.012em!important;
  color:rgba(255,255,255,.94)!important;
  text-shadow:0 8px 26px rgba(0,5,14,.78)!important;
  opacity:1!important;
  transform:none!important;
  animation:none!important;
}

.hero-credentials-title::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:.05em!important;
  bottom:.05em!important;
  width:2px!important;
  background:var(--gold)!important;
  opacity:.92!important;
}

.hero-credentials-title::after{
  display:none!important;
}

.hero-badges{
  display:grid!important;
  grid-template-columns:repeat(2,164px)!important;
  gap:14px!important;
  justify-content:end!important;
  align-self:auto!important;
}

.hero-badge{
  position:relative!important;
  height:164px!important;
  overflow:hidden!important;
  background:rgba(255,255,255,.985)!important;
  color:var(--text)!important;
  border:1px solid rgba(255,255,255,.86)!important;
  box-shadow:
    0 22px 52px rgba(0,5,14,.40),
    inset 0 0 0 1px rgba(6,41,108,.09)!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  padding:1.24rem!important;
}

.hero-badge-source{
  position:relative!important;
  z-index:1!important;
  margin-top:.55rem!important;
  font-size:.6rem!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
  color:var(--navy)!important;
  font-weight:800!important;
  line-height:1.35!important;
}

.hero-badge-rank{
  position:relative!important;
  z-index:1!important;
  font-family:var(--fd)!important;
  font-size:1.07rem!important;
  font-weight:700!important;
  line-height:1.12!important;
  color:var(--text)!important;
}

.hero-badge-year{
  position:relative!important;
  z-index:1!important;
  font-family:var(--fd)!important;
  font-size:1.48rem!important;
  font-weight:700!important;
  letter-spacing:-.02em!important;
  color:var(--navy)!important;
}

/* Full-bleed About background + constrained inner layout */
.hero-intro{
  max-width:none!important;
  width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  padding:0!important;
  display:block!important;
  min-height:clamp(680px,76vh,820px)!important;
  background:
    linear-gradient(
      135deg,
      #E7EAEE 0%,
      #F7F8FA 50%,
      #DDE2E8 100%
    )!important;
  color:var(--text)!important;
}

.hero-intro-inner{
  width:100%!important;
  max-width:var(--content-max)!important;
  min-height:inherit!important;
  margin-left:auto!important;
  margin-right:auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(430px,.88fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:clamp(4.75rem,6.5vw,7.75rem)!important;
  row-gap:5.25rem!important;
  align-items:center!important;
  padding:7.8rem var(--page-pad) 8.8rem!important;
}

#about.hero-intro p{
  color:#202631!important;
}

#about.hero-intro strong,
#about .about-firm-main,
#about .about-firm-sub{
  color:var(--text)!important;
}

#about .light-label,
#about .about-connector{
  color:var(--navy)!important;
}

#about .about-connector:hover,
#about .about-connector:focus-visible{
  color:var(--gold)!important;
}

#about .about-connector::after{
  background:var(--gold)!important;
}

#about .about-firm-sub::before{
  background:linear-gradient(90deg,var(--navy),rgba(6,41,108,.38),transparent)!important;
}

@media (max-width:1100px){
.hero-body{
    grid-template-columns:1fr!important;
    gap:3rem!important;
    align-items:end!important;
  }

.hero-brand-block{
    padding-left:0!important;
    margin-bottom:0!important;
  }

.hero-credentials{
    justify-self:start!important;
    margin-bottom:0!important;
  }

.hero-intro-inner{
    grid-template-columns:1fr!important;
    gap:3rem!important;
    padding:6.5rem var(--page-pad) 7rem!important;
  }

.about-kicker,
.about-headline,
.about-copy{
    grid-column:1!important;
    grid-row:auto!important;
  }
}

@media (max-width:640px){
#hero{
    min-height:96svh!important;
    padding:5rem 1.25rem 4.25rem!important;
    margin-left:0!important;
    width:100%!important;
  }

.hero-logo-img{
    width:clamp(235px,78vw,360px)!important;
  }

.hero-credentials{
    width:100%!important;
    max-width:none!important;
  }

.hero-badges{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

.hero-badge{
    height:145px!important;
    padding:1.05rem!important;
  }

.hero-intro{
    min-height:auto!important;
  }

.hero-intro-inner{
    padding:5.25rem 1.25rem 6rem!important;
    min-height:auto!important;
  }
}

.hero-brand-block{
  align-self:end!important;
  justify-self:start!important;
  padding-left:clamp(.25rem,1.5vw,2.25rem)!important;
  margin-bottom:clamp(4.5rem,10vh,8rem)!important;
}

.hero-logo-lockup{
  position:relative!important;
  z-index:1!important;
  display:inline-flex!important;
  align-items:flex-start!important;
  opacity:0;
  transform:translateY(10px);
  animation:fadeUp .8s ease 1.08s forwards!important;
}

.hero-logo-img{
  display:block!important;
  width:clamp(300px,30vw,500px)!important;
  height:auto!important;
  max-width:100%!important;
  filter:drop-shadow(0 20px 46px rgba(0,5,14,.48))!important;
}

.hero-credentials{
  align-self:end!important;
  justify-self:end!important;
  width:max-content!important;
  max-width:390px!important;
  margin-bottom:clamp(4rem,9vh,7rem)!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

@media (max-width:1100px){
.hero-brand-block{
    padding-left:0!important;
    margin-bottom:0!important;
  }

.hero-credentials{
    justify-self:start!important;
    margin-bottom:0!important;
  }
}

@media (max-width:640px){
.hero-logo-img{
    width:clamp(220px,70vw,340px)!important;
  }

.hero-brand-block{
    padding-left:0!important;
    margin-bottom:0!important;
  }

.hero-credentials{
    justify-self:start!important;
    width:100%!important;
    max-width:none!important;
    margin-bottom:0!important;
  }
}

/* =========================================================
   ABOUT LOCKUP FINAL FIX - subtitle proportion
   ========================================================= */
#about .about-firm-sub{
  margin-top:.88rem!important;
  font-size:clamp(.92rem,1.04vw,1.08rem)!important;
  letter-spacing:.23em!important;
  font-weight:800!important;
}

html[lang="zh"] #about .about-firm-sub{
  font-size:clamp(.9rem,1vw,1.08rem)!important;
  letter-spacing:.14em!important;
}

@media (max-width:640px){
#about .about-firm-sub{
    margin-top:.9rem!important;
    font-size:.88rem!important;
    letter-spacing:.2em!important;
  }
}

/* =========================================================
   SIDEBAR LOGO FINAL FIX - balanced size only
   ========================================================= */


/* =========================================================
   TEAM PHOTO FINAL TREATMENT - Alfredo Lau-Tam
   Corporate-background portrait; controlled contrast and brightness.
   Use the selected real photo as: assets/leadership/44484564.jpg
   ========================================================= */
.team-photo[data-i="0"] .team-photo-img,
.team-thumb[data-i="0"] .team-thumb-img{
  object-position:center top!important;
  filter:saturate(.82) contrast(1.05) brightness(.94)!important;
}

/* =========================================================
   TEAM PHOTO FINAL TREATMENT - Joe Navarrete
   Brighter, less muted, still aligned with the site palette.
   ========================================================= */
.team-photo[data-i="1"] .team-photo-img,
.team-thumb[data-i="1"] .team-thumb-img{
  object-position:center top!important;
  filter:saturate(.9) contrast(1.03) brightness(1)!important;
}

/* =========================================================
   TEAM PHOTO FINAL TREATMENT - Alfredo Lau-Tam
   Recentered for main photo and thumbnail.
   ========================================================= */
.team-photo[data-i="0"] .team-photo-img{
  object-position:44% top!important;
  filter:saturate(.82) contrast(1.05) brightness(.94)!important;
}

.team-thumb[data-i="0"] .team-thumb-img{
  object-position:45% top!important;
  filter:saturate(.82) contrast(1.05) brightness(.94)!important;
}

/* =========================================================
   PARTNERS SECTION TOP + HEIGHT FINAL FIX
   Removes upper white strip and gives Partners more presence.
   ========================================================= */
@media (min-width:1101px){
#team{
    margin-top:-3.25rem!important;
    background:var(--bg-team)!important;
  }

.team-stage{
    height:min(980px,100vh)!important;
    min-height:800px!important;
    max-height:none!important;
  }

.team-photo-area,
.team-info-area{
    min-height:800px!important;
  }

.team-info-area{
    padding-top:4.15rem!important;
  }

.team-thumbs{
    bottom:6.2rem!important;
  }

.team-nav{
    bottom:1.55rem!important;
  }

/* =========================================================
   TEAM DOTS FINAL FIX
   Less distracting dark gray navigation dots.
   ========================================================= */
.team-dot{
  background:rgba(0,5,14,.22)!important;
  opacity:.72!important;
}

.team-dot:hover,
.team-dot:focus-visible{
  background:#4C535D!important;
  opacity:1!important;
  transform:scale(1.22)!important;
}

.team-dot.active{
  background:#3E4652!important;
  opacity:1!important;
  transform:scale(1.16)!important;

}

/* =========================================================
   SELECTED EXPERIENCE FINAL FIX
   Gives the section more scale and authority.
   ========================================================= */
#experience{
  min-height:100vh!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding-top:8.5rem!important;
  padding-bottom:8.5rem!important;
}

#experience .section-header{
  margin-bottom:5.25rem!important;
}

.experience-grid{
  gap:5.5rem 6.5rem!important;
}

.deal{
  min-height:300px!important;
  padding-top:2.4rem!important;
}

.deal-client{
  font-size:.78rem!important;
  letter-spacing:.24em!important;
  margin-bottom:1.65rem!important;
}

.deal-title{
  font-size:clamp(2.15rem,3.45vw,3.65rem)!important;
  line-height:1.06!important;
  letter-spacing:-.018em!important;
}

.deal-amount{
  font-size:clamp(4.4rem,8.4vw,8rem)!important;
  margin-top:2.4rem!important;
}
}

/* ABOUT: align label, lockup and copy on a predictable grid */
#about.hero-intro{
  max-width:none!important;
  width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  padding:0!important;
  display:block!important;
}

#about .hero-intro-inner{
  width:100%!important;
  max-width:var(--content-max)!important;
  min-height:inherit!important;
  margin-left:auto!important;
  margin-right:auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(430px,.88fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:clamp(5.25rem,7vw,8.75rem)!important;
  row-gap:2.65rem!important;
  align-items:start!important;
  align-content:center!important;
  padding:7.8rem var(--page-pad) 8.8rem!important;
}

#about .about-kicker{
  grid-column:1!important;
  grid-row:1!important;
  align-self:start!important;
  margin:0!important;
}

#about .about-headline{
  grid-column:1!important;
  grid-row:2!important;
  align-self:start!important;
  justify-self:start!important;
}

#about .about-copy{
  grid-column:2!important;
  grid-row:2!important;
  align-self:start!important;
  justify-self:start!important;
  padding-top:.12rem!important;
  max-width:620px!important;
}

#about .about-firm-headline{
  transform:none!important;
}

#about .about-firm-lockup{
  margin:0!important;
}

#about .about-firm-main{
  line-height:.9!important;
}

#about .about-firm-sub{
  margin-top:1.05rem!important;
}

#about.hero-intro p:first-child{
  margin-top:0!important;
}

/* PARTNERS: remove artificial vertical offset and align the info column */
@media (min-width:1101px){
#team{
    margin-top:-1px!important;
    background:var(--bg-team)!important;
    overflow:hidden!important;
  }

#team .team-stage{
    width:100%!important;
    max-width:var(--content-wide)!important;
    margin-left:auto!important;
    margin-right:auto!important;
    display:grid!important;
    grid-template-columns:minmax(620px,1.15fr) minmax(420px,.78fr)!important;
    column-gap:clamp(2.5rem,3.5vw,4.5rem)!important;
    align-items:stretch!important;
    height:min(940px,100vh)!important;
    min-height:780px!important;
    max-height:none!important;
  }

#team .team-photo-area,
#team .team-info-area{
    min-height:780px!important;
  }

#team .team-info-area{
    padding-top:clamp(5rem,7vh,6.6rem)!important;
    padding-left:clamp(3.25rem,4vw,5.25rem)!important;
    padding-right:clamp(3rem,4vw,5rem)!important;
    padding-bottom:15rem!important;
    justify-content:flex-start!important;
  }

#team .team-info-area > .section-label{
    transform:none!important;
    margin:0 0 clamp(2.15rem,3vh,2.85rem)!important;
  }

#team .team-card{
    max-width:500px!important;
  }

#team .team-name{
    margin-top:0!important;
    margin-bottom:1.12rem!important;
  }

#team .team-role{
    margin-bottom:1.55rem!important;
  }

#team .team-practices{
    margin-bottom:1.45rem!important;
  }

#team .team-thumbs{
    right:clamp(2.5rem,4vw,5rem)!important;
    bottom:6.35rem!important;
    width:min(34vw,540px)!important;
    height:clamp(195px,14vw,230px)!important;
  }

#team .team-nav{
    right:clamp(2.5rem,4vw,5rem)!important;
    bottom:1.55rem!important;
    width:min(34vw,540px)!important;
    transform:none!important;
  }

#team .team-bottom{
    left:0!important;
    bottom:0!important;
  }
}

/* Tablet */
@media (max-width:1100px){
#about .hero-intro-inner{
    grid-template-columns:1fr!important;
    gap:3rem!important;
    align-content:start!important;
    padding:6.5rem var(--page-pad) 7rem!important;
  }

#about .about-kicker,
#about .about-headline,
#about .about-copy{
    grid-column:1!important;
    grid-row:auto!important;
  }

#about .about-copy{
    padding-top:0!important;
    max-width:720px!important;
  }

#team .team-stage{
    grid-template-columns:1fr!important;
    height:auto!important;
    min-height:auto!important;
  }

#team .team-info-area{
    padding-top:3.5rem!important;
  }

#team .team-info-area > .section-label{
    transform:none!important;
    margin-bottom:2rem!important;
  }
}

/* Mobile */
@media (max-width:640px){
#about .hero-intro-inner{
    padding:5.25rem 1.25rem 6rem!important;
    min-height:auto!important;
  }

#team .team-info-area{
    padding-top:3.25rem!important;
  }

#team .team-info-area > .section-label{
    margin-bottom:1.75rem!important;
  }
}

/* =========================================================
   MENU OVERLAY FINAL - MULTI-LAYER LEFT-TO-RIGHT REVEAL
   Fondo navy/carbon con capas tipo ola, sobrio y corporativo.
   ========================================================= */


/* =========================================================
   MENU FINAL CLEANUP + INTERNAL ACCESS
   No text movement, no numbering, no underline.
   Adds subtle Internal Access utility block.
   ========================================================= */


/* Internal Access block */


/* Mobile */


/* =========================================================
   MENU LINES CLEANUP - FINAL
   Removes horizontal dividers from main menu links.
   Keeps only one subtle separator for Internal Access.
   ========================================================= */


/* Restores visual rhythm after removing dividers */


/* Single subtle divider for Internal Access */


/* =========================================================
   INTERNAL ACCESS SIZE TUNING - FINAL
   Makes utility links more discreet.
   ========================================================= */


/* =========================================================
   MENU HOVER SPEED FIX - FINAL
   Keeps the entrance animation, but makes hover instant.
   ========================================================= */


/* Main menu must open in same tab. Internal links open in new tab via HTML. */


/* =========================================================
   INTERNAL ACCESS HOVER - SOCIAL MEDIA STYLE - FINAL
   Keeps Webmail / Intranet / Virtual Data Room sober:
   no gold hover, only a simple underline.
   ========================================================= */


/* =========================================================
   SIDEBAR LOGO - FINAL CLEAN WORDMARK
   Uses transparent cropped logo without background or excess borders.
   Save the SVG as: assets/logo-lau-tam-sidebar-clean.svg
   ========================================================= */


/* =========================================================
   SIDEBAR LOGO SIZE TUNING - FINAL
   Reduces sidebar wordmark scale so it does not dominate.
   ========================================================= */


/* Tablet */


/* Mobile */


/* Menu background: slow left-to-right reveal */


/* Panel behind menu: also slow, so the background feels unified */


/* Menu container appears after the background starts moving */


/* Main menu hit area: only the visible word, not the entire row */


/* Reset all language spans in main menu */


/* Only active language is visible; reveal text left-to-right */


/* Open state: each word is uncovered from left to right */


/* Controlled stagger, synced with the background reveal */


/* Hover: immediate, only over the text */


/* Internal Access: keeps sober underline style */


/* Closing reset */


/* =========================================================
   MENU DESCENDER CLIPPING FIX - FINAL ABSOLUTE
   Prevents letters like y, g, j, p from being cut.
   ========================================================= */


/* Active language reveal with extra lower breathing room */


/* =========================================================
   MENU HOVER INSTANT FIX - FINAL ABSOLUTE
   Keeps the opening reveal, but kills inherited delays after open.
   ========================================================= */


/* =========================================================
   SCROLLBAR COLOR FIX - FINAL
   Removes the white browser scrollbar gutter without changing layout.
   ========================================================= */
html{
  background:#05070D!important;
  scrollbar-color:rgba(255,255,255,.18) #05070D;
}

html::-webkit-scrollbar{
  width:10px;
}

html::-webkit-scrollbar-track{
  background:#05070D;
}

html::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.18);
  border:3px solid #05070D;
  border-radius:999px;
}

html::-webkit-scrollbar-thumb:hover{
  background:rgba(255,255,255,.28);
}

/* =========================================================
   SIDEBAR LOGO STATIC + INDEX LINK FIX - FINAL
   Removes hover/focus movement from the left logo.
   The link target is handled in HTML: index.html.
   ========================================================= */


/* =========================================================
   MENU SCROLLBAR FLASH FIX - FINAL
   Masks the browser scrollbar strip immediately while the menu opens.
   Keeps the left-to-right menu reveal intact.
   ========================================================= */
:root{
  
}


/* =========================================================
   MENU CLOSE DOUBLE SCROLLBAR FIX - FINAL
   Hides the menu overlay scrollbar immediately on close.
   Keeps the page scrollbar as the only visible scrollbar after closing.
   ========================================================= */


/* Do not let the overlay scrollbar appear during the opening animation. */


/* After the reveal is done, the menu may scroll, but with a dark track. */


/* Overscan the animated layers so no sub-pixel right edge can expose the page. */


/* =========================================================
   MENU OVERLAY - POINTER EVENTS FIX
   Cuando el menú está cerrado, ningún descendiente debe capturar clicks.
   Los enlaces internos tenían pointer-events:auto !important,
   lo cual sobrepasaba el pointer-events:none del overlay padre.
   ========================================================= */


#news.section{
  padding-bottom:clamp(3.25rem,4vw,4.5rem)!important;
  margin-bottom:0!important;
}

/* =========================================================
   ABOUT ALIGNMENT FIX - FINAL
   Aligns About Us with Practice / rest of page on large screens.
   ========================================================= */
#about.hero-intro{
  padding-left:var(--page-pad)!important;
  padding-right:var(--page-pad)!important;
}

#about .hero-intro-inner{
  max-width:var(--content-max)!important;
  padding-left:0!important;
  padding-right:0!important;
}

/* Tablet */
@media (max-width:1100px){
#about.hero-intro{
    padding-left:var(--page-pad)!important;
    padding-right:var(--page-pad)!important;
  }

#about .hero-intro-inner{
    padding-left:0!important;
    padding-right:0!important;
  }
}

/* Mobile */
@media (max-width:640px){
#about.hero-intro{
    padding-left:1.25rem!important;
    padding-right:1.25rem!important;
  }

#about .hero-intro-inner{
    padding-left:0!important;
    padding-right:0!important;
  }
}

/* The old kicker patch was over-correcting. */
#about .about-kicker,
#about .about-kicker[class]{
  padding-left:0!important;
}

/* Optical alignment only where it is safe. Do not shift experience text. */
:root{
  --optical-shift:-0.04em;
}

#about .about-firm-main,
#practice .practice-name,
#team .team-name{
  margin-left:var(--optical-shift)!important;
}

#experience .deal-title,
#experience .deal-amount{
  margin-left:0!important;
}

/* Hard stop against horizontal drift. */
html,
body{
  width:100%!important;
  max-width:100%!important;
  overflow-x:hidden!important;
}

main,
section{
  max-width:100%!important;
}

/* Selected Experience: same content axis as the rest of the site. */
#experience.section{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:var(--page-pad)!important;
  padding-right:var(--page-pad)!important;
  overflow:hidden!important;
}

#experience .section-header,
#experience .experience-grid,
#experience .experience-more-wrap{
  width:100%!important;
  max-width:var(--content-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

#experience .experience-grid{
  min-width:0!important;
}

#experience .deal{
  min-width:0!important;
}

#experience .deal-title,
#experience .deal-amount{
  max-width:100%!important;
  overflow-wrap:normal!important;
}

@media (max-width:1100px){
#about .about-kicker{
    padding-left:0!important;
  }

#experience.section{
    padding-left:var(--page-pad)!important;
    padding-right:var(--page-pad)!important;
  }

#experience .experience-grid{
    grid-template-columns:1fr!important;
    gap:4rem!important;
  }

#experience .deal-title,
#experience .deal-amount{
    margin-left:0!important;
  }
}

@media (max-width:640px){
#experience.section{
    padding-left:1.25rem!important;
    padding-right:1.25rem!important;
  }

#experience .experience-grid{
    gap:3rem!important;
  }

#experience .deal{
    min-height:auto!important;
  }
}

/* =========================================================
   PUBLICATIONS MORE LINK ALIGNMENT FIX - FINAL
   Aligns "More publications" / "Más publicaciones" with the
   publications content grid instead of the far page edge.
   Keep this block at the very end of the CSS.
   ========================================================= */
#publications .more-wrap{
  width:100%!important;
  max-width:var(--content-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  justify-content:flex-end!important;
}

@media (max-width:640px){
#publications .more-wrap{
    max-width:none!important;
  }
}

/* =========================================================
   PRACTICE RIGHT COLUMN ALIGNMENT FIX - FINAL
   Aligns the quote block with the About copy column.
   The previous margin-left:auto pushed it too far right.
   ========================================================= */
#practice .ranking-card{
  margin-left:0!important;
  justify-self:start!important;
  align-self:start!important;
  max-width:430px!important;
}

#practice .practice-quote{
  max-width:430px!important;
}

@media (max-width:1100px){
#practice .ranking-card{
    margin-left:0!important;
    justify-self:start!important;
    max-width:620px!important;
  }

#practice .practice-quote{
    max-width:620px!important;
  }
}

/* =========================================================
   ABOUT LAU-TAM NO-WRAP FIX - FINAL
   Prevents the surname from breaking at the hyphen.
   ========================================================= */
#about .about-firm-main{
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}

#about .about-firm-lockup{
  width:max-content!important;
  max-width:100%!important;
}

@media (max-width:640px){
#about .about-firm-main{
    font-size:clamp(2.72rem,13.8vw,4.05rem)!important;
  }
}

/* =========================================================
   ABOUT LABEL + LINK COLOR NORMALIZATION - FINAL
   Makes About Us match the rest of the page.
   ========================================================= */
#about .light-label{
  color:var(--text)!important;
}

#about .about-connector{
  color:var(--text)!important;
}

#about .about-connector:hover,
#about .about-connector:focus-visible{
  color:var(--gold)!important;
}

/* =========================================================
   TEAM THUMBNAILS NON-INTERACTIVE FIX - FINAL
   Small photos are previews only. Team changes only through
   the navigation controls.
   ========================================================= */
#team .team-thumbs{
  pointer-events:none!important;
}

#team .team-thumb{
  cursor:default!important;
  pointer-events:none!important;
}

#team .team-thumb:hover,
#team .team-thumb:focus-visible{
  filter:brightness(.9)!important;
  transform:none!important;
  outline:none!important;
}

/* =========================================================
   TEAM NAVIGATION ARROWS - FINAL
   Replaces the dot controls with Vasil-style arrows.
   Thumbnails remain visual only; slide changes only through arrows.
   ========================================================= */
.team-nav{
  justify-content:center!important;
  gap:1.75rem!important;
}

.team-dot{
  display:none!important;
}

.team-arrow{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:42px!important;
  height:42px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:var(--text)!important;
  opacity:1!important;
  cursor:pointer!important;
  transition:
    color .18s ease,
    transform .24s var(--ease),
    opacity .18s ease!important;
}

.team-arrow svg{
  display:block!important;
  width:30px!important;
  height:30px!important;
  pointer-events:none!important;
}

.team-arrow:hover,
.team-arrow:focus-visible{
  color:var(--navy)!important;
  opacity:1!important;
  outline:none!important;
}

.team-arrow-prev:hover,
.team-arrow-prev:focus-visible{
  transform:translateX(-4px)!important;
}

.team-arrow-next:hover,
.team-arrow-next:focus-visible{
  transform:translateX(4px)!important;
}

.team-arrow:active{
  transform:scale(.94)!important;
}

@media (max-width:1100px){
.team-nav{
    gap:1.5rem!important;
  }

.team-arrow{
    width:40px!important;
    height:40px!important;
  }

.team-arrow svg{
    width:28px!important;
    height:28px!important;
  }
}

@media (max-width:640px){
.team-nav{
    bottom:1.05rem!important;
  }

.team-arrow{
    width:38px!important;
    height:38px!important;
  }
}

/* =========================================================
   TEAM THUMBNAILS RESOLUTION LOCK - FINAL
   Anchors preview boxes and arrows to the grid boundary instead
   of the viewport/right edge. This prevents drift on large screens.
   ========================================================= */
@media (min-width:1101px){
#team .team-stage{
    position:relative!important;
    display:grid!important;
  }

#team .team-thumbs{
    position:relative!important;
    grid-column:2!important;
    grid-row:1!important;
    align-self:end!important;
    justify-self:start!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    width:clamp(430px,30vw,540px)!important;
    height:clamp(205px,14.2vw,235px)!important;
    gap:clamp(1.35rem,1.7vw,1.75rem)!important;
    margin:0 0 clamp(6.55rem,7.4vh,7rem) 0!important;
    transform:translateX(-8.25rem)!important;
    z-index:40!important;
  }

#team .team-nav{
    position:relative!important;
    grid-column:2!important;
    grid-row:1!important;
    align-self:end!important;
    justify-self:start!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    width:clamp(430px,30vw,540px)!important;
    margin:0 0 clamp(1.95rem,2.45vh,2.35rem) 0!important;
    transform:translateX(-8.25rem)!important;
    gap:2.05rem!important;
    z-index:45!important;
  }

#team .team-thumb{
    box-shadow:none!important;
  }
}

@media (min-width:1700px){
#team .team-thumbs,
#team .team-nav{
    transform:translateX(-8.25rem)!important;
  }
}

@media (min-width:1900px){
#team .team-thumbs,
#team .team-nav{
    transform:translateX(-8.25rem)!important;
  }
}

@media (max-width:1100px){
#team .team-thumbs{
    position:absolute!important;
    right:1.25rem!important;
    left:1.25rem!important;
    width:auto!important;
    transform:none!important;
  }

#team .team-nav{
    position:absolute!important;
    right:50%!important;
    left:auto!important;
    width:auto!important;
    transform:translateX(50%)!important;
  }
}

/* =========================================================
   TEAM INFO RESTORE + STABLE VASIL THUMBNAILS - FINAL
   Previous grid-relative thumbnail anchoring was sharing the same
   grid cell as the info column and could visually displace/hide the
   partner name, role and practice text. This restores the info column
   as the primary grid item and anchors thumbnails absolutely against
   the photo/info boundary inside the team stage.
   ========================================================= */
@media (min-width:1101px){
#team .team-stage{
    position:relative!important;
    display:grid!important;
    overflow:hidden!important;
  }

#team .team-photo-area{
    grid-column:1!important;
    grid-row:1!important;
    position:relative!important;
    z-index:1!important;
  }

#team .team-info-area{
    grid-column:2!important;
    grid-row:1!important;
    position:relative!important;
    z-index:20!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    background:var(--bg-team)!important;
    padding-top:clamp(5rem,7vh,6.6rem)!important;
    padding-left:clamp(3.25rem,4vw,5.25rem)!important;
    padding-right:clamp(3rem,4vw,5rem)!important;
    padding-bottom:15rem!important;
    min-height:780px!important;
  }

#team .team-info-area > .section-label{
    position:relative!important;
    z-index:25!important;
    transform:none!important;
    margin:0 0 clamp(2.15rem,3vh,2.85rem)!important;
  }

#team .team-card{
    position:relative!important;
    z-index:25!important;
    max-width:500px!important;
    visibility:visible!important;
  }

#team .team-card.active{
    display:flex!important;
    opacity:1!important;
    visibility:visible!important;
  }

#team .team-name,
#team .team-role,
#team .team-practices,
#team .team-vcard{
    position:relative!important;
    z-index:26!important;
  }

#team .team-thumbs{
    position:absolute!important;
    grid-column:auto!important;
    grid-row:auto!important;
    left:calc(60% - 8.25rem)!important;
    right:auto!important;
    bottom:clamp(6.55rem,7.4vh,7rem)!important;
    width:clamp(430px,30vw,540px)!important;
    height:clamp(205px,14.2vw,235px)!important;
    gap:clamp(1.35rem,1.7vw,1.75rem)!important;
    margin:0!important;
    transform:none!important;
    z-index:45!important;
  }

#team .team-nav{
    position:absolute!important;
    grid-column:auto!important;
    grid-row:auto!important;
    left:calc(60% - 8.25rem)!important;
    right:auto!important;
    bottom:clamp(1.95rem,2.45vh,2.35rem)!important;
    width:clamp(430px,30vw,540px)!important;
    margin:0!important;
    transform:none!important;
    z-index:50!important;
  }
}

@media (min-width:1700px){
#team .team-thumbs,
#team .team-nav{
    left:calc(60% - 8.25rem)!important;
  }
}

@media (max-width:1100px){
#team .team-info-area{
    position:relative!important;
    z-index:20!important;
  }

#team .team-card.active{
    display:flex!important;
    opacity:1!important;
    visibility:visible!important;
  }
}

/* =========================================================
   TEAM THUMBNAILS RIGHT EDGE ALIGNMENT - FINAL V13
   Keeps the partner text visible, but pushes the last preview
   box close to the right edge like the Vasil reference.
   ========================================================= */
@media (min-width:1101px){
#team .team-thumbs{
    position:absolute!important;
    left:auto!important;
    right:clamp(1.25rem,2.2vw,2.75rem)!important;
    bottom:clamp(6.55rem,7.4vh,7rem)!important;
    width:clamp(470px,33vw,620px)!important;
    height:clamp(205px,14.2vw,235px)!important;
    gap:clamp(1.35rem,1.7vw,1.75rem)!important;
    transform:none!important;
    z-index:45!important;
  }

#team .team-nav{
    position:absolute!important;
    left:auto!important;
    right:clamp(1.25rem,2.2vw,2.75rem)!important;
    bottom:clamp(1.95rem,2.45vh,2.35rem)!important;
    width:clamp(470px,33vw,620px)!important;
    transform:none!important;
    z-index:50!important;
  }
}

@media (min-width:1700px){
#team .team-thumbs,
#team .team-nav{
    right:clamp(1.5rem,2vw,3rem)!important;
  }
}

/* =========================================================
   TEAM THUMBNAILS FLUSH RIGHT - FINAL V14
   Pushes the last preview box to the section/right viewport edge,
   visually touching the scrollbar side like the Vasil reference.
   ========================================================= */
@media (min-width:1101px){
#team .team-thumbs{
    right:0!important;
    width:clamp(470px,33vw,620px)!important;
  }

#team .team-nav{
    right:0!important;
    width:clamp(470px,33vw,620px)!important;
  }
}

@media (min-width:1700px){
#team .team-thumbs,
#team .team-nav{
    right:0!important;
  }
}

/* =========================================================
   TEAM THUMBNAILS VASIL FIRST BOX ALIGNMENT - FINAL V15
   Keeps the last preview flush to the right edge, while widening
   the preview rail so the first preview crosses into the large-photo
   axis like the Vasil reference.
   ========================================================= */
@media (min-width:1101px){
#team .team-thumbs{
    right:0!important;
    width:clamp(545px,38.5vw,710px)!important;
    gap:clamp(1.35rem,1.65vw,1.75rem)!important;
  }

#team .team-nav{
    right:0!important;
    width:clamp(545px,38.5vw,710px)!important;
  }
}

@media (min-width:1700px){
#team .team-thumbs,
#team .team-nav{
    right:0!important;
    width:clamp(585px,37vw,735px)!important;
  }
}

/* =========================================================
   SELECTED EXPERIENCE AMOUNT COLOR FIX - FINAL
   Keeps US$ 120 in the same black tone as the section text.
   ========================================================= */
#experience .deal-amount,
#experience .deal-amount span{
  color:var(--text)!important;
}


/* =========================================================
   PARTNERS - FULL BLEED VKP-STYLE - DEFINITIVO
   Stage ocupa todo el ancho del viewport. Sin max-width.
   La foto crece edge-to-edge. La columna info se ancla derecha.
   Las thumbnails se mantienen flush con el borde derecho real.
   ESTE BLOQUE DEBE ESTAR EN TOP-LEVEL (no nested).
   ========================================================= */
@media (min-width:1101px){
#team{
    margin-top:-1px!important;
    background:var(--bg-team)!important;
    overflow:hidden!important;
  }

#team .team-stage{
    max-width:none!important;
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    grid-template-columns:minmax(0,1fr) clamp(440px,32vw,560px)!important;
    column-gap:0!important;
    height:min(940px,100vh)!important;
    min-height:780px!important;
  }

#team .team-photo-area{
    width:100%!important;
    min-height:780px!important;
  }

#team .team-info-area{
    min-height:780px!important;
    padding-left:clamp(3.25rem,4vw,5.5rem)!important;
    padding-right:clamp(3rem,5vw,7rem)!important;
  }

#team .team-thumbs{
    position:absolute!important;
    left:auto!important;
    right:0!important;
    bottom:clamp(6.55rem,7.4vh,7rem)!important;
    width:clamp(440px,30vw,560px)!important;
    height:clamp(195px,14vw,235px)!important;
    gap:clamp(1.35rem,1.7vw,1.75rem)!important;
    transform:none!important;
    z-index:45!important;
  }

#team .team-nav{
    position:absolute!important;
    left:auto!important;
    right:0!important;
    bottom:clamp(1.95rem,2.45vh,2.35rem)!important;
    width:clamp(440px,30vw,560px)!important;
    transform:none!important;
    z-index:50!important;
  }
}

@media (min-width:1700px){
#team .team-stage{
    grid-template-columns:minmax(0,1fr) 560px!important;
  }

#team .team-thumbs,
#team .team-nav{
    width:560px!important;
    right:0!important;
  }
}

/* =========================================================
   ABSOLUTE FINAL TEAM FIX - PHOTO DRAWERS + FACE FRAMING
   This block intentionally overrides all earlier Team blocks.
   Do not add more #team / .team-photo / .team-thumbs rules after this.
   ========================================================= */
@media (min-width:1101px){
#team{
    padding:0!important;
    margin-top:-1px!important;
    background:var(--bg-team)!important;
    overflow:hidden!important;
  }

#team .team-stage{
    position:relative!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) clamp(440px,32vw,560px)!important;
    column-gap:0!important;
    width:100%!important;
    max-width:none!important;
    height:min(940px,100vh)!important;
    min-height:780px!important;
    margin:0!important;
    overflow:hidden!important;
    background:var(--bg-team)!important;
  }

#team .team-photo-area{
    grid-column:1!important;
    grid-row:1!important;
    position:relative!important;
    width:100%!important;
    height:100%!important;
    min-height:780px!important;
    overflow:hidden!important;
    background:#D7DBE1!important;
    z-index:1!important;
  }

#team .team-info-area{
    grid-column:2!important;
    grid-row:1!important;
    position:relative!important;
    z-index:20!important;
    min-height:780px!important;
    padding:
      clamp(5rem,7vh,6.6rem)
      clamp(3rem,5vw,7rem)
      15rem
      clamp(3.25rem,4vw,5.5rem)!important;
    background:var(--bg-team)!important;
  }

#team .team-info-area > .section-label{
    transform:none!important;
    margin:0 0 clamp(2.15rem,3vh,2.85rem)!important;
  }

#team .team-card{
    position:relative!important;
    z-index:25!important;
    max-width:500px!important;
    visibility:visible!important;
  }

#team .team-card.active{
    display:flex!important;
    opacity:1!important;
    visibility:visible!important;
  }

#team .team-photo{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    padding:0!important;
    overflow:hidden!important;
    opacity:0!important;
    transform:none!important;
    background-color:#D7DBE1!important;
    background-repeat:no-repeat!important;
    background-size:cover, cover!important;
    transition:opacity .55s ease!important;
  }

#team .team-photo.active{
    opacity:1!important;
    transform:none!important;
  }

/* Main image is rendered as a background so old object-position rules cannot fight the crop. */
#team .team-photo-img{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }

#team .team-photo[data-i="0"]{
    background-image:
      linear-gradient(145deg,rgba(255,255,255,.08),rgba(0,5,14,.10)),
      url("assets/leadership/44484564.jpg")!important;
    background-position:center center, center 22%!important;
    filter:saturate(.86) contrast(1.04) brightness(.96)!important;
  }

#team .team-photo[data-i="1"]{
    background-image:
      linear-gradient(145deg,rgba(255,255,255,.08),rgba(0,5,14,.08)),
      url("assets/leadership/43304202.jpg")!important;
    background-position:center center, center 0%!important;
    filter:saturate(.92) contrast(1.03) brightness(1)!important;
  }

#team .team-thumbs{
    position:absolute!important;
    left:auto!important;
    right:0!important;
    bottom:clamp(6.55rem,7.4vh,7rem)!important;
    z-index:45!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:clamp(1.35rem,1.65vw,1.75rem)!important;
    width:clamp(545px,38.5vw,710px)!important;
    height:clamp(205px,14.2vw,235px)!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    pointer-events:none!important;
    background:transparent!important;
  }

#team .team-thumb{
    position:relative!important;
    display:flex!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    overflow:hidden!important;
    padding:0!important;
    border:0!important;
    background:#D7DBE1!important;
    cursor:default!important;
    filter:brightness(.9)!important;
    pointer-events:none!important;
    transform:none!important;
    box-shadow:none!important;
  }

#team .team-thumb.active{
    display:none!important;
  }

#team .team-thumb-img{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center top!important;
  }

#team .team-thumb[data-i="0"] .team-thumb-img{
    object-position:45% top!important;
    filter:saturate(.82) contrast(1.05) brightness(.94)!important;
  }

#team .team-thumb[data-i="1"] .team-thumb-img{
    object-position:center top!important;
    filter:saturate(.9) contrast(1.03) brightness(1)!important;
  }

#team .team-thumb.has-img .team-thumb-initials,
#team .team-photo.has-img .team-photo-initials{
    display:none!important;
  }

#team .team-nav{
    position:absolute!important;
    left:auto!important;
    right:0!important;
    bottom:clamp(1.95rem,2.45vh,2.35rem)!important;
    z-index:50!important;
    width:clamp(545px,38.5vw,710px)!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:2.05rem!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
  }

#team .team-dot{
    display:none!important;
  }

#team .team-arrow{
    appearance:none!important;
    -webkit-appearance:none!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:42px!important;
    height:42px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:var(--text)!important;
    cursor:pointer!important;
    opacity:1!important;
    transition:color .18s ease, transform .24s var(--ease)!important;
  }

#team .team-arrow svg{
    display:block!important;
    width:30px!important;
    height:30px!important;
    pointer-events:none!important;
  }

#team .team-arrow:hover,
#team .team-arrow:focus-visible{
    color:var(--navy)!important;
    outline:none!important;
  }

#team .team-arrow-prev:hover,
#team .team-arrow-prev:focus-visible{
    transform:translateX(-4px)!important;
  }

#team .team-arrow-next:hover,
#team .team-arrow-next:focus-visible{
    transform:translateX(4px)!important;
  }
}

@media (min-width:1700px){
#team .team-stage{
    grid-template-columns:minmax(0,1fr) 560px!important;
  }

#team .team-thumbs,
#team .team-nav{
    right:0!important;
    width:clamp(585px,37vw,735px)!important;
  }
}

@media (max-width:1100px){
#team .team-stage{
    position:relative!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    height:auto!important;
    min-height:auto!important;
    padding-bottom:225px!important;
    overflow:hidden!important;
  }

#team .team-photo-area{
    grid-column:1!important;
    grid-row:1!important;
    position:relative!important;
    height:42vh!important;
    min-height:360px!important;
    overflow:hidden!important;
  }

#team .team-info-area{
    grid-column:1!important;
    grid-row:2!important;
    position:relative!important;
    z-index:20!important;
    min-height:auto!important;
    padding:3.5rem 2rem 3rem!important;
    background:var(--bg-team)!important;
  }

#team .team-photo{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    padding:0!important;
    background-color:#D7DBE1!important;
    background-repeat:no-repeat!important;
    background-size:cover, cover!important;
  }

#team .team-photo-img{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }

#team .team-photo[data-i="0"]{
    background-image:
      linear-gradient(145deg,rgba(255,255,255,.08),rgba(0,5,14,.10)),
      url("assets/leadership/44484564.jpg")!important;
    background-position:center center, center 22%!important;
  }

#team .team-photo[data-i="1"]{
    background-image:
      linear-gradient(145deg,rgba(255,255,255,.08),rgba(0,5,14,.08)),
      url("assets/leadership/43304202.jpg")!important;
    background-position:center center, center 0%!important;
  }

#team .team-thumbs{
    position:absolute!important;
    left:1.25rem!important;
    right:1.25rem!important;
    bottom:5.25rem!important;
    width:auto!important;
    height:160px!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:.85rem!important;
    transform:none!important;
    pointer-events:none!important;
  }

#team .team-nav{
    position:absolute!important;
    left:50%!important;
    right:auto!important;
    bottom:1.15rem!important;
    width:auto!important;
    transform:translateX(-50%)!important;
    display:flex!important;
    justify-content:center!important;
    gap:1.5rem!important;
  }
}

@media (max-width:640px){
#team .team-stage{
    padding-bottom:195px!important;
  }

#team .team-photo-area{
    height:390px!important;
    min-height:390px!important;
  }

#team .team-info-area{
    padding:3.25rem 1.25rem 3rem!important;
  }

#team .team-thumbs{
    left:1.25rem!important;
    right:1.25rem!important;
    bottom:5rem!important;
    height:132px!important;
    gap:.7rem!important;
  }

#team .team-nav{
    bottom:1.05rem!important;
  }

#team .team-arrow{
    width:38px!important;
    height:38px!important;
  }

#team .team-arrow svg{
    width:28px!important;
    height:28px!important;
  }
}

/* =========================================================
   MOBILE PARTNERS + EMAIL MODAL HARD FIX - FINAL ABSOLUTE
   Fixes mobile arrows overlapping Send Email and stabilizes
   the email modal on phones. Keep this as the last CSS block.
   ========================================================= */
@media (max-width:640px){
/* PARTNERS: make the mobile section a real vertical flow. */
#team,
#team .team-stage{
    overflow:visible!important;
  }

#team .team-stage{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto auto auto auto!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    padding-bottom:0!important;
  }

#team .team-photo-area{
    grid-column:1!important;
    grid-row:1!important;
    height:390px!important;
    min-height:390px!important;
  }

#team .team-info-area{
    grid-column:1!important;
    grid-row:2!important;
    min-height:0!important;
    padding:3.25rem 1.25rem 2.25rem!important;
  }

#team .team-info-area > .section-label{
    margin-bottom:1.75rem!important;
  }

#team .team-card.active{
    display:flex!important;
    opacity:1!important;
    visibility:visible!important;
  }

#team .team-thumbs{
    grid-column:1!important;
    grid-row:3!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    width:auto!important;
    height:132px!important;
    margin:0 1.25rem 1.35rem!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:.7rem!important;
    transform:none!important;
    z-index:10!important;
    pointer-events:none!important;
  }

#team .team-thumb{
    pointer-events:none!important;
    cursor:default!important;
  }

#team .team-nav{
    grid-column:1!important;
    grid-row:4!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    width:100%!important;
    height:auto!important;
    margin:0 0 1.35rem!important;
    padding:0!important;
    transform:none!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:2rem!important;
    z-index:30!important;
    pointer-events:auto!important;
  }

#team .team-arrow{
    width:44px!important;
    height:44px!important;
    color:var(--text)!important;
    opacity:1!important;
    pointer-events:auto!important;
  }

#team .team-arrow svg{
    width:30px!important;
    height:30px!important;
  }

#team .team-bottom{
    grid-column:1!important;
    grid-row:5!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    width:100%!important;
    z-index:20!important;
  }

#team .team-email-btn{
    width:100%!important;
    height:4.75rem!important;
    padding:0 1.25rem!important;
  }

}

/* =========================================================
   MENU BACKGROUND + MOBILE LANGUAGE MENU FINAL FIX
   Keep this as the absolute last CSS block.
   ========================================================= */
:root{
  --menu-overlay-bg:#11151C;
}

/* MENU: unify the full overlay and the menu panel tone. */


/* MOBILE LANGUAGE MENU: open downward from the mobile header. */


/* =========================================================
   SIDEBAR LOGO LANGUAGE SWITCH - FINAL PRODUCTION
   ES uses the existing default logo.
   EN and ZH use transparent cropped SVGs.
   This must stay after all previous .sb-logo / .sb-logo-img rules.
   ========================================================= */


/* Spanish / fallback */


/* English */


/* Chinese */


/* Keep sidebar logo static. No hover movement. */


/* =========================================================
   TEAM PHOTO PROPORTION PATCH - FINAL
   Main portraits keep a consistent head/torso ratio.
   The JS crop map below mirrors these values because the
   large portraits are rendered as background images.
   ========================================================= */
@media (min-width:1101px){
#team .team-photo[data-i="0"]{
    background-position:center center, 48% 16%!important;
  }

#team .team-photo[data-i="1"]{
    background-position:center center, 50% 0%!important;
  }

#team .team-thumb[data-i="0"] .team-thumb-img{
    object-position:46% 18%!important;
  }

#team .team-thumb[data-i="1"] .team-thumb-img{
    object-position:50% 8%!important;
  }
}

@media (max-width:1100px){
#team .team-photo[data-i="0"]{
    background-position:center center, 48% 12%!important;
  }

#team .team-photo[data-i="1"]{
    background-position:center center, 50% 0%!important;
  }
}

/* =========================================================
   SIDEBAR LOGO REAL FINAL OVERRIDE
   Must stay as the LAST sidebar logo block.
   ========================================================= */


/* Spanish / fallback */


/* English */


/* Chinese */


/* Keep inactive logos hidden */


/* Static logo, no hover jump */


/* Tablet */


/* Mobile */


/* Main large Joe photo */
#team .team-photo[data-i="1"] .team-photo-img{
  top:-40px!important;
  bottom:-40px!important;
  height:calc(100% + 80px)!important;
  object-position:center top!important;
  transform:translateY(28px)!important;
  filter:saturate(.9) contrast(1.03) brightness(1)!important;
}

/* Joe thumbnail */
#team .team-thumb[data-i="1"] .team-thumb-img{
  top:-30px!important;
  bottom:-30px!important;
  height:calc(100% + 60px)!important;
  object-position:center top!important;
  transform:translateY(18px)!important;
  filter:saturate(.9) contrast(1.03) brightness(1)!important;
}

/* =========================================================
   HERO CREDENTIALS COPY HIERARCHY - FINAL
   Reconocidos por la excelencia + first-year ranking line.
   Keep this block at the absolute end of the CSS.
   ========================================================= */
.hero-credentials-title{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0 0 1.15rem!important;
  padding:0 0 0 1rem!important;
  font-family:var(--fd)!important;
  color:rgba(255,255,255,.96)!important;
  text-shadow:0 8px 26px rgba(0,5,14,.78)!important;
  opacity:1!important;
  transform:none!important;
  animation:none!important;
}

.hero-credentials-title::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:.08em!important;
  bottom:.08em!important;
  width:2px!important;
  background:var(--gold)!important;
  opacity:.92!important;
}

.hero-credentials-title::after{
  display:none!important;
  content:none!important;
}

.hero-credentials-main,
.hero-credentials-sub{
  display:none!important;
}

.hero-credentials-main{
  font-family:var(--fd)!important;
  font-size:clamp(1.28rem,1.62vw,1.72rem)!important;
  font-weight:700!important;
  line-height:1.04!important;
  letter-spacing:-.018em!important;
  color:rgba(255,255,255,.96)!important;
}

.hero-credentials-sub{
  margin-top:.42rem!important;
  font-family:var(--fd)!important;
  font-style:italic!important;
  font-size:clamp(.9rem,1.05vw,1.08rem)!important;
  font-weight:500!important;
  line-height:1.18!important;
  letter-spacing:-.006em!important;
  color:rgba(255,255,255,.72)!important;
}

html[lang="es"] .hero-credentials-main[data-i18n="es"],
html[lang="en"] .hero-credentials-main[data-i18n="en"],
html[lang="zh"] .hero-credentials-main[data-i18n="zh"],
html[lang="es"] .hero-credentials-sub[data-i18n="es"],
html[lang="en"] .hero-credentials-sub[data-i18n="en"],
html[lang="zh"] .hero-credentials-sub[data-i18n="zh"]{
  display:block!important;
}

@media (max-width:640px){
.hero-credentials-title{
    margin-bottom:1rem!important;
  }

.hero-credentials-main{
    font-size:1.18rem!important;
  }

.hero-credentials-sub{
    font-size:.92rem!important;
  }
}

/* =========================================================
   HERO RANKING LINKS + COPY FINAL PATCH
   Verifiable source links, corrected years and sober link affordance.
   ========================================================= */
.hero-credentials-title{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0 0 1.15rem!important;
  padding:0 0 0 1rem!important;
}

.hero-credentials-title::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:.08em!important;
  bottom:.08em!important;
  width:2px!important;
  background:var(--gold)!important;
  opacity:.92!important;
}

.hero-credentials-title::after{
  display:none!important;
}

.hero-credentials-main{
  display:none!important;
  font-family:var(--fd)!important;
  font-size:clamp(1.28rem,1.62vw,1.72rem)!important;
  font-weight:700!important;
  line-height:1.04!important;
  letter-spacing:-.018em!important;
  color:rgba(255,255,255,.96)!important;
  text-shadow:0 8px 26px rgba(0,5,14,.78)!important;
}

.hero-credentials-sub{
  display:none!important;
  margin-top:.42rem!important;
  max-width:360px!important;
  font-family:var(--fd)!important;
  font-style:italic!important;
  font-size:clamp(.9rem,1.05vw,1.08rem)!important;
  font-weight:500!important;
  line-height:1.18!important;
  letter-spacing:-.006em!important;
  color:rgba(255,255,255,.72)!important;
  text-shadow:0 8px 24px rgba(0,5,14,.74)!important;
}

html[lang="es"] .hero-credentials-main[data-i18n="es"],
html[lang="en"] .hero-credentials-main[data-i18n="en"],
html[lang="zh"] .hero-credentials-main[data-i18n="zh"]{
  display:block!important;
}

html[lang="es"] .hero-credentials-sub[data-i18n="es"],
html[lang="en"] .hero-credentials-sub[data-i18n="en"],
html[lang="zh"] .hero-credentials-sub[data-i18n="zh"]{
  display:block!important;
}

.hero-badges a.hero-badge{
  color:var(--text)!important;
  text-decoration:none!important;
  cursor:pointer!important;
}

.hero-badges a.hero-badge:hover,
.hero-badges a.hero-badge:focus-visible{
  transform:translateY(-2px)!important;
  outline:none!important;
}

.hero-badges a.hero-badge:focus-visible{
  box-shadow:
    0 22px 52px rgba(0,5,14,.40),
    inset 0 0 0 1px rgba(6,41,108,.09),
    0 0 0 2px rgba(200,164,93,.65)!important;
}

@media (max-width:640px){
.hero-credentials-title{
    margin-bottom:1rem!important;
  }

.hero-credentials-main{
    font-size:1.18rem!important;
  }

.hero-credentials-sub{
    max-width:100%!important;
    font-size:.92rem!important;
  }
}

/* =========================================================
   MOBILE HERO FINAL FIX
   Clean mobile composition: logo + credentials + rankings
   Keep this as the LAST hero/mobile block.
   ========================================================= */
@media (max-width:640px){
#hero{
    min-height:calc(100svh - 72px)!important;
    height:auto!important;
    padding:clamp(2.25rem,7vh,4rem) 1.25rem 2.25rem!important;
    display:flex!important;
    align-items:flex-end!important;
    justify-content:flex-end!important;
    overflow:hidden!important;
  }

.hero-video{
    object-position:58% center!important;
    transform:scale(1.04)!important;
  }

.hero-video-overlay{
    background:
      linear-gradient(
        180deg,
        rgba(0,5,14,.18) 0%,
        rgba(0,5,14,.38) 42%,
        rgba(0,5,14,.88) 100%
      ),
      linear-gradient(
        90deg,
        rgba(0,5,14,.68) 0%,
        rgba(0,5,14,.36) 52%,
        rgba(0,5,14,.30) 100%
      )!important;
  }

#hero::before{
    opacity:.26!important;
    background-size:24px 24px!important;
  }

#hero::after{
    display:none!important;
  }

.hero-body{
    width:100%!important;
    max-width:none!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-end!important;
    align-items:flex-start!important;
    gap:1.45rem!important;
    padding:0!important;
    margin:0!important;
  }

.hero-brand-block{
    width:100%!important;
    padding:0!important;
    margin:0!important;
    align-self:flex-start!important;
    justify-self:start!important;
  }

.hero-logo-lockup{
    display:inline-flex!important;
    margin:0!important;
    padding:0!important;
  }

.hero-logo-img{
    width:clamp(215px,64vw,310px)!important;
    max-width:86vw!important;
    height:auto!important;
    filter:drop-shadow(0 18px 38px rgba(0,5,14,.58))!important;
  }

.hero-credentials{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    align-self:stretch!important;
    justify-self:start!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }

.hero-credentials-title{
    width:100%!important;
    max-width:100%!important;
    margin:0 0 .95rem!important;
    padding:0 0 0 .78rem!important;
  }

.hero-credentials-title::before{
    width:2px!important;
    top:.08em!important;
    bottom:.08em!important;
  }

.hero-credentials-main{
    font-size:clamp(1.08rem,5vw,1.34rem)!important;
    line-height:1.04!important;
    letter-spacing:-.018em!important;
  }

.hero-credentials-sub{
    max-width:92%!important;
    margin-top:.38rem!important;
    font-size:clamp(.78rem,3.55vw,.94rem)!important;
    line-height:1.22!important;
  }

.hero-badges{
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:.72rem!important;
    justify-content:stretch!important;
    align-items:stretch!important;
  }

.hero-badge{
    min-width:0!important;
    height:124px!important;
    padding:.92rem!important;
    box-shadow:
      0 14px 34px rgba(0,5,14,.34),
      inset 0 0 0 1px rgba(6,41,108,.08)!important;
  }

.hero-badge::before{
    left:.92rem!important;
    right:.92rem!important;
    top:.78rem!important;
    height:2px!important;
  }

.hero-badge-source{
    margin-top:.42rem!important;
    font-size:.5rem!important;
    letter-spacing:.13em!important;
    line-height:1.25!important;
  }

.hero-badge-rank{
    font-size:.78rem!important;
    line-height:1.12!important;
  }

.hero-badge-year{
    font-size:1.05rem!important;
    line-height:1!important;
  }
}

/* Extra-small phones */
@media (max-width:390px){
#hero{
    padding:2rem 1rem 1.75rem!important;
  }

.hero-logo-img{
    width:clamp(190px,62vw,255px)!important;
  }

.hero-body{
    gap:1.2rem!important;
  }

.hero-credentials-main{
    font-size:1.05rem!important;
  }

.hero-credentials-sub{
    font-size:.76rem!important;
    max-width:100%!important;
  }

.hero-badges{
    gap:.58rem!important;
  }

.hero-badge{
    height:112px!important;
    padding:.78rem!important;
  }

.hero-badge-source{
    font-size:.46rem!important;
    letter-spacing:.11em!important;
  }

.hero-badge-rank{
    font-size:.72rem!important;
  }

.hero-badge-year{
    font-size:.98rem!important;
  }
}

/* =========================================================
   TWO-PARTNER TEAM FIX - FINAL
   With only two partners, the active thumbnail is hidden and
   the remaining preview occupies one clean slot.
   ========================================================= */
@media (min-width:1101px){
#team .team-thumbs{
    grid-template-columns:1fr!important;
    width:clamp(260px,18vw,340px)!important;
    right:0!important;
  }

#team .team-nav{
    width:clamp(260px,18vw,340px)!important;
    right:0!important;
  }
}

@media (max-width:1100px){
#team .team-thumbs{
    grid-template-columns:1fr!important;
  }
}

/* =========================================================
   TWO-PARTNER TEAM CORRECTION - CLEAN FINAL
   The remaining preview must render the other partner's image,
   not the gray placeholder.
   ========================================================= */
#team .team-thumb[data-i="0"] .team-thumb-img,
#team .team-thumb[data-i="1"] .team-thumb-img{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
}

#team .team-thumb.has-img .team-thumb-initials{
  display:none!important;
}

@media (min-width:1101px){
#team .team-thumbs{
    grid-template-columns:1fr!important;
    width:clamp(300px,22vw,380px)!important;
    right:0!important;
  }

#team .team-nav{
    width:clamp(300px,22vw,380px)!important;
    right:0!important;
  }
}

@media (max-width:1100px){
#team .team-thumbs{
    grid-template-columns:1fr!important;
  }
}

/* =========================================================
   JOE THUMBNAIL CENTERING - FINAL
   Optical crop for the remaining partner preview after partner removal.
   Keep separate from the main Joe portrait crop.
   ========================================================= */
#team .team-thumb[data-i="1"] .team-thumb-img{
  object-position:58% 32%!important;
}

#team .team-photo[data-i="1"] .team-photo-img{
  object-position:center top!important;
}

/* =========================================================
   TWO-PARTNER THUMBNAIL BOX POSITION - FINAL V4
   Moves the remaining preview box itself, not only the image crop.
   Keeps the arrows centered under the box.
   ========================================================= */
@media (min-width:1101px){
#team .team-thumbs{
    grid-template-columns:1fr!important;
    width:clamp(320px,23vw,390px)!important;
    right:clamp(4.25rem,5.8vw,6.25rem)!important;
  }

#team .team-nav{
    width:clamp(320px,23vw,390px)!important;
    right:clamp(4.25rem,5.8vw,6.25rem)!important;
  }

#team .team-thumb[data-i="1"] .team-thumb-img{
    object-position:56% 32%!important;
  }
}

@media (min-width:1700px){
#team .team-thumbs,
#team .team-nav{
    right:clamp(5rem,5vw,6.5rem)!important;
  }
}

@media (max-width:1100px){
#team .team-thumbs,
#team .team-nav{
    right:1.25rem!important;
    left:1.25rem!important;
    width:auto!important;
  }
}

/* =========================================================
   JOE THUMBNAIL HEADROOM FIX - FINAL V5
   Keeps the thumbnail box position from V4, but restores vertical
   headroom so Joe's forehead/hair is not clipped.
   ========================================================= */
@media (min-width:1101px){
#team .team-thumb[data-i="1"] .team-thumb-img{
    top:-40px!important;
    bottom:-40px!important;
    height:calc(100% + 80px)!important;
    object-position:56% 0%!important;
    transform:translateY(28px)!important;
  }
}

@media (max-width:1100px){
#team .team-thumb[data-i="1"] .team-thumb-img{
    object-position:56% 0%!important;
  }
}

/* =========================================================
   ALFREDO THUMBNAIL CENTERING - FINAL
   Recenters Alfredo preview thumbnail when Joe is active.
   ========================================================= */
@media (min-width:1101px){
#team .team-thumb[data-i="0"] .team-thumb-img{
    object-position:52% 18%!important;
  }
}

/* =========================================================
   TEAM THUMBNAIL FULL-WIDTH RIGHT COLUMN FIX - FINAL
   Joe thumbnail touches Alfredo main photo and the right edge.
   Keep this as the last CSS block.
   ========================================================= */
@media (min-width:1101px){
#team .team-stage{
    grid-template-columns:minmax(0,1fr) clamp(440px,32vw,560px)!important;
    column-gap:0!important;
  }

#team .team-info-area{
    grid-column:2!important;
  }

#team .team-photo-area{
    grid-column:1!important;
  }

#team .team-thumbs{
    grid-template-columns:1fr!important;
    left:auto!important;
    right:0!important;
    width:clamp(440px,32vw,560px)!important;
    height:clamp(205px,14.2vw,235px)!important;
    margin:0!important;
    transform:none!important;
  }

#team .team-nav{
    left:auto!important;
    right:0!important;
    width:clamp(440px,32vw,560px)!important;
    margin:0!important;
    transform:none!important;
  }

#team .team-thumb{
    width:100%!important;
  }

#team .team-thumb[data-i="1"] .team-thumb-img{
    top:-40px!important;
    bottom:-40px!important;
    height:calc(100% + 80px)!important;
    object-position:56% 0%!important;
    transform:translateY(28px)!important;
  }

#team .team-thumb[data-i="0"] .team-thumb-img{
    object-position:52% 18%!important;
  }
}

@media (min-width:1700px){
#team .team-stage{
    grid-template-columns:minmax(0,1fr) 560px!important;
  }

#team .team-thumbs,
#team .team-nav{
    right:0!important;
    width:560px!important;
  }
}

/* =========================================================
   TEAM THUMBNAIL HEIGHT REBALANCE - FINAL
   Makes Joe preview taller while keeping it flush with the
   large portrait and the right edge.
   ========================================================= */
@media (min-width:1101px){
#team .team-thumbs{
    height:clamp(260px,18.2vw,305px)!important;
    bottom:clamp(6.2rem,7vh,6.8rem)!important;
  }

#team .team-nav{
    bottom:clamp(1.75rem,2.25vh,2.15rem)!important;
  }

#team .team-thumb-img{
    top:0!important;
    bottom:auto!important;
    height:100%!important;
    transform:none!important;
    object-fit:cover!important;
  }

#team .team-thumb[data-i="1"] .team-thumb-img{
    object-position:56% 0%!important;
  }
}

@media (min-width:1700px){
#team .team-thumbs{
    height:305px!important;
  }
}

/* =========================================================
   TEAM THUMBNAIL OVERLAP FIX - FINAL
   Joe preview slightly overlaps the main portrait for a more editorial layout.
   Keep this as the last CSS block.
   ========================================================= */
@media (min-width:1101px){
#team .team-thumbs{
    right:0!important;
    width:clamp(470px,34vw,620px)!important;
    height:clamp(245px,18vw,300px)!important;
    transform:translateX(-34px)!important;
    z-index:55!important;
  }

#team .team-nav{
    right:0!important;
    width:clamp(470px,34vw,620px)!important;
    transform:translateX(-34px)!important;
    z-index:60!important;
  }

#team .team-thumb{
    box-shadow:0 18px 42px rgba(0,5,14,.14)!important;
  }
}

@media (min-width:1700px){
#team .team-thumbs,
#team .team-nav{
    transform:translateX(-40px)!important;
  }
}

/* =========================================================
   TEAM THUMBNAIL OVERLAP + RIGHT EDGE FIX - FINAL ABSOLUTE
   Joe preview overlaps Alfredo main photo and remains flush
   with the right edge. Keep this as the last CSS block.
   ========================================================= */
@media (min-width:1101px){
#team .team-thumbs{
    right:-42px!important;
    width:calc(clamp(470px,34vw,620px) + 42px)!important;
    height:clamp(245px,18vw,300px)!important;
    transform:translateX(-42px)!important;
    z-index:55!important;
  }

#team .team-nav{
    right:-42px!important;
    width:calc(clamp(470px,34vw,620px) + 42px)!important;
    transform:translateX(-42px)!important;
    z-index:60!important;
  }

#team .team-thumb{
    width:100%!important;
    box-shadow:0 18px 42px rgba(0,5,14,.14)!important;
  }

#team .team-thumb-img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }

#team .team-thumb[data-i="1"] .team-thumb-img{
    object-position:55% 0%!important;
  }

#team .team-thumb[data-i="0"] .team-thumb-img{
    object-position:52% 18%!important;
  }
}

@media (min-width:1700px){
#team .team-thumbs,
#team .team-nav{
    right:-46px!important;
    width:calc(620px + 46px)!important;
    transform:translateX(-46px)!important;
  }
}

/* =========================================================
   TEAM THUMBNAIL CROP CENTERING - FINAL ABSOLUTE
   Centers Alfredo and Joe inside the preview thumbnail rail.
   Keep this as the last CSS block.
   ========================================================= */
@media (min-width:1101px){
#team .team-thumb-img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }

/* Alfredo thumbnail: keep face centered, not drifting down/right. */
#team .team-thumb[data-i="0"] .team-thumb-img{
    object-position:48% 22%!important;
  }

/* Joe thumbnail: reduce excess wood/side bias and center the face. */
#team .team-thumb[data-i="1"] .team-thumb-img{
    object-position:54% 34%!important;
  }

/* When the image becomes the large portrait, keep the existing large crop logic untouched. */
#team .team-photo[data-i="0"] .team-photo-img,
#team .team-photo[data-i="1"] .team-photo-img{
    object-position:center center!important;
  }
}

@media (max-width:1100px){
#team .team-thumb[data-i="0"] .team-thumb-img{
    object-position:48% 20%!important;
  }

#team .team-thumb[data-i="1"] .team-thumb-img{
    object-position:54% 32%!important;
  }
}

/* =========================================================
   TEAM THUMBNAIL IMAGE SOURCE FIX - FINAL
   Thumbnails now use dedicated horizontal crop files.
   Required files:
   - assets/leadership/44484564.jpg
   - assets/leadership/43304202.jpg
   Keep this as the last CSS block.
   ========================================================= */
#team .team-thumb-img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  filter:none!important;
}

#team .team-thumb[data-i="0"] .team-thumb-img,
#team .team-thumb[data-i="1"] .team-thumb-img{
  object-position:center center!important;
  transform:none!important;
}

@media (min-width:1101px){
#team .team-thumbs{
    right:0!important;
    width:calc(clamp(470px,34vw,620px) + 42px)!important;
    height:clamp(245px,18vw,300px)!important;
    transform:translateX(-42px)!important;
    z-index:55!important;
  }

#team .team-nav{
    right:0!important;
    width:calc(clamp(470px,34vw,620px) + 42px)!important;
    transform:translateX(-42px)!important;
    z-index:60!important;
  }

#team .team-thumb{
    width:100%!important;
    box-shadow:0 18px 42px rgba(0,5,14,.14)!important;
  }
}

@media (min-width:1700px){
#team .team-thumbs,
#team .team-nav{
    width:calc(620px + 46px)!important;
    transform:translateX(-46px)!important;
  }
}

/* =========================================================
   TEAM THUMBNAIL FLUSH RIGHT + OVERLAP FIX - FINAL
   Miniature touches the right edge while still overlapping main photo.
   Keep this as the last CSS block.
   ========================================================= */
@media (min-width:1101px){
#team .team-thumbs{
    position:absolute!important;
    left:auto!important;
    right:0!important;
    bottom:clamp(6.55rem,7.4vh,7rem)!important;

    width:calc(clamp(500px,36vw,660px) + 48px)!important;
    height:clamp(245px,18vw,300px)!important;

    transform:translateX(-48px)!important;
    margin:0!important;
    z-index:55!important;
  }

#team .team-nav{
    position:absolute!important;
    left:auto!important;
    right:0!important;
    bottom:clamp(1.95rem,2.45vh,2.35rem)!important;

    width:calc(clamp(500px,36vw,660px) + 48px)!important;

    transform:translateX(-48px)!important;
    margin:0!important;
    z-index:60!important;
  }

#team .team-thumb{
    width:100%!important;
    height:100%!important;
    box-shadow:0 18px 42px rgba(0,5,14,.14)!important;
  }

#team .team-thumb-img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
  }
}

@media (min-width:1700px){
#team .team-thumbs,
#team .team-nav{
    width:calc(680px + 52px)!important;
    transform:translateX(-52px)!important;
    right:0!important;
  }
}

/* =========================================================
   TEAM THUMBNAIL RIGHT-LOCK + SOFT OVERLAP FIX - FINAL
   Thumbnail stays flush right and only slightly overlaps main image.
   Keep this as the last CSS block.
   ========================================================= */
@media (min-width:1101px){
#team .team-thumbs{
    position:absolute!important;
    left:auto!important;
    right:0!important;
    bottom:clamp(6.55rem,7.4vh,7rem)!important;

    width:calc(clamp(500px,36vw,660px) + 22px)!important;
    height:clamp(245px,18vw,300px)!important;

    transform:none!important;
    margin:0!important;
    z-index:55!important;
  }

#team .team-nav{
    position:absolute!important;
    left:auto!important;
    right:0!important;
    bottom:clamp(1.95rem,2.45vh,2.35rem)!important;

    width:calc(clamp(500px,36vw,660px) + 22px)!important;

    transform:none!important;
    margin:0!important;
    z-index:60!important;
  }

#team .team-thumb{
    width:100%!important;
    height:100%!important;
    box-shadow:0 18px 42px rgba(0,5,14,.14)!important;
  }

#team .team-thumb-img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
  }
}

@media (min-width:1700px){
#team .team-thumbs,
#team .team-nav{
    right:0!important;
    width:calc(680px + 24px)!important;
    transform:none!important;
  }
}

/* =========================================================
   TEAM THUMBNAIL STABLE FADE - FINAL
   Corrige transición fuerte: el edificio NO se mueve.
   La imagen queda fija; solo cambia la opacidad.
   Debe ir al final absoluto del CSS.
   ========================================================= */
#team .team-thumbs{
  position:absolute!important;
  overflow:hidden!important;
  display:block!important;
}

/* Las miniaturas se superponen en el mismo slot.
   No hay reflow ni desplazamiento visual del edificio. */
#team .team-thumb{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  display:block!important;
  overflow:hidden!important;
  pointer-events:none!important;
  cursor:default!important;
  background:#D7DBE1!important;
  filter:none!important;
  transform:none!important;
  box-shadow:0 18px 42px rgba(0,5,14,.14)!important;
  opacity:1!important;
  visibility:visible!important;
  z-index:2!important;
  transition:
    opacity .48s ease,
    visibility .48s ease!important;
}

/* La miniatura del socio activo desaparece con fade.
   No usar display:none: eso produce el golpe visual. */
#team .team-thumb.active{
  display:block!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  z-index:1!important;
}

/* La miniatura visible aparece sin mover la imagen. */
#team .team-thumb:not(.active){
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  z-index:3!important;
}

/* CRÍTICO: el edificio queda fijo.
   Sin top, sin height calc, sin translate, sin scale, sin animation. */
#team .team-thumb-img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  transform:none!important;
  animation:none!important;
  transition:
    opacity .48s ease,
    filter .48s ease!important;
  will-change:opacity!important;
}

/* Alfredo: más cerca usando solo object-position fijo.
   Esto evita que el edificio se mueva durante el cambio. */
#team .team-thumb[data-i="0"] .team-thumb-img{
  object-position:50% 18%!important;
  filter:saturate(.86) contrast(1.04) brightness(.96)!important;
}

/* Joe: crop fijo compatible con Alfredo. */
#team .team-thumb[data-i="1"] .team-thumb-img{
  object-position:50% 8%!important;
  filter:saturate(.9) contrast(1.03) brightness(1)!important;
}

/* Cualquier animación heredada queda anulada. */
#team .team-thumb.active,
#team .team-thumb:not(.active),
#team .team-thumb.active .team-thumb-img,
#team .team-thumb:not(.active) .team-thumb-img{
  animation:none!important;
}

@media (max-width:1100px){
#team .team-thumb[data-i="0"] .team-thumb-img{
    object-position:50% 16%!important;
    transform:none!important;
  }

#team .team-thumb[data-i="1"] .team-thumb-img{
    object-position:50% 8%!important;
    transform:none!important;
  }
}

@media (max-width:640px){
#team .team-thumb[data-i="0"] .team-thumb-img{
    object-position:50% 15%!important;
  }

#team .team-thumb[data-i="1"] .team-thumb-img{
    object-position:50% 8%!important;
  }
}

/* =========================================================
   TEAM THUMBNAILS IDENTICAL CROP - FINAL ABSOLUTE
   Las imágenes thumb tienen la misma composición.
   Ambas usan exactamente el mismo encuadre.
   No se mueve el edificio. No hay zoom distinto. No hay translate.
   Keep this as the last CSS block.
   ========================================================= */
#team .team-thumbs{
  overflow:hidden!important;
}

/* Miniaturas superpuestas en un solo slot estable */
#team .team-thumb{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  display:block!important;
  overflow:hidden!important;
  pointer-events:none!important;
  cursor:default!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  filter:none!important;
  animation:none!important;
  transition:
    opacity .46s ease,
    visibility .46s ease!important;
}

/* La miniatura del socio activo se oculta con opacity, no con display:none */
#team .team-thumb.active{
  display:block!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:none!important;
  filter:none!important;
  animation:none!important;
}

/* La miniatura del otro socio queda visible */
#team .team-thumb:not(.active){
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  filter:none!important;
  animation:none!important;
}

/* Regla única para ambas imágenes: mismo crop exacto */
#team .team-thumb-img,
#team .team-thumb[data-i="0"] .team-thumb-img,
#team .team-thumb[data-i="1"] .team-thumb-img{
  position:absolute!important;
  inset:0!important;
  top:0!important;
  right:auto!important;
  bottom:auto!important;
  left:0!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  transform:none!important;
  scale:1!important;
  translate:none!important;
  rotate:none!important;
  animation:none!important;
  transition:
    opacity .46s ease,
    filter .46s ease!important;
  filter:saturate(.9) contrast(1.03) brightness(.98)!important;
  will-change:opacity!important;
}

/* Corta cualquier override anterior agresivo */
#team .team-thumb[data-i="0"] .team-thumb-img,
#team .team-thumb[data-i="1"] .team-thumb-img{
  object-position:center center!important;
  transform:none!important;
  scale:1!important;
  translate:none!important;
  rotate:none!important;
  top:0!important;
  height:100%!important;
}

/* Sin hover en previews */
#team .team-thumb:hover,
#team .team-thumb:focus-visible,
#team .team-thumb:hover .team-thumb-img,
#team .team-thumb:focus-visible .team-thumb-img{
  filter:none!important;
  transform:none!important;
  animation:none!important;
  outline:none!important;
}

/* =========================================================
   TEAM ARROWS CENTERED TO THUMBNAIL - FINAL
   Centra las flechas respecto al eje visual de la miniatura.
   Mantiene la miniatura pegada a la derecha.
   Debe quedarse al final absoluto del CSS.
   ========================================================= */
@media (min-width:1101px){
#team .team-thumbs{
    right:0!important;
    width:clamp(545px,38.5vw,710px)!important;
  }

#team .team-nav{
    right:0!important;
    width:clamp(545px,38.5vw,710px)!important;
    bottom:clamp(2.75rem,3.45vh,3.25rem)!important;
    justify-content:center!important;
    align-items:center!important;
    gap:2.35rem!important;
  }

#team .team-arrow{
    width:44px!important;
    height:44px!important;
  }

#team .team-arrow svg{
    width:29px!important;
    height:29px!important;
  }
}

@media (min-width:1700px){
#team .team-thumbs,
#team .team-nav{
    right:0!important;
    width:clamp(585px,37vw,735px)!important;
  }

#team .team-nav{
    bottom:clamp(2.75rem,3.45vh,3.25rem)!important;
  }
}

@media (max-width:1100px){
#team .team-nav{
    bottom:1.45rem!important;
    justify-content:center!important;
    gap:2rem!important;
  }
}

@media (max-width:640px){
#team .team-nav{
    bottom:1.25rem!important;
    gap:1.75rem!important;
  }
}

/* =========================================================
   MOBILE HERO RANKING BADGES FIX - FINAL
   Fixes IFLR / Leaders League boxes on phones.
   Keep this as the last CSS block.
   ========================================================= */
@media (max-width:640px){
#hero{
    min-height:auto!important;
    height:auto!important;
    padding:clamp(2rem,5vh,3rem) 1.25rem 2.5rem!important;
    overflow:hidden!important;
  }

.hero-body{
    width:100%!important;
    max-width:none!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:clamp(2rem,4vh,2.75rem)!important;
    align-items:end!important;
  }

.hero-brand-block{
    width:100%!important;
    padding-left:0!important;
    margin-bottom:0!important;
  }

.hero-logo-img{
    width:clamp(210px,64vw,315px)!important;
  }

.hero-credentials{
    width:100%!important;
    max-width:none!important;
    justify-self:stretch!important;
    margin-bottom:0!important;
    padding:0!important;
  }

.hero-credentials-title{
    width:100%!important;
    max-width:100%!important;
    margin:0 0 1rem!important;
    padding-left:.85rem!important;
  }

.hero-credentials-main,
.hero-credentials-title-main{
    font-size:clamp(1.05rem,5vw,1.22rem)!important;
    line-height:1.05!important;
  }

.hero-credentials-sub,
.hero-credentials-title-sub{
    max-width:100%!important;
    font-size:clamp(.78rem,3.7vw,.92rem)!important;
    line-height:1.25!important;
  }

.hero-badges{
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:.72rem!important;
    justify-content:stretch!important;
    align-items:stretch!important;
  }

.hero-badge{
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:132px!important;
    padding:.92rem .82rem!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:space-between!important;
    overflow:hidden!important;
  }

.hero-badge::before{
    left:.82rem!important;
    right:.82rem!important;
    top:.78rem!important;
  }

.hero-badge-source{
    margin-top:.42rem!important;
    font-size:.52rem!important;
    line-height:1.22!important;
    letter-spacing:.115em!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
  }

.hero-badge-rank{
    font-size:clamp(.78rem,3.55vw,.9rem)!important;
    line-height:1.08!important;
    letter-spacing:-.01em!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }

.hero-badge-year{
    font-size:1.18rem!important;
    line-height:1!important;
  }
}

@media (max-width:380px){
.hero-badges{
    grid-template-columns:1fr!important;
  }

.hero-badge{
    min-height:112px!important;
  }
}

/* =========================================================
   LANGUAGE DROPDOWN FULL NAMES - FINAL
   Shows English / Español / 中文 when the language menu opens.
   Keeps the compact EN / ES / 中文 label in the sidebar button.
   ========================================================= */


/* =========================================================
   LANGUAGE DROPDOWN FULL NAMES - CLEAN SIDEBAR FLYOUT
   Full language names appear in a lateral flyout instead of
   being squeezed inside the sidebar.
   Keep this as the last CSS block.
   ========================================================= */


/* =========================================================
   TEAM FINAL PATCH - STATIC SWITCH + STABLE BACKGROUND
   No crossfade, no scale, no filter animation.
   Large portrait background remains fixed in its original cover crop.
   Keep this block at the absolute end of the CSS.
   ========================================================= */
#team .team-photo,
#team .team-photo.active,
#team .team-photo-img,
#team .team-thumb,
#team .team-thumb-img,
#team .team-thumbs{
  transition:none!important;
  animation:none!important;
}

#team .team-photo{
  transform:none!important;
  opacity:0!important;
  background-size:cover, cover!important;
  will-change:auto!important;
}

#team .team-photo.active{
  opacity:1!important;
  transform:none!important;
}

#team .team-stage.team-switching .team-photo.active{
  filter:inherit!important;
}

#team .team-thumbs.thumb-switching .team-thumb:not(.active){
  opacity:1!important;
  filter:brightness(.9)!important;
}

/* Keep both large portraits on the same stable background behavior. */
#team .team-photo[data-i="0"]{
  background-size:cover, cover!important;
  background-position:center center, 48% 16%!important;
}

#team .team-photo[data-i="1"]{
  background-size:cover, cover!important;
  background-position:center center, 50% 0%!important;
}

/* Thumbnails stay simple; no entrance fade or scaling. */
#team .team-thumb[data-i="0"] .team-thumb-img{
  object-position:46% 18%!important;
  transform:none!important;
}

#team .team-thumb[data-i="1"] .team-thumb-img{
  object-position:50% 8%!important;
  transform:none!important;
}

#team .team-nav{
  align-items:center!important;
  justify-content:center!important;
}

/* =========================================================
   TEAM PHOTO TRUE STATIC FINAL FIX
   No animation. No crop drift. Joe no longer uses the negative
   vertical background offset that made the building jump.
   Keep this as the last CSS block.
   ========================================================= */
#team .team-photo,
#team .team-photo.active,
#team .team-photo-img,
#team .team-thumb,
#team .team-thumb-img,
#team .team-thumbs{
  transition:none!important;
  animation:none!important;
  transform:none!important;
}

#team .team-photo{
  opacity:0!important;
  will-change:auto!important;
}

#team .team-photo.active{
  opacity:1!important;
}

#team .team-stage.team-switching .team-photo.active,
#team .team-thumbs.thumb-switching .team-thumb:not(.active){
  filter:inherit!important;
}

#team .team-photo[data-i="0"]{
  background-size:cover, cover!important;
  background-position:center center, 48% 16%!important;
  background-repeat:no-repeat, no-repeat!important;
}

#team .team-photo[data-i="1"]{
  background-size:cover, cover!important;
  background-position:center center, 50% 0%!important;
  background-repeat:no-repeat, no-repeat!important;
}

#team .team-photo[data-i="2"]{
  background-size:cover, cover!important;
  background-position:center center, 50% 0%!important;
  background-repeat:no-repeat, no-repeat!important;
}

#team .team-thumb[data-i="0"] .team-thumb-img{
  object-position:46% 18%!important;
  transform:none!important;
}

#team .team-thumb[data-i="1"] .team-thumb-img{
  object-position:50% 8%!important;
  transform:none!important;
}

/* =========================================================
   TEAM PHOTO FINAL CORRECTION - JOE / ALFREDO
   Keep this block at the absolute end of the CSS.
   Purpose:
   - No photo transition animation.
   - Stable large-photo background.
   - Joe slightly stronger in presence without aggressive crop drift.
   - Alfredo thumbnail lighter and cleaner.
   ========================================================= */
#team .team-photo,
#team .team-photo.active,
#team .team-photo-img,
#team .team-thumb,
#team .team-thumb-img{
  transition:none!important;
  animation:none!important;
  transform:none!important;
}

#team .team-photo-img,
#team .team-thumb-img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}

/* Alfredo - main portrait stays dominant and stable */
#team .team-photo[data-i="0"] .team-photo-img{
  object-position:44% top!important;
  filter:saturate(.82) contrast(1.05) brightness(.94)!important;
}

/* Alfredo - thumbnail corrected; less dark / less heavy */
#team .team-thumb[data-i="0"] .team-thumb-img{
  object-position:47% 8%!important;
  filter:saturate(.86) contrast(1.02) brightness(.98)!important;
}

/* Joe - main portrait: minimal upward optical correction, no aggressive background movement */
#team .team-photo[data-i="1"] .team-photo-img{
  object-position:center 46%!important;
  filter:saturate(.88) contrast(1.05) brightness(.96)!important;
}

/* Joe - thumbnail aligned with the edited portrait */
#team .team-thumb[data-i="1"] .team-thumb-img{
  object-position:center 44%!important;
  filter:saturate(.88) contrast(1.04) brightness(.96)!important;
}

/* Keep active/inactive swap direct, as originally preferred */
#team .team-photo{
  opacity:0!important;
}

#team .team-photo.active{
  opacity:1!important;
}

/* Desktop: keep the preview rail and arrows stable */
@media (min-width:1101px){
#team .team-thumbs{
    right:0!important;
    width:clamp(545px,38.5vw,710px)!important;
  }

#team .team-nav{
    right:0!important;
    width:clamp(545px,38.5vw,710px)!important;
  }
}

@media (min-width:1700px){
#team .team-thumbs,
#team .team-nav{
    right:0!important;
    width:clamp(585px,37vw,735px)!important;
  }
}

/* =========================================================
   LANGUAGE SELECTOR FULL NAME - FINAL
   Full language label in desktop sidebar and mobile header.
   Keep this as the last CSS block.
   ========================================================= */


/* Mobile: language selector sits cleanly in the horizontal top bar. */


/* =========================================================
   LANGUAGE SELECTOR AIR FIX - FINAL
   Adds breathing room between the globe icon and language label.
   Keep this as the absolute last CSS rule block.
   ========================================================= */


/* =========================================================
   INTERNAL PAGES - shared structure
   ========================================================= */
.internal-page{
  background:var(--bg);
  color:var(--text);
}

.internal-hero{
  min-height:52vh;
  display:flex;
  align-items:flex-end;
  padding:clamp(7rem,13vh,10rem) var(--page-pad) clamp(4.5rem,8vh,6rem);
  background:
    linear-gradient(135deg,#E7EAEE 0%,#F7F8FA 50%,#DDE2E8 100%);
}

.internal-hero-inner{
  width:100%;
  max-width:var(--content-max);
  margin:0 auto;
}

.internal-hero h1{
  max-width:980px;
  margin-top:1.35rem;
  font-family:var(--fd);
  font-size:clamp(3.1rem,6.1vw,7.2rem);
  font-weight:700;
  line-height:.94;
  letter-spacing:-.045em;
}

.internal-section{
  padding:clamp(5rem,8vw,8rem) var(--page-pad);
}

.internal-section-inner{
  width:100%;
  max-width:var(--content-max);
  margin:0 auto;
}

.internal-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(2.25rem,4vw,5rem);
}

.internal-card{
  border-top:1px solid var(--line);
  padding-top:1.6rem;
  min-height:220px;
}

.internal-card h2,
.internal-card h3{
  font-family:var(--fd);
  font-size:clamp(1.7rem,2.5vw,2.85rem);
  line-height:1.08;
  letter-spacing:-.018em;
  margin-bottom:1rem;
}

.internal-card p{
  max-width:680px;
  color:#333A45;
  font-size:1rem;
  line-height:1.72;
}

.internal-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid var(--line);
}

.internal-list-item{
  min-height:150px;
  padding:1.35rem 1.25rem;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  display:flex;
  align-items:flex-end;
  font-family:var(--fd);
  font-size:clamp(1.2rem,1.55vw,1.7rem);
  font-weight:700;
  line-height:1.12;
}

.internal-list-item:nth-child(3n){
  border-right:0;
}

.internal-contact-panel{
  background:#061733;
  color:var(--white);
  padding:clamp(2rem,4vw,4rem);
}

.internal-contact-panel p,
.internal-contact-panel a{
  color:rgba(255,255,255,.82);
}

.legal-content{
  max-width:920px;
}

.legal-content h2{
  margin:2.6rem 0 1rem;
  font-family:var(--fd);
  font-size:clamp(1.7rem,2.5vw,2.7rem);
  line-height:1.08;
}

.legal-content p,
.legal-content li{
  color:#2B313B;
  line-height:1.78;
  margin-bottom:1rem;
}

.legal-content ul{
  padding-left:1.2rem;
}

@media (max-width:1100px){
.internal-grid,
.internal-list{
    grid-template-columns:1fr;
  }

.internal-list-item{
    border-right:0;
  }
}

@media (max-width:640px){
.internal-hero{
    min-height:auto;
    padding:6rem 1.25rem 4.25rem;
  }

.internal-hero h1{
    font-size:clamp(2.75rem,13vw,4.4rem);
  }

.internal-section{
    padding:4.5rem 1.25rem;
  }
}

/* The hero was using clip-path reveal. In the split-file build, that can leave
   the whole first viewport transparent if the animation does not complete.
   Do not animate the structural visibility of the hero. */
#hero{
  clip-path:none!important;
  animation:none!important;
  opacity:1!important;
  visibility:visible!important;
  background:var(--navy-dark)!important;
}

#hero .hero-body,
#hero .hero-brand-block,
#hero .hero-logo-lockup,
#hero .hero-logo-img,
#hero .hero-credentials,
#hero .hero-credentials-title,
#hero .hero-badge{
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  filter:none;
  animation:none!important;
}

#hero .hero-logo-img{
  filter:drop-shadow(0 20px 46px rgba(0,5,14,.48))!important;
}


/* If JavaScript is slow, sections should still be readable. */
.no-js .reveal{
  opacity:1!important;
  transform:none!important;
}

/* =========================================================
   LANDING PRACTICE MOSAIC - LAU-TAM AUTHENTIC FINAL
   Payet-inspired grid logic, but redesigned for Lau-Tam:
   fewer areas, stronger hierarchy, capital/finance palette.
   Keep this as the last Practice block in main.css.
   ========================================================= */
#practice.practice-mosaic-section{
  position:relative!important;
  min-height:100vh!important;
  padding:clamp(7rem,9vw,10rem) var(--page-pad)!important;
  background:#FFFFFF!important;
  color:var(--text)!important;
  display:flex!important;
  align-items:center!important;
  overflow:hidden!important;
}

#practice.practice-mosaic-section::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  background:
    linear-gradient(90deg,rgba(6,41,108,.035) 1px,transparent 1px),
    linear-gradient(rgba(6,41,108,.028) 1px,transparent 1px)!important;
  background-size:64px 64px!important;
  opacity:.42!important;
  pointer-events:none!important;
}

#practice.practice-mosaic-section::after{
  content:""!important;
  position:absolute!important;
  right:-18vw!important;
  top:10%!important;
  width:48vw!important;
  height:48vw!important;
  border-radius:50%!important;
  background:radial-gradient(circle,rgba(200,164,93,.13),transparent 58%)!important;
  pointer-events:none!important;
}

#practice .practice-mosaic-inner{
  position:relative!important;
  z-index:1!important;
  width:100%!important;
  max-width:var(--content-max)!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:minmax(280px,.36fr) minmax(680px,.94fr)!important;
  gap:clamp(3rem,5.5vw,6.5rem)!important;
  align-items:start!important;
}

#practice .practice-mosaic-heading{
  padding-top:clamp(.5rem,2.4vw,2rem)!important;
}

#practice .practice-mosaic-title{
  margin-top:clamp(2rem,3.2vw,3rem)!important;
  font-family:var(--fd)!important;
  font-size:clamp(3rem,4.55vw,5.15rem)!important;
  font-weight:500!important;
  line-height:1.02!important;
  letter-spacing:-.03em!important;
  color:#2F4B5E!important;
}

#practice .practice-mosaic-copy{
  margin-top:1.65rem!important;
  max-width:390px!important;
  font-size:1rem!important;
  line-height:1.72!important;
  color:#4D535D!important;
}

#practice .practice-mosaic-heading .practices-page-link{
  margin-top:2.2rem!important;
}

#practice .practice-mosaic{
  position:relative!important;
  width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(12,1fr)!important;
  grid-auto-rows:minmax(92px,auto)!important;
  gap:0!important;
  padding-top:1rem!important;
}

#practice .practice-tile{
  position:relative!important;
  min-height:138px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  padding:1.15rem 1.2rem!important;
  border:1px solid rgba(255,255,255,.52)!important;
  color:#06101B!important;
  text-decoration:none!important;
  overflow:hidden!important;
  isolation:isolate!important;
  transition:
    transform .32s var(--ease),
    box-shadow .32s ease,
    filter .24s ease!important;
}

#practice .practice-tile::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-2!important;
  background:linear-gradient(135deg,rgba(255,255,255,.22),rgba(255,255,255,0))!important;
  pointer-events:none!important;
}

#practice .practice-tile::after{
  content:""!important;
  position:absolute!important;
  left:1.2rem!important;
  right:1.2rem!important;
  top:1.05rem!important;
  height:1px!important;
  z-index:-1!important;
  background:linear-gradient(90deg,var(--gold),rgba(200,164,93,.35),transparent)!important;
  opacity:.64!important;
  transform:scaleX(.32)!important;
  transform-origin:left!important;
  transition:transform .34s var(--ease),opacity .24s ease!important;
}

#practice .practice-tile:hover,
#practice .practice-tile:focus-visible{
  transform:translateY(-4px)!important;
  box-shadow:0 22px 44px rgba(0,5,14,.14)!important;
  filter:saturate(1.03)!important;
  outline:none!important;
}

#practice .practice-tile:hover::after,
#practice .practice-tile:focus-visible::after{
  transform:scaleX(1)!important;
  opacity:1!important;
}

#practice .practice-tile-no{
  position:absolute!important;
  top:1rem!important;
  right:1rem!important;
  font-family:var(--fd)!important;
  font-size:clamp(2.2rem,3.2vw,3.8rem)!important;
  font-weight:700!important;
  line-height:.85!important;
  letter-spacing:-.06em!important;
  color:rgba(255,255,255,.34)!important;
  pointer-events:none!important;
}

#practice .practice-tile strong{
  display:none!important;
  max-width:92%!important;
  font-family:var(--fb)!important;
  font-size:.78rem!important;
  font-weight:850!important;
  line-height:1.05!important;
  letter-spacing:-.025em!important;
  text-transform:uppercase!important;
  color:inherit!important;
}

#practice .practice-tile small{
  display:none!important;
  max-width:92%!important;
  margin-top:.62rem!important;
  font-family:var(--fb)!important;
  font-size:.74rem!important;
  font-weight:500!important;
  line-height:1.3!important;
  color:rgba(6,16,27,.68)!important;
}

html[lang="es"] #practice .practice-tile strong[data-i18n="es"],
html[lang="en"] #practice .practice-tile strong[data-i18n="en"],
html[lang="zh"] #practice .practice-tile strong[data-i18n="zh"],
html[lang="es"] #practice .practice-tile small[data-i18n="es"],
html[lang="en"] #practice .practice-tile small[data-i18n="en"],
html[lang="zh"] #practice .practice-tile small[data-i18n="zh"]{
  display:block!important;
}

/* Lau-Tam palette: capital navy, Real building glass, regulatory gray, controlled gold warmth */
#practice .tile-capital{background:#DDE5EA!important;grid-column:1 / span 5;grid-row:1 / span 2}
#practice .tile-banking{background:#9ECBD4!important;grid-column:6 / span 3;grid-row:1 / span 2}
#practice .tile-ma{background:#C8A45D!important;grid-column:9 / span 4;grid-row:1 / span 2}
#practice .tile-private{background:#B9CED0!important;grid-column:4 / span 4;grid-row:3 / span 2}
#practice .tile-project{background:#D2C0B6!important;grid-column:8 / span 5;grid-row:3 / span 2}
#practice .tile-funds{background:#6D7E89!important;color:#fff!important;grid-column:1 / span 4;grid-row:5 / span 2}
#practice .tile-fintech{background:#E3E5E8!important;grid-column:5 / span 5;grid-row:5 / span 2}
#practice .tile-structured{background:#405766!important;color:#fff!important;grid-column:10 / span 3;grid-row:5 / span 2}

#practice .tile-funds small,
#practice .tile-structured small{
  color:rgba(255,255,255,.76)!important;
}

#practice .tile-funds .practice-tile-no,
#practice .tile-structured .practice-tile-no{
  color:rgba(255,255,255,.20)!important;
}

#practice .tile-capital::before,
#practice .tile-fintech::before{
  background:
    linear-gradient(135deg,rgba(255,255,255,.45),rgba(255,255,255,0)),
    radial-gradient(circle at 84% 22%,rgba(6,41,108,.12),transparent 38%)!important;
}

#practice .tile-banking::before,
#practice .tile-private::before{
  background:
    linear-gradient(135deg,rgba(255,255,255,.32),rgba(255,255,255,0)),
    linear-gradient(120deg,transparent 0%,rgba(255,255,255,.20) 50%,transparent 100%)!important;
}

#practice .tile-ma::after{
  background:linear-gradient(90deg,#fff,rgba(255,255,255,.55),transparent)!important;
}

#practice .tile-tall{
  min-height:184px!important;
}

#practice .tile-wide strong{
  max-width:78%!important;
}

@media (min-width:1500px){
  #practice .practice-mosaic{
    grid-auto-rows:minmax(104px,auto)!important;
  }

  #practice .practice-tile{
    min-height:154px!important;
  }
}

@media (max-width:1180px){
  #practice.practice-mosaic-section{
    min-height:auto!important;
  }

  #practice .practice-mosaic-inner{
    grid-template-columns:1fr!important;
    gap:3.75rem!important;
  }

  #practice .practice-mosaic-heading{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:1.5rem!important;
    align-items:end!important;
    padding-top:0!important;
  }

  #practice .practice-mosaic-heading .section-label{
    grid-column:1 / -1!important;
  }

  #practice .practice-mosaic-title{
    margin-top:0!important;
  }

  #practice .practice-mosaic-copy{
    grid-column:1 / -1!important;
    max-width:760px!important;
    margin-top:0!important;
  }

  #practice .practice-mosaic-heading .practices-page-link{
    margin-top:0!important;
  }
}

@media (max-width:760px){
  #practice.practice-mosaic-section{
    padding:6.25rem 1.25rem 6.5rem!important;
  }

  #practice .practice-mosaic-heading{
    display:block!important;
  }

  #practice .practice-mosaic-title{
    margin-top:1.8rem!important;
    font-size:clamp(2.5rem,12vw,3.75rem)!important;
  }

  #practice .practice-mosaic-copy{
    margin-top:1.35rem!important;
    max-width:100%!important;
  }

  #practice .practice-mosaic-heading .practices-page-link{
    margin-top:1.8rem!important;
  }

  #practice .practice-mosaic{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    grid-auto-rows:auto!important;
    gap:.72rem!important;
    padding-top:0!important;
  }

  #practice .practice-tile,
  #practice .tile-capital,
  #practice .tile-banking,
  #practice .tile-ma,
  #practice .tile-private,
  #practice .tile-project,
  #practice .tile-funds,
  #practice .tile-fintech,
  #practice .tile-structured{
    grid-column:auto!important;
    grid-row:auto!important;
    min-height:150px!important;
  }

  #practice .tile-capital,
  #practice .tile-ma,
  #practice .tile-fintech{
    grid-column:1 / -1!important;
  }

  #practice .practice-tile{
    padding:1rem!important;
  }

  #practice .practice-tile strong{
    font-size:.72rem!important;
  }

  #practice .practice-tile small{
    font-size:.68rem!important;
  }
}

@media (max-width:430px){
  #practice .practice-mosaic{
    grid-template-columns:1fr!important;
  }

  #practice .practice-tile{
    min-height:128px!important;
  }
}

/* =========================================================
   PRACTICE MOSAIC HEIGHT TUNING - FINAL
   Reduces excessive top whitespace and makes the section tighter.
   ========================================================= */
#practice.practice-mosaic-section{
  min-height:auto!important;
  padding-top:clamp(4.2rem,5.6vw,6.15rem)!important;
  padding-bottom:clamp(5.1rem,6.2vw,7rem)!important;
  align-items:flex-start!important;
}

#practice .practice-mosaic-inner{
  align-items:start!important;
}

#practice .practice-mosaic-heading{
  padding-top:.35rem!important;
}

#practice .practice-mosaic-title{
  margin-top:clamp(1.45rem,2vw,2rem)!important;
}

#practice .practice-mosaic{
  padding-top:0!important;
}

#practice .practice-tile{
  min-height:118px!important;
}

#practice .tile-tall{
  min-height:150px!important;
}

@media (min-width:1500px){
  #practice.practice-mosaic-section{
    padding-top:5.4rem!important;
    padding-bottom:6.5rem!important;
  }

  #practice .practice-tile{
    min-height:128px!important;
  }
}

@media (max-width:1180px){
  #practice.practice-mosaic-section{
    padding-top:5.35rem!important;
    padding-bottom:5.9rem!important;
  }
}

@media (max-width:760px){
  #practice.practice-mosaic-section{
    padding-top:4.85rem!important;
    padding-bottom:5.25rem!important;
  }

  #practice .practice-tile,
  #practice .tile-capital,
  #practice .tile-banking,
  #practice .tile-ma,
  #practice .tile-private,
  #practice .tile-project,
  #practice .tile-funds,
  #practice .tile-fintech,
  #practice .tile-structured{
    min-height:128px!important;
  }
}

@media (max-width:430px){
  #practice .practice-tile{
    min-height:116px!important;
  }
}

/* =========================================================
   PRACTICE MOSAIC CLEAN TILES - FINAL
   Removes the small gold strokes from each practice tile.
   The mosaic is cleaner without decorative marks competing
   with the tile numbers and text.
   ========================================================= */
#practice .practice-tile::after{
  display:none!important;
  content:none!important;
}

#practice .practice-tile:hover::after,
#practice .practice-tile:focus-visible::after{
  display:none!important;
  content:none!important;
}

/* =========================================================
   PRACTICE MOSAIC WITHOUT NUMBERS - FINAL
   Removes decorative tile numbers. The practice names are
   sufficient and the mosaic becomes cleaner.
   ========================================================= */
#practice .practice-tile-no{
  display:none!important;
}

#practice .practice-tile{
  justify-content:center!important;
}

#practice .practice-tile strong{
  max-width:94%!important;
}

#practice .practice-tile small{
  max-width:94%!important;
}

/* =========================================================
   PRACTICE MOSAIC FINAL BACKGROUND + LABEL
   Cleaner editorial white background:
   - no tile numbers
   - softer grid
   - subtle blue/gray glow behind mosaic
   - no video/photo background
   ========================================================= */
#practice.practice-mosaic-section{
  background:
    radial-gradient(circle at 77% 42%, rgba(6,41,108,.085), transparent 34%),
    radial-gradient(circle at 16% 28%, rgba(200,164,93,.045), transparent 28%),
    linear-gradient(180deg,#FFFFFF 0%,#F8F9FA 48%,#F4F6F8 100%)!important;
}

#practice.practice-mosaic-section::before{
  background:
    linear-gradient(90deg,rgba(6,41,108,.018) 1px,transparent 1px),
    linear-gradient(rgba(6,41,108,.016) 1px,transparent 1px)!important;
  background-size:68px 68px!important;
  opacity:.55!important;
}

#practice.practice-mosaic-section::after{
  right:4vw!important;
  top:22%!important;
  width:46vw!important;
  height:46vw!important;
  border-radius:50%!important;
  background:
    radial-gradient(circle, rgba(158,203,212,.18), rgba(158,203,212,.08) 34%, transparent 68%)!important;
  border:0!important;
  opacity:.86!important;
}

#practice .practice-mosaic{
  filter:drop-shadow(0 28px 54px rgba(0,5,14,.055))!important;
}

#practice .practice-tile-no{
  display:none!important;
}

#practice .practice-tile{
  justify-content:center!important;
}

#practice .practice-tile strong{
  max-width:94%!important;
}

#practice .practice-tile small{
  max-width:94%!important;
}

#practice .practice-mosaic-heading .section-label{
  color:#000916!important;
}

@media (max-width:760px){
  #practice.practice-mosaic-section{
    background:
      radial-gradient(circle at 80% 32%, rgba(6,41,108,.075), transparent 36%),
      linear-gradient(180deg,#FFFFFF 0%,#F7F8FA 100%)!important;
  }

  #practice.practice-mosaic-section::before{
    background-size:54px 54px!important;
    opacity:.42!important;
  }

  #practice .practice-mosaic{
    filter:none!important;
  }
}

/* =========================================================
   PRACTICE / EXPERIENCE SEPARATION - FINAL
   Prevents the practice mosaic from visually blending into
   Selected Experience.
   ========================================================= */
#practice.practice-mosaic-section{
  padding-bottom:clamp(6.25rem,7.2vw,8.25rem)!important;
  border-bottom:1px solid rgba(6,41,108,.10)!important;
}

#practice.practice-mosaic-section + #experience{
  position:relative!important;
  padding-top:clamp(7.25rem,8.8vw,10rem)!important;
  background:
    linear-gradient(180deg,#EEF1F4 0%,#F4F6F8 18%,#F7F8FA 100%)!important;
}

#practice.practice-mosaic-section + #experience::before{
  content:""!important;
  position:absolute!important;
  left:var(--page-pad)!important;
  right:var(--page-pad)!important;
  top:0!important;
  height:1px!important;
  background:linear-gradient(90deg,transparent,rgba(6,41,108,.18),transparent)!important;
  pointer-events:none!important;
}

@media (max-width:760px){
  #practice.practice-mosaic-section{
    padding-bottom:5.75rem!important;
  }

  #practice.practice-mosaic-section + #experience{
    padding-top:6.25rem!important;
  }
}

/* =========================================================
   LANDING ABOUT DNA - MATCHES ABOUT PAGE WHITE SECTION
   This is the About page DNA block adapted for the landing.
   ========================================================= */
.hero-intro.about-dna-landing{
  position:relative!important;
  min-height:auto!important;
  display:block!important;
  padding:clamp(6.8rem,8.4vw,9.2rem) var(--page-pad) clamp(6.9rem,8.5vw,9.4rem)!important;
  background:#f4f1ec!important;
  color:#07192f!important;
  overflow:hidden!important;
  border-bottom:1px solid rgba(7,25,47,.08)!important;
}

.hero-intro.about-dna-landing::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  background:
    radial-gradient(circle at 82% 20%, rgba(201,157,85,.08), transparent 28%),
    linear-gradient(90deg, rgba(7,25,47,.018) 1px, transparent 1px),
    linear-gradient(rgba(7,25,47,.014) 1px, transparent 1px)!important;
  background-size:auto, 68px 68px, 68px 68px!important;
  opacity:.68!important;
}

.about-dna-landing-inner{
  position:relative!important;
  z-index:1!important;
  width:min(1060px, 100%)!important;
  margin:0 auto!important;
}

.about-dna-landing .section-label{
  margin:0 0 1.25rem!important;
  font-family:var(--fb, var(--fg, "Georama", sans-serif))!important;
  font-size:.76rem!important;
  font-weight:800!important;
  letter-spacing:.24em!important;
  line-height:1!important;
  text-transform:uppercase!important;
  color:#c99d55!important;
}

.about-dna-title{
  max-width:880px!important;
  margin:0!important;
  color:#07192f!important;
  font-family:var(--fd, "Playfair Display", serif)!important;
  font-size:clamp(2.8rem,4.35vw,5.1rem)!important;
  line-height:.94!important;
  font-weight:500!important;
  letter-spacing:-.055em!important;
}

.about-dna-body{
  display:grid!important;
  grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr)!important;
  gap:clamp(2.2rem,5vw,5rem)!important;
  align-items:center!important;
  margin-top:clamp(2.45rem,4.2vw,4.25rem)!important;
}

.about-dna-copy{
  max-width:760px!important;
}

.about-dna-copy p{
  margin:0 0 1.05rem!important;
  font-family:var(--fg, "Georama", sans-serif)!important;
  font-size:clamp(.98rem,1.08vw,1.12rem)!important;
  line-height:1.72!important;
  font-weight:300!important;
  color:rgba(10,23,40,.72)!important;
}

.about-dna-copy p:last-of-type{
  margin-bottom:0!important;
}

.about-dna-link{
  display:inline-flex!important;
  align-items:center!important;
  gap:.58rem!important;
  margin-top:1.45rem!important;
}

.about-dna-values{
  position:relative!important;
  min-height:270px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  gap:2rem!important;
  padding:0 0 0 clamp(2.25rem,4vw,3.75rem)!important;
  color:#07192f!important;
}

.about-dna-values::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:50%!important;
  width:2px!important;
  height:128px!important;
  background:#c99d55!important;
  transform:translateY(-50%)!important;
}

.about-dna-value,
.about-dna-value p{
  margin:0!important;
  padding:0!important;
}

.about-dna-value p{
  font-family:var(--fg, "Georama", sans-serif)!important;
  font-size:.78rem!important;
  line-height:1.15!important;
  font-weight:800!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
  color:#07192f!important;
}

.about-dna-value span,
.about-dna-value strong{
  display:block!important;
}

.about-dna-value strong{
  margin-top:.48rem!important;
  color:#07192f!important;
}

.about-dna-year strong{
  font-family:var(--fd, "Playfair Display", serif)!important;
  font-size:clamp(2.35rem,3.2vw,3.45rem)!important;
  line-height:.95!important;
  font-weight:600!important;
  letter-spacing:-.044em!important;
  text-transform:none!important;
}

.about-dna-ranked strong{
  font-family:var(--fg, "Georama", sans-serif)!important;
  max-width:310px!important;
  font-size:.78rem!important;
  line-height:1.22!important;
  font-weight:800!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
}

html[lang="zh"] .about-dna-value p,
html[lang="zh"] .about-dna-ranked strong{
  letter-spacing:.12em!important;
}

@media(max-width:1080px){
  .about-dna-body{
    grid-template-columns:1fr!important;
    gap:2.5rem!important;
  }

  .about-dna-values{
    min-height:auto!important;
    padding:1rem 0 0 2rem!important;
    gap:1.55rem!important;
  }

  .about-dna-values::before{
    height:104px!important;
  }
}

@media(max-width:680px){
  .hero-intro.about-dna-landing{
    padding:5.2rem 1.25rem 5.75rem!important;
  }

  .about-dna-title{
    font-size:clamp(2.35rem,10.5vw,3.55rem)!important;
    line-height:.98!important;
  }

  .about-dna-body{
    margin-top:2rem!important;
  }

  .about-dna-copy p{
    font-size:.98rem!important;
    line-height:1.66!important;
  }

  .about-dna-values{
    padding-left:1.45rem!important;
  }

  .about-dna-year strong{
    font-size:clamp(2.05rem,8vw,2.85rem)!important;
  }
}

/* =========================================================
   LANDING ABOUT DNA - MORE AIR FINAL
   Gives the About block more breathing room after the hero
   and before Key Practices.
   ========================================================= */
.hero-intro.about-dna-landing{
  padding-top:clamp(8.6rem,10.5vw,12.25rem)!important;
  padding-bottom:clamp(8.8rem,10.75vw,12.5rem)!important;
}

.about-dna-landing-inner{
  width:min(1120px,100%)!important;
}

.about-dna-title{
  max-width:940px!important;
}

.about-dna-body{
  margin-top:clamp(3.5rem,5.4vw,6rem)!important;
  gap:clamp(3.25rem,6vw,6.8rem)!important;
}

.about-dna-copy p{
  margin-bottom:1.28rem!important;
}

.about-dna-link{
  margin-top:2.05rem!important;
}

.about-dna-values{
  min-height:330px!important;
}

#about.about-dna-landing + #practice.practice-mosaic-section{
  padding-top:clamp(7.5rem,8.8vw,10rem)!important;
}

@media(max-width:1080px){
  .hero-intro.about-dna-landing{
    padding-top:7.4rem!important;
    padding-bottom:7.8rem!important;
  }

  .about-dna-body{
    margin-top:3rem!important;
    gap:3.25rem!important;
  }

  .about-dna-values{
    min-height:auto!important;
  }
}

@media(max-width:680px){
  .hero-intro.about-dna-landing{
    padding-top:6.2rem!important;
    padding-bottom:6.6rem!important;
  }

  .about-dna-body{
    margin-top:2.45rem!important;
  }

  .about-dna-copy p{
    margin-bottom:1.1rem!important;
  }

  .about-dna-link{
    margin-top:1.65rem!important;
  }

  #about.about-dna-landing + #practice.practice-mosaic-section{
    padding-top:5.8rem!important;
  }
}

/* =========================================================
   LANDING ABOUT DNA - BALANCED SPACING FINAL
   Pulls back the previous overcorrection while keeping enough
   breathing room above and below the About block.
   ========================================================= */
#about.hero-intro.about-dna-landing{
  padding-top:clamp(8rem,9.25vw,10.75rem)!important;
  padding-bottom:clamp(8.15rem,9.4vw,11rem)!important;
}

#about .about-dna-landing-inner{
  padding-top:clamp(.75rem,1.2vw,1.35rem)!important;
  padding-bottom:clamp(.9rem,1.35vw,1.55rem)!important;
}

#about .about-dna-landing .section-label,
#about .section-label{
  margin-bottom:clamp(1.15rem,1.65vw,1.65rem)!important;
}

#about .about-dna-body{
  margin-top:clamp(3rem,4.55vw,4.85rem)!important;
}

#about .about-dna-link{
  margin-top:clamp(1.95rem,2.55vw,2.55rem)!important;
}

#about.about-dna-landing + #practice.practice-mosaic-section,
#about.hero-intro.about-dna-landing + #practice.practice-mosaic-section{
  padding-top:clamp(7.25rem,8.25vw,9.25rem)!important;
}

@media(max-width:1080px){
  #about.hero-intro.about-dna-landing{
    padding-top:7.15rem!important;
    padding-bottom:7.45rem!important;
  }

  #about .about-dna-landing-inner{
    padding-top:.75rem!important;
    padding-bottom:.85rem!important;
  }

  #about.hero-intro.about-dna-landing + #practice.practice-mosaic-section{
    padding-top:6.55rem!important;
  }
}

@media(max-width:680px){
  #about.hero-intro.about-dna-landing{
    padding-top:6.05rem!important;
    padding-bottom:6.25rem!important;
  }

  #about .about-dna-landing-inner{
    padding-top:.45rem!important;
    padding-bottom:.65rem!important;
  }

  #about .about-dna-link{
    margin-top:1.75rem!important;
  }

  #about.hero-intro.about-dna-landing + #practice.practice-mosaic-section{
    padding-top:5.75rem!important;
  }
}

/* =========================================================
   LANDING SELECTED EXPERIENCE - FINAL
   Replaces the oversized editorial spread with a darker,
   transaction-led section aligned with the new landing.
   ========================================================= */
#experience.experience-deals-section{
  position:relative!important;
  min-height:auto!important;
  padding:clamp(7.2rem,8.8vw,10rem) var(--page-pad) clamp(7.6rem,9.2vw,10.5rem)!important;
  background:
    radial-gradient(circle at 80% 18%, rgba(201,157,85,.13), transparent 30%),
    linear-gradient(135deg,#06111f 0%,#07182d 48%,#020913 100%)!important;
  color:#fff!important;
  overflow:hidden!important;
  border-top:1px solid rgba(201,157,85,.22)!important;
}

#experience.experience-deals-section::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:
    linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px)!important;
  background-size:68px 68px!important;
  opacity:.20!important;
  pointer-events:none!important;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),rgba(0,0,0,.18))!important;
}

.experience-deals-inner{
  position:relative!important;
  z-index:1!important;
  width:100%!important;
  max-width:var(--content-max)!important;
  margin:0 auto!important;
}

.experience-deals-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:clamp(2rem,4vw,5rem)!important;
  align-items:end!important;
  margin-bottom:clamp(3rem,4.8vw,5.4rem)!important;
}

#experience .section-label{
  color:#c99d55!important;
}

.experience-deals-title{
  max-width:890px!important;
  margin:clamp(1.5rem,2.4vw,2.35rem) 0 0!important;
  font-family:var(--fd,"Playfair Display",serif)!important;
  font-size:clamp(2.75rem,4.7vw,5.6rem)!important;
  line-height:.94!important;
  font-weight:500!important;
  letter-spacing:-.055em!important;
  color:#fff!important;
}

.experience-deals-link{
  color:rgba(255,255,255,.86)!important;
  white-space:nowrap!important;
}

.experience-deals-link:hover{
  color:#c99d55!important;
}

.experience-deals-grid{
  display:grid!important;
  grid-template-columns:1.08fr .92fr .92fr!important;
  border-top:1px solid rgba(255,255,255,.16)!important;
  border-left:1px solid rgba(255,255,255,.16)!important;
}

.experience-deal-card{
  position:relative!important;
  min-height:330px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  padding:clamp(1.6rem,2.6vw,2.65rem)!important;
  border-right:1px solid rgba(255,255,255,.16)!important;
  border-bottom:1px solid rgba(255,255,255,.16)!important;
  background:rgba(255,255,255,.045)!important;
  color:#fff!important;
  overflow:hidden!important;
  transition:background .28s ease, transform .28s var(--ease)!important;
}

.experience-deal-card::before{
  content:""!important;
  position:absolute!important;
  left:clamp(1.6rem,2.6vw,2.65rem)!important;
  right:clamp(1.6rem,2.6vw,2.65rem)!important;
  top:clamp(1.35rem,2vw,2.1rem)!important;
  height:1px!important;
  background:linear-gradient(90deg,#c99d55,rgba(201,157,85,.35),transparent)!important;
  transform:scaleX(.28)!important;
  transform-origin:left!important;
  transition:transform .28s var(--ease)!important;
}

.experience-deal-card:hover{
  background:rgba(255,255,255,.075)!important;
  transform:translateY(-3px)!important;
}

.experience-deal-card:hover::before{
  transform:scaleX(1)!important;
}

.experience-deal-card-featured{
  background:rgba(255,255,255,.075)!important;
}

.experience-deal-meta{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:.65rem 1rem!important;
  margin-top:1.15rem!important;
  font-family:var(--fb,var(--fg,"Georama",sans-serif))!important;
  font-size:.68rem!important;
  font-weight:850!important;
  line-height:1!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
  color:rgba(255,255,255,.58)!important;
}

.experience-deal-card h3{
  display:none!important;
  max-width:620px!important;
  margin:auto 0 0!important;
  font-family:var(--fd,"Playfair Display",serif)!important;
  font-size:clamp(2.05rem,3vw,3.65rem)!important;
  line-height:1!important;
  font-weight:600!important;
  letter-spacing:-.052em!important;
  color:#fff!important;
}

html[lang="es"] .experience-deal-card h3[data-i18n="es"],
html[lang="en"] .experience-deal-card h3[data-i18n="en"],
html[lang="zh"] .experience-deal-card h3[data-i18n="zh"]{
  display:block!important;
}

.experience-deal-card p{
  display:none!important;
  max-width:520px!important;
  margin:1.35rem 0 0!important;
  font-family:var(--fg,"Georama",sans-serif)!important;
  font-size:.98rem!important;
  line-height:1.62!important;
  font-weight:300!important;
  color:rgba(255,255,255,.74)!important;
}

html[lang="es"] .experience-deal-card p[data-i18n="es"],
html[lang="en"] .experience-deal-card p[data-i18n="en"],
html[lang="zh"] .experience-deal-card p[data-i18n="zh"]{
  display:block!important;
}

.experience-deal-amount{
  margin-top:auto!important;
  display:flex!important;
  align-items:baseline!important;
  gap:.45rem!important;
  color:#fff!important;
}

.experience-deal-amount span{
  font-family:var(--fd,"Playfair Display",serif)!important;
  font-size:clamp(3.5rem,5.6vw,7.25rem)!important;
  line-height:.85!important;
  font-weight:500!important;
  letter-spacing:-.06em!important;
}

.experience-deal-amount small{
  font-family:var(--fd,"Playfair Display",serif)!important;
  font-style:italic!important;
  font-size:clamp(1.25rem,2vw,2.35rem)!important;
  line-height:1!important;
  color:#c99d55!important;
}

@media(max-width:1180px){
  .experience-deals-head{
    grid-template-columns:1fr!important;
  }

  .experience-deals-grid{
    grid-template-columns:1fr!important;
  }

  .experience-deal-card{
    min-height:280px!important;
  }
}

@media(max-width:760px){
  #experience.experience-deals-section{
    padding:5.8rem 1.25rem 6.25rem!important;
  }

  .experience-deals-title{
    font-size:clamp(2.35rem,10.5vw,3.85rem)!important;
  }

  .experience-deal-card{
    min-height:245px!important;
    padding:1.4rem!important;
  }

  .experience-deal-card::before{
    left:1.4rem!important;
    right:1.4rem!important;
  }

  .experience-deal-card h3{
    font-size:clamp(1.8rem,8vw,2.75rem)!important;
  }

  .experience-deal-amount span{
    font-size:clamp(3.05rem,15vw,5.1rem)!important;
  }
}

/* =========================================================
   ABSOLUTE FINAL FIX - SELECTED EXPERIENCE V2
   The previous version looked white because older #experience rules
   and/or a bad cascade were still winning. This block is deliberately
   last and highly specific.
   ========================================================= */
html body main > #experience.section.experience-deals-section{
  position:relative!important;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-height:auto!important;
  margin:0!important;
  padding:clamp(7rem,8.6vw,9.75rem) var(--page-pad) clamp(7.4rem,9vw,10.25rem)!important;
  background:#06111f!important;
  background-image:
    radial-gradient(circle at 82% 12%, rgba(201,157,85,.16), transparent 30%),
    radial-gradient(circle at 15% 88%, rgba(158,203,212,.10), transparent 28%),
    linear-gradient(135deg,#06111f 0%,#07182d 48%,#020913 100%)!important;
  color:#fff!important;
  overflow:hidden!important;
  border-top:1px solid rgba(201,157,85,.22)!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
  justify-content:initial!important;
  flex-direction:initial!important;
}

html body main > #experience.section.experience-deals-section::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  pointer-events:none!important;
  background:
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.026) 1px,transparent 1px)!important;
  background-size:68px 68px!important;
  opacity:.22!important;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.88),rgba(0,0,0,.16))!important;
}

html body main > #experience.section.experience-deals-section::after{
  content:""!important;
  position:absolute!important;
  left:var(--page-pad)!important;
  right:var(--page-pad)!important;
  top:0!important;
  height:1px!important;
  background:linear-gradient(90deg,transparent,rgba(201,157,85,.55),rgba(255,255,255,.16),transparent)!important;
  pointer-events:none!important;
}

html body main > #experience.section.experience-deals-section .experience-deals-inner{
  position:relative!important;
  z-index:1!important;
  width:100%!important;
  max-width:var(--content-max)!important;
  margin:0 auto!important;
}

html body main > #experience.section.experience-deals-section .experience-deals-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:clamp(2rem,4vw,5rem)!important;
  align-items:end!important;
  margin:0 0 clamp(3rem,4.6vw,5.25rem)!important;
}

html body main > #experience.section.experience-deals-section .section-label{
  color:#c99d55!important;
}

html body main > #experience.section.experience-deals-section .experience-deals-title{
  max-width:920px!important;
  margin:clamp(1.35rem,2.15vw,2.15rem) 0 0!important;
  font-family:var(--fd,"Playfair Display",serif)!important;
  font-size:clamp(2.75rem,4.65vw,5.45rem)!important;
  line-height:.94!important;
  font-weight:500!important;
  letter-spacing:-.055em!important;
  color:#fff!important;
  opacity:1!important;
}

html body main > #experience.section.experience-deals-section .experience-deals-title span{
  color:#fff!important;
  opacity:1!important;
}

html body main > #experience.section.experience-deals-section .experience-deals-link{
  color:rgba(255,255,255,.86)!important;
  white-space:nowrap!important;
  opacity:1!important;
}

html body main > #experience.section.experience-deals-section .experience-deals-link:hover,
html body main > #experience.section.experience-deals-section .experience-deals-link:focus-visible{
  color:#c99d55!important;
  outline:none!important;
}

html body main > #experience.section.experience-deals-section .experience-deals-grid{
  width:100%!important;
  max-width:var(--content-max)!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:1.08fr .92fr .92fr!important;
  gap:0!important;
  border-top:1px solid rgba(255,255,255,.16)!important;
  border-left:1px solid rgba(255,255,255,.16)!important;
}

html body main > #experience.section.experience-deals-section .experience-deal-card{
  position:relative!important;
  min-height:330px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  padding:clamp(1.6rem,2.55vw,2.65rem)!important;
  border-right:1px solid rgba(255,255,255,.16)!important;
  border-bottom:1px solid rgba(255,255,255,.16)!important;
  background:rgba(255,255,255,.045)!important;
  color:#fff!important;
  overflow:hidden!important;
  transition:background .28s ease, transform .28s var(--ease)!important;
}

html body main > #experience.section.experience-deals-section .experience-deal-card::before{
  content:""!important;
  position:absolute!important;
  left:clamp(1.6rem,2.55vw,2.65rem)!important;
  right:clamp(1.6rem,2.55vw,2.65rem)!important;
  top:clamp(1.35rem,2vw,2.1rem)!important;
  height:1px!important;
  background:linear-gradient(90deg,#c99d55,rgba(201,157,85,.35),transparent)!important;
  transform:scaleX(.28)!important;
  transform-origin:left!important;
  transition:transform .28s var(--ease)!important;
}

html body main > #experience.section.experience-deals-section .experience-deal-card:hover{
  background:rgba(255,255,255,.075)!important;
  transform:translateY(-3px)!important;
}

html body main > #experience.section.experience-deals-section .experience-deal-card:hover::before{
  transform:scaleX(1)!important;
}

html body main > #experience.section.experience-deals-section .experience-deal-card-featured{
  background:rgba(255,255,255,.07)!important;
}

html body main > #experience.section.experience-deals-section .experience-deal-meta{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:.65rem 1rem!important;
  margin:1.05rem 0 2.2rem!important;
  font-family:var(--fb,var(--fg,"Georama",sans-serif))!important;
  font-size:.68rem!important;
  font-weight:850!important;
  line-height:1!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
  color:rgba(255,255,255,.58)!important;
  opacity:1!important;
}

html body main > #experience.section.experience-deals-section .experience-deal-card h3{
  display:none!important;
  max-width:620px!important;
  margin:auto 0 0!important;
  font-family:var(--fd,"Playfair Display",serif)!important;
  font-size:clamp(2rem,2.8vw,3.35rem)!important;
  line-height:1!important;
  font-weight:600!important;
  letter-spacing:-.052em!important;
  color:#fff!important;
  opacity:1!important;
}

html[lang="es"] body main > #experience.section.experience-deals-section .experience-deal-card h3[data-i18n="es"],
html[lang="en"] body main > #experience.section.experience-deals-section .experience-deal-card h3[data-i18n="en"],
html[lang="zh"] body main > #experience.section.experience-deals-section .experience-deal-card h3[data-i18n="zh"]{
  display:block!important;
}

html body main > #experience.section.experience-deals-section .experience-deal-card p{
  display:none!important;
  max-width:520px!important;
  margin:1.35rem 0 0!important;
  font-family:var(--fb,"Georama",sans-serif)!important;
  font-size:.98rem!important;
  line-height:1.62!important;
  font-weight:300!important;
  color:rgba(255,255,255,.74)!important;
  opacity:1!important;
}

html[lang="es"] body main > #experience.section.experience-deals-section .experience-deal-card p[data-i18n="es"],
html[lang="en"] body main > #experience.section.experience-deals-section .experience-deal-card p[data-i18n="en"],
html[lang="zh"] body main > #experience.section.experience-deals-section .experience-deal-card p[data-i18n="zh"]{
  display:block!important;
}

html body main > #experience.section.experience-deals-section .experience-deal-amount{
  margin-top:auto!important;
  display:flex!important;
  align-items:baseline!important;
  gap:.45rem!important;
  color:#fff!important;
  opacity:1!important;
}

html body main > #experience.section.experience-deals-section .experience-deal-amount span{
  font-family:var(--fd,"Playfair Display",serif)!important;
  font-size:clamp(3.4rem,5.25vw,6.8rem)!important;
  line-height:.85!important;
  font-weight:500!important;
  letter-spacing:-.06em!important;
  color:#fff!important;
  opacity:1!important;
}

html body main > #experience.section.experience-deals-section .experience-deal-amount small{
  font-family:var(--fd,"Playfair Display",serif)!important;
  font-style:italic!important;
  font-size:clamp(1.2rem,1.85vw,2.2rem)!important;
  line-height:1!important;
  color:#c99d55!important;
  opacity:1!important;
}

@media(max-width:1180px){
  html body main > #experience.section.experience-deals-section .experience-deals-head{
    grid-template-columns:1fr!important;
  }

  html body main > #experience.section.experience-deals-section .experience-deals-grid{
    grid-template-columns:1fr!important;
  }

  html body main > #experience.section.experience-deals-section .experience-deal-card{
    min-height:280px!important;
  }
}

@media(max-width:760px){
  html body main > #experience.section.experience-deals-section{
    padding:5.8rem 1.25rem 6.25rem!important;
  }

  html body main > #experience.section.experience-deals-section .experience-deals-title{
    font-size:clamp(2.35rem,10.5vw,3.85rem)!important;
  }

  html body main > #experience.section.experience-deals-section .experience-deal-card{
    min-height:245px!important;
    padding:1.4rem!important;
  }

  html body main > #experience.section.experience-deals-section .experience-deal-card::before{
    left:1.4rem!important;
    right:1.4rem!important;
  }

  html body main > #experience.section.experience-deals-section .experience-deal-card h3{
    font-size:clamp(1.8rem,8vw,2.75rem)!important;
  }

  html body main > #experience.section.experience-deals-section .experience-deal-amount span{
    font-size:clamp(3rem,15vw,5rem)!important;
  }
}

/* =========================================================
   SELECTED EXPERIENCE COLOR FIX - FINAL ABSOLUTE V3
   Beats the previous sibling selector:
   #practice.practice-mosaic-section + #experience
   ========================================================= */
html body main > #practice.practice-mosaic-section + #experience.section.experience-deals-section{
  position:relative!important;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-height:auto!important;
  margin:0!important;
  padding:clamp(7rem,8.6vw,9.75rem) var(--page-pad) clamp(7.4rem,9vw,10.25rem)!important;
  background:#06111f!important;
  background-image:
    radial-gradient(circle at 82% 12%, rgba(201,157,85,.16), transparent 30%),
    radial-gradient(circle at 15% 88%, rgba(158,203,212,.10), transparent 28%),
    linear-gradient(135deg,#06111f 0%,#07182d 48%,#020913 100%)!important;
  color:#fff!important;
  overflow:hidden!important;
  border-top:1px solid rgba(201,157,85,.22)!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
  justify-content:initial!important;
  flex-direction:initial!important;
}

html body main > #practice.practice-mosaic-section + #experience.section.experience-deals-section::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  pointer-events:none!important;
  background:
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.026) 1px,transparent 1px)!important;
  background-size:68px 68px!important;
  opacity:.22!important;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.88),rgba(0,0,0,.16))!important;
}

html body main > #practice.practice-mosaic-section + #experience.section.experience-deals-section::after{
  content:""!important;
  position:absolute!important;
  left:var(--page-pad)!important;
  right:var(--page-pad)!important;
  top:0!important;
  height:1px!important;
  background:linear-gradient(90deg,transparent,rgba(201,157,85,.55),rgba(255,255,255,.16),transparent)!important;
  pointer-events:none!important;
}

html body main > #practice.practice-mosaic-section + #experience.section.experience-deals-section .experience-deals-inner{
  position:relative!important;
  z-index:1!important;
  width:100%!important;
  max-width:var(--content-max)!important;
  margin:0 auto!important;
}

html body main > #practice.practice-mosaic-section + #experience.section.experience-deals-section .experience-deals-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:clamp(2rem,4vw,5rem)!important;
  align-items:end!important;
  margin:0 0 clamp(3rem,4.6vw,5.25rem)!important;
}

html body main > #practice.practice-mosaic-section + #experience.section.experience-deals-section .section-label{
  color:#c99d55!important;
}

html body main > #practice.practice-mosaic-section + #experience.section.experience-deals-section .experience-deals-title,
html body main > #practice.practice-mosaic-section + #experience.section.experience-deals-section .experience-deals-title span{
  color:#fff!important;
  opacity:1!important;
  text-shadow:none!important;
}

html body main > #practice.practice-mosaic-section + #experience.section.experience-deals-section .experience-deals-title{
  max-width:920px!important;
  margin:clamp(1.35rem,2.15vw,2.15rem) 0 0!important;
  font-family:var(--fd,"Playfair Display",serif)!important;
  font-size:clamp(2.75rem,4.65vw,5.45rem)!important;
  line-height:.94!important;
  font-weight:500!important;
  letter-spacing:-.055em!important;
}

html body main > #practice.practice-mosaic-section + #experience.section.experience-deals-section .experience-deals-link{
  color:rgba(255,255,255,.86)!important;
  white-space:nowrap!important;
  opacity:1!important;
}

html body main > #practice.practice-mosaic-section + #experience.section.experience-deals-section .experience-deals-link:hover,
html body main > #practice.practice-mosaic-section + #experience.section.experience-deals-section .experience-deals-link:focus-visible{
  color:#c99d55!important;
  outline:none!important;
}

html body main > #practice.practice-mosaic-section + #experience.section.experience-deals-section .experience-deals-grid{
  width:100%!important;
  max-width:var(--content-max)!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:1.08fr .92fr .92fr!important;
  gap:0!important;
  border-top:1px solid rgba(255,255,255,.16)!important;
  border-left:1px solid rgba(255,255,255,.16)!important;
  background:transparent!important;
  box-shadow:none!important;
}

html body main > #practice.practice-mosaic-section + #experience.section.experience-deals-section .experience-deal-card{
  position:relative!important;
  min-height:330px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  padding:clamp(1.6rem,2.55vw,2.65rem)!important;
  border-right:1px solid rgba(255,255,255,.16)!important;
  border-bottom:1px solid rgba(255,255,255,.16)!important;
  background:rgba(255,255,255,.045)!important;
  color:#fff!important;
  overflow:hidden!important;
  opacity:1!important;
  box-shadow:none!important;
}

html body main > #practice.practice-mosaic-section + #experience.section.experience-deals-section .experience-deal-card::before{
  content:""!important;
  position:absolute!important;
  left:clamp(1.6rem,2.55vw,2.65rem)!important;
  right:clamp(1.6rem,2.55vw,2.65rem)!important;
  top:clamp(1.35rem,2vw,2.1rem)!important;
  height:1px!important;
  background:linear-gradient(90deg,#c99d55,rgba(201,157,85,.35),transparent)!important;
  transform:scaleX(.28)!important;
  transform-origin:left!important;
}

html body main > #practice.practice-mosaic-section + #experience.section.experience-deals-section .experience-deal-meta{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:.65rem 1rem!important;
  margin:1.05rem 0 2.2rem!important;
  font-family:var(--fb,"Georama",sans-serif)!important;
  font-size:.68rem!important;
  font-weight:850!important;
  line-height:1!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
  color:rgba(255,255,255,.58)!important;
  opacity:1!important;
}

html body main > #practice.practice-mosaic-section + #experience.section.experience-deals-section .experience-deal-card h3{
  display:none!important;
  max-width:620px!important;
  margin:auto 0 0!important;
  font-family:var(--fd,"Playfair Display",serif)!important;
  font-size:clamp(2rem,2.8vw,3.35rem)!important;
  line-height:1!important;
  font-weight:600!important;
  letter-spacing:-.052em!important;
  color:#fff!important;
  opacity:1!important;
  text-shadow:none!important;
}

html[lang="es"] body main > #practice.practice-mosaic-section + #experience.section.experience-deals-section .experience-deal-card h3[data-i18n="es"],
html[lang="en"] body main > #practice.practice-mosaic-section + #experience.section.experience-deals-section .experience-deal-card h3[data-i18n="en"],
html[lang="zh"] body main > #practice.practice-mosaic-section + #experience.section.experience-deals-section .experience-deal-card h3[data-i18n="zh"]{
  display:block!important;
}

html body main > #practice.practice-mosaic-section + #experience.section.experience-deals-section .experience-deal-card p{
  display:none!important;
  max-width:520px!important;
  margin:1.35rem 0 0!important;
  font-family:var(--fb,"Georama",sans-serif)!important;
  font-size:.98rem!important;
  line-height:1.62!important;
  font-weight:300!important;
  color:rgba(255,255,255,.74)!important;
  opacity:1!important;
}

html[lang="es"] body main > #practice.practice-mosaic-section + #experience.section.experience-deals-section .experience-deal-card p[data-i18n="es"],
html[lang="en"] body main > #practice.practice-mosaic-section + #experience.section.experience-deals-section .experience-deal-card p[data-i18n="en"],
html[lang="zh"] body main > #practice.practice-mosaic-section + #experience.section.experience-deals-section .experience-deal-card p[data-i18n="zh"]{
  display:block!important;
}

html body main > #practice.practice-mosaic-section + #experience.section.experience-deals-section .experience-deal-amount,
html body main > #practice.practice-mosaic-section + #experience.section.experience-deals-section .experience-deal-amount span{
  color:#fff!important;
  opacity:1!important;
}

html body main > #practice.practice-mosaic-section + #experience.section.experience-deals-section .experience-deal-amount{
  margin-top:auto!important;
  display:flex!important;
  align-items:baseline!important;
  gap:.45rem!important;
}

html body main > #practice.practice-mosaic-section + #experience.section.experience-deals-section .experience-deal-amount span{
  font-family:var(--fd,"Playfair Display",serif)!important;
  font-size:clamp(3.4rem,5.25vw,6.8rem)!important;
  line-height:.85!important;
  font-weight:500!important;
  letter-spacing:-.06em!important;
}

html body main > #practice.practice-mosaic-section + #experience.section.experience-deals-section .experience-deal-amount small{
  font-family:var(--fd,"Playfair Display",serif)!important;
  font-style:italic!important;
  font-size:clamp(1.2rem,1.85vw,2.2rem)!important;
  line-height:1!important;
  color:#c99d55!important;
  opacity:1!important;
}

@media(max-width:1180px){
  html body main > #practice.practice-mosaic-section + #experience.section.experience-deals-section .experience-deals-head{
    grid-template-columns:1fr!important;
  }

  html body main > #practice.practice-mosaic-section + #experience.section.experience-deals-section .experience-deals-grid{
    grid-template-columns:1fr!important;
  }

  html body main > #practice.practice-mosaic-section + #experience.section.experience-deals-section .experience-deal-card{
    min-height:280px!important;
  }
}

@media(max-width:760px){
  html body main > #practice.practice-mosaic-section + #experience.section.experience-deals-section{
    padding:5.8rem 1.25rem 6.25rem!important;
  }

  html body main > #practice.practice-mosaic-section + #experience.section.experience-deals-section .experience-deals-title{
    font-size:clamp(2.35rem,10.5vw,3.85rem)!important;
  }

  html body main > #practice.practice-mosaic-section + #experience.section.experience-deals-section .experience-deal-card{
    min-height:245px!important;
    padding:1.4rem!important;
  }

  html body main > #practice.practice-mosaic-section + #experience.section.experience-deals-section .experience-deal-card::before{
    left:1.4rem!important;
    right:1.4rem!important;
  }

  html body main > #practice.practice-mosaic-section + #experience.section.experience-deals-section .experience-deal-card h3{
    font-size:clamp(1.8rem,8vw,2.75rem)!important;
  }

  html body main > #practice.practice-mosaic-section + #experience.section.experience-deals-section .experience-deal-amount span{
    font-size:clamp(3rem,15vw,5rem)!important;
  }
}


/* =========================================================
   SELECTED EXPERIENCE HERO - DEALS 2026
   Replicates the home hero language without the progress loader.
   Background assets live in: assets/deals/2026/
   ========================================================= */
html body main > #experience.experience-hero-section{
  position:relative!important;
  min-height:92svh!important;
  padding:6rem var(--page-pad,5vw) 6.25rem!important;
  display:flex!important;
  align-items:center!important;
  overflow:hidden!important;
  background:
    linear-gradient(90deg,rgba(0,5,14,.86) 0%,rgba(6,27,53,.64) 48%,rgba(0,5,14,.34) 100%),
    url("../assets/deals/2026/hero.jpg") center center / cover no-repeat,
    #00050E!important;
  color:var(--white)!important;
  margin:0!important;
  isolation:isolate!important;
}

html body main > #experience.experience-hero-section .experience-hero-video{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  z-index:0!important;
  opacity:.94!important;
  filter:saturate(.78) contrast(1.05) brightness(.74)!important;
  transform:none!important;
  pointer-events:none!important;
}

html body main > #experience.experience-hero-section .experience-hero-overlay{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:
    linear-gradient(90deg,rgba(0,5,14,.86) 0%,rgba(6,27,53,.62) 46%,rgba(0,5,14,.34) 100%),
    linear-gradient(180deg,rgba(0,5,14,.08) 0%,rgba(0,5,14,.02) 42%,rgba(0,5,14,.70) 100%)!important;
  pointer-events:none!important;
}

html body main > #experience.experience-hero-section::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  background-image:radial-gradient(rgba(255,255,255,.055) 1px,transparent 1px)!important;
  background-size:28px 28px!important;
  pointer-events:none!important;
  mix-blend-mode:screen!important;
  opacity:.26!important;
}

html body main > #experience.experience-hero-section::after{
  content:""!important;
  position:absolute!important;
  right:-14vw!important;
  bottom:-24vw!important;
  z-index:2!important;
  width:58vw!important;
  height:58vw!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.025)!important;
  filter:blur(2px)!important;
  opacity:.65!important;
  pointer-events:none!important;
}

html body main > #experience.experience-hero-section .experience-hero-inner{
  position:relative!important;
  z-index:3!important;
  width:100%!important;
  max-width:1540px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(390px,440px)!important;
  gap:clamp(4.25rem,6vw,7.25rem)!important;
  align-items:center!important;
  opacity:1!important;
  transform:none!important;
}

html body main > #experience.experience-hero-section .experience-hero-main{
  max-width:940px!important;
  padding-left:clamp(.25rem,1.5vw,2.25rem)!important;
  color:var(--white)!important;
}

html body main > #experience.experience-hero-section .experience-hero-label{
  color:var(--gold)!important;
  letter-spacing:.24em!important;
  margin-bottom:1.25rem!important;
}

html body main > #experience.experience-hero-section .experience-hero-title{
  max-width:940px!important;
  margin:0!important;
  font-family:var(--fd)!important;
  font-size:clamp(3.2rem,6.2vw,6.8rem)!important;
  font-weight:500!important;
  line-height:.92!important;
  letter-spacing:-.058em!important;
  color:var(--white)!important;
  text-shadow:0 18px 52px rgba(0,5,14,.46)!important;
}

html body main > #experience.experience-hero-section .experience-hero-title span{
  color:inherit!important;
}

html body main > #experience.experience-hero-section .experience-hero-link{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:.65rem!important;
  margin-top:2.1rem!important;
  color:rgba(255,255,255,.86)!important;
  text-shadow:0 8px 24px rgba(0,5,14,.62)!important;
  transition:color .22s ease, transform .24s var(--ease)!important;
}

html body main > #experience.experience-hero-section .experience-hero-link:hover,
html body main > #experience.experience-hero-section .experience-hero-link:focus-visible{
  color:var(--gold)!important;
  transform:translateX(3px)!important;
  outline:none!important;
}

html body main > #experience.experience-hero-section .experience-hero-link svg{
  transition:transform .24s var(--ease)!important;
}

html body main > #experience.experience-hero-section .experience-hero-link:hover svg,
html body main > #experience.experience-hero-section .experience-hero-link:focus-visible svg{
  transform:translate(2px,-2px)!important;
}

html body main > #experience.experience-hero-section .experience-hero-slider{
  width:min(100%,440px)!important;
  justify-self:end!important;
  align-self:center!important;
  color:var(--text)!important;
}

html body main > #experience.experience-hero-section .experience-hero-slides{
  position:relative!important;
  width:100%!important;
  height:360px!important;
  overflow:hidden!important;
}

html body main > #experience.experience-hero-section .experience-hero-card{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  padding:1.35rem 1.35rem 1.22rem!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  overflow:hidden!important;
  background:rgba(255,255,255,.94)!important;
  border:1px solid rgba(255,255,255,.62)!important;
  box-shadow:
    0 18px 42px rgba(0,5,14,.26),
    inset 0 0 0 1px rgba(6,41,108,.055)!important;
  color:var(--text)!important;
  opacity:0!important;
  visibility:hidden!important;
  transform:translateY(14px)!important;
  transition:
    opacity .42s ease,
    visibility .42s ease,
    transform .52s var(--ease)!important;
}

html body main > #experience.experience-hero-section .experience-hero-card.is-active{
  opacity:1!important;
  visibility:visible!important;
  transform:translateY(0)!important;
  z-index:2!important;
}

html body main > #experience.experience-hero-section .experience-hero-card::before{
  content:""!important;
  position:absolute!important;
  left:1.35rem!important;
  right:1.35rem!important;
  bottom:1.22rem!important;
  height:1px!important;
  background:linear-gradient(90deg,var(--gold),rgba(200,164,93,.38),transparent)!important;
  opacity:.96!important;
}

html body main > #experience.experience-hero-section .experience-hero-meta{
  position:relative!important;
  z-index:1!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:.58rem .95rem!important;
  margin:0!important;
  padding-top:.2rem!important;
  font-size:.58rem!important;
  line-height:1.35!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
  font-weight:800!important;
  color:rgba(6,41,108,.66)!important;
}

html body main > #experience.experience-hero-section .experience-hero-card h3{
  position:relative!important;
  z-index:1!important;
  max-width:350px!important;
  margin:auto 0 0!important;
  font-family:var(--fd)!important;
  font-size:clamp(2.05rem,3vw,3rem)!important;
  font-weight:700!important;
  line-height:1.02!important;
  letter-spacing:-.04em!important;
  color:var(--text)!important;
}

html[lang="es"] body main > #experience.experience-hero-section .experience-hero-card h3[data-i18n="es"],
html[lang="en"] body main > #experience.experience-hero-section .experience-hero-card h3[data-i18n="en"],
html[lang="zh"] body main > #experience.experience-hero-section .experience-hero-card h3[data-i18n="zh"]{
  display:block!important;
}

html body main > #experience.experience-hero-section .experience-hero-card p{
  position:relative!important;
  z-index:1!important;
  max-width:360px!important;
  margin:1.1rem 0 2rem!important;
  font-size:.92rem!important;
  line-height:1.62!important;
  color:rgba(0,5,14,.62)!important;
}

html[lang="es"] body main > #experience.experience-hero-section .experience-hero-card p[data-i18n="es"],
html[lang="en"] body main > #experience.experience-hero-section .experience-hero-card p[data-i18n="en"],
html[lang="zh"] body main > #experience.experience-hero-section .experience-hero-card p[data-i18n="zh"]{
  display:block!important;
}

html body main > #experience.experience-hero-section .experience-hero-amount{
  position:relative!important;
  z-index:1!important;
  display:flex!important;
  align-items:flex-end!important;
  gap:.7rem!important;
  margin:1.5rem 0 2rem!important;
  font-family:var(--fd)!important;
  color:var(--text)!important;
}

html body main > #experience.experience-hero-section .experience-hero-amount span{
  font-size:clamp(4.4rem,7.1vw,6.6rem)!important;
  font-weight:700!important;
  line-height:.86!important;
  letter-spacing:-.055em!important;
  color:var(--text)!important;
}

html body main > #experience.experience-hero-section .experience-hero-amount small{
  transform:translateY(-.38rem)!important;
  font-family:var(--fd)!important;
  font-style:italic!important;
  font-size:1.35rem!important;
  color:var(--gold)!important;
}

html body main > #experience.experience-hero-section .experience-hero-controls{
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:1.1rem!important;
  margin-top:1.08rem!important;
  color:rgba(255,255,255,.84)!important;
}

html body main > #experience.experience-hero-section .experience-hero-arrow{
  width:42px!important;
  height:42px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  color:rgba(255,255,255,.80)!important;
  transition:color .18s ease, transform .24s var(--ease), opacity .18s ease!important;
}

html body main > #experience.experience-hero-section .experience-hero-arrow svg{
  width:28px!important;
  height:28px!important;
  pointer-events:none!important;
}

html body main > #experience.experience-hero-section .experience-hero-prev:hover,
html body main > #experience.experience-hero-section .experience-hero-prev:focus-visible{
  color:var(--gold)!important;
  transform:translateX(-4px)!important;
  outline:none!important;
}

html body main > #experience.experience-hero-section .experience-hero-next:hover,
html body main > #experience.experience-hero-section .experience-hero-next:focus-visible{
  color:var(--gold)!important;
  transform:translateX(4px)!important;
  outline:none!important;
}

html body main > #experience.experience-hero-section .experience-hero-dots{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.58rem!important;
}

html body main > #experience.experience-hero-section .experience-hero-dot{
  position:relative!important;
  width:8px!important;
  height:8px!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.44)!important;
  opacity:1!important;
  transition:background .2s ease, transform .24s var(--ease), width .24s var(--ease)!important;
}

html body main > #experience.experience-hero-section .experience-hero-dot::before{
  content:""!important;
  position:absolute!important;
  inset:-10px!important;
  border-radius:50%!important;
}

html body main > #experience.experience-hero-section .experience-hero-dot.is-active{
  width:26px!important;
  border-radius:999px!important;
  background:var(--gold)!important;
}

html body main > #experience.experience-hero-section .experience-hero-dot:hover,
html body main > #experience.experience-hero-section .experience-hero-dot:focus-visible{
  background:rgba(255,255,255,.92)!important;
  transform:scale(1.12)!important;
  outline:none!important;
}

@media (max-width:1180px){
  html body main > #experience.experience-hero-section{
    min-height:auto!important;
    padding:6.5rem var(--page-pad,5vw) 6.75rem!important;
  }

  html body main > #experience.experience-hero-section .experience-hero-inner{
    grid-template-columns:1fr!important;
    gap:2.8rem!important;
  }

  html body main > #experience.experience-hero-section .experience-hero-main{
    padding-left:0!important;
  }

  html body main > #experience.experience-hero-section .experience-hero-slider{
    max-width:520px!important;
    justify-self:start!important;
  }
}

@media (max-width:640px){
  html body main > #experience.experience-hero-section{
    min-height:auto!important;
    padding:5.4rem 1.25rem 5.8rem!important;
    background:
      linear-gradient(180deg,rgba(0,5,14,.80) 0%,rgba(0,5,14,.62) 48%,rgba(0,5,14,.88) 100%),
      url("../assets/deals/2026/hero-mobile.jpg") center center / cover no-repeat,
      #00050E!important;
  }

  html body main > #experience.experience-hero-section .experience-hero-video{
    object-position:center center!important;
    filter:saturate(.72) contrast(1.04) brightness(.74)!important;
  }

  html body main > #experience.experience-hero-section .experience-hero-overlay{
    background:
      linear-gradient(180deg,rgba(0,5,14,.80) 0%,rgba(0,5,14,.62) 48%,rgba(0,5,14,.88) 100%)!important;
  }

  html body main > #experience.experience-hero-section .experience-hero-title{
    font-size:clamp(2.75rem,12.5vw,4.25rem)!important;
    line-height:.94!important;
  }

  html body main > #experience.experience-hero-section .experience-hero-link{
    margin-top:1.55rem!important;
  }

  html body main > #experience.experience-hero-section .experience-hero-slider{
    width:100%!important;
    max-width:none!important;
  }

  html body main > #experience.experience-hero-section .experience-hero-slides{
    height:328px!important;
  }

  html body main > #experience.experience-hero-section .experience-hero-card{
    padding:1.08rem 1rem 1rem!important;
  }

  html body main > #experience.experience-hero-section .experience-hero-card::before{
    left:1rem!important;
    right:1rem!important;
    bottom:1rem!important;
  }

  html body main > #experience.experience-hero-section .experience-hero-meta{
    font-size:.5rem!important;
    letter-spacing:.14em!important;
  }

  html body main > #experience.experience-hero-section .experience-hero-card h3{
    font-size:clamp(1.8rem,8.5vw,2.55rem)!important;
  }

  html body main > #experience.experience-hero-section .experience-hero-card p{
    font-size:.84rem!important;
    line-height:1.55!important;
    margin-bottom:1.75rem!important;
  }

  html body main > #experience.experience-hero-section .experience-hero-amount span{
    font-size:clamp(3.55rem,16vw,5rem)!important;
  }

  html body main > #experience.experience-hero-section .experience-hero-amount small{
    font-size:1.08rem!important;
  }
}

@media (max-width:390px){
  html body main > #experience.experience-hero-section{
    padding:4.75rem 1rem 5.25rem!important;
  }

  html body main > #experience.experience-hero-section .experience-hero-slides{
    height:320px!important;
  }
}

/* =========================================================
   SELECTED EXPERIENCE - CENTERED STATEMENT HERO
   Rebaza-inspired: one centered deal phrase, subtle arrows/dots,
   no card, no loader. Keep this block at the absolute end.
   ========================================================= */
html body main > #experience.experience-statement-section{
  position:relative!important;
  min-height:78vh!important;
  height:min(780px,86vh)!important;
  padding:0!important;
  display:block!important;
  overflow:hidden!important;
  background:
    linear-gradient(180deg,rgba(0,5,14,.18) 0%,rgba(0,5,14,.28) 100%),
    url("../assets/deals/2026/hero.jpg") center center / cover no-repeat,
    #00050E!important;
  color:#fff!important;
}

html body main > #experience.experience-statement-section .experience-hero-video{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  z-index:0!important;
  opacity:.96!important;
  filter:saturate(.78) contrast(1.04) brightness(.82)!important;
  transform:none!important;
  pointer-events:none!important;
}

html body main > #experience.experience-statement-section .experience-hero-overlay{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:
    linear-gradient(90deg,rgba(0,5,14,.52) 0%,rgba(0,5,14,.24) 34%,rgba(0,5,14,.24) 66%,rgba(0,5,14,.52) 100%),
    linear-gradient(180deg,rgba(0,5,14,.22) 0%,rgba(0,5,14,.08) 46%,rgba(0,5,14,.46) 100%)!important;
  pointer-events:none!important;
}

html body main > #experience.experience-statement-section::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  background-image:radial-gradient(rgba(255,255,255,.045) 1px,transparent 1px)!important;
  background-size:28px 28px!important;
  opacity:.18!important;
  pointer-events:none!important;
  mix-blend-mode:screen!important;
}

html body main > #experience.experience-statement-section .experience-hero-inner{
  position:relative!important;
  z-index:3!important;
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  min-height:inherit!important;
  margin:0!important;
  display:block!important;
  padding:0!important;
}

html body main > #experience.experience-statement-section .experience-hero-label{
  position:absolute!important;
  left:var(--page-pad,5vw)!important;
  top:clamp(4.75rem,8vh,6.5rem)!important;
  z-index:8!important;
  margin:0!important;
  color:var(--gold)!important;
  font-family:var(--fb)!important;
  font-size:.72rem!important;
  font-weight:800!important;
  letter-spacing:.24em!important;
  line-height:1!important;
  text-transform:uppercase!important;
  text-shadow:0 10px 30px rgba(0,5,14,.52)!important;
}

html body main > #experience.experience-statement-section .experience-hero-slider{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  margin:0!important;
  display:block!important;
  justify-self:auto!important;
  align-self:auto!important;
}

html body main > #experience.experience-statement-section .experience-hero-slides{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

html body main > #experience.experience-statement-section .experience-hero-card{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  padding:0 clamp(5rem,11vw,10rem)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:#fff!important;
  opacity:0!important;
  visibility:hidden!important;
  transform:translateY(12px)!important;
  transition:opacity .6s ease, visibility .6s ease, transform .6s var(--ease)!important;
  pointer-events:none!important;
}

html body main > #experience.experience-statement-section .experience-hero-card.is-active{
  opacity:1!important;
  visibility:visible!important;
  transform:translateY(0)!important;
  pointer-events:auto!important;
}

html body main > #experience.experience-statement-section .experience-hero-card::before,
html body main > #experience.experience-statement-section .experience-hero-card::after{
  display:none!important;
  content:none!important;
}

html body main > #experience.experience-statement-section .experience-hero-title{
  max-width:min(860px,76vw)!important;
  margin:0!important;
  font-family:var(--fb)!important;
  font-size:clamp(1.85rem,3.35vw,3.35rem)!important;
  font-weight:400!important;
  line-height:1.06!important;
  letter-spacing:-.035em!important;
  color:rgba(255,255,255,.94)!important;
  text-shadow:0 18px 54px rgba(0,5,14,.64)!important;
}

html body main > #experience.experience-statement-section .experience-hero-title span{
  display:none!important;
}

html[lang="es"] body main > #experience.experience-statement-section .experience-hero-title span[data-i18n="es"],
html[lang="en"] body main > #experience.experience-statement-section .experience-hero-title span[data-i18n="en"],
html[lang="zh"] body main > #experience.experience-statement-section .experience-hero-title span[data-i18n="zh"]{
  display:inline!important;
}

html body main > #experience.experience-statement-section .experience-hero-subtitle{
  max-width:min(620px,70vw)!important;
  margin:.55rem auto 0!important;
  font-family:var(--fb)!important;
  font-size:clamp(.72rem,.92vw,.96rem)!important;
  font-weight:400!important;
  line-height:1.35!important;
  letter-spacing:-.01em!important;
  color:rgba(255,255,255,.78)!important;
  text-shadow:0 12px 34px rgba(0,5,14,.68)!important;
}

html body main > #experience.experience-statement-section .experience-hero-subtitle span{
  display:none!important;
}

html[lang="es"] body main > #experience.experience-statement-section .experience-hero-subtitle span[data-i18n="es"],
html[lang="en"] body main > #experience.experience-statement-section .experience-hero-subtitle span[data-i18n="en"],
html[lang="zh"] body main > #experience.experience-statement-section .experience-hero-subtitle span[data-i18n="zh"]{
  display:inline!important;
}

html body main > #experience.experience-statement-section .experience-hero-link{
  position:absolute!important;
  left:var(--page-pad,5vw)!important;
  bottom:clamp(3.5rem,6.2vh,5.3rem)!important;
  z-index:9!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:.7rem!important;
  margin:0!important;
  color:rgba(255,255,255,.88)!important;
  font-family:var(--fb)!important;
  font-size:.68rem!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
  text-shadow:0 10px 28px rgba(0,5,14,.56)!important;
  transition:color .22s ease, transform .24s var(--ease)!important;
}

html body main > #experience.experience-statement-section .experience-hero-link:hover,
html body main > #experience.experience-statement-section .experience-hero-link:focus-visible{
  color:var(--gold)!important;
  transform:translateX(3px)!important;
  outline:none!important;
}

html body main > #experience.experience-statement-section .experience-hero-link svg{
  transition:transform .24s var(--ease)!important;
}

html body main > #experience.experience-statement-section .experience-hero-link:hover svg,
html body main > #experience.experience-statement-section .experience-hero-link:focus-visible svg{
  transform:translate(2px,-2px)!important;
}

html body main > #experience.experience-statement-section .experience-hero-arrow{
  position:absolute!important;
  top:50%!important;
  z-index:9!important;
  width:54px!important;
  height:54px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  color:rgba(255,255,255,.78)!important;
  background:transparent!important;
  border:0!important;
  transform:translateY(-50%)!important;
  transition:color .2s ease, opacity .2s ease, transform .24s var(--ease)!important;
}

html body main > #experience.experience-statement-section .experience-hero-prev{
  left:clamp(1.5rem,3vw,3.2rem)!important;
}

html body main > #experience.experience-statement-section .experience-hero-next{
  right:clamp(1.5rem,3vw,3.2rem)!important;
}

html body main > #experience.experience-statement-section .experience-hero-arrow svg{
  width:36px!important;
  height:36px!important;
  pointer-events:none!important;
}

html body main > #experience.experience-statement-section .experience-hero-prev:hover,
html body main > #experience.experience-statement-section .experience-hero-prev:focus-visible{
  color:var(--gold)!important;
  transform:translateY(-50%) translateX(-4px)!important;
  outline:none!important;
}

html body main > #experience.experience-statement-section .experience-hero-next:hover,
html body main > #experience.experience-statement-section .experience-hero-next:focus-visible{
  color:var(--gold)!important;
  transform:translateY(-50%) translateX(4px)!important;
  outline:none!important;
}

html body main > #experience.experience-statement-section .experience-hero-dots{
  position:absolute!important;
  left:50%!important;
  bottom:clamp(2.1rem,3.8vh,3rem)!important;
  z-index:9!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.58rem!important;
  transform:translateX(-50%)!important;
}

html body main > #experience.experience-statement-section .experience-hero-dot{
  position:relative!important;
  width:7px!important;
  height:7px!important;
  min-width:7px!important;
  min-height:7px!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.44)!important;
  opacity:1!important;
  transition:background .2s ease, transform .24s var(--ease), width .24s var(--ease)!important;
}

html body main > #experience.experience-statement-section .experience-hero-dot::before{
  content:""!important;
  position:absolute!important;
  inset:-10px!important;
  border-radius:50%!important;
}

html body main > #experience.experience-statement-section .experience-hero-dot.is-active{
  width:22px!important;
  border-radius:999px!important;
  background:var(--gold)!important;
}

html body main > #experience.experience-statement-section .experience-hero-dot:hover,
html body main > #experience.experience-statement-section .experience-hero-dot:focus-visible{
  background:rgba(255,255,255,.9)!important;
  transform:scale(1.12)!important;
  outline:none!important;
}

@media (max-width:1100px){
  html body main > #experience.experience-statement-section{
    min-height:680px!important;
    height:78vh!important;
  }

  html body main > #experience.experience-statement-section .experience-hero-label{
    left:var(--page-pad,5vw)!important;
    top:4.5rem!important;
  }

  html body main > #experience.experience-statement-section .experience-hero-title{
    max-width:78vw!important;
  }

  html body main > #experience.experience-statement-section .experience-hero-subtitle{
    max-width:72vw!important;
  }
}

@media (max-width:640px){
  html body main > #experience.experience-statement-section{
    min-height:620px!important;
    height:82svh!important;
    background:
      linear-gradient(180deg,rgba(0,5,14,.34) 0%,rgba(0,5,14,.16) 46%,rgba(0,5,14,.56) 100%),
      url("../assets/deals/2026/hero-mobile.jpg") center center / cover no-repeat,
      #00050E!important;
  }

  html body main > #experience.experience-statement-section .experience-hero-video{
    object-position:center center!important;
    filter:saturate(.76) contrast(1.04) brightness(.82)!important;
  }

  html body main > #experience.experience-statement-section .experience-hero-overlay{
    background:
      linear-gradient(180deg,rgba(0,5,14,.38) 0%,rgba(0,5,14,.14) 44%,rgba(0,5,14,.64) 100%)!important;
  }

  html body main > #experience.experience-statement-section .experience-hero-label{
    left:1.25rem!important;
    top:3.8rem!important;
    font-size:.62rem!important;
    letter-spacing:.2em!important;
  }

  html body main > #experience.experience-statement-section .experience-hero-card{
    padding:0 3.4rem!important;
  }

  html body main > #experience.experience-statement-section .experience-hero-title{
    max-width:100%!important;
    font-size:clamp(1.72rem,7.8vw,2.7rem)!important;
    line-height:1.08!important;
  }

  html body main > #experience.experience-statement-section .experience-hero-subtitle{
    max-width:100%!important;
    margin-top:.52rem!important;
    font-size:.78rem!important;
    line-height:1.34!important;
  }

  html body main > #experience.experience-statement-section .experience-hero-link{
    left:1.25rem!important;
    bottom:4.2rem!important;
    font-size:.62rem!important;
    letter-spacing:.16em!important;
  }

  html body main > #experience.experience-statement-section .experience-hero-arrow{
    width:42px!important;
    height:42px!important;
  }

  html body main > #experience.experience-statement-section .experience-hero-prev{
    left:.25rem!important;
  }

  html body main > #experience.experience-statement-section .experience-hero-next{
    right:.25rem!important;
  }

  html body main > #experience.experience-statement-section .experience-hero-arrow svg{
    width:28px!important;
    height:28px!important;
  }

  html body main > #experience.experience-statement-section .experience-hero-dots{
    bottom:2rem!important;
  }
}

@media (max-width:390px){
  html body main > #experience.experience-statement-section{
    min-height:590px!important;
  }

  html body main > #experience.experience-statement-section .experience-hero-card{
    padding:0 2.8rem!important;
  }

  html body main > #experience.experience-statement-section .experience-hero-title{
    font-size:clamp(1.58rem,8vw,2.35rem)!important;
  }
}

/* =========================================================
   EXPERIENCE STATEMENT HERO - FINAL V2
   5 slides, centered clickable statement, top utility link.
   Keep this as the last CSS block.
   ========================================================= */
html body main > #experience.experience-statement-section{
  height:clamp(620px,82vh,820px)!important;
  min-height:620px!important;
  padding:0!important;
  margin:0!important;
  background:
    linear-gradient(90deg,rgba(0,5,14,.78) 0%,rgba(6,27,53,.48) 50%,rgba(0,5,14,.62) 100%),
    url("../assets/deals/2026/hero.jpg") center center / cover no-repeat,
    #00050E!important;
}

html body main > #experience.experience-statement-section .experience-hero-overlay{
  background:
    linear-gradient(180deg,rgba(0,5,14,.28) 0%,rgba(0,5,14,.10) 42%,rgba(0,5,14,.54) 100%),
    linear-gradient(90deg,rgba(0,5,14,.56) 0%,rgba(0,5,14,.18) 50%,rgba(0,5,14,.50) 100%)!important;
}

html body main > #experience.experience-statement-section .experience-hero-label{
  left:clamp(4.5rem,8vw,8rem)!important;
  top:clamp(5.2rem,8.2vh,6.8rem)!important;
  color:var(--gold)!important;
  font-size:.72rem!important;
  letter-spacing:.25em!important;
  text-shadow:0 12px 34px rgba(0,5,14,.68)!important;
}

html body main > #experience.experience-statement-section .experience-hero-link{
  left:auto!important;
  right:clamp(4.5rem,8vw,8rem)!important;
  top:clamp(5.05rem,8vh,6.65rem)!important;
  bottom:auto!important;
  color:rgba(255,255,255,.88)!important;
  font-size:.68rem!important;
  letter-spacing:.18em!important;
  text-shadow:0 12px 34px rgba(0,5,14,.68)!important;
}

html body main > #experience.experience-statement-section .experience-hero-slider,
html body main > #experience.experience-statement-section .experience-hero-slides{
  inset:0!important;
  height:100%!important;
}

html body main > #experience.experience-statement-section .experience-hero-card{
  padding:0 clamp(5.5rem,12vw,11.5rem)!important;
  justify-content:center!important;
  align-items:center!important;
  text-align:center!important;
}

html body main > #experience.experience-statement-section .experience-hero-statement{
  display:inline-flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  width:max-content!important;
  max-width:min(880px,78vw)!important;
  color:inherit!important;
  text-decoration:none!important;
  cursor:pointer!important;
  transition:transform .28s var(--ease), color .22s ease!important;
}

html body main > #experience.experience-statement-section .experience-hero-statement:hover,
html body main > #experience.experience-statement-section .experience-hero-statement:focus-visible{
  transform:translateY(-2px)!important;
  outline:none!important;
}

html body main > #experience.experience-statement-section .experience-hero-title{
  max-width:100%!important;
  margin:0!important;
  font-family:var(--fb)!important;
  font-size:clamp(2.05rem,3.2vw,3.15rem)!important;
  font-weight:400!important;
  line-height:1.04!important;
  letter-spacing:-.045em!important;
  color:rgba(255,255,255,.96)!important;
  text-shadow:0 18px 54px rgba(0,5,14,.74)!important;
  transition:color .22s ease!important;
}

html body main > #experience.experience-statement-section .experience-hero-statement:hover .experience-hero-title,
html body main > #experience.experience-statement-section .experience-hero-statement:focus-visible .experience-hero-title{
  color:#fff!important;
}

html body main > #experience.experience-statement-section .experience-hero-subtitle{
  max-width:min(700px,72vw)!important;
  margin:.55rem auto 0!important;
  font-size:clamp(.78rem,.92vw,.96rem)!important;
  line-height:1.35!important;
  color:rgba(255,255,255,.72)!important;
  text-shadow:0 14px 38px rgba(0,5,14,.82)!important;
  transition:color .22s ease!important;
}

html body main > #experience.experience-statement-section .experience-hero-statement:hover .experience-hero-subtitle,
html body main > #experience.experience-statement-section .experience-hero-statement:focus-visible .experience-hero-subtitle{
  color:rgba(255,255,255,.86)!important;
}

html body main > #experience.experience-statement-section .experience-hero-prev{
  left:clamp(2rem,4vw,4rem)!important;
}

html body main > #experience.experience-statement-section .experience-hero-next{
  right:clamp(2rem,4vw,4rem)!important;
}

html body main > #experience.experience-statement-section .experience-hero-dots{
  bottom:clamp(3rem,5.2vh,4.25rem)!important;
}

html body main > #experience.experience-statement-section .experience-hero-dot{
  width:6px!important;
  height:6px!important;
  min-width:6px!important;
  min-height:6px!important;
  background:rgba(255,255,255,.42)!important;
}

html body main > #experience.experience-statement-section .experience-hero-dot.is-active{
  width:24px!important;
  background:var(--gold)!important;
}

@media (max-width:1100px){
  html body main > #experience.experience-statement-section{
    height:76vh!important;
    min-height:640px!important;
  }

  html body main > #experience.experience-statement-section .experience-hero-label{
    left:var(--page-pad,5vw)!important;
    top:4.4rem!important;
  }

  html body main > #experience.experience-statement-section .experience-hero-link{
    right:var(--page-pad,5vw)!important;
    top:4.25rem!important;
  }

  html body main > #experience.experience-statement-section .experience-hero-title{
    font-size:clamp(1.95rem,5vw,3.05rem)!important;
  }
}

@media (max-width:640px){
  html body main > #experience.experience-statement-section{
    height:76svh!important;
    min-height:560px!important;
    background:
      linear-gradient(180deg,rgba(0,5,14,.42) 0%,rgba(0,5,14,.16) 44%,rgba(0,5,14,.70) 100%),
      url("../assets/deals/2026/hero-mobile.jpg") center center / cover no-repeat,
      #00050E!important;
  }

  html body main > #experience.experience-statement-section .experience-hero-label{
    left:1.25rem!important;
    top:3rem!important;
    max-width:58vw!important;
    font-size:.58rem!important;
    letter-spacing:.18em!important;
  }

  html body main > #experience.experience-statement-section .experience-hero-link{
    right:1.25rem!important;
    top:2.9rem!important;
    font-size:.58rem!important;
    letter-spacing:.14em!important;
  }

  html body main > #experience.experience-statement-section .experience-hero-card{
    padding:0 3.25rem!important;
  }

  html body main > #experience.experience-statement-section .experience-hero-statement{
    max-width:100%!important;
  }

  html body main > #experience.experience-statement-section .experience-hero-title{
    font-size:clamp(1.72rem,7.5vw,2.42rem)!important;
    line-height:1.06!important;
    letter-spacing:-.038em!important;
  }

  html body main > #experience.experience-statement-section .experience-hero-subtitle{
    max-width:100%!important;
    font-size:.76rem!important;
    line-height:1.34!important;
    color:rgba(255,255,255,.76)!important;
  }

  html body main > #experience.experience-statement-section .experience-hero-prev{
    left:.3rem!important;
  }

  html body main > #experience.experience-statement-section .experience-hero-next{
    right:.3rem!important;
  }

  html body main > #experience.experience-statement-section .experience-hero-dots{
    bottom:2.2rem!important;
  }
}


/* =========================================================
   LANDING MOBILE ORDER FIXES - ABOUT + PRACTICES
   Places the CTA links below the facts/mosaic on mobile.
   Keep this block at the absolute end of main.css.
   ========================================================= */

/* ABOUT: text -> 2024/ranking facts -> More about the firm */
@media (max-width:680px){
  #about.hero-intro.about-dna-landing .about-dna-body{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:0!important;
  }

  #about.hero-intro.about-dna-landing .about-dna-copy{
    display:contents!important;
  }

  #about.hero-intro.about-dna-landing .about-dna-copy p{
    order:1!important;
    width:100%!important;
  }

  #about.hero-intro.about-dna-landing .about-dna-values{
    order:2!important;
    width:100%!important;
    margin-top:1.9rem!important;
    padding-left:1.45rem!important;
  }

  #about.hero-intro.about-dna-landing .about-dna-link{
    order:3!important;
    width:max-content!important;
    max-width:100%!important;
    margin-top:2rem!important;
  }
}

/* PRACTICES: label/title/copy -> mosaic -> View all practices */
@media (max-width:760px){
  #practice.practice-mosaic-section .practice-mosaic-inner{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
  }

  #practice.practice-mosaic-section .practice-mosaic-heading{
    display:contents!important;
  }

  #practice.practice-mosaic-section .practice-mosaic-heading .section-label{
    order:1!important;
    width:100%!important;
  }

  #practice.practice-mosaic-section .practice-mosaic-title{
    order:2!important;
    width:100%!important;
  }

  #practice.practice-mosaic-section .practice-mosaic-copy{
    order:3!important;
    width:100%!important;
  }

  #practice.practice-mosaic-section .practice-mosaic{
    order:4!important;
    width:100%!important;
    margin-top:2rem!important;
  }

  #practice.practice-mosaic-section .practice-mosaic-heading .practices-page-link{
    order:5!important;
    width:max-content!important;
    max-width:100%!important;
    margin-top:2rem!important;
  }
}


/* =========================================================
   FINAL SAFE PATCH - LEADERSHIP MOBILE STATIC CARDS
   Desktop/tablet: keeps the existing carousel exactly as it was.
   Mobile: replaces carousel visuals with two stacked cards.
   This block must stay at the absolute end of main.css.
   ========================================================= */

/* Safe default: new mobile-only HTML must never affect desktop. */
#team .team-mobile-photo,
#team .team-card-actions{
  display:none!important;
}

@media (min-width:641px){
  #team .team-mobile-photo,
  #team .team-card-actions{
    display:none!important;
  }

  #team .team-photo-area{
    display:block!important;
  }

  #team .team-thumbs,
  #team .team-nav,
  #team .team-bottom{
    display:block!important;
  }

  #team .team-nav{
    display:flex!important;
  }
}

@media (max-width:640px){
  #team{
    padding:0!important;
    background:#f4f1ec!important;
    overflow:visible!important;
  }

  #team .team-stage{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    padding:0!important;
    overflow:visible!important;
    background:#f4f1ec!important;
  }

  /* Kill mobile carousel elements completely. */
  #team .team-photo-area,
  #team .team-thumbs,
  #team .team-nav,
  #team .team-bottom{
    display:none!important;
  }

  #team .team-info-area{
    display:block!important;
    width:100%!important;
    min-height:0!important;
    padding:4.75rem 1.25rem 5.25rem!important;
    background:#f4f1ec!important;
  }

  #team .team-info-area > .section-label{
    display:block!important;
    margin:0 0 2.5rem!important;
    transform:none!important;
    color:#00050e!important;
  }

  #team .team-card,
  #team .team-card.active{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    max-width:none!important;
    margin:0 0 4rem!important;
    padding:0 0 4rem!important;
    border-bottom:1px solid rgba(7,25,47,.16)!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    animation:none!important;
  }

  #team .team-card:last-of-type{
    margin-bottom:0!important;
    padding-bottom:0!important;
    border-bottom:0!important;
  }

  #team .team-mobile-photo{
    display:block!important;
    width:100%!important;
    height:420px!important;
    margin:0 0 2.25rem!important;
    overflow:hidden!important;
    background:#d7dbe1!important;
  }

  #team .team-mobile-photo img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center top!important;
    filter:saturate(.9) contrast(1.03) brightness(.98)!important;
  }

  #team .team-card[data-i="0"] .team-mobile-photo img{
    object-position:48% 8%!important;
  }

  #team .team-card[data-i="1"] .team-mobile-photo img{
    object-position:50% 0%!important;
  }

  #team .team-name{
    margin:0 0 1.05rem!important;
    font-size:clamp(3rem,14vw,4.25rem)!important;
    line-height:.96!important;
    letter-spacing:-.06em!important;
    color:#00050e!important;
  }

  #team .team-role{
    margin:0 0 1.85rem!important;
    font-size:1rem!important;
    line-height:1.45!important;
    color:#252a34!important;
  }

  #team .team-practices{
    margin:0 0 1.85rem!important;
    font-size:clamp(1.32rem,6.25vw,1.92rem)!important;
    line-height:1.17!important;
    color:#00050e!important;
  }

  #team .team-vcard{
    width:max-content!important;
    max-width:100%!important;
    margin:0!important;
    color:#00050e!important;
  }

  #team .team-card-actions{
    display:block!important;
    width:100%!important;
    margin-top:1.75rem!important;
  }

  #team .team-card .team-email-btn.team-card-email{
    width:100%!important;
    height:4.75rem!important;
    display:none!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0 1.25rem!important;
    background:var(--navy)!important;
    color:#fff!important;
    font-size:.78rem!important;
    line-height:1!important;
    letter-spacing:.25em!important;
    text-transform:uppercase!important;
    font-weight:800!important;
    text-align:center!important;
  }

  html[lang="es"] #team .team-card .team-email-btn.team-card-email[data-i18n="es"],
  html[lang="en"] #team .team-card .team-email-btn.team-card-email[data-i18n="en"],
  html[lang="zh"] #team .team-card .team-email-btn.team-card-email[data-i18n="zh"]{
    display:flex!important;
  }
}

@media (max-width:390px){
  #team .team-info-area{
    padding:4.25rem 1rem 4.75rem!important;
  }

  #team .team-mobile-photo{
    height:365px!important;
    margin-bottom:2rem!important;
  }

  #team .team-name{
    font-size:clamp(2.7rem,13.4vw,3.65rem)!important;
  }

  #team .team-practices{
    font-size:clamp(1.2rem,6vw,1.68rem)!important;
  }
}


/* =========================================================
   FINAL PATCH 2 - LEADERSHIP DESKTOP VCARD + MOBILE LANGUAGE
   Fixes:
   1. Desktop thumbnail/arrows no longer cover vCard.
   2. Mobile Leadership label respects active language only.
   Keep this block at the absolute end of main.css.
   ========================================================= */

/* DESKTOP: move preview rail and arrows lower, away from vCard. */
@media (min-width:1101px){
  #team .team-info-area{
    padding-bottom:19rem!important;
  }

  #team .team-card{
    z-index:80!important;
  }

  #team .team-vcard{
    position:relative!important;
    z-index:90!important;
  }

  #team .team-thumbs{
    bottom:clamp(4.1rem,4.8vh,4.9rem)!important;
    z-index:45!important;
  }

  #team .team-nav{
    bottom:clamp(.85rem,1.2vh,1.25rem)!important;
    z-index:50!important;
  }

  #team .team-bottom{
    z-index:70!important;
  }
}

/* MOBILE: restore language visibility rules inside Leadership. */
@media (max-width:640px){
  #team .team-info-area > .section-label{
    margin:0 0 2.5rem!important;
    transform:none!important;
    color:#00050e!important;
  }

  #team .team-info-area > .section-label[data-i18n]{
    display:none!important;
  }

  html[lang="es"] #team .team-info-area > .section-label[data-i18n="es"],
  html[lang="en"] #team .team-info-area > .section-label[data-i18n="en"],
  html[lang="zh"] #team .team-info-area > .section-label[data-i18n="zh"]{
    display:block!important;
  }
}


/* =========================================================
   NEWS MORE LINK ALIGNMENT - FINAL
   Aligns "More News" with the Selected Experience top link.
   Cards/grid stay untouched.
   Keep this block at the absolute end of main.css.
   ========================================================= */

#news.section .section-header{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
}

#news.section .news-link{
  margin-left:auto!important;
}

@media (min-width:641px){
  #news.section .section-header{
    padding-right:0!important;
  }
}

@media (max-width:640px){
  #news.section .section-header{
    max-width:none!important;
  }
}

/* =========================================================
   HOME PUBLICATIONS ARROWS FIX - FINAL
   Uses the same SVG arrow system as the rest of the landing.
   ========================================================= */
.home-publications-feature-cta,
.home-publications-more{
  display:inline-flex!important;
  align-items:center!important;
  gap:.65rem!important;
}

.home-publications-feature-cta .icon-corner,
.home-publications-more .icon-corner{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:18px!important;
  height:18px!important;
  flex:0 0 18px!important;
}

.home-publications-feature-cta .icon-corner svg,
.home-publications-more .icon-corner svg{
  display:block!important;
  width:18px!important;
  height:18px!important;
  transition:transform .3s var(--ease)!important;
}

.home-publications-feature-link:hover .home-publications-feature-cta .icon-corner svg,
.home-publications-feature-link:focus-visible .home-publications-feature-cta .icon-corner svg,
.home-publications-more:hover .icon-corner svg,
.home-publications-more:focus-visible .icon-corner svg{
  transform:translate(3px,-3px)!important;
}

@media (max-width:640px){
  .home-publications-feature-cta,
  .home-publications-more{
    gap:.6rem!important;
  }

  .home-publications-feature-cta .icon-corner,
  .home-publications-feature-cta .icon-corner svg,
  .home-publications-more .icon-corner,
  .home-publications-more .icon-corner svg{
    width:18px!important;
    height:18px!important;
  }
}

/* =========================================================
   LANDING CTA HOVER UNIFICATION - FINAL
   One effect for:
   - More about the firm
   - View all practices
   - More Experiences
   - Read more
   - More publications
   - More news
   Style follows the Practice CTA: gold hover, gold underline,
   same arrow movement and same timing.
   Keep this block at the absolute end of main.css.
   ========================================================= */

#about .about-dna-link,
#practice .practices-page-link,
.deals-hero-more,
.home-publications-feature-cta,
.home-publications-more,
#news .news-link{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:.65rem!important;
  width:max-content!important;
  max-width:100%!important;
  color:inherit!important;
  text-decoration:none!important;
  transition:color .25s ease!important;
}

#about .about-dna-link::after,
#practice .practices-page-link::after,
.deals-hero-more::after,
.home-publications-feature-cta::after,
.home-publications-more::after,
#news .news-link::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  bottom:-.45rem!important;
  width:100%!important;
  height:1px!important;
  background:var(--gold)!important;
  transform:scaleX(0)!important;
  transform-origin:right!important;
  opacity:1!important;
  transition:transform .35s var(--ease)!important;
}

#about .about-dna-link .icon-corner,
#practice .practices-page-link .icon-corner,
.deals-hero-more .icon-corner,
.home-publications-feature-cta .icon-corner,
.home-publications-more .icon-corner,
#news .news-link .icon-corner{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:18px!important;
  height:18px!important;
  flex:0 0 18px!important;
}

#about .about-dna-link .icon-corner svg,
#practice .practices-page-link .icon-corner svg,
.deals-hero-more .icon-corner svg,
.home-publications-feature-cta .icon-corner svg,
.home-publications-more .icon-corner svg,
#news .news-link .icon-corner svg{
  display:block!important;
  width:18px!important;
  height:18px!important;
  transition:transform .3s var(--ease)!important;
}

#about .about-dna-link:hover,
#about .about-dna-link:focus-visible,
#practice .practices-page-link:hover,
#practice .practices-page-link:focus-visible,
.deals-hero-more:hover,
.deals-hero-more:focus-visible,
.home-publications-feature-link:hover .home-publications-feature-cta,
.home-publications-feature-link:focus-visible .home-publications-feature-cta,
.home-publications-more:hover,
.home-publications-more:focus-visible,
#news .news-link:hover,
#news .news-link:focus-visible{
  color:var(--gold)!important;
  outline:none!important;
}

#about .about-dna-link:hover::after,
#about .about-dna-link:focus-visible::after,
#practice .practices-page-link:hover::after,
#practice .practices-page-link:focus-visible::after,
.deals-hero-more:hover::after,
.deals-hero-more:focus-visible::after,
.home-publications-feature-link:hover .home-publications-feature-cta::after,
.home-publications-feature-link:focus-visible .home-publications-feature-cta::after,
.home-publications-more:hover::after,
.home-publications-more:focus-visible::after,
#news .news-link:hover::after,
#news .news-link:focus-visible::after{
  transform:scaleX(1)!important;
  transform-origin:left!important;
}

#about .about-dna-link:hover .icon-corner svg,
#about .about-dna-link:focus-visible .icon-corner svg,
#practice .practices-page-link:hover .icon-corner svg,
#practice .practices-page-link:focus-visible .icon-corner svg,
.deals-hero-more:hover .icon-corner svg,
.deals-hero-more:focus-visible .icon-corner svg,
.home-publications-feature-link:hover .home-publications-feature-cta .icon-corner svg,
.home-publications-feature-link:focus-visible .home-publications-feature-cta .icon-corner svg,
.home-publications-more:hover .icon-corner svg,
.home-publications-more:focus-visible .icon-corner svg,
#news .news-link:hover .icon-corner svg,
#news .news-link:focus-visible .icon-corner svg{
  transform:translate(3px,-3px)!important;
}

@media (max-width:640px){
  #about .about-dna-link,
  #practice .practices-page-link,
  .deals-hero-more,
  .home-publications-feature-cta,
  .home-publications-more,
  #news .news-link{
    gap:.6rem!important;
  }
}

/* =========================================================
   PRACTICE TITLE COLOR NORMALIZATION - FINAL
   Makes "Áreas de Práctica / Practice Areas" match the
   rest of the landing titles.
   ========================================================= */

#practice .practice-mosaic-title{
  color:var(--text)!important;
}

/* =========================================================
   SELECTED EXPERIENCE KICKER COLOR NORMALIZATION - FINAL
   Makes "Selected Experience" match the color of "More Experiences"
   instead of using the gold accent.
   ========================================================= */

#experience.deals-hero .deals-hero-kicker,
#experience .deals-hero-kicker{
  color:inherit!important;
}

#experience.deals-hero .deals-hero-kicker [data-i18n],
#experience .deals-hero-kicker [data-i18n]{
  color:inherit!important;
}

/* =========================================================
   LANDING ABOUT + NEWS AXIS FIX - FINAL V10
   Corrects the over-wide / off-axis feel without changing
   the underlying content structure.
   ========================================================= */

/* Common content rail: same visual axis as Practice / Experience. */
#about.hero-intro.about-dna-landing .about-dna-landing-inner,
#news.section .section-header,
#news.section .news-row{
  width:100%!important;
  max-width:var(--content-max,1440px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* ABOUT / NOSOTROS: align to the page rail, reduce oversized title. */
#about.hero-intro.about-dna-landing{
  padding:
    clamp(7rem,8.2vw,9.25rem)
    var(--page-pad,5vw)
    clamp(7.2rem,8.4vw,9.5rem)!important;
  min-height:auto!important;
}

#about.hero-intro.about-dna-landing .about-dna-landing-inner{
  padding:0!important;
}

#about .about-dna-landing-head{
  width:100%!important;
  max-width:1040px!important;
}

#about .about-dna-title{
  max-width:1040px!important;
  font-size:clamp(3rem,4.65vw,5.15rem)!important;
  line-height:.96!important;
  letter-spacing:-.052em!important;
}

#about .about-dna-body{
  width:100%!important;
  max-width:1040px!important;
  display:grid!important;
  grid-template-columns:minmax(0,650px) minmax(250px,340px)!important;
  gap:clamp(4.5rem,6.5vw,6.75rem)!important;
  align-items:start!important;
  margin-top:clamp(3rem,4.2vw,4.35rem)!important;
}

#about .about-dna-copy{
  max-width:650px!important;
}

#about .about-dna-copy p{
  font-size:clamp(.96rem,1vw,1.02rem)!important;
  line-height:1.72!important;
  margin-bottom:1.08rem!important;
}

#about .about-dna-link{
  margin-top:1.75rem!important;
}

#about .about-dna-values{
  align-self:start!important;
  justify-self:start!important;
  min-height:230px!important;
  max-width:340px!important;
  padding-left:clamp(2rem,3.2vw,3rem)!important;
}

#about .about-dna-values::before{
  height:118px!important;
}

#about.about-dna-landing + #practice.practice-mosaic-section,
#about.hero-intro.about-dna-landing + #practice.practice-mosaic-section{
  padding-top:clamp(7rem,8vw,8.75rem)!important;
}

/* NEWS: same rail, calmer scale, same rhythm as the rest of landing. */
#news.section{
  padding:
    clamp(7rem,8.2vw,9.25rem)
    var(--page-pad,5vw)
    clamp(7.1rem,8.3vw,9.25rem)!important;
  background:#fff!important;
}

#news.section .section-header{
  margin-bottom:clamp(4rem,4.8vw,5rem)!important;
}

#news.section .news-row{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:clamp(4rem,5vw,5.6rem) clamp(4.25rem,5.75vw,6.25rem)!important;
  margin-bottom:0!important;
}

#news.section .news-item{
  min-height:235px!important;
  padding-top:1.55rem!important;
}

#news.section .news-date{
  margin-bottom:1.18rem!important;
  font-size:.80rem!important;
}

#news.section .news-title{
  max-width:640px!important;
  font-size:clamp(1.65rem,2.05vw,2.28rem)!important;
  line-height:1.12!important;
  letter-spacing:-.020em!important;
}

@media (max-width:1100px){
  #about .about-dna-landing-head,
  #about .about-dna-body{
    max-width:760px!important;
  }

  #about .about-dna-body{
    grid-template-columns:1fr!important;
    gap:2.9rem!important;
  }

  #about .about-dna-title{
    font-size:clamp(2.85rem,6.2vw,4.5rem)!important;
  }

  #about .about-dna-values{
    min-height:auto!important;
  }

  #news.section .news-row{
    grid-template-columns:1fr!important;
    gap:3.6rem!important;
  }

  #news.section .news-title{
    max-width:760px!important;
    font-size:clamp(1.75rem,4.4vw,2.65rem)!important;
  }
}

@media (max-width:640px){
  #about.hero-intro.about-dna-landing,
  #news.section{
    padding:
      5.4rem
      1.25rem
      5.75rem!important;
  }

  #about .about-dna-landing-head,
  #about .about-dna-body,
  #news.section .section-header,
  #news.section .news-row{
    max-width:none!important;
  }

  #about .about-dna-title{
    font-size:clamp(2.35rem,10.6vw,3.45rem)!important;
    line-height:.98!important;
    letter-spacing:-.045em!important;
  }

  #about .about-dna-body{
    margin-top:2.35rem!important;
    gap:2.65rem!important;
  }

  #about .about-dna-copy p{
    font-size:.96rem!important;
    line-height:1.66!important;
  }

  #news.section .section-header{
    margin-bottom:3.1rem!important;
  }

  #news.section .news-row{
    gap:3.15rem!important;
  }

  #news.section .news-item{
    min-height:auto!important;
  }

  #news.section .news-title{
    font-size:clamp(1.55rem,7.4vw,2.15rem)!important;
    line-height:1.12!important;
  }
}
